直流PWM的研究及DSP实现潘高超(南通大学电气工程学院,江苏南通)摘要:论述直流电机控制和PWM调速原理,详细介绍以TMS320F2812DSP为核心的控制系统实现方法。通过进行PWM输出实验,了解DSP片内事件管理器的脉宽调制电路的PWM特性参数,学会用程序控制产生不同占空比的PWM波形。关键词:直流电机,PWM,TMS320F2812DSP中图分类号TM33文献标识码A1引言在目前的传动系统中,尽管交流电机在调速控制领域取得了飞速的发展,在许多领域取代了直流电机,但直流电机在起动、制动和调速方面,以及在只有直流电源的场合的应用优势使直流电机仍然具有广泛的应用。传统的直流电机调速方法很多,如调压调速、弱磁调速等,它们存在着调速响应慢、精度差、调速装置复杂的缺点。目前随着电力开关半导体器件的发展,直流电机脉宽调制(PWM)直流调速技术得到了飞速发展,它具有的调速精度高、响应速度快、调速范围宽和耗损低等特点使之成为直流电机应用的主要调速方式。2原理性论述2.1直流电动机控制原理直流电动机是指能将直流电能转换成机械能的旋转电机,其结构主要由定子和转子两大部分组成,直流电机运行时静止不动的部分称为定子,主要作用是产生磁场,一般包含机座、主磁极、换向极、端盖、轴承和电刷等装置;运行时转动的部分称为转子,主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,通常称之为电枢,它由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。根据励磁方式的不同,直流电机可分为他励直流电机、并励直流电机、串励直流电以及复励直流电机,它所具有的良好的调速性能、较大的起动力矩使其在电力拖动中得到广泛应用。直流电机的控制必须依赖位置传感器的运用,根据位置传感器感应到电机转子所在位置,依照定子绕线决定开启(或关闭)换流器中功率晶体管的顺序,使电流依序流经电机线圈产生顺向(或逆向)旋转磁场,并与转子磁铁相互作用,如此就能使电机顺时/逆时转动。当电机转子转动到位置传感器感应出的另一组信号位置时,控制部又再一次开启下一组功率晶体管,如此循环就可以依同一方向继续转动直到控制部决定电机转子停止则关闭功率晶体管(或只开下臂功率晶体管)。同样地,要让电机转子反向只需功率晶体管开启顺序相反。当电机转动起来,控制部就会根据驱动器设定的速度以及加/减速率所组成的命令与位置传感器信号变化的速度加以比对(或由软件运算)再来决定下一组开关导通以及导通时间长短。速度不够则开长,速度过小则减短导通时间,而此部分的工作就由PWM来完成。2.2PWM调速原理PWM调速方法通常采用功率场效应管作为主开关元件,通过改变开关元件的导通方式及通断比来改变输出电压的大小与极性。当开关管的栅极输入高电平时,开关管导通,直流电动机直流绕组两端有电压dU。1t秒后,栅极输入低电平,开关管截止,电动机电枢两端电压为零。2t秒后栅极输出重新变为高电平。开关管重复前面的工作,这样,对应着输入电平的高低,直流电动机电枢绕组两端的电压波形如图1所示。图1PWM调速控制输出电压波形在PWM调速系统中,在电源电压dU不变的情况下,电枢端电压的平均值0U取决于占空比的大小,即改变占空比的值可以改变电枢端电压的平均值,从而达到调速的目的。在PWM调速时,占空比是一个重要参数。以下3种方法都可以改变占空比的值:(1)定宽调频法:这种方法是保持1t不变,只改变2t,这样使周期T(或频率)也随之改变。(2)调宽调频法:这种方法是保持2t不变,只改变1t,这样使周期T(或频率)也随之改变。(3)定频调宽法:这种方法是使周期T(或频率)保持不变,而改变1t和2t。前两种方法由于在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的固有频率接近时,将会引起震荡,因此这两种方法用得很少。目前,在直流电动机的控制中,主要使用定频调宽法改变占空比的值,从而改变直流电动机电枢两端电压。一般表达如下:11012(:01)ddTdTTttUUUUttT占空比,3基于DSP的直流电机控制TMS320F2812DSP的事件管理器模块有EVA和EVB两个,每个管理器包括通用定时器(GP)、比较器、PWM单元、捕获单元以及正交编码脉冲电路(QEP)。EVA和EVB在功能上完全是相同的,只是在模块的外部接口和信号有所不同。F2812每个模块可以产生8路PWM,包括3对全比较单元产生的死区可编程PWM信号以及由通用定时器比较器产生的2路独立的PWM信号。由EV全比较单元产生的PWM有如下特点:(1)16位寄存器;(2)可编程死区,最小死区宽度为一个CPU时钟周期;(3)可直接改变PWM频率;(4)每个PWM周期内或周期结束后都可以改变PWM脉宽,最小脉宽和调整最小量都是一个CPU时钟周期;(5)外部可屏蔽的功率和驱动保护;(6)脉冲生成电路可以用来产生可编程的不对称、对称以及8个空间矢量的PWM波形;(7)自动装载比较和周期寄存器减少CPU开销;(8)PDPINTx可直接屏蔽PWM输出。EV比较单元PWM电路功能框图如图2所示。Sym/asymWaveformgeneratorSVPWMStatemachineMUXOutputlogicDeadBandunitsACTRAfullcompareactioncontrolregisterDBTCONAdead-bandtimercontrolregisterComparematchesGPT1flagsCOMCONA[12]PHxx=1,2,3DTPHxDTPHX_PWM1PWM6COMCONA[9]图2EV比较单元PWM电路功能框图由图可知比较单元的PWM由以下功能单元:(1)非对称或对称波形发生器(2)可编程死区单元(DBU)(3)输出逻辑(4)空间矢量(SV)PWM状态机通过几部分的配合工作可实现PWM的全部功能,软件设置上是借由以下寄存器的设置来完成的:(1)T1/3CON—定时器控制器(2)COMCONA/B—比较控制器寄存器(3)ACTRA/B—比较方式控制寄存器(4)DBTCONA/B—死区设置寄存器此次直流电机PWM调速实验致力于用软件程序改变电机运行速度,通过控制EVA的T1PWM_T1CMP和T2PWM_T2CMP引脚实现对直流电机的控制,再经由修改定时器1、2的周期与比较值的手段调整转速和方向。程序中采用定时器中断产生固定频率的PWM波,在每个中断中根据当前占空比判断应输出波形的高低电平。主程序用查询方式读入键盘输入,得到转速和方向控制命令,在改变电机方向时为减少电压和电流的波动采用先减速再反转的控制顺序。4直流电机PWM调速系统4.1硬件电路设计根据直流电机PWM控制要求,控制系统硬件部分主要包括直流电机功率驱动电路、电机轴位置检测反馈电路、LED数码管显示电路等几部分,其中,会对直流电机驱动电路进行详细描述。MY+5X+52K欧2K欧BD679BD6791N40071N40071N5408+图3直流电机驱动电路图3是直流电机翻译/驱动的典型电路的一个变种,采用这种电路不但能够完成直流电机驱动的动作,而且可以避免H桥电路潜在的短路危险。针对SEED-DEC中直流电机系统动作要求和电机的特点,电机驱动电路设计如下:(1)采用15V直流电源供电,串接500@3W电阻限流并分压;(2)2路控制信号X、Y由SEED-DTK_Mboard提供,信号为CMOS标准电平;(3)使用达林顿管TIP31C代替BD679作为电机驱动开关,基极串接100电阻;(4)使用快速二极管1N4007完成保护功能,以免电机换向时烧毁电机;(5)电机电源/地之间跨接电容,电机地与数字地之间采用磁珠连接共地。4.2软件程序设计实验程序流程图如图4所示。CSL初始化EV初始化直流电机输出图4程序流程图主程序代码如下:#includeDSP28_Device.hvoidmain(void){/*初始化系统*/InitSysCtrl();/*关中断*/DINT;IER=0x0000;IFR=0x0000;/*初始化PIE控制寄存器*/InitPieCtrl();/*初始化PIE矢量表*/InitPieVectTable();/*初始化EV*/InitEv();EINT;ERTM;for(;;){KickDog();}}EV事件管理器代码如下:#includeDSP28_Device.h//---------------------------------------------------------------------------//InitEv://---------------------------------------------------------------------------//Thisfunctioninitializestoaknownstate.//voidInitEv(void){//设置GPIOEALLOW;GpioMuxRegs.GPAMUX.all=0x00ff;EDIS;//初始化定时器控制寄存器(EVA)EvaRegs.GPTCONA.all=0;//设置定时器1//设置定时器1的周期和比较;EvaRegs.T1PR=0x0fff;//周期EvaRegs.T1CMPR=0x000;//比较//中断使能EvaRegs.EVAIMRA.bit.T1PINT=1;EvaRegs.EVAIFRA.bit.T1PINT=1;//清除计数寄存器EvaRegs.T1CNT=0x0000;//设置定时器控制寄存器EvaRegs.T1CON.all=0x1042;//连续递增/递减计数,定时器使能,比较使能//设置定时器2//设置定时器2的周期和比较;EvaRegs.T2PR=0x0fff;//周期EvaRegs.T2CMPR=0x3c0;//比较//清除计数寄存器EvaRegs.T2CNT=0x0000;//设置定时器控制寄存器EvaRegs.T2CON.all=0x1042;//设置T1PWM和T2PWM//比较逻辑驱动T1/T2PWMEvaRegs.GPTCONA.bit.TCMPOE=1;//定时器1比较其极性设置为低电平有效EvaRegs.GPTCONA.bit.T1PIN=2;//定时器2比较其极性设置为高电平有效EvaRegs.GPTCONA.bit.T2PIN=1;//使能产生PWM1-PWM6的比较功能EvaRegs.CMPR1=0x00c0;EvaRegs.CMPR2=0x03c0;EvaRegs.CMPR3=0x0fc0;//比较方式控制//输出引脚1CMPR1-高有效输出引脚2CMPR1-低有效//输出引脚3CMPR2-高有效输出引脚4CMPR2-低有效//输出引脚5CMPR3-高有效输出引脚6CMPR3-低有效EvaRegs.ACTRA.all=0x0666;EvaRegs.DBTCONA.all=0x0Af8;//x/4,死区开,m=2,p=4,t=0.2usEvaRegs.COMCONA.all=0xA600;}5小结采用TMS320F2812DSP处理芯片构成的直流电机PWM控制系统,不仅简化系统结构、降低成本,而且可以很容易地借由软件设置改变直流电机的转速和方向,提高了直流电机运转速度控制的准确性与快速性,确保了系统的高速度、高精度,从而实现一种经济实用的直流电机PWM控制系统。参考文献[1]沈安俊,王宏文.直流PWM技术的发展[J].电气传动,1987(02)[2]王晓兰,王慧中.单片机控制的直流PWM传动系统[J].电气传动自动化,1997(03)[3]李俊,薄翠梅,史伟伟,赵剑峰,唐国庆.一种直流PWM控制系统的设计[J].自动化仪表,2007(02)[4]周文卫.直流PWM调速系统的研究[J].电气技术,2009(07)[5]刘凡.基于DSP技术的直流调速系统的设计[J].科技资讯,2009(25)[6]刘龙江,边鑫.基于DSP控制的全数字直流PWM调速系统[J].机械与电子,2012(08)[7]宋