APP下载

应用DSP控制无刷直流电动机①

2011-10-28

电力系统及其自动化学报 2011年2期
关键词:霍尔中断电动机

张 伟

(临沂大学信息学院, 临沂 276005)

应用DSP控制无刷直流电动机①

张 伟

(临沂大学信息学院, 临沂 276005)

为满足对无刷直流电动机(BLDCM)控制要求,设计由数字信号处理器(DSP)组成的应用于无刷直流电动机的数字控制系统,以实现高性能实时测控。该文首先从无刷直流电动机的基本工作原理出发,以TI公司的TMS320LF2407芯片为核心,设计了无刷直流电动机控制系统;给出具体硬件设计方案及相关软件设计方案,实现了对无刷直流电动机的控制,适合中小型电动机控制系统,具有很高的应用价值和推广价值。

无刷直流电动机; 控制; 数字信号处理器; 模拟/数字转换; 脉宽调制

直流电动机具有调速性能好、运行效率高等诸多优点。但传统的直流电动机均采用电刷,以机械方法进行换向,因而存在相对的机械磨擦,带来了噪声、火花、无线电干扰以及寿命短等致命弱点。再加上制造成本高及维修困难等缺点,从而大大限制了它的应用范围。为此,人们研制以电子换向来代替电刷机械换向的无刷直流电动机。无刷直流电动机保持着有刷直流电动机的优良机械及控制特性,在电磁结构上和有刷直流电机一样,但它的电枢绕组放在定子上,转子上放置永久磁钢。和有刷直流电动机相比,无刷直流电动机取消了电机的滑动接触机构,因而消除了故障的主要根源。无刷直流电动机的应用主要有:(1)定速驱动方面;(2)调速驱动方面;(3)精密控制方面。本文以TI公司的TMS320LF2407A为核心设计了一个直流电动机的控制系统[1],它是将电机控制所需的外围功能电路集成在一个数字信号处理器DSP芯片内,具有体积小、结构紧凑、易于使用、可靠性高的特点,运算速度高,指令周期仅为几十纳秒,与普通微控制器MCU(micro controller unit)相比,运算及处理能力增强10~50倍,确保了系统具有更优越的控制性能。

1 无刷直流电动机的工作原理

无刷直流电动机为了实现无刷换相,首先要求把一般直流电动机的电枢绕组放在定子上,把永久磁钢放在转子上,这与传统直流永磁电动机的结构正好相反,而且还要由位置传感器、控制电路以及功率逻辑开关共同组成换相装置,使得直流无刷电动机在运行过程中由定子绕组所产生的磁场和转动中的转子磁钢产生的永久磁场在空间始终保持120°左右的电角度,从而产生转矩推动转子旋转。直流电动机的速度可通过调节电压来达到调整转速的目的,调节电压需有专门的可控直流电源。常用的可控直流电源有三种:旋转变流机组、静止可控整流器、脉宽调制变换器。脉宽调制变换器PWM(pulse-width modulation),它是用恒定直流电源或不可控整流电源供电,利用开关器件来实现通断控制,将直流电压断续加到负载上,通过通、断电时间变化来改变负载上直流电压的平均值,将固定直流电源变成平均值可调的直流电源。本设计就是采用PWM方法来实现对电动机控制。

2 无刷直流电动机控制系统硬件设计

2.1 控制系统硬件结构

在无刷直流电动机控制系统中,以TI公司的TMS320LF2407A作为控制电路的主控芯片,采用IR公司的IR2130负责功率逆变器的驱动控制。 控制系统的硬件结构如图1所示。TMS320LF2407A是专为电动机控制应用而优化设计的单片DSP控制器,不仅具备强大高速的运算处理能力,而且在片内集成了丰富的电机控制外围部件,使得整个数字控制系统的硬件设计比较简洁。

图1 控制系统硬件结构Fig.1 Hardware architecture of control system

2.2 驱动电路设计

功率管的前级驱动电路采用IR公司的电机驱动芯片IR2130。该芯片集驱动、死区、过流保护等功能于一体,可驱动工作在母线电压不超过600 V的电路中的功率MOS器件,使用单电源即可完成对功率桥六只功率管的驱动,使用方便,适合于小功率驱动领域,内部设有过电流、过电压及欠电压保护,可以用来保护被驱动的功率MOS管。

