sy8501 发表于 2023-4-19 12:50:52

做三相逆变器或FOC驱动时,PWM值更新时机问题

不知道各位老鸟有没有注意到这个PWM更新时机的问题。

比如下图,是三相SVPWM输出,如果在除1、2、3(红字标注)外的任意时刻,去更新PWM的值,都有可能出现波形瑕疵。

比如TIM1->CCR1寄存器上一个周期计算值是2000,现在计数达到1800,那么TIM1->CCR1寄存器还没触发电平翻转。

这个时候,来了个新的CCR1的值,比如是1600。那么这个周期的CCR1就不会被触发。

如果下个周期,又发生了类似的事情,就会造成svpwm或者SPWM严重缺相。

==

当然,如果你不看输出的速度曲线,只凭肉眼观察,是发现不了这个问题的。



Himem 发表于 2023-4-19 13:15:55

__HAL_TIM_DISABLE_OCxPRELOAD ?

lhj200304 发表于 2023-4-19 13:39:03

这个pwm周期更新,下个周期生效

sy8501 发表于 2023-4-19 16:02:42

2L 3L都是对的。

天下乌鸦一般黑 发表于 2023-4-19 21:22:09

关键词,影子寄存器

carefree1986 发表于 2023-4-20 17:56:42

在上下溢时候更新svpwm,可以做到一个PWM周期更新两次
页: [1]
查看完整版本: 做三相逆变器或FOC驱动时,PWM值更新时机问题