基于中颖SH79F168的家用风扇无刷直流电机180°正弦波控制
摘 要:无刷直流电动机采用方波驱动,由于换相时不可避免会产生转矩脉动,导致噪声较大,难以在家电应用领域推广,为减小换相噪声,一般采用正弦波控制.但正弦驱动控制电路和软件算法复杂,成本较高.本文提出了一种简易正弦波驱动方法,采用三相120度方波霍尔传感器作为同步信号,集成PWM发生器的MCU来控制三相全控桥,实现直流无刷电机的180°正弦波被动变频方案.实验证明这是一种性价比较高的正弦驱动方法,同时内部集成自动霍尔相序识别功能,可以解决三相霍尔和电机相线装配时的对应问题.
一、 概述
无刷直流电机因无励磁绕组,无换向器、无电刷、无滑环,使其结构比一般传统的交、直流电动机来得简单,运行较为可靠,维护较为简单。与鼠笼型感应电动机相比较,其结构的简单程度和运行的可靠性大体相当。由于没有励磁铁耗和铜耗,功率在300W以下时,其效率比同规格的用电流励磁的电机高10%~20%;和感应电动机相比,效率更高。
无刷直流电机一般采用方波驱动,采用霍尔传感器获得转子位置,通过此信号强制换相.这种方案控制方法简单,成本低,在目前电动车方案中应用广泛.但由于方波驱动换相时会出现电流突变,导致转矩脉动较大,因此噪声指标差,难以在家电应用领域推广.而正弦驱动可以避免换相时的电流突变,虽然最大转矩会降低,但在噪声指标上有明显的优势.
通常永磁同步电机的控制都采用DSP,并且电机需要提供光电编码盘来精确检测转子位置,可以实现高精度控制,甚至可用在伺服系统中,但成本会很高,家电应用对价格非常敏感,而且有些应用对性能要求不高,比如电风扇,传统的DSP矢量控制正弦驱动高成本方案也比较难推广.因此本文提出的采用8位单片机集成PWM发生器的正弦驱动方案有较高的市场价值.
一般正弦驱动直流无刷电机的气隙磁场是正弦波(也称为永磁同步电机)或是正弦波注入高次谐波后的磁场波形,定子多采用分布绕组,因此反电动势也是正弦波。三路霍尔传感器安装在转子上,每隔60°电角度输出变化一次,以此作为正弦波的同步信号,保证没有累积误差.
二、 硬件结构
本方案的核心是一颗集成PWM发生器的8位单片机SH79F168,采用优化的单机器周期8051内核,内置16k Flash存储器,兼容传统8051所有硬件资源,采用JTAG仿真方式,内置16.6MHz振荡器,同时扩展了如下功能:
双DPTR指针. 16位 x 8乘法器和16位/8除法器.
3通道12位带死区控制PWM,6路输出,输出极性可设,中心和边沿对齐模式
集成故障检测功能,可瞬时关闭PWM输出.
内置放大器和比较器,可用作电流放大采样和过流保护.
提供硬件抗干扰措施.
提供Flash自编程功能,可以模拟用做EEROM,方便存储参数.
主系统架构采用三相全控桥,自举升压驱动IC,控制地和功率地共享,采用IC内置放大器和ADC实现电流电压采样,节省电压/电流互感器,同时利用IC内部集成的比较器和PWM故障检测功能实现过流保护.
三、 霍尔相序自动测定
不论使用何种控制方式,都必须先知道Hall信号与转子位置的对应关系。Hall信号每60°电角度变化一次,共有6个值,以二极三相集中绕组为示意,如图1,图2所示。
图1中可以看到三个Hall传感器在空间中依次相差120°电角度,转子磁极宽度为180°,设Ha安装在图2的A绕组处,Hb在B绕组处,Hc在C绕组处。Hall在S极下输出1(高阻输出,外部上拉),N极下输出0,则转子顺时针旋转时,Hall信号的变化顺序是101,001,011,010,110,100(MSB=Hc,LSB=Ha),每个Hall状态保持60°电角度的时间。以转子磁势的位置来划分Hall区域,如图3所示。
图3 Hall信号区域的划分
可以看出Hall信号区域的划分完全是由Hall传感器的安装位置决定的。二二方式通电时,如AB相通电,则定子磁势Fa的位置如图3所示,正好在110和010区域的分界处,此时若转子磁势Ff在图标位置,则转子将顺时针转过60°电角度,然后Hall信号的输出变为010,这时必须立刻使AC相通电,使Fa指向图4所示的位置,这样就可以带动转子转动。传统的方波控制就是采用这种方式.
图4 转子位置变化后相应定子磁势位置
为了实现自动判别Hall输出信号与转子磁动势的位置关系,常采用的办法是将转子固定在图4的6个不同区域中,记录下对应的Hall信号值。在图4中,若持续给AC相通电(电流从A流入,C流出),则Fa会停在图标的位置,而Ff最终也将停在Fa的位置,而这个位置正好在两个不同的Hall信号区域之间,这样就无法准确的测出Hall输出信号与转子磁动势位置的对应关系。
本方案采用的方法是三相通电,先给AB,AC相通电,如图5所示,定子磁动势指向一个Hall区域的正中间,这样转子也将停在此位置,此时记录下Hall的输出。然后给AC,BC相通电,如图6所示。
以此类推,接下来给BA,BC通电;BA,CA通电;CB,CA通电;AB,CB通电,分别记下相应的Hall值。有一点需要注意,最初给AB,AC通电时,若此时转子磁动势Ff的位置正好如图7所示,则转子将没有力矩,无法转到Fa的位置,出现死角,为了避免这种现象,采用正交驱动强制定位,在给AB,AC相通电之前先给BC两相通电,就可以避免。
四、 正弦波控制方式
得知Hall输出信号与转子磁动势位置的关系之后,图7中,Ff位于图标的位置,方波驱动方式下,此时若给BC相通电,则Ff将逆时针旋转,为了能够让Ff旋转一周,此后的通电顺序是BC-AC-AB-CB-CA-BA-BC……。反之,为了让Ff顺时针旋转,通电的顺序应该是CB-CA-BA-BC-AC-AB-CB……。
由电机基础理论可知:
T = K * Fa * Ff * sinθ
式中K为常数, Ff为定子磁动势, Fa为转子磁动势, θ为定子磁动势和转子磁动势的夹角,明显θ=90度时转矩最大.方波控制以六步运行, θ在60°到120度之间变化,因此不是恒定转矩,正弦波控制的目的就是控制定子磁链方向, 尽量保持定子磁链方向和转子磁链方向垂直.(这也就是DSP矢量控制追求的目标——定子磁链定向控制).这样转矩最大且恒定.
要想获得上述效果,必须精确知道转子位置,一般的做法是采用光电编码盘,但成本较高,鉴于家电应用对动态性能要求不高,电机转速不会突变,在60度电角度内可以认为电机匀速运行,因此本方案采用目前无刷电机标配的霍尔传感器.
图8中,一个360°电角度周期内电流按照t0到t6的顺序变化。因此可以在程序中作出一个360度正弦波的表,每隔60度分段,通过读取3路霍尔的当前值,软件取不同的段,取出的数据和外部输入的速度给定系数(0~1之间)相乘,然后送入PWM发生器的占空比寄存器,就可以复现一个完整的360度正弦波,按上述描述,不考虑电机的瞬态响应,两次读表的间隔时间根据以下方法确定:定时器纪录电机转子每转过60度电角度所花费的时间,根据上两次60度电角度转子所花时间来预测下一个60度电角度需要多长时间.将此时间片除以60度表的数据量,就可以得知每次取表的间隔时间.
图8 三相电流示意图
五、 超前换相角处理
上述方案实现的是理想状态下的电压驱动波形,只是保证电压矢量是和转子磁势方向基本垂直,实际上由于电机是感性负载,电机定子电流矢量滞后于定子电压矢量,因此定子磁势也滞后于定子电压矢量,也就是说,如果按照上述SPWM波形驱动电机,定子磁势和转子磁势夹角将小于90度,导致电机转矩不是最大,定子电流存在直轴分量,产生去磁效应,导致控制器的功率因素不高,因此需要加入超前换相处理.以便定子磁势和转子磁势夹角尽量接近90度.
实现起来其实很简单,只要在做正弦表时,将初始角度超前就可以了,不需要更改软件结构.更灵活一点的处理方法是给取表执针加一个偏移量,这样可以根据负载状况灵活设置超前换相角.
六、 如何调速
从上文可以看出,SPWM的调制波频率不是随意给出的,而是根据Hall信号的变化随时调整的,属于自控式变频,如果要调节电机速度,不能更改调制正弦波频率,而是修改调制波幅度,因此软件中取出的正弦表值会和外部的速度给定系数相乘后再写入PWM发生器的占空比寄存器中,调制幅度修改后,电机上的等效电压变化,然后速度发生变化,而正弦调制波的频率则依据转子霍尔信号被动调整.
七、 总结
采用上述方案做成的控制器,实际运行效果比用方波控制噪声小,转动平滑,可实现无级调速,尤其适用于家用电风扇无刷电机控制或空调风扇控制.
附:方案原理图:
暂无评论