我正在研究基于
STM32 的 BLDC 驱动程序。我正在使用 HR
tiM 在向上向下计数模式下以 20Khz 生成 3 个免费 PWM。时不时地,PWM 的单个脉冲是错误的,就像它具有 100% 的占空比一样。该问题是非周期性的(似乎以随机时间间隔发生,范围从 ~0.1 Hz 到 ~10Hz),并且发生在 HRTIM 的所有通道上。它会导致电机发出很大的噪音。
在下图中,您可以看到事件的示波器屏幕。顶部曲线是电机相位之一的电流,下方两个是互补 PWM(在 STM 侧,在 mosfet 驱动器之前)。我正在使用 20 kHz 控制环路来更新 PWM 占空比并进行标准化,以确保我不会意外地将非法值写入寄存器。我已经尝试过启用和禁用重新加载。我还将控制回路频率降低到 12 kHz 和 5 kHz,但问题仍然存在。