图2为功率主电路的前级驱动电路,其中D1-D3为快恢复二极管,选用FRl07,R1-R6是为了防止功率管产生振荡而设置的电阻,C1-C3为自举电容,取值0.1μf。LED为过流、欠压保护指示灯,其中过流信号经过Rc滤波器送入到IR2130的过流保护端ITRIP引脚。MS320LF2407输出的PWM信号直接到前置驱动器IR2130的输入端,IR2130的输出通过一个电阻直接与功率金属-氧化层-半导体-场效晶体管MOSFET(metal-oxide-semiconductor field-effect transistor)的控制极相连,实现对逆变桥的控制。MOSFET是一种单极型电压控制器件,具有开关速度快、高频特性好、输入阻抗高、驱动功率小、热稳定性优良、无二次击穿问题、安全工作区宽和跨导线性度高等显著特点,在各类中小功率开关电路中得到广泛应用。本系统选用国际整流公司的MOSFETT功率管IRFPS37N50A。

2.3 控制部分

2.3.1 位置信号检测

本系统位置信号采样是通过无刷直流电动机本身自带的霍尔传感器来检测的。电机在正常运转时,每个霍尔元件都会产生脉宽为180°的输出信号,三个霍尔传感器的输出信号互差120°。这样它在每个机械转中共有6个上升或下降沿,正好对应着6个换相时刻。通过将DSP设置为双沿触发捕捉中断功能,就可获得这6个时刻,即可得到转子位置。由于霍尔元件是集电极开路输出,其输出信号经上拉电阻得出位置方波信号,再经隔离电路送到DSP的CAP端口引脚进行位置信号的捕捉。

图2 功率主电路前级驱动电路Fig.2 Pre-driver circuit of the main circuit power

2.3.2 电流检测电路设计

本系统使用霍尔电流传感器检测电流,检测输出信号经过变换处理后再送到DSP芯片的转换器A/D(analog/digital)。每一个PWM周期对电流采样一次,但在一个PWM周期中对电流的采样时刻要选择好。本方案采用的是单极性PWM控制,在PWM周期的“关”期间,电流经过常开的开关管和另一个开关管的续流二极管形成续流回路,这个续流回路并不经过电流传感器,所以在PWM“关”期间不能采样电流;另外在PWM周期的开的瞬间,电流上升不稳定,也不易采样,所以电流采样时刻最好是在PWM周期“开”期间的中部,此过程可以通过DSP定时器采用连续增减计数方式时周期匹配事件启动ADC转换来实现。

3 无刷直流电动机控制系统软件设计

3.1 主程序设计

系统软件设计要求根据输入的转子霍尔位置信号和反馈电流信号对电机进行换相,实现PWM脉宽调制。达到对电机进行速度控制的目的。根据系统设计要求,软件分为以下几个模块:初始化模块、电机启动模块、霍尔信号捕捉模块、换相模块、A/D转换模块。软件主体采用顺序结构,霍尔信号捕捉模块和A/D转换模块采用中断控制方式,图3为系统软件主程序的流程图,主要实现系统初始化以及电机启动,然后循环调用中断服务子程序。

3.2 软件各模块设计

3.2.1 初始化模块

初始化模块主要是主程序初始化。主要内容是对状态寄存器和控制寄存器进行设置。

a.系统状态寄存器,主要设置CNF,OVM,SXM,XF,INTM,分别如下:

CNF,OVM,SXM,XF,INTM

0 0 1 0 1

CNF配置DSP内部双端口DRAM为数据存储空间,OVM设置为正常溢出模式,SXM设置累加器为数据扩展模式,XF设置XF引脚为低电平,INTM设置为1关闭系统所有中断,以保证在系统初始化过程中屏蔽外界中断。

b.系统控制寄存器设置

系统控制寄存器SCSRl和SCSR2设置CPU时钟以及各模块的使能状态。外部时钟采用10 MHz晶振,采用双倍频,设置内部系统时钟为20 MHz,SCSRl和SCSR2设置程序如下:

LDP #0E0H

SPLK #0284H,SCSRl

LACL #SCSR2

OR #0001H

SCAL SCSR2

图3 系统软件主程序的流程图Fig.3 Main program flow chart of system software

3.2.2 电动机启动模块

