APP下载

基于S12X的直流无刷电机反电势控制方法

2010-07-02李玉锟尤一鸣

电子技术应用 2010年2期
关键词:无刷电机端电压电势

熊 慧,李玉锟,尤一鸣

(天津工业大学 电气工程与自动化学院,天津 300160)

直流无刷电机中采用各种形式的位置传感器,根据位置传感器的信号控制直流无刷电机换相。但位置传感器的存在限制了直流无刷电机在某些特定场合中的应用,这主要体现在[1]:

(1)位置传感器可能使电机系统的体积增大;

(2)位置传感器使电机与控制系统之间导线增多,使系统容易受到外界干扰影响;

(3)位置传感器在高温、高压和湿度较大等恶劣工况下运行时灵敏度变差,系统运行可靠性降低;

(4)位置传感器对安装精度要求较高,机械安装偏差引起的换相不准确直接影响电机的运行性能。

因此无传感器控制技术逐渐成为直流无刷电机的研究热点之一,国内外众多学者对此已经取得许多成果。此种方式省去了直流无刷电机的位置传感器,通过检测电机相关参数并经过计算从而控制电机换相。无传感器控制技术可以提高直流无刷电机运行的可靠性,并减小电机的体积。依据检测原理的不同,无传感器控制技术包括反电势法、磁链法、电感法等。本文采用的是利用A/D直接检测的反电势法。本文应用的电机是三相桥式Y型接法的直流无刷电机,换相方式为120°电角度两两导通换相。本文采用飞思卡尔公司生产的双核单片机MC9S12XDG128作为微控制器。除主CPU外它还具备一个协处理XGATE,主要用来处理中断,减轻了中断对主CPU的占用,提升了系统的性能。

1 直流无刷电机反电势控制的理论依据

直流无刷反电势控制是无传感器控制中相对成熟的一种。这种方法需要测量直流无刷电机三相的反电势,找到反电势的过零点,再延时 30°电角度换相,进而控制电机正确换相。反电势法包括多种检测反电势过零点的方法:端电压检测法、反电势积分法、反电势三次谐波法、续流二极管法和线反电势法等。鉴于端电压检测法检测方式简单、控制方便等优点,本文采用此种方法。

直流无刷电机反电势的过零点与换相时刻的关系如图1所示。图中eA、eB、eC为互差 120°电角度的三相梯形波反电势,Q1~Q6为一个周期中的6个换相点,分别滞后相应反电势过零点30°电角度。图中阴影部分为电流导通区,直线部分为反电势。

直流无刷电机的数学模型为[1]:

式中:UAG、UBG、UCG为直流无刷电机三相的端电压;UN为中性点电压;L,M为绕组等效自感和互感;

图1 反电势的过零点与换相时刻的关系图

当AB两相导通C相悬空时,即A相上桥臂导通,B相下桥臂导通。由图2可知此时电流由A相流入B相流出,C相不导通。此时 iA=-iB=I,iC=0。设电源电压为U,由于此刻A相上桥导通,B相下桥导通,则UAG=U,UBG=0。 将(1)式的 UAG、UBG相加,得 U=eA+eB+2UN,而 U=2UN。由上述推导可得A相和B相反电势和电流的关系为:

图2 直流无刷电机电流流向示意图

将式(1)的 UAG、UBG相加,再将(2)式代入,得:

即中性点电压为导通两相端电压和的一半。

由(4)式可知当C相悬空时确定C相反电势过零点的方法为:由单片机检测A、B、C三相的端电压,计算UCG和的值并进行比较,当两者之差的绝对值小于事先设定的某一阈值时,将此时刻作为C相反电势的过零点。

同理,AC相导通、B相悬空时,有

BC相导通、A相悬空时,有

利用(4)、(5)和(6)三式可作为判断 A、B、C 三相反电势过零点的依据。

2 控制策略

直流无刷电机的反电势控制需要不停地检测电机三相的端电压,通过计算找到某一相过零点的时刻,所以要用到单片机上的三路A/D。另外,当某一相的反电势达到过零点时还需要延时30°电角度才能作为这一相的换相时刻,所以需要用到单片机上的定时器模块。另外,为了能够实现对电机的调速,还要用到单片机上的PWM模块。

为了保证直流无刷电机能正常运行,电机上的三相电源要按一定顺序切换。本文中用到的电机在正常情况下换相顺序为:AB-CB-CA-BA-BC-AC-AB。为了能够更好地说明换相方法,下面举一个例子,说明电机如何由CB通电状态转换到CA通电状态。比如电机此刻已经顺利启动,正常运行,并且是AB两相导通,当程序检测到需要切换到CB状态后马上改变相应设置,转换到CB状态,同时开始计时,测量由状态切换(AB-CB)时刻到A相端电压到达中性点时刻的时间间隔。此时CB通电,A相悬空。程序不停地比较A相端电压和(UC+UB)/2差值的绝对值是否小于事先设定好的阈值,小于阈值即A相反电势过零。此时单片机读取定时器的值,此值即为30°电角度的时间长度。再用定时器延时相等的时间,然后进行换相,转换到CA状态。在程序中为每一个状态都编写了一段程序,各段程序均包括上述的比较悬空相和中性点 UN的电压、延时 30°电角度、状态切换等内容。状态切换是按顺序进行的,保证换相正确。比如AB段程序完成后只能跳转到CB段程序执行。

3 硬件电路

