[其他ST产品] PWM 信号占空比不正确

[复制链接]
1636|13
 楼主| t60yz 发表于 2025-1-20 09:04 | 显示全部楼层 |阅读模式
PWM 信号占空比不正确
可能的原因
比较寄存器配置不正确:如果在定时器中配置的比较寄存器值不正确,可能导致 PWM 信号的占空比错误。

解决方案:确认 CCR 值是否符合预期,并且在 [0, ARR] 范围内。
c
复制
编辑
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 500);  // 设置占空比为50%
定时器计数器未重载:如果定时器未重新加载或计数器值未被更新,PWM 输出的占空比也可能会不准确。

解决方案:确保定时器被配置为自动重载模式,并且配置正确。
c
复制
编辑
htim1.Init.CounterMode = TIM_COUNTERMODE_UP;  // 确保计数器模式正确
定时器中断干扰:某些情况下,定时器中断可能影响 PWM 输出,导致占空比错误。

解决方案:如果使用定时器中断,确保中断处理函数没有影响到 PWM 信号的正常输出。

Pulitzer 发表于 2025-1-20 10:45 | 显示全部楼层
这个总结太棒了,之前调占空比老是对不上,原来是CCR值填错了!
Uriah 发表于 2025-1-20 10:45 | 显示全部楼层
原来计数器模式也会影响占空比,我之前都没注意到这点,长见识了!
Clyde011 发表于 2025-1-20 10:46 | 显示全部楼层
定时器中断确实很容易踩坑,有一次搞得占空比完全乱掉,后来才发现是中断干扰。
公羊子丹 发表于 2025-1-20 10:46 | 显示全部楼层
说得太详细了,尤其是CCR和ARR的关系,搞明白了调试就顺手多了。
周半梅 发表于 2025-1-20 10:46 | 显示全部楼层
定时器没自动重载确实会有问题,自动重载模式一定要再三确认!
帛灿灿 发表于 2025-1-20 10:46 | 显示全部楼层
有没有大佬分享一下处理中断时避免影响PWM的方法?感觉还是不太会。
童雨竹 发表于 2025-1-20 10:46 | 显示全部楼层
调试PWM的时候,这几个点都是易错项,楼主总结得很全,感谢分享!
万图 发表于 2025-1-20 10:47 | 显示全部楼层
我之前一直忽略了中断影响的问题,果然一关掉中断,PWM就正常了。
Wordsworth 发表于 2025-1-20 10:47 | 显示全部楼层
有没有推荐的调试工具可以实时监测占空比?感觉手动调整有点麻烦。
Bblythe 发表于 2025-1-20 10:47 | 显示全部楼层
PWM真是个看着简单但容易翻车的模块,多练习才能抓住这些细节!
IntelCore 发表于 2025-1-20 13:11 | 显示全部楼层
PWM模式应该怎么选?
Amazingxixixi 发表于 2025-1-21 17:00 | 显示全部楼层
学习一下啊,还有好多需要学习的。
Amazingxixixi 发表于 2025-1-24 12:56 | 显示全部楼层
学习一下,提升技能,新年快乐
您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

1191

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部