做三相逆变器或FOC驱动时,PWM值更新时机问题
不知道各位老鸟有没有注意到这个PWM更新时机的问题。比如下图,是三相SVPWM输出,如果在除1、2、3(红字标注)外的任意时刻,去更新PWM的值,都有可能出现波形瑕疵。
比如TIM1->CCR1寄存器上一个周期计算值是2000,现在计数达到1800,那么TIM1->CCR1寄存器还没触发电平翻转。
这个时候,来了个新的CCR1的值,比如是1600。那么这个周期的CCR1就不会被触发。
如果下个周期,又发生了类似的事情,就会造成svpwm或者SPWM严重缺相。
==
当然,如果你不看输出的速度曲线,只凭肉眼观察,是发现不了这个问题的。
__HAL_TIM_DISABLE_OCxPRELOAD ? 这个pwm周期更新,下个周期生效 2L 3L都是对的。
关键词,影子寄存器 在上下溢时候更新svpwm,可以做到一个PWM周期更新两次
页:
[1]