直流无刷电机的反电势控制的驱动电路由IR2132和6个MOS管组成。IR2132S芯片是一种高电压、高速度的功率MOSFET和IGBT驱动集成IC,工作电压为600 V,分别有3个独立的高端和低端输出通道。逻辑输入与CMOS或TTL输出兼容,最小可以达到2.5 V逻辑电压。芯片的内部设计有过流、欠电压及逻辑错误保护装置,用户可以方便地用来保护被驱动的功率管。驱动电路示意图如图3所示。双核单片机的3路PWM通道接IR2132的 3路高输入,3路 T口接 IR2132的 3路低输入。IR2132的 6路输出接 6个 MOS管。Q4、Q6、Q2下端3个MOS管的S极与地之间接了一根康铜丝。康铜丝上的电压即为此刻流过MOS管的电流和康铜丝电阻的乘积,即UP。在驱动板上将 UP接到IR2132的 ITRIP引脚上。如果驱动电路出现了过流情况,那么UP(ITRIP输入)会增大,一但超过0.5 V,IR2132芯片内部的电流比较器就会产生信号,使 IR2132的6路输出截止,使6个 MOS管进入关闭状态,实现对驱动电路的保护。同时FAULT输出一个低电平信号,利用此信号,单片机可以知道驱动电路出现过流,从而将输出信号关断。

由于给直流无刷电机供电的电源电压在12 V,所以电机的端电压可能达到12 V左右。若通过单片机进行端电压的检测还需要将端电压进行分压。如图4所示为直流无刷电机某一相端电压检测分压电阻。通过分压电阻后,向单片机AD通道输入的信号可以控制在5 V之内。

4 S12X单片机的设置

在使用双核单片机之前需要对其进行设置,除必要的初始化之外,还需将即将要用到的中断交给协处理器XGATE处理。此设置包括两部分,一是在主CPU中的设置,二是在协处理器中的设置。下面通过例子来说明。例如本文要用到定时器中断。首先在程序起始位置声明定时器中断 #define mccnt_VEC 0xCA。0xCA是MCCNT中断的向量地址。mccnt_VEC是主CPU响应来自XGATE的中断的中断名。mccnt_VEC中断程序位于主CPU程序段内。在SetupXGATE函数里设定ROUTE_INTERRUPT(mccnt_VEC,0x81),用来写中断请求配置地址寄存器和中断请求配置数据寄存器。再向协处理器的控制寄存器写入0xFBc1来允许XGATE工作,允许其处理中断。至此 SetupXGATE函数设定好了,只要在“main”函数里调用就可以了。在“main.c”文件的最后写上主CPU响应来自XGATE的中断mccnt_VEC。在此中断里不需要做任务事情,只要将由XGATAE置位的中断标志寄存器清零即可。

interrupt void mccnt_interrupt(void){XGIF1=0x0020; //中断标志寄存器清零}

当然,在 “.prm”文件中还需要设定一下中断向量VECTOR ADDRESS 0xFFCA mccnt_interrupt。至此主 CPU的设置工作完成。

在“xgate.cxgate”文件里首先要编写定时器中断程序interrupt void mccnt_Thread(){},mccnt_Thread 是 中 断 名 。在XGATE_VectorTable的设定为{(XGATE_Function)mccnt_Thread,0x65}。至此主CPU和XGATE的设置全部完成,协处理器可以处理定时器中断了。

5 直流无刷电机的起动

直流无刷电机在静止和低速的情况下反电势难以检测,此时利用反电势确定转子位置的方法失效。所以在起动阶段要用特殊的方法先使电机运转起来,待其到达到一定速度时再切换到反电势检测状态。目前起动方案主要有三段式起动法、预定位起动法、升频升压同步起动法和短时检测脉冲转子定位起动法[3]。本文采用的起动方法为三段式起动法。首先让直流无刷电机的某两相导通,使电机转子转到一个预定的位置,然后按照正确的顺序换相,并控制换相时间,使电机转速逐渐上升。当电机速度达到一定程度后就可以切换到反电势检测阶段,利用检测到的反电势控制电机正确换相。

本文应用飞思卡尔公司生产的双核单片机MC9S12XDG128,在直流无刷电机反电势理论基础上,实现了对一个直流无刷电机运行控制。利用单片机三路AD通道和定时器模块进行反电势的检测,利用PWM模块对电机进行调速。三路AD通道和定时器模块产生的中断由协处理器XGATE处理,减轻了主CPU的负担,使其能更好地处理主函数的程序。用双核单片机作为直流无刷电机的控制器,能够更加准确地找到反电势的过零点,更加准确地进行 30°电角度的延时,从而达到更加理想的控制效果。经实验证明,直流无刷电机能够顺利起动,并能连续平稳运行。

[1]夏长亮.无刷直流电机控制系统[M].北京:科学出版社,2009.

[2]邵贝贝,宫辉.嵌入式系统中的双核技术[M].北京:北京航空航天大学出版社,2008.

[3]张玉峰.基于DSC的BLDCM无位置传感器位置检测方案研究[D].西安:西安科技大学,2007.

[4]Freescale.9S12XDP512DGV2 Data Sheet.Rev.11.18.2004.

[5]Freescale.S12XGATEV2 Data Sheet.Rev.11.16.2004.

猜你喜欢

无刷电机端电压电势
基于STM32F407的无刷电机调速系统设计
同步机和异步机之磁势和电势的比较
场强与电势辨析及应用
基于DSP的直流无刷电机电子控制方法研究
锂离子电池组充电均衡电路及其均衡策略研究
人工心脏无位置传感器无刷直流电动机非导通相端电压分析
计算长电缆电机端电压的递推算法
基于ARM的无传感器无刷电机水泵控制系统研究
车用永磁无刷电机的技术研究
浅析RLC 串联电路中输出端电压和频率的关系