董海涛,潘海鸿,李兆军,陈 琳
(广西制造系统与先进制造技术重点实验室,广西大学机械工程学院,广西南宁 530004)
可重构技术是指利用可重用的软硬件资源,根据不同的应用需求,灵活地改变自身体系结构的设计方法,可重构数控的技术本质是柔性化[1-3]。目前,可重构CNC系统的研究已经取得了很多研究成果。在文献[4]中,学者们利用嵌入式技术设计了2种NC系统:一种是基于嵌入式结构的具有一般NC功能的基本系统,另一种是具有NC核心服务模块的网络NC系统,此系统允许某些NC资源的共享和充分使用。文献[5] 提出了一个软硬件可重构的数控系统平台方案并研究了系统硬件、软件和模块重构的关系和协同设计问题。文献[6]提出了包含有图形用户接口、非实时层、实时层和驱动层的基于Linux/RTLinux的CNC系统。另外,市场上也出现了商用CNC控制器的产品,其中美国嵌入式结构的PMAC(Dlta Tau)多轴运动控制器就是一个优良的通用伺服控制器,适应能力非常强[7]。但是PMAC是一个商品化的产品,作为一个通用的CNC系统来说,也存在一些缺点:PMAC作运动控制时,需要由上位PC机配合进行参数设置和人机交互;PMAC的运动控制器硬件一般不支持浮点运算;PMAC的硬件和软件不开源,且商品化控制器价格较高。
由于商品化CNC控制器存在局限性,开发了ARM+DSP+FPGA的嵌入式可重构CNC系统平台[8],基于该平台,文中研究了伺服控制算法的可重构性。
目前市场上的伺服系统可分为模拟伺服系统和数字伺服系统。而数字伺服系统进一步又可分为全数字伺服系统和带脉冲接口的数字伺服系统。另外,一般的伺服驱动器有3种工作模式:位置模式、速度模式和转矩(电流)模式,根据控制目标不同,伺服的工作模式也不同。CNC端伺服控制算法除与控制对象和控制要求有关外,还与伺服驱动器的工作模式有关,伺服的工作模式不同,CNC部分的伺服控制算法会有一些差别。
通过对伺服驱动器的不同工作模式下的控制方式进行分析发现,尽管控制算法上会有些差异,但是控制算法的基本结构是相似的,即CNC端伺服控制算法的主要结构为“PID反馈+前馈控制”。针对CNC系统的特点,借鉴PMAC伺服控制算法的优点,并结合已设计硬件平台的实际情况,同时考虑软件实现上的难易程度,文中提出CNC系统可重构伺服控制算法结构如图1所示。
图1的符号说明:Kfff为摩擦前馈系数;Kvff为速度前馈系数;Kaff为加速度前馈系数;KP为比例增益;KI为积分增益;KD为微分增益;Kpf为位置反馈系数;Berror为D/A静态补偿值(模拟电压零偏补偿);Kvf为速度反馈系数;IM1为积分模式:IM1=1时,采用积分分离法积分;IM1=0时,积分全程有效;IM2为陷波滤波器模式;IM2=1时,使用陷波滤波器;IM2=0时,不使用陷波滤波器;IM3为伺服控制模式切换开关;IM4为螺距误差补偿开关;IM5:反向间隙补偿开关。
图1 可重构伺服控制算法结构框图
(1)
式中:G(z)为一般化的双二阶滤波器,其中n1、n2、d1、d2为一般化的双二阶滤波器的系数;KF为双二阶滤波器的增益系数。
算法模型中,对传统数字PID的积分过程进行改进,采用积分分离法,从而降低超调,减少调节时间。微分部分采用了微分先行PID的方法,只对输出量微分,而不对给定值微分。这种结构适用于给定值变化较频繁的情况,可以避免因输入变动而在输出上产生跃变。这是因为系统的输出可以看作是输入的指令信号经过低通滤波后得到的,输出相对于指令信号的输入来说变化要平滑些。不同的编码器反馈接口通过FPGA实现,逻辑参数IM1~IM5、 PID系数、前馈系数及双二阶滤波器系数等则通过ARM端的人机交互进行设置,然后传入DSP的专门参数区保存,从而实现伺服控制算法的重构,并且根据需要可以引入螺距误差补偿和反向间隙补偿。
2.1可重构PID控制器实现
算法直接在离散域进行设计。为便于说明伺服控制算法的实现方法,对图1作了适当的简化,简化后的可重构伺服控制算法框图如图2所示,图中KL为逻辑系数,它的具体值为:
式中ε为积分分离界限。
图2 简化的可重构伺服控制算法结构框图
另外,为了方便进行算法描述,引入以下记法:rk=r(k),表示第k次PID循环时输入的插补位置指令信号;ek=e(k),表示第k次PID循环时的位置误差信号;yk=y(k),表示第k次PID循环时的编码器位置反馈信号;fk=f(k),表示第k次PID循环时的前馈信号;ck=c(k),为第k次PID控制循环时反向间隙补偿量,仅在电机当前运动方向和指令速度方向相反时才进行反向间隙补偿。反向间隙补偿安排在一个位置控制周期(包括多个PID控制周期)内进行补偿,补偿量由具体的反向间隙补偿算法给出;bk=b(k),为第k次PID控制循环时螺距误差补偿量,查表确定;uk=u(k),为第k次PID控制循环时D/A的输入数字量;dk=d(k),为第k次PID控制循环时D/A的静态补偿序列,这里:
式中Berror为D/A静态补偿值(模拟量输出零偏补偿值)。
(1)第k次PID循环时的速度和加速度前馈总和为:
fk=rk·(1-z-1)[(1-z-1)Kaff+Kvff]
(2)
把上式z域的传递函数转换成基于时间的算法为:
fk=Kaff(rk-2·rk-1+rk-2)+Kvff(rk-rk-1)
(3)
(2)第k次PID控制循环时位置误差为:
ek=rk-(yk·Kpf+ck+bk)
(4)
(3)第k次PID循环时控制器输出值:
(5)
把上式z域的传递函数转换成基于时间的算法为:
uk-uk-1=(ek-ek-1)KP+KLKIKPek-KDKvf(yk-2yk-1+yk-2)+(fk-fk-1)+dk(1-z-1)
=(ek-ek-1)KP+KLKIKPek-KDKvf(yk-2yk-1+yk-2)+(fk-fk-1)+(dk-dk-1)
=(ek-ek-1)KP+KLKIKPek-KDKvf(yk-2yk-1+yk-2)+
(fk-fk-1)+Berror
(6)
由式(3)、式(4)和式(6)可得:
uk=[(rk-rk-1)-Kpf(yk-yk-1)-(ck-ck-1)-(bk-bk-1)]KP+
KLKIKP(rk-yk·Kpf-ck-b)-KDKvf(yk-2yk-1+yk-2+
Kaff(rk-3rk-1+3rk-2-rk-3)+Kvff(rk-2rk-1+rk-2)+
Berror+uk-1
(7)
(4)第k次PID循环时D/A转换器输出控制值(不考虑输出限制)为:
u(t)=KDA·uk
(8)
2.2速度环积分器实现
考虑速度环的PI控制器传递函数:
(9)
式中:KVP为速度环比例增益;KVI为速度环的积分增益。
通过进一步推导可得:
(10)
与式(1)中对应项系数比较可得双二阶滤波器各系数为:
KF=KVP+KVI
n2=d2=0
d1=-1
2.3陷波滤波器实现
由于伺服控制算法运行于具有浮点运算功能的DSP中,不需要进行浮点数转定点数的计算,因此数字滤波器算法实现起来很方便。这里以将双二阶滤波器重构为陷波滤波器为例来说明系统中滤波器的实现。陷波滤波器S域传递函数为:
(11)
式中:ωΝ为需要消除的系统中已知低频谐振点频率,rad/s;ξ为阻尼比。
为了在伺服控制算法中实现陷波滤波器功能,需要求出Z域传递函数,即式(1)中各系数,这可以通过如下的一组公式计算得到:
n1=-2cos(ωNTs)
n2=1
d2=e-2ξWΝΤs
另外,离散时间陷波滤波器各系数也可以使用Matlab工具进行设计。计算出上面各系数后,可以由Z域传递函数得到基于时间的陷波滤波器算法为:
ck=KF(uk+n1uk-1+n2uk-2)-d1ck-1-d2ck-2
(12)
式中:ck和uk分别为图1中双二阶滤波器的输出序列和输入序列。
文中通过研究伺服系统的工作模式和相应的控制方法,在借鉴PMAC运动控制器伺服控制算法的基础上,结合开发的嵌入式CNC系统硬件平台的实际情况,提出了可重构伺服控制算法模型,并介绍了算法的实现。目前,可重构伺服控制算法已用于车床和高速并条机控制系统,并取得了较好的控制效果。
参考文献:
[1]齐继阳,竺长安.基于通用串行总线的可重构数控系统的研究.计算机集成制造系统,2004,10 (12):1567-1570.
[2]MORALES-VELAZQUEZ L,de JESUS ROMERO-TRONCOSO R,ALFREDO R OSORNIO-RIOS,et al.Open-architecture system based on a reconfigurable hardware-software multi-agent platform for CNC machines.Journal of Systems Architecture,2010,56(9):407-418.
[3]ALFREDO OSORNIO-RIOS R,de JESUS ROMERO-TRONCOSO R,HERRERA-RUIZ G,et al.The application of reconfigurable logic to high speed CNC milling machines controllers.Control Engineering Practice,2008,16 (6):674-684.
[4]LONG Y H,ZHOU Z D,LIU Q,et al.Embedded-based modular NC systems.Int J Adv Manuf Technol,2009,40 (7-8):749-759.
[5]WANG T,WANG L W,LIU Q J.A three-ply reconfigurable CNC system based on FPGA and field-bus.Int J Adv Manuf Technol,2011,57 (5-8):671-682.
[6]JI H,LI Y,WANG J.A software oriented CNC system based on Linux-RTLinux.Int J Adv Manuf Technol,2008,39(3-4):291-301.
[7]Delta Tau Data System Inc.PMAC USER MANUAL.Chatsworth,USA:Delta Tau Data System Inc.,2008.
[8]董海涛,庄淑君,陈冰,等.基于ARM+DSP+FPGA的可重构CNC系统.华中科技大学学报(自然科学版),2012,40(8):82-87.