新闻中心

EEPW首页 > 消费电子 > 设计应用 > 无传感器BLDC驱动控制系统的设计

无传感器BLDC驱动控制系统的设计

作者:时间:2009-08-03来源:网络收藏

图7:电机驱动板。
图7:电机板。

系统软件流程


打开电源开关,程序上电运行,系统进入初始化。初始化程序主要对各控制口设定初值,包括I/O输入输出、A/D转换、PWM控制和中断处理等。初始化完毕,判断控制开关打到正向还是反向,在非巡航模式下,等待车用转把(相当于一个电位器)给定PWM值,开始以低速同步起动,若未给定PWM值,则一直停在程序初始部分,电机不运行。


一旦电机同步起动稳定后,就会有反电势产生,立即跳入反电势运行阶段。在这一阶段,可以对电机进行加速或减速,根据A/D采集电位器电压给定PWM值,平滑调速,无抖动。众所周知,车用转把是弹簧做的,松手会回弹,如果不加控制,电机就会立即停转,为解决这一问题,控制器加入了巡航功能,即PWM值给到一定程度,只要开关指向巡航,电机就以那一时刻采到的转速固定运行,即使转把回弹,电机仍以固定转速正转或反转。所以在巡航模式下,调速不起作用,当取消巡航模式,则又回到PWM随时改变的状态。


在电机正常运行的同时,记录换相次数。根据电机磁极对数不同有异,本系统所对应的电机换一次向才转过10°,所以换36次向才转过一圈,即正转或反转的顺序导通要循环6次。此时,执行一次内部中断,程序跳入行程计量部分,累加一次车轮的周长。


当浮点数累加完毕,由键盘察看判断。若需要察看,立即跳入LCD部分,将累加完的总和转换成十进制数,此处以km为单位,保留一位小数。再调用LCD显示子程序,并使用查表的办法将转换结果写入HT46R6?单片机的RAM存储区1,即可在液晶屏上显示里程,然后中断返回到主程序。若不需要察看行程,则累加完毕就直接返回主程序。

图8:系统程序流程图。

图8:系统程序流程图。

注意,本文中控制器的主程序中,正反转两部分程序完全对称,只不过正转计量行程,而反转没有,其它细节处理上没有差别。系统软件流程如图8所示,其中反电势模块流程见图9。

图9:反电势程序流程图。

图9:反电势程序流程图。

本文小结


实验证明,本方案具有可行性。反电势检测换相很正常,无级调速系统平滑,有巡航功能;刹车及时,制动柔和,完全能实现单片机对无直流无刷电机的基本控制。行程计量采用浮点数累加,结果在LCD上显示,简易直观。该控制器成本低廉,操作简单,可靠性高。本虽在反电势控制上取得一些进步,但功能仍需完善,IR2132要通过电阻分流设定过流值,遇到异常情况,根据过流值大小判断是否切断电路;因电机低速运行时,反电势值小,经比较器可能得不到换相信号,若将该参考端固定电压做成可变的,可增大调速范围。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