无刷直流电动机采用电子换向,需要不断检测转子位置,确定逆变器功率管的开关状态,电动机启动和霍尔信号中断捕获模块就是用来读取三个霍尔信号的状态,以确定逆变器的换相顺序。当电动机处于运行状态时,电动机三个霍尔信号端不断输出互差120℃电角度的方波,这时DSP捕获模块可以捕获到霍尔信号的跳变沿,通过读取捕获端口的状态,即可确定出电动机所处的状态,然而当电动机在停止状态时,三个霍尔信号都不可能产生跳变,从而也不可能发生捕获中断,因此电动机由停止状态开始运转时,必须首先让电动机运动起来以产生捕获中断。在电动机的启动阶段程序中,首先设置T1寄存器来起动定时器工作,设置CAPl~3引脚为IO功能,通过查询霍尔输入信号得到电动机转子的位置。当电动机转动一定的角度,霍尔信号一定会改变,通过恢复CAP1~3为捕获功能引发一个捕获中断。在中断程序中又会根据当前霍尔信号的状态改变PWM引脚的状态,使电动机持续旋转起来。

3.2.3 霍尔信号中断捕获模块

捕获中断服务子程序主要完成对霍尔信号的捕获并进行转速的计算。进入子程序后,首先计算相邻两次换相时间间隔。通过进入中断时读取T2计数寄存器的值设为Tcount,该值即为两次换相的时间间隔,式(1)为通过Tcount的电机角速度计算公式,p为电机极对数,(系统时钟为20 MHz)T2控制寄存器设置T2计数器为128分频。

(1)

转化为转速为

(2)

由于每一个霍尔传感器都会产生180°脉宽的输出信号,三个霍尔传感器的输出信号相差120°相位差,这样它们在每转过360°电角度中共有6个上升或下降沿,正好对应着6个换相时刻,将DSP设置为双沿触发捕捉中断功能,就可以获得这6个时刻。通过设置CAPl~3为IO功能查询捕获单元位置信号的输入引脚获得转子位置信号,根据此信号值查表计算换相程序偏移向量,调用相应的换相PWM子程序,从而通过改变PWM方式控制寄存器ACTRA的值来控制PWM输出信号的改变,实现电动机的换相,然后恢复CAPI~3的捕捉功能,并将T2计数器清零,最后CPU将状态寄存器及累加器弹出堆栈,并退出INT4内核中断,结束捕获中断服务子程序。

3.2.4 换相模块

要使无刷直流电动机可正常运转,必须确定出电机转子位置与逆变器功率管导通顺序的关系。换相模块就是通过读取霍尔位置中断捕捉模块中的霍尔信号获取电动机转子位置信号,确定逆交器功率管的开关状态。换相模块部分源程序如下:

LDP #0

LDP #0

LACC CAPT

SUR #1

SFL

ADD #CAPT_DRTRR

BACC

CAPT_DRTRR

B FALLING3 ;跳转到H3下降沿

B FALLINGl :跳转到H1下降沿

B RISING2 ;跳转到H2上升沿

B FALLING2 ;跳转到H2下降沿

B RISINGl ;跳转到Hl上升沿

B RISING3 ;跳转到H3上升沿

3.2.5 A/D中断服务模块

在电动机运行过程中,由A/D中断服务模块对转速与电流进行采样和控制。A/D转换设置成通过事件管理器EvA的T1计数器周期匹配中断来起动,PWM产生电路设置成对称PWM波形,即通用定时器设置为连续增/减计数模式,这种方式使得A/D转换始终在功率开关器件导通周期的中点采样电流并进行模数转换,避免了在功率器件关断时采样电流,从而大大提高了电流采样的精度。由于TMS320LF2407A DSP芯片高达40 MIPS的指令执行速度及多总线并行处理机制的特点,使得速度环调节及电流环调节可直接嵌入A/D转换中断模块。当Tl计数器发生周期匹配时,A/D转换中断启动。

A/D模块部分源程序:

LDP #0

LACC SPEED C0UNT;检查是否应该速度调节

SUR #1250

BCND NOSPEED-REG,NEQ;不该调节,跳转

CALL SPEED REG;否则调用速度调节子程序

NO_SPEED_REG

LACC SPEED COUNT

ADD #l:计数器加l

SACL SPEED COUNT

LDP #0E0H

LACC PIVR;清ADc中断标志

LDP #0E8H

LACC EVAIFRA

SACL EVAIFIlA;清Tl周期中断标记

LACC RRSULT0,10:读ADC转换结果

