电机控制用 PWM 频率多少合适?

嵌入式 · 6 浏览
电机控制用 PWM 频率多少合适?

回答(4)

我用过30kHz驱动小无刷,电机温度正常但驱动芯片烫得厉害。后来加了栅极电阻减慢开关速度,反而整体效率更高。频率不是越高越好。
硬件猫 · 2026-08-14
补充一点:如果做FOC,PWM频率还影响电流采样同步,特别是低侧采样。20kHz时ADC触发点要避开开关边沿,留出>1us稳定时间。
调参侠小李 · 2026-08-14
千万别照搬别人的频率,你的电源滤波和电机电感不同,同样20kHz可能啸叫或过热。建议先用手调电位器频率试听、摸温升。
老电工张 · 2026-08-14
电机控制PWM频率的选择取决于电机类型、驱动方式、控制带宽和硬件损耗。 **有刷直流电机**:通常选10~20kHz。高于20kHz可避开人耳可闻噪声(人耳敏感区约2~5kHz),但过高会增大MOSFET开关损耗和电机铁损。若使用集成H桥(如DRV8873),参考手册推荐值;简单应用中8kHz也常见。 **无刷电机(BLDC/PMSM)**:FOC控制常用15~20kHz,兼顾电流环带宽(约1/10~1/20开关频率)和噪声抑制。低感电机(如无人机电机)需更高频率(30~50kHz)以降低电流纹波,但需注意驱动芯片的栅极驱动能力和死区影响。 **步进电机**:细分驱动通常20~40kHz,用于高细分平滑度,但需匹配驱动芯片(如TMC2209内部静音技术另论)。 **工程建议**:从20kHz起步,若发热严重可降,若电流纹波大或噪声明显可升。务必用示波器测相电流波形和MOS管温升,同时设置死区(如500ns)避免直通。 ```c // 示例:STM32定时器PWM频率20kHz, ARR=8400@168MHz TIM_HandleTypeDef htim1; htim1.Init.Prescaler = 0; htim1.Init.Period = 8400 - 1; htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim1.Init.CounterMode = TIM_COUNTERMODE_UP; ```
mcuku 阿沐 · 2026-08-14

🧰 配套工具

🎛️ PWM 频率/占空比