家用风扇电机的设计方案
位于图标的位置,方波驱动方式下,此时若给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发生器的占空比寄存器中,调制幅度修改后,电机上的等效电压变化,然后速度发生变化,而正弦调制波的频率则依据转子霍尔信号被动调整.
七、 总结
采用上述方案做成的控制器,实际运行效果比用方波控制噪声小,转动平滑,可实现无级调速,尤其适用于家用电风扇无刷电机控制或空调风扇控制.
附:方案原理图:
家用风扇电 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)