[STM32F4] PWM输出占空比变化时有轻微抖动,不是线性变化

[复制链接]
169|14
Wordsworth 发表于 2025-10-9 07:29 | 显示全部楼层 |阅读模式
项目中用PWM控制风扇转速,发现占空比变化时电压不太平滑,有轻微抖动。用示波器看波形也确实不太均匀。换过定时器通道,现象还是一样,怀疑是中断更新或DMA写入延迟造成的。
Clyde011 发表于 2025-10-9 07:32 | 显示全部楼层
我以前用CubeMX生成的代码默认没打开预装载寄存器。
公羊子丹 发表于 2025-10-9 07:33 | 显示全部楼层
你用DMA更新CCR吗?有时更新时序会错位。
周半梅 发表于 2025-10-9 07:34 | 显示全部楼层
可能是PWM同步模式没设好,多个通道一起更新会跳。
帛灿灿 发表于 2025-10-9 07:35 | 显示全部楼层
我遇到过是因为用float计算占空比,误差累积导致的。
童雨竹 发表于 2025-10-9 07:36 | 显示全部楼层
用整数计算然后直接写寄存器会稳定些。
万图 发表于 2025-10-9 07:37 | 显示全部楼层
风扇本身电磁干扰也可能反馈到PWM信号。
 楼主| Wordsworth 发表于 2025-10-9 07:37 | 显示全部楼层
试试关掉优化看是不是代码执行时机问题。
Bblythe 发表于 2025-10-9 07:38 | 显示全部楼层
有时电源波动也会让PWM输出看起来不稳。
Pulitzer 发表于 2025-10-9 07:39 | 显示全部楼层
你可以试试在更新前关闭输出,写完再打开。
Uriah 发表于 2025-10-9 07:41 | 显示全部楼层
换成中心对齐模式会不会改善?
cr315 发表于 2025-10-9 15:00 | 显示全部楼层
配置DMA为双缓冲模式,交替更新CCR值
elephant00 发表于 2025-10-9 15:01 | 显示全部楼层
用DMA双缓冲 + 主从定时器同步。
duo点 发表于 2025-10-9 16:00 | 显示全部楼层
启用CCR预加载 + 定时器更新中断同步。
flycamelaaa 发表于 2025-10-9 18:01 | 显示全部楼层
通过RC滤波临时平滑输出,确认是否为软件问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

165

主题

6163

帖子

1

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