主题 | 内容 | 教学目的/扩展视频 |
---|---|---|
舵机控制 | 电路连接,驱动原理,驱动程序,调用控制。 | 能写入角度值,为小车开发做准备。 |
师从洋桃电子,杜洋老师
📑文章目录
▲ 回顾上期🔍STM32驱动SG90舵机全攻略:从原理到代码实现(上) | 零基础入门STM32第八十二步
一、PWM技术应用场景全景图
1.1 核心应用领域
应用领域 | 典型场景 | PWM作用原理 |
---|---|---|
电机控制 | 舵机/直流电机调速 | 调节占空比控制转速/扭矩 |
LED调光 | 智能照明系统 | 改变亮度等级 |
音频合成 | 数字音乐播放器 | 波形重构与频率调制 |
电源管理 | DC-DC转换器 | 电压精准调控 |
通信系统 | 红外遥控信号 | 数字信号载波调制 |
二、PWM波形生成核心原理
2.1 基础概念图解
2.2 关键参数定义
参数名称 | 符号表示 | 物理意义 |
---|---|---|
周期(T) | ARR | 完整波形重复时间(20ms典型值) |
占空比(Duty) | CCR/ARR | 高电平时间占比(0%-100%) |
频率(f) | 1/T | 波形重复速率(50Hz典型值) |
三、STM32定时器PWM生成机制
3.1 定时器架构解析
核心组件工作原理:
- 时钟源:提供基准时钟信号(如72MHz)
- 预分频器:将时钟分频得到计数步长
- 计数器:周期性递增/递减计数
- 自动重载寄存器(ARR):定义计数周期
- 捕获/比较寄存器(CCR):设定电平翻转点
3.2 PWM生成流程
四、关键参数配置方法论
4.1 周期(ARR)计算公式
周期公式:
配置示例(生成50Hz PWM):
当F_{clk}=72MHz时:
ARR = \frac{F_{clk}}{F_{PWM} \times (PSC+1)} - 1
取PSC=71,则:
ARR = \frac{72,000,000}{50 \times 72} - 1 = 1999
4.2 占空比(CCR)设置规范
控制需求 | CCR计算公式 | 应用示例 |
---|---|---|
0%占空比 | CCR=0 | 完全关闭输出 |
50%占空比 | CCR=ARR/2 | 对称方波生成 |
100%占空比 | CCR=ARR | 持续高电平输出 |
动态调节 | CCR∈[0,ARR] | 电机无级调速 |
五、高级应用扩展设计
5.1 多通道PWM同步
5.2 互补PWM输出
典型配置参数:
- 死区时间:100ns-1μs(防止电源短路)
- 刹车功能:异常状态快速关断
- 同步机制:确保相位精确对齐
六、工程实践要点
6.1 参数优化建议
参数类型 | 优化策略 | 预期效果 |
---|---|---|
时钟源 | 选择高精度晶振 | 提升PWM频率稳定性 |
预分频系数 | 匹配目标频率范围 | 确保计数精度 |
死区时间 | 根据功率器件特性设置 | 防止桥臂直通 |
6.2 常见故障排查
现象 | 诊断方向 | 解决方案 |
---|---|---|
无PWM输出 | 时钟源未使能 | 检查RCC配置 |
频率偏差大 | ARR/PSC计算错误 | 重新校准公式 |
占空比抖动 | 中断冲突 | 调整NVIC优先级 |
波形畸变 | 负载阻抗不匹配 | 增加驱动电路 |
七、相关资源
[1] 洋桃电子B站课程-STM32入门100步
[2] STM32官方文档手册
[3] STM32F103固件函数库用户手册(中文)
[4] PWM驱动舵机程序
[5] 定时器PWM原理.pptx
💬 技术讨论(请在评论区留言~)
📌 下期预告:下一期将探讨定时器PWM原理,欢迎持续关注!
点击查阅🔍往期【STM32专栏】文章
版权声明:本文采用[CC BY-NC-SA 4.0]协议,转载请注明来源
实测开发版:洋桃1号开发版(基于STM32F103C8T6)
更新日志:
- v1.0 初始版本(2025-03-24)