进入A/D转换中断服务子程序后,首先判断是否进行速度调节,在软件中设置好PI调节周期,SPEED-COUNT为速度调节循环计数器,如果到调节周期对应值,则计数器SPEED-COUNT清0,由全局变量得到转速信号,调用速度环PI调整子程序。在本程序中,PI调节使用增量式算法,由于PWM占空比只能在0%~100%变化,因此需要对PI调节后得到的占空比值进行限幅处理。速度调节可以得到新的电流参考值,以供电流环调节时使用。在速度环调节子程序中主要完成速度反馈值大小计算、PI运算和调节输出。

4 电机测试结果

4.1 启动测试

利用测试板对BX230A-10型电机起动过程进行测量,该电机直径为60 mm,额定输出功率30 W,调速范围(30~1450) r/m,电源电压单相100/115 V。测试采样周期设置为1 ms,控制板控制电机运行速度为90 r/m,取测量得到的前20 ms时间段内的转速值,得到电机起动过程转速值如图4所示,图中三角符号表示为实际测试得到的转速值。从图中可以看出,在7 ms左右电机运行到稳态过程。

图4 电动机启动过程转速测试图Fig.4 Speed test pattern of motor starting process

4.2 稳态运行测试

利用该测试板对BX230A-10型电机转速进行测量,电机转速设定在60 r/m,测试板每隔1 ms记录一次光电编码器转过的脉冲数目,并将数据通过CAN总线发送到PC机中存储。对得到的数据进行处理,计算得到电机转速值,取出一段稳定运行时电机的转速曲线如图5所示。

图5 稳态运行时测量得到电机转速曲线Fig.5 Motor speed curve during steady-state run-time

从图中可以看出电机转速在52 r/m~68 r/m间波动。

利用电机测试系统对BX230A-10型电机进行测量,通过电机的端盖对转子施加预压力,在轴向预压力的作用下,电机的定子和转子通过摩擦耦合使电机定子的振动能量转换成电机转子旋转力输出。预压力的大小直接影响电机的输出性能。在不同预压力下测量得到电机负载特性如图6所示。

图6 不同预压力下电动机负载特性Fig.6 Motor load characteristic under different pressures

5 结语

本设计以TI公司的TMS320LF2407A控制器为核心,给出了无刷直流电动机控制系统硬件设计和软件设计方案,实现了对无刷直流电动机的控制,解决了经典PID控制器难以满足控制系统的性能要求,适合于中小型直流电机控制系统,具有很高的应用价值和推广价值。

[1] 刘和平,严利平,张学锋.TMS320LF240xDSP结构、原理及应用[M].北京:北京航空航天大学出版社,2002.

[2] 尹勇,欧兆军,关荣峰.DsP集成开发环境ccs开发指南[M].北京:北京航空航天大学出版社,2003.

[3] 章云,谢莉萍,熊红艳.DSP控制器及其应用[M].北京:机械工业出版社,2001.

[4] 蔡自兴.智能控制[M].北京:电子工业出版社,2004.

[5] 郭涛,陈东华,谢少军(Guo Tao,Chen Donghua,Xie Shaojun).基于DSP的数字控制并联电力有源滤波器(Digitally controlled shunt active power filter based on DSP)[J].电力系统及其自动化学报(Proceedings of the CSU-EPSA),2005,17(5):90-93.

ApplicationofDSPtoControlBrushlessDirectCurrentMotor

ZHANG Wei

(Linyi University Information Institute, Linyi 276005, China)

According the brushless direct current motor(BLDCM)control requirements,the BLDCM digital control system composed by digital signal processor(DSP)was designed in order to achieve high-performance real-time monitoring.The design was based on the BLDCM principle and TMS320LF2407 chip.The BLDCM control realized by the design proposal of hardware plan software.The system can apply to the middle and small scale motor control,which has a high application and promotional value.

brushless direct current motor(BLDCM); control; digital signal processor(DSP); analog/digital transformation(A/D); pulse-width modulation

2009-09-25

2009-11-11

TM33; TM301.2

A

1003-8930(2011)01-0064-05

张 伟(1972-),男,硕士学位,讲师,研究方向为计算机控制、电气控制。Email:zhwei369@163.com

猜你喜欢

霍尔中断电动机
浅析电动机日常维护与保养
永磁同步电动机的节能计算
跟踪导练(二)(5)
千里移防,卫勤保障不中断
这个大童话讲猫(五)名侦探西尼·霍尔
五相无刷直流电动机霍尔容错控制策略
基于KB0的电动机软启动控制系统
电动机的保护配合及CPS在民用建筑中的应用
离子推力器和霍尔推力器的异同
FPGA内嵌PowerPC的中断响应分析