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

2019-07-14 14:24发布

最近在做一个bldc的无感控制,要用到timer1的com事件,看了手册,但是对于其原理还是不是很明白,现在理解为:有感bldc可以通过传感器信号触发com事件实现换相,无感bldc则要通过软触实现com事件,手册上说它可以同时改变pwm的通道设置,不用一一设置,那么com事件发生后我们自己还要更改pwm的设置吗?如果是我们自己在com中断里改变pwm设置的话,那么com中断和我们自己任意定一个中断实现换相有什么区别呢?真的很不明白,望高手能解释一下,有例程更好。不胜感激!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
冬冬5241
1楼-- · 2019-07-14 19:42
 精彩回答 2  元偷偷看……
jdstftwef
2楼-- · 2019-07-14 23:28
冬冬5241 发表于 2019-1-24 10:19
本帖最后由 wambob 于 2014-12-25 15:17 编辑

BLDC电机就是无刷电机,又称直流永磁电机,或永磁同步电机,采用电机控制器通过电子控制分配方式实现换向。

是的,现在我就是通过检测反电势过零点再延迟30电角度启动换相,这个30度电角度的时间之后就是com事件发生的时间,在com中断里换相,但是com不理解,不会设置。哎。
jdstftwef
3楼-- · 2019-07-15 02:28
冬冬5241 发表于 2019-1-24 10:35
http://cn.renesas.com/applicatio ... thms/child/bldc.jsp

BLDC电机控制算法

感谢回复。
冬冬5241
4楼-- · 2019-07-15 08:24
http://www.stmcu.org/module/forum/thread-398849-1-1.html

何谓STM32 定时器的 “COM事件”
报纸弟弟麦花
5楼-- · 2019-07-15 11:29
    无刷电机换向时,一般是三相要同时换向的,但是你在软里设置换向时肯定是一次只能设置一相,这就达不到三相同时换向了不。其实简单的办法就是启用STM32的COM事件,你先逐个设置好每相的换向(注意:此时虽然设置了,但实际上并不会进行换向),然后再调用COM事件,此时,三相将同时换向,就这么来的。
    COM事件用手动产生,库里面有个TIM_EventSource函数,用这个函数可产生COM事件。预先将CCXE,CCXNE,OCXM配置好,然后调这个函数产生COM事件。用SYSTICK定时器产生中断,在这个中断函数中调用TIM_EventSource函数。
jdstftwef
6楼-- · 2019-07-15 11:35
 精彩回答 2  元偷偷看……

一周热门 更多>