
图2 SVPWM波形生成及单电流采样示意图
从上图中我们可以看出,一个SVPWM周期可以划分成七个小的时间段(此即七段法名称的由来),不同的时间段对应不同的开关管控制电压,不同的控制电压造成了逆变电路中功率开关管不同的通断状态,而不同的通断状态则对应着不同的电流流向,因此只要我们知道了当前的电流流向状态,就可以从两次不同时间的采样电流(分别对应若干电流之和)中提取出需要的电流。以第0扇区为例(如图2右侧所示),在第一次电流采样中得到了Iu,第二次得到了(Iu+Iv),由于在很短的时间内,电流不会发生突变,这样就可以根据(Iu+Iv+Iw=0)推算出三相电流,完成了单电流采样(One-shunt current detection)。
这一算法简洁明了,但也存在着一定的问题:第一,在采样的过程中往往会引入较多的噪声,需要进行滤波;第二,存在扇区边界切换问题,我们从图2中可以看出,在旋转矢量跨越边界的时候,由于某一基本矢量作用时间太短会导致采样无法完成,这个时候,可以通过限制作用时间最小值来保证采样过程正常进行,但这样必然会使生成的正弦波发生畸变,我们通过简单的滤波(例如限制两次电流采样值的差异幅值,根据历史值修正新值等)去掉畸变点,可以实现很好的效果。
实际采样以及滤波处理结果如下(图3),从图中可以看出通过滤波达到了很好的电流检测效果,完全可以满足进一步的控制需求。

图3单电流采样电流结果(未滤波与滤波后的比较)
4无位置、速度传感器下电机控制方法详述
这里将从电机的初始化启动、正常运转和调速三个方面叙述电机控制的全过程,并给出电机控制算法的流程图,让读者更能够从整体上了解这一控制方法。
启动过程:由于整个系统没有传感器以获得电机的实际位置,如果从任意位置启动,可能会造成电机反转甚至启动完全失败,因此需要对电机转子位置进行初始化,即把后面控制算法中涉及到的转子角度的初始值清零。我们采用的初始化方法是生成一个固定的PWM脉冲序列,该序列的特点是只作用于在某一相,最后将电机锁定于某一磁极,达到了初始化的目的。
正常运转:目前我们采用TI公司的TMS320LF2407A作为控制的DSP,该DSP本身具备PWM 控制寄存器,通过较简单的程序就能完成前面所述的七段法SVPWM波的输出。
整体控制算法流程如图4所示:

图4控制算法流程
电机通过单电流采样得到两个采样电流值,通过电流识别方法,计算出三相电流,利用Clarke和Park变换将电流映射到d、q坐标系下,估算出角度和速度值,通过结合了积分分离的PI控制算法,完成对电机的反馈控制,然后经过Park逆变换,控制生成了新的SVPWM波,完成一次循环。这里用到的位置、速度估算函数由于篇幅所限,将另做描述。
调速的方法:在电机运转过程中,当需要调整转速时,我们采用分段加减速的方法,将给定目标速度和电机当前速度之间分成若干小段,逐级进行调速,从而达到很稳定的调速效果。
5实验结论及进一步的工作
目前我们已经在一台92BL(1)C50-15H的BLDC上实验成功了上述控制算法,完成了从启动到正常运转、加减速、拖动负载的全部工作,电机运行平稳,噪声小,输出转矩稳定。我们测试了双电流采样和单电流采样的方法,均达到了理想的效果。目前正在进行将控制方法移植到空调压缩机上的尝试,已取得初步成功,下一步将改进算法,增加谐波补偿功能,使电机运转更加平稳,测试对更多种型号电机的控制,并考虑进行工业上的应用。
本文作者创新点:采用电机保护电路电阻作为****的电流采样电阻,结合单电流采样鉴别算法得出三相电流,实现了对反电动势为正弦波的BLDC的无传感器控制。
参考文献
[1] 李永东.交流电机数字控制系统[M].北京:机械工业出版社,2003:1~5
[2] 王晓明,王玲.电动机的DSP控制——TI公司DSP应用[M].北京:北京航空航天大学出版社,2005:185~200
[3] 叶振锋,雷淮刚等.基于ST72141芯片的无刷直流电动机控制系统[J].微计算机信息,2005,21(4),107~108
[4] Gui-Jia Su,John W. McKeever. Low-Cost Sensorless Control of Brushless DC Motors With Improved Speed Range [J]. IEEE Transactions on Power Electronics, 2004,19(2):296~302
[5] 韦鲲,任军军等.三次谐波检测无刷直流电机转子位置的研究.中国电机工程学报.2004,24(5):167~171
[6] 董亚晖,龚世缨等.永磁无刷直流电机转子位置估算方法[J].微特电机,2002,30(2):11~12