在上一篇文章中,已经介绍了通hrtim生成pwm波方法,但在常见的电机控制或者逆变器控制基本都会用中心对齐模式的pwm波。为什么要这么做呢“
1.中心对称的驱动方式更容易抑制谐波的产生。
2.在逆变器的控制中,更贴近应用场景的说法,在电机foc算法控制中svpwm波需要用中心对齐模式的pwm波。
但是在hrtim中没有中心对齐/边缘对齐的一类的pwm波设置。
每个子定时器有四个比较计数器,通过四个比较器可以生成任意波形的pwm波。
试着这样规划一个PWM波,定时器计数器是1000,在定时器复位的时候pwm波输出高电平。当比较计数器cmp1溢出,PWM波输出低电平,当比较计数器cmp2溢出时,恢复高电平,当定时器计数器溢出时重新开始一轮循环。请注意,这里只用了两个比较计数器(cmp)。一个子定时器有四个比较计数器,合理应用四个比较计数器(cmp)能生成更复杂的pwm波形。
现在开始专注与生成中心对齐的PWM波。我们设置定时器计数器值1000,cmp1比较计数器值250,cmp2比较计数器750。这样一个中心对齐的pwm波就产生了。这是一个高低高的中心对齐模式pwm波,如果我们想要一个低高低的中心对齐模式的pwm波,只需要把设置反过来就行了。
cubemx基本的设置和时钟树都没有任何变化,可以沿用stm32h743的hrtim使用生成pwm波
其中关于cubemx的设置

的PWM波&spm=1001.2101.3001.5002&articleId=149976493&d=1&t=3&u=e9a78d24e9bf4fdaa7264a156a514ca9)
2301

被折叠的 条评论
为什么被折叠?



