文档库 最新最全的文档下载
当前位置:文档库 › 基于S12X的直流无刷电机反电势控制方法(天津工业大学 熊慧 李玉锟 尤一鸣)

基于S12X的直流无刷电机反电势控制方法(天津工业大学 熊慧 李玉锟 尤一鸣)

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

熊慧,李玉锟,尤一鸣

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

摘要:反电势控制技术是研究直流无刷电机控制的一个热点。本文通过检测直流无刷电机断开相端电压的方法来寻找反电势的过零点。本文应用的微控制器是飞思卡尔公司生产的双核单片机MC9S12XDG128,其具有的功能完全能够实现对直流无刷电机的控制。本文介绍了反电势控制理论,并论述应用S12X单片机在反电势理论基础上控制直流无刷电机的方法,并对在此控制方式下的直流无刷电机起动问题进行讨论。经试验证明,在此种控制方式下直流无刷电机能够稳定运行并能正常起动。

关键词:直流无刷电机;反电势;双核单片机;MC9S12XDG128

中图分类号:TM351 文献标识码:A

Back-EMF control method of BLDCM based on S12X MCU

XIONG Hui,LI Yukun,You Yiming

(College of Electrical Engineering and Automation, Tianjin Polytechnic University, Tianjin 300160, China)Abstract: The technique of Back-EMF is a hot research on BLDCM domain. This paper use the method of detect the phase terminal voltages without current to find Back-EMF zero crossing. The MCU used in this paper is MC9S12XDG128 produced by Freescale Semiconductor Company, the function it possessed will completely achieve the task of control the BLDC motor. This paper discusses the theory of Back-EMF, and discusses the method of using S12X MCU to control BLDC motor based on this theory. In addition, this paper discusses the way of BLDC motor start-up. The BLDC motor is running well and start-up successfully in practice so prove the method used in this paper is right.

Key words: BLDC motor;Back-EMF;dual CPU cores MCU;MC9S12XDG128

0 引言

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

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

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

行可靠性降低;

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

因此无传感器控制技术逐渐成为直流无刷电机的研究热点之一,国内外众多学者对此已经取得许多成果。此种方式省去了直流无刷电机的位置传感器,通过检测电机相关参数并经

过计算从而控制电机换相。因此无传感器控制技术可以提高直流无刷电机运行的可靠性,并

减小电机的体积。依据检测原理的不同,无传感器控制技术包括反电势法、磁链法、电感法

等。本文应用的是用A/D直接检测反电势法。本文应用的电机是三相桥式Y型接法的直流无

刷电机,换相方式为120度电角度两两导通换相。本文采用的微控制器是飞思卡尔公司生产

的双核单片机MC9S12XDG128。除主CPU外它还具备一个协处理XGATE,主要用来处理

中断,减轻了中断对主CPU的占用,提升了系统的性能。

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

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

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

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

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

d ( - )dx AG A A A N BG B B B N CG C C C N U i i

e U U R i L M i e U U i i e U ????????????????????=+++??????????????????????????????

(1)

式中:U AG 、U BG 、U CG 为直流无刷电机三相的端电压;

U N 为中性点电压;

L ,M 为绕组等效自感和互感;

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

0A B A B e e i i +=+= (2)

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

将(1)式的U AG 、U BG 相加,再将(2)式代入,得

2

AG BG N U U U += (5) 即中性点电压为导通两相端电压和的一半。 由于C 相此刻已经悬空无导通电流,故i C = 0,

d dt C i = 0。所以由(1)式的U CG 可得 - - 2

AG BG c CG N CG U U e U U U +== (4) 由(4)式可知当C 相悬空时确定C 相反电势过零点的方法为:由单片机检测A、B、C 三相的端电压,计算CG U 和2

AG BG U U +的值并进行比较,当二者之差的绝对值小于事先设定的某一阈值时,将此时刻作为C 相反电势的过零点。

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

- - 2

AG CG B BG N BG U U e U U U +== (5) BC 相导通、A 相悬空时,有

- - 2

BG CG A AG N AG U U e U U U +== (6) 利用(4)、(5)和(6)三式可作为判断A 、B 、C 三相反电势过零点的依据。

2 控制策略

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

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

括上述的比较悬空相和中性点Un的电压、延时30度电角度、状态切换等内容。状态切换是按顺序进行的,保证换相正确。比如AB段程序完成后只能跳转到CB段程序执行。

3硬件电路

直流无刷电机的反电势控制的驱动电路由IR2132和六个MOS管组成。IR2132S芯片是一种高电压、高速度的功率MOSFET和IGBT驱动集成IC,工作电压为600V,分别有三个独立的高端和低端输出通道。逻辑输入与CMOS或TTL输出兼容,最小可以达到2.5V逻辑电压。芯片的内部设计有过流、欠电压及逻辑错误保护装置,使用户可以方便地用来保护被驱动的功率管。驱动电路示意图如图3所示。双核单片机的三路PWM通道接IR2132的

图3 驱动电路示意图

三路高输入,三路T口接IR2132的三路低输入。IR2132的六路输出接六个MOS管。Q4、Q6、Q2下端三个MOS管的S极与地之间接了一根康铜丝。康铜丝上的电压即为此刻流过MOS管的电流和康铜丝电阻的乘积,即U P。在驱动板上将U P 接到IR2132的ITRIP引脚上。如果驱动电路出现了过流情况,那么U P(ITRIP输入)会增大,一但超过0.5V,IR2132芯片内部的电流比较器就会产生信号,使IR2132的六路输出截止,使六个MOS管进入关闭状态,实现对驱动电路的保护。同时FAULT输出一个低电平信号,利用此信号,单片机可以知道驱动电路出现过流,从而将输出信号关断。

由于给直流无刷电机供电的电源电压在12V,所以电机的端电压可能达到12V左右。

若通过单片机进行端电压的检测还需要将端电压进行分压。如下图所示为直流无刷电机某一相端电压检测分压电阻。通过分压电阻后,向单片机AD通道输入的信号可以控制在5V之内。

图3端电压检测分压电阻

4S12X单片机的设置

在使用双核单片机之前需要对其进行设置,除必要的初始化之外,还需将即将要用到的中断交给协处理器XGATE处理。此设置包括两部分,一是在主CPU中的设置,二是在协处理器中的设置。下面通过例子来说明。例如本文要用到定时器中断。首先在程序起始位置声明定时器中断 #define mccnt_VEC0xCA。 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 ADDRESS0xFFCA mccnt_interrupt。至此主CPU的设置工作完成。

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

5直流无刷电机的起动

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

6结论

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

参考文献

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

XIA Changliang. The control system of BLDC motor[M]. Beijing: Science Press, 2009. (in Chinese)

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

SHAO Beibei, GONG Hui. The technique of dual CPU cores in embedded system[M].

Beijing: TSINGHUA UNIVERSITY PRESS, 2008. (in Chinese)

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

学,2007.

ZHANG Yufeng. Research on Position Detection Methods of Sensorless Brushless DC Motor Control System Using the Digital Signal Controller[D]. Xi'an: Xi'an University of Science and Technology, 2007. (in Chinese)

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

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

作者简介:

熊慧(1978-),女(汉族),湖北襄樊市人,讲师,硕士,毕业于南京航空航天大学,主

要研究领域为智能控制、单片机及嵌入式系统应用。

联系方式:

第一作者姓名:熊慧

通信地址:天津工业大学电气工程与自动化学院自动化系邮编: 300160

联系电话:138********;E-mail: xionghui@https://www.wendangku.net/doc/8c13984176.html,

相关文档