请问bldc无感控制如何使用timer1的com事件?

2019-07-14 14:24发布

最近在做一个bldc的无感控制,要用到timer1的com事件,看了手册,但是对于其原理还是不是很明白,现在理解为:有感bldc可以通过传感器信号触发com事件实现换相,无感bldc则要通过软触实现com事件,手册上说它可以同时改变pwm的通道设置,不用一一设置,那么com事件发生后我们自己还要更改pwm的设置吗?如果是我们自己在com中断里改变pwm设置的话,那么com中断和我们自己任意定一个中断实现换相有什么区别呢?真的很不明白,望高手能解释一下,有例程更好。不胜感激!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
报纸弟弟麦花
2019-07-15 11:29
    无刷电机换向时,一般是三相要同时换向的,但是你在软里设置换向时肯定是一次只能设置一相,这就达不到三相同时换向了不。其实简单的办法就是启用STM32的COM事件,你先逐个设置好每相的换向(注意:此时虽然设置了,但实际上并不会进行换向),然后再调用COM事件,此时,三相将同时换向,就这么来的。
    COM事件用手动产生,库里面有个TIM_EventSource函数,用这个函数可产生COM事件。预先将CCXE,CCXNE,OCXM配置好,然后调这个函数产生COM事件。用SYSTICK定时器产生中断,在这个中断函数中调用TIM_EventSource函数。

一周热门 更多>