基于DSP的步进电机控制系统的改进1原文2010年仪表技术与传感器2010第8期InstrumentTechniqueandSensorNo.8基于DSP的步进电机控制系统设计张宝发,赵辉,岳有军(天津理工大学自动化学院,天津300384)摘要:根据步进电机原理及DSP控制方法,进行了步进电机控制系统的硬件和软件设计,同时介绍了与上位工业控制机的通信。DSP采用TMS320LF2407A,它控制机床的切(削)刀在X,Y两方向上移动。此位置控制系统采用开环控制方式,在硬件上DSP通过PCI总线接口芯片CH365和8255通用芯片与PC机进行通信,在DSP与步进电机间选用脉冲分配和驱动电路芯片UCN5804B。在软件上给出了步进电机位置控制和加减速控制的程序流程图。该设计可应用于经济型数控机床。关键词:步进电机;数字信号处理器;工控机;PCI总线中图分类号:TP271文献标识码:A文章编号:1002-1841(2010)08-006DesigningofStepperMotorControlSystemBasedonDSPZHANGBao-fa,ZHAOHui,YUEYou-jun(TianjinUniversityofTechnology,SchoolofElectricalEngineering,Tianjin300384,China)Abstract:AccordingtotheprincipleofsteppermotorandDSPcontrollingmethod,thispaperdespgnedthehardwareandsoft-wareofsteppermotorcontrolsystem.DSP(TMS320LF2407A)controlsmachinetooltomoveinXandYdirections.Thispositioncontrolsystemusestheopen-loopcontrolmode,theDSPhardwarecommunicatewithPCthroughthePCIbusinterfacechipCH365andthe8255universalchip,andcommunicatewithsteppermotorthroughpulsedistributionanddrivecircuitchipUCN5804B.Indesigningthesoftware,programflowchartsforpositioningandacceleration/decelerationisgiven.Thisdesigncabeappliedtosmalleconomicmachinesforcuttingorcarving.Keywords:steppermotor;DSP;industrialPC;PCIbus0引言随着微型计算机和大功率电子元件的迅速发展,很多传统的模拟控制技术已让位于微机控制技术。众多电机通过微机进行控制,提高了运行性能,在机电一体化及工业自动化控制方面取得令人瞩目的成果。通过微机控制,可使电机的性能有很大的提高[1]。目前,微机控制广泛应用于数控机床等自动化设备的数控位置伺服系统。步进电机是工业过程中一种能够快速启动、反转和制动的执行元件,其功能是将电脉冲转换为相应的角位移或直线位移。开环条件下,不仅能够实现静态和动态的定位,而且能够自锁。作为一种数字伺服执行元件,它具有结构简单、运行可靠、控制方便、控制性能好等优点,广泛应用在数控机床、机器人、自动化仪表等领域,尤其是在强调速度控制、位置控制的伺服系统,例如数控设备中的刀具快速定位以及轮廓的定位跟踪系统[2]为了实现步进电机的运动控制,较多采用的一种方案是以单片机作为控制系统的微处理器,通过一些大规模集成电路来控制其脉冲输出频率和脉冲输出数,实现步进电机的速度和位置定位。但是,这种方案中微处理器所需的周边器件较多,对整个系统的稳定性、可靠性有较大影响,同时在某些控制场合,其程序处理速度也成为制约提高系统实时控制性的一个瓶颈[3]。为了提高性能,在先进的数控伺服系统中,已采用高速。数字信号处理芯片,DSP芯片是一种特别适合于进行数字信号处理运算的微处理器。芯片一般均采用特殊的软、硬件结构,其内部的程序空间和数据空间分开,可以同时访问指令和数据,并且拥有快速的中断处理和硬件I/O支持,具有在单周期内操作的多个硬件地址产生器,可以并行执行多个操作,片内具有快速RAM,通常可通过独立的数据总线在不同数据块中同时访问。同工业自动化控制中常用的8位或16位单片机相比,DSP芯片具有更适合于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法。TMS320LF2407A是TI(德州仪器)公司生产的是适用于工控领域应用而设计的一款工控型DSP芯片,集成数字I/O、EV、ADC、SPI、SCI、CAN控制器等丰富的控制资源,这些丰富的片上资源使得它在工业控制中尤其是在电机控制应用中比传统的单片机有着无以伦比的优势。1总体方案系统是面向数控机床位置伺服系统进行设计,为达到实时性控制要求,X向位置和Y向位置均由DSP进行控制,而用户面向的上位机是工业控制机(或PC机),DSP通过PCI总线与主机通信。此位置伺服控制采用开环控制方式,用户在工控机上进行指令操纵,并监控电机运行过程,进行工作的其他功率电机可另行手动调速控制。总体结构框图如图1所示。2硬件设计2.1硬件结构组成PCI总线协议复杂,设计PCI控制接口难度较大,采用专用接口器件虽没有可编程逻辑器件那么灵活,但能够有效降低接口设计难度,缩短开发时间。而通用PCI接口芯片功能全而强大,具有较低的成本和通用性,只需使用地址线、数据线以及少数几个读写控制信号,就能实现PCI总线与PCI设备之间的连接,类似ISA接口那么简单方便。该设计选用PCI总线接口芯片CH365,它是用于低成本的计算机板卡,也用于高速实时的I/O通信[4]。CH365与2407A之间通过8255进行双向数据传输,连接如图2所示。步进电动机是一种将脉冲信号变换成相应的角位移(或线位移)的电磁装置,当有脉冲输入时步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。反应式步进电动机的步距角按下式计算[5]:式中:Zr为转子齿数;N为拍数,N=K·m;m为电动机相数;K=1(单拍或双拍),K=2(单双拍)。电动机的转速可由下式计算:当工作方式确定后,调整脉冲的频率f就可以对电机进行调速。MS320LF2407A事件管理器A、B分别控制2台步进电机,在2407A与步进电机间选用脉冲分配和驱动电路芯片UCN5804B[1,6],并以四相反应式步进电动机为例,将UCN5804B置成单双八拍工作方式。硬件连接如图3所示2.2PWM控制步进电机转速原理MS320LF2407A集成了通用定时器和脉宽调制输出通道,并提供使用定时器周期寄存器的周期值和比较寄存器的比较值来实现产生PWM波的方法。周期值用于产生PWM波的频率(或周期),比较值用于产生PWM波的脉宽,比较值小于周期值。根据比较寄存器的不同,PWM波有2个来源:(1)利用定时器、定时器周期寄存器和比较寄存器作用输出PWM波(2)使用比较单元的比较寄存器。6个比较单元,每个比较单元各输出2个可带死区的PWM波.如果把PWM波上升沿(或下降沿)作为驱动步进电机转动的脉冲(称PWM脉冲),则通过实时调节PWM波的频率(或周期)以实现对步进电机的转速控制。步进电机在每个PWM脉冲下转动1步,转动角度为1个步距角θb.当DSP产生k个PWM脉冲时,步进电机转动的角位移为步进电机转动的角速度为式中:Δk/Δt的物理意义是单位时间内的脉冲个数,即脉冲频率。由上式可计算出PWM脉冲频率,按此频率设置定时器周期值和比较寄存器比较值,DSP事件管理器依周期值和比较值输出上述频率的PWM波。在变速控制中,角速度随时间变化。要求DSP程序实时改变定时器周期值,使PWM脉冲频率随时间变化以实现变速控制。PWM脉冲频率控制精度高,则步进电机速度控制精度也高.3软件设计3.1步进电机位置控制步进电机的位置控制指控制步进电机带动执行机构从一个位置精确运行到另一个位置,步进电机的位置控制是它的一大优点,它可以不用借助位置传感器而只需简单的开环控制就能达到足够的位置精度。步进电动机的位置控制需要2个参数:绝对位置(执行机构当前位置)是有极限的,其极限是执行机构的运动范围;相对位置(移动到目标的距离)将被折算成电机步数.位置控制的一般做法是:步进电机每走1步,步数减1,如果没失步存在,当执行机构到达目标时,步数正好为0。绝对位置可作为人机对话的显示参数,它与步进电机的转向有关,当步进电机正转时,每走一步绝对位置加1,当步进电机反转时,每走一步觉得位置减1。位置控制子程序流程图如图4所示。3.2步进电机加减速控制步进电动机在旋转过程中要经历加速、减速过程。如果启动时一次将速度升到给定速度,由于启动频率超过极限启动频率就要发生失步现象。如果到终点时突然停下来,由于惯性作用,电动机会发生过冲现象,造成位置精度降低。如果非常慢地加减速,电动机虽然不会产生失步和过冲现象,但影响了执行机构的工作效率。为了满足加、减速要求,步进电动机运行通常按照加、减速曲线进行。加、减速运行曲线没有一个固定的模式,一般根据经验和试验得到。步进电机的加减速控制就是控制步进电机去拖动给定的负载,通过加速、恒速、减速过程,从一个位置运行到另一个位置。这就有2个要求:总步数要符合给定值;总的走步时间要尽量短[5]。加减速规律一般选择按指数规律,也就是升速开始时先采用大一点的加速度,随着转速的升高,加速度逐渐减小;减速时则是高速段减速度小一些,低速段减速度大一些,这样符合步进电机的输出转矩随转速的升高而减小的状况。用DSP对步进电机进行加减速控制实际上就是控制每次换相的时间间隔。升速时,使脉冲串逐渐加密,减速时则相反,即不断改变定时器的装载值。实际编程时使用离散化的指数加减速曲线,那么在每一速度级上速度保持的时间不一样长。为简化程序,用速度级数N与一个常数C的乘积表示,速度每升一级,步进电机都要在该速度级上走NC步。可设速度级差为10个定时计数时钟,具体据实际应用而调整[1]。根据此规律,设计加减速子程序流程图如图5所示。3.3PCI总线编程对于上位机上的控制界面的设计可以采用多种语言,VisualBasic,VisualC++,Delphi等语言。界面的设计相对简单,比较复杂的是将X,Y位置实时显示在屏幕并根据工人设定的曲线移动,便于显示工作进度,这些用到计算机的图形处理和操作[9]。界面程序中与PCI总线接口的数据传输程序根据CH365和8255硬件的特性进行编程。4结束语根据步进电机原理及DSP控制方法,进行了步进电机控制系统的硬件和软件设计,同时介绍了与工控机用户界面的通信。对于步进电机脉冲分配,采用了硬件实现的方法,并对步此运动控制系统具有以下特点:(1)系统选用器件少,硬件结构简单。(2)整个控制系统稳定、可靠。(3)DSP的中断处理速度高,计算速度快,DSP作为嵌入式微处理器对步进电机进行控制,应用了其功能强大的事件管理器。对于DSP与工控机的通信,采用PCI接口编程实现,也可采用其他方式,如串、并口通信。本设计可应用经济型数控机床,如石材切削或雕刻等,由于面向的Windows界面设计,相对于目前使用DOS操作界面的此类数控机床来说,工人的操作将得简单易行。参考文献:[1]王晓明,王玲.电动机的DSP控制.北京:北京航空航天出版社,2004.[2]万达淳,代作晓,华建文.基于DSP的多路四相步进电机控制器的设计与实现.科学技术与工程,2008,4(8):1994