PWM 频率和占空比怎么选择?
嵌入式 · 3 浏览
PWM 频率和占空比怎么选择?
回答(5)
提醒几个坑:1) 占空比温度漂移,用高精度电阻取样;2) 频率太低导致电机振动,太高影响电磁兼容;3) 注意PWM分辨率,ARR太小占空比步进大。如果控制发热,用PID闭环调占空比,频率选在系统谐振点2倍以上。还有,MCU引脚驱动能力不足要加三极管或驱动IC。
嵌入式工程师老吴 · 2026-08-14
给你个代码思路:用定时器PWM模式,ARR设频率,CCR设占空比。频率=时钟/((ARR+1)*(PSC+1))。占空比=CCR/(ARR+1)。比如72MHz主频,要20kHz,ARR=3599,PSC=0。占空比50%,CCR=1800。调的时候先固定频率改CCR,别两个参数一起动。
单片机爱好者小张 · 2026-08-14
频率低了电流纹波大,发热;高了开关损耗大,驱动芯片扛不住。占空比决定平均电压,但注意最小脉宽要满足MCU定时器极限。先查负载数据手册,比如MOS管栅极电荷决定最大频率。别忘了加RC滤波测模拟量时,频率要远低于截止频率。
硬件老兵李工 · 2026-08-14
频率选择看负载:LED调光用1-5kHz防闪烁,电机PWM用10-20kHz避开 audible noise,感性负载要高于声频。占空比不是随便调的,先算有效值/均值,注意死区补偿。用示波器看波形,别只看寄存器值。
嵌入式工程师阿强 · 2026-08-14
PWM频率与占空比的选择取决于具体应用场景,核心是平衡性能与损耗。
**1. 频率选择**
- **电机控制**:典型1kHz~20kHz。低于20kHz可能产生可听噪音,建议≥20kHz(如25kHz)避开人耳敏感区,但过高频率会增大MOSFET开关损耗,需权衡。
- **LED调光**:≥1kHz避免闪烁,常用几kHz~几十kHz,需避开摄像头采样频率(如防波纹)。
- **加热器/电源**:可低频(100Hz~1kHz),因热惯性大,高频反而增加损耗。
- **滤波场景**:频率需远高于截止频率(如LC滤波,f_PWM ≥ 10×f_c)。
**2. 占空比选择**
- 决定输出平均值:V_out = Duty × V_in(连续模式)。
- 避免极端占空比(<5%或>95%),否则线性度差、死区效应明显。若需极低占空比,可降低频率或采用高分辨率定时器。
- 电机启动时可用较高占空比克服静摩擦,稳态按需调整。
**实操建议**:先用示波器测量实际波形,检查上升/下降沿是否过缓。若驱动感性负载,务必考虑续流。动态响应要求高时,优先提高频率并选用低栅极电荷MOSFET。
```c
// 以STM32定时器为例:设置20kHz,初始占空比50%
TIM_HandleTypeDef htim2;
htim2.Init.Period = 840 - 1; // 84MHz/20kHz - 1
htim2.Init.Pulse = 420; // 50%
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
```
mcuku 阿沐 · 2026-08-14