赵高超,杨鸿武,裴 东,王全州
(西北师范大学物理与电子工程学院,甘肃兰州 730070)
随着微型计算机和大功率电子元件的迅速发展,很多传统的模拟控制技术已让位于微机控制技术[1],兼有高运算速度和强控制能力的DSP在逆变器、电机等电力电子设备的控制领域得到了广泛应用[2]。而以2000系列DSP作为控制器,能提高系统的性能和可扩展性。在电气传动中,2000系列芯片的应用以TMS320LF240x 为主,应用TMS320F(C)28x的比较少。但28x比24x系列的DSP具有更完备的外围控制接口和更丰富的电机控制外设电路,更高的主频,运行速度达到了150 MHz,集成了转换速度达到80 ns的12位16通道复用A/D转换器,12个PWM(pulse width modulation,脉冲宽度调制)输出通道,使得控制系统的采样速度、可靠性和精度大大提高[3]。系统使用TMS320F2812作为控制核心,在高度集成的环境中实现高性能电机控制。
目前,很多控制系统中采用位置式PID(Proportional-Integral-Derivative,比例-积分-微分)控制[4]。位置式PID 控制算法使用全量输出,所以每次的输出均与过去的状态有关。计算时被控量要进行累加,运算量大,也会导致输出控制量可能出现大幅度变化,进而会引起执行机构位置的大幅度变化。这种情况在实际生产中是不允许的,在一些重要场合可能还会造成重大事故[5]。为避免这种情况的发生,系统采用增量式PID 控制算法。增量式PID控制算法在计算时只输出控制增量,误动作影响较小,且控制增量只与最近几次的采样值有关,容易通过加权处理获得比较好的控制效果[4-6]。
系统以TMS320F2812为硬件开发平台,从系统软硬件总体设计、系统软硬件详细设计、系统调试分析等方面对电机驱动的结构、反馈系统、控制进行了设计和制作,完成电机控制的软硬件设计及调试。该系统的特色在于以TMS320F2812为控制器,结合其控制方便、处理速度快等特点,采用增量式PID控制技术,保证系统的输出在一定精度内跟随控制量变化,提高了电机控制精度,成功实现了利用上位机对电机进行闭环控制和运动状态的实时显示。
系统通过DSP芯片产生驱动电路所需要的PWM及正反转信号。同时,DSP芯片采集和处理电机转速信号,实现直流电机的反馈控制。DSP芯片再通过串口和PC机建立通信,最终实现PC机通过串口调试软件发布指令控制电机的运动。
系统结构如图1所示,由电机控制硬件部分主要由微控制器(DSP)、电机驱动模块、通讯模块、光电编码器反馈信号调整模块、电源模块等组成。
图1 电机闭环控制系统结构图
(1)微控制器(DSP)。TMS320F2812作为运动控制系统的控制器,控制机构主要捕获传感器系统信息而对其状态作出判断,然后输出PWM驱动电机,同时检测上位机通过串口发来的命令做相应的处理,实现与上位机的通信。
(2)通讯模块。串行通信模块实现上位机与DSP芯片之间通信的信号电平转换。
(3)反馈信号调整模块。为了方便DSP的处理,要求光电编码器采集到的信号幅度应为3.3 V,所以需要将采集到的信号进行整形和幅值的处理。
(4)电机驱动模块。功率驱动电路用于DSP对电机的控制,以便完成各项工作。系统中采用的30 A双路H桥电机驱动板,该驱动体积小,全贴片,集成度高,导通电阻小,PWM开关速度快。
(5)电源模块。系统电源分为2部分:一部分是DSP的供电;另一部分是光电编码器和电机驱动模块的供电。
2.1控制信号发送程序设计
控制信号发送程序的N-S流程图如图2所示。系统初始化后,上位机运用电机调试程序将控制命令通过串口发送给DSP,DSP将电机转速命令转换成相应的PWM波发送给电机驱动。然后DSP检测上位机发来的正反转和停止命令,发送给驱动模块做出相应的电机控制。
图2 控制信号发送程序N-S流程图
2.2反馈信号PID处理程序
反馈信号PID处理程序的N-S流程图如图3所示。电机的当前状态通过光电编码器反馈到DSP,DSP对其信号进行处理,将电机的当前状态发送给电脑显示在电机调试软件上。DSP根据控制转速与反馈的转速及偏差值做增量式PID运算,再把调整值发送给驱动模块,完成闭环控制。
图3 反馈信号PID处理程序N-S流程图
3.1增量式光电编码器
增量式编码器的工作原理是:利用双光栅叠栅条纹技术,对空间位置进行光学放大,循环码道上的光电探测器输出相位相差90°的2路正弦信号。电子电路根据这2路信号的相位关系,经过方向解码可确定码盘的转动方向,然后按光栅付之间的转动方向对正弦信号的每个周期进行增或减计数,便可获得相对某一位置的计数值N。这一位置由系统工作的初始时刻或工作中的操作指令或硬件电子电路确定,以获得待测位置的编码。若光栅节距角为δ,那么相对该指定位置的角度测量值:θ=Nδ[7]。其输出信号如图4所示。A、B两相信号是相位相差90°的正交方波脉冲串,每个脉冲代表被测对象旋转了一定的角度,A、B之间的相位关系则反映了被测对象的旋转方向,即当A相超前B相,转动方向为正转;当B相超前A相,转动方向为反转。Z信号是一个代表零位的脉冲信号,可用于调零、对位[8]。
图4 编码器正反转情况分析
3.2DSP中反馈信号的处理
TMS320F28xx中的EV(event manager module,事件管理模块)中的QEP(Quadrature Encoder Pulse,正交编码脉冲电路)的方向检测逻辑确定电机转速的反馈信号中哪个脉冲相序相位超前,然后产生一个方向信号作为通用定时器2(或4)的方向输入。如果QEP1(对于EVB是QEP3)引脚的脉冲输入是相位超前脉冲序列,那么定时器就进行增计数;相反,如果QEP(对于EVB是QEP4)引脚的脉冲输入是相位超前脉冲序列,那么定时器就进行减计数[3]。
正交编码脉冲电路对编码输入脉冲的上升沿和下降沿都进行计数,因此,有QEP电路产生的通用定时器(通用定时器2或4)的时钟输入时每个输入脉冲序列频率的4倍。图5给出了正交编码脉冲、时钟以及计数方向的实例[9]。
图5 正交编码脉冲和经过解码的定时器时钟和方向
3.3M/T法测速原理
M/T测速算法是一种结合了M法和T法的优点测速算法,能够在较宽的速度范围内提供精确度很高的速度值[10]。
图6 M/T法测速原理
相比于M法和T法,M/T测速法理论上能在很宽的速度范围内保持1%的相对精确度[10],并且误差小,因此其应用非常广泛。系统利用DSP编程,采用M/T法实现转速测量。
3.4增量式PID方法调整PWM的占空比控制转速
为便于计算机通过软件实现PID 控制算法,在实际应用中多采用数字PID 控制方式[5]。对模拟PID 控制算法,以一系列的采样时刻Kt代表连续时间t,以矩形法数值积分近似代替积分,以一阶后项差分近似代替微分,由此可得离散位置式PID表达式:
(1)
式中:kp、ki、kd分别是比例系数、积分系数、微分系数;e(t)为误差信息。
位置式PID控制算法使用全量输出,所以每次的输出均与过去的状态有关。计算时要对e(t)量进行累加,计算机输出控制量u(k)对应的执行机构的实际位置偏差;因为e(k)量进行累加u(k)可能出现大幅度变化,进而会引起执行机构位置的大幅度变化,当应用到时变系统时,系统的性能会变差,甚至不稳定[11]。
上述算法虽然比较直观,但由于是全量输出,所以每次输出均与过去的所有状态有关,计算时要对e(k)进行累加,计算机运算量大[5]。于是产生了增量式PID算法:
Δu(k)=u(k)-u(k-1)=kp[e(k)-e(k-1)]+kie(k)+
kd[e(k)-2e(k-1)+e(k-2)]=
(kp+ki+kd)e(k)-(kp+kd+kd)e(k-1)+kde(k-2)
(2)
令:A=(kp+ki+kd)e(k),B=(kp+kd+kd)e(k-1),C=kde(k-2)
则有:
Δu(k)=A-B+C
(3)
u(k)=u(k-1)+Δu(k)
(4)
式(4)为增量式PID控制算法,结构图如图7所示。计算机只输出控制增量,误动作影响较小,且控制增量只与最近几次的采样值有关,容易通过加权处理获得比较好的控制效果[12]。
图7 增量式PID结构图
为了验证文中设计方法的可行性,系统以DSP芯片TMS320F2812为核心控制器件,采用Solid Motion SAEG系列36SYK71直流伺服电机,采用512线的光电编码器作为反馈部分,功率驱动部分采用30 A双路H桥电机驱动板。试验得到增量式PID处理前后电机转速测试数据及误差,如表1所示。
从表1可以看出,电机转速给定值与增量式PID处理前的实际转速值最大误差为9.22 r/s,而电机转速给定值与增量式PID处理后的实际转速值最大误差为4.08 r/s.最后添加增量式PID控制后的电机转速和理论转速间的平均差值由4.47 r/s减小到1.60 r/s,平均相对误差在5%以内,满足系统精度要求。可见基于TMS320F2812的增量式PID运动控制系统能够很好地实现控制效果,具有良好的稳态性能。
表1 电机转速测试数据及误差
设计了一种兼有PWM和模拟量控制的直流电动机闭环控制系统。系统的特色在于以电机专用控制芯片TMS320F2812为控制器,该芯片的资源能够很好地保证软件算法的实现,并具有足够的控制精度和响应速度。增量式PID控制的应用,让电机能更加平稳地随着控制量变化,使系统响应更迅速,提高了系统控制精度。系统结构相对简单,易于数字化实现。用于电机控制中,超调小,升速平稳,抗干扰能力强,响应迅速,鲁棒性能好。
参考文献:
[1]张宝发,赵辉,岳有军.基于DSP的步进电机控制系统设计.仪表技术与传感器,2010(8):63-65.
[2]张卫丰,余岳辉.基于RTW的SVPWM DSP控制系统.电工技术学报,2007,22(3):102-106.
[3]TI.TMS320F2812 Digital signal processors data manual SPRS174J.Dallas:Texas Instruments Incorporated,2001.
[4]HODEL A S,HALL C E.Varialble-structure PID control to present integrator windup.IEEE Transactions on Industrial Electronics,2001,48(2):442-451.
[5]HESPANHA J P,NAGHSHTABRIZI P,XU Y.A survey of recent results in networked control systems.Proceedings of the IEEE,2007,95(1):138-162.
[6]LIN C L,JAN H Y,SHIEH N C.GA-based multiobjective PID control for a liner brushless DC motor.IEEE Transactions on Mechatronics,2003,8(1):56-65.
[7]罗长洲,陈良益,孙岩,等.一种新型光学编码器.光学精密工程,2003,11(1):104-108.
[8]俞竹青,潘全胜.一种光电编码器用可编程计数电路的设计.传感器技术,2002,21(10):22-24.
[9]朱贵宪.基于TMS320LF2407A DSP的电机数据采集与控制:[学位论文].济南:山东大学,2008.
[10]孔明,李铁凡.基于M/T算法针对机械式水表误差检测及校准的改进方法.仪表技术与传感器,2012(6):32-34.
[11]周黎英,赵国树.模糊PID控制算法在恒速升温系统中的应用.仪器仪表学报,2008,29(2):405-409.
[12]张科,靖固.利用FPGA的增量式PID控制的研究.现代制造工程,2009(3):112-114.