新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机SH79F168在航模无刷电调中的应用

单片机SH79F168在航模无刷电调中的应用

作者:时间:2012-09-19来源:网络收藏

3.1 反电动势过零点检测

在PWM输出高期间,假设断开相绕组端电压为 ,反电动势为 ,供电电压为 ,则三者之间有如下关系:

提供PWM周期中断和占空比中断。当周期中断发生时不断检测断开相的端电压,并与 比较,直到检测到过零点或者PWM输出低(根据PWM占空比中断标志位判断),即可实现在PWM输出高期间的反电动势过零点检测。每次换相后就切换到另一个通道,检测下一个断开相的端电压,如此循环,实现实时检测。

需要注意是刚换相后的一段时间内,由于MOS管的续流,断开相绕组的电压会出现尖峰。为了准确检测反电动势,可以选择在刚换相的一到两个PWM周期内不进行采样,避开尖峰电压。

3.2 起动算法

BLDC电机的反电动势和转速正相关,在起动和低速运行阶段,电机产生的反电动势为零或很小,因此往往需要经过一段强制加速,使反电动势上升到能够检测过零点的水平。

电机一般在较低速时即会产生比较明显的反电动势,这个特点为起动提供了很大的便利。先给电机任意两相通电,使电机获得一个初速度,这时检测断开相电压并等待其发生过零。若检测到过零点则换相,若经过较长一段时间还没有检测到过零则强制换相,重复这个过程直至电机稳定运行。这种起动方式,不但实现简单,而且稳定可靠。

3.3 换相计算

一般在用反电动势法进行BLDC控制的时候,需要对每两次换相的间隔时间进行计时,得到60°电角度时间,然后除以2作为检测到过零点后30°延时的定时值。这就需要用到两个定时器/计数器,一个用作计数器对每两次换相的间隔进行计数,另一个用作定时器实现30°延时。本方案中为了节省timer资源,用一个timer同时完成两项功能。

在每次换相后,检测到该通电状态下的过零点之间,timer0用作计数器;在检测到过零点之后,之前的计数值即为30°电角度,将其作为定时值装入timer0,timer0用作定时器开始定时。定时时间到后,在timer0中断中进行换相。然后timer0又用作计数器,如此循环。正常情况下,由于电机转速很高,每次换相到检测到过零点之间的时间很短,timer0在计数模式下不会发生中断。若timer0在计数模式时发生中断,必然是计数溢出,说明电机经过较长的时间还没有检测到过零点,而这可以作为电机堵转的标志。根据实际情况,可对timer0在计数模式下连续发生中断的次数进行计数,超过一定值即认为发生堵转。这样,timer0还实现了堵转保护的功能。

4 系统测试及总结

图4~6分别为PWM占空比约为20%、50%和100%时,在电机运转过程中用示波器捕捉到的各相电压和过零点位置波形。

图 4 PWM占空比为20%

图 5 PWM占空比为50%

图 6 PWM占空比为100%

各图中最上方的方波中每个高低翻转的位置即对应程序中检测到过零点的时刻,下面三个梯形波分别为A、B、C三相的端电压。由图中可以看出PWM占空比越高时系统运行越稳定。本系统经测试在PWM占空比低至8%时还能稳定运行。

采用本方案的电调通过厂家的各项测试,性能良好,稳定可靠,且节省了成本。目前已进入批量生产阶段,产生了良好的经济效益。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