1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在做一个bldc的无感控制,要用到timer1的com事件,看了手册,但是对于其原理还是不是很明白,现在理解为:有感bldc可以通过传感器信号触发com事件实现换相,无感bldc则要通过软触实现com事件,手册上说它可以同时改变pwm的通道设置,不用一一设置,那么com事件发生后我们自己还要更改pwm的设置吗?如果是我们自己在com中断里改变pwm设置的话,那么com中断和我们自己任意定一个中断实现换相有什么区别呢?真的很不明白,望高手能解释一下,有例程更好。不胜感激!
|
|
相关推荐
12个回答
|
|
本帖最后由 wambob 于 2014-12-25 15:17 编辑
BLDC电机就是无刷电机,又称直流永磁电机,或永磁同步电机,采用电机控制器通过电子控制分配方式实现换向。 有感是通过传感器信号触发中断,切换绕组通电进行换相,,无感因为没有传感器信号检测电机转子位置,需要软件检测电机转子位置信号产生中断进行换相. |
|
|
|
|
|
冬冬5241 发表于 2019-1-24 10:19 是的,现在我就是通过检测反电势过零点再延迟30电角度启动换相,这个30度电角度的时间之后就是com事件发生的时间,在com中断里换相,但是com不理解,不会设置。哎。 |
|
|
|
感谢回复。 |
|
|
|
|
|
|
|
无刷电机换向时,一般是三相要同时换向的,但是你在软里设置换向时肯定是一次只能设置一相,这就达不到三相同时换向了不。其实简单的办法就是启用STM32的COM事件,你先逐个设置好每相的换向(注意:此时虽然设置了,但实际上并不会进行换向),然后再调用COM事件,此时,三相将同时换向,就这么来的。
COM事件用手动产生,库里面有个TIM_EventSource函数,用这个函数可产生COM事件。预先将CCXE,CCXNE,OCXM配置好,然后调这个函数产生COM事件。用SYSTICK定时器产生中断,在这个中断函数中调用TIM_EventSource函数。 |
|
|
|
冬冬5241 发表于 2019-1-24 11:15 这个我看过,讲得不错。谢谢你。 |
|
|
|
非常感谢你的回答,那换相要在中断里面做吗?
|
|
|
|
COM事件是专门为电机控制用的,它只出现在高级定时器TIM1和TIM8中,普通定时器TIM2~TIM4没有COM事件,COM事件是用于同时控制所有通道的输出转换,在电机控制中同时转换所有通道的输出是十分必要的,请参看官方RM0008文件236页
|
|
|
|
kghfh 发表于 2019-1-24 12:06 已阅,多谢。 |
|
|
|
楼主,问题解决了吗,我最近也有和你一样的疑惑,能否共享下,COM事件到底实现的是什么功能
|
|
|
|
软件触发COM事件是有风险的,你最好试一下用另一个定时器去触发COM事件,软件COM事件有可能会有直通风险,导致电流增大,电机发热,你可以试一下,如果没有,当我没说,如果有,考虑一下我说的,配不出来就放弃COM事件,因为COM事件对于换向的提升并不明显,老实说,区别不大
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2093 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1931 浏览 3 评论
4526 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2076 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2587 浏览 1 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 10:02 , Processed in 0.791975 second(s), Total 93, Slave 77 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号