基于PC机的气缸定位控制系统
2015-04-26李胜中刘建新夏一飞
李胜中,刘建新,夏一飞
(西华大学机械工程与自动化学院,四川成都 610039)
气动系统具有成本低廉、动作迅速、反应快、维护简单、使用寿命长、安全可靠、无污染等优点,但是气动定位系统的非线性强,速度稳定性差,给精确的位置控制带来很大的影响[1]。目前气缸定位控制常用的控制方法主要有:神经PID控制、模糊PID控制、神经模糊控制、流体脉冲调制控制、比例伺服阀控制、智能自适应PID控制等方法。刘贵杰等[2]对流体脉冲调制控制进行研究,当时已经达到了±0.2 mm的定位精度。李宝仁等[3]采用单神经元自适应PID控制器对气动位置伺服系统进行研究也取得了小于0.2 mm的定位精度。范伟等人[4]将智能自适应PID控制算法用于气动人工肌肉位置控制中,稳态精度可控制在0.2 mm以内。朱春波等[5]进行了基于比例阀的气动伺服系统神经网络控制方法的研究,定位精度的均方根误差为0.09 mm,重复定位精度为±0.27 mm。上述各成果采用的控制策略都有其局限性:神经网络控制的学习和训练的速度较慢,稳定性和收敛性的理论证明较困难;自适应控制需要较长的运算时间;PID控制需要系统精确的数学模型,并且其参数不能在线调整;模糊控制不需要精确的数学模型,参数变化的适应性较强,但是控制精度较低。为了克服这二者的缺点,将PID控制和模糊控制相结合,就形成模糊PID控制。此系统采用模糊PID控制,比常规PID控制有更快的动态响应特性、更小的超调,比模糊控制有更高的稳态精度,并且系统对外部扰动也具有很好的鲁棒性。
在实验室所开发的机器人抛光系统中,采用气缸作为抛光姿态调整执行结构。文中试图充分利用PC机拥有的强大的数据计算处理能力以及丰富的外部接口设备,以常用PC机为控制系统核心,结合比例阀的控制性能,运用高级语言(C/C++)灵活的编程技巧开发上位机控制系统,完成气缸的精确定位;运用程序算法以及选取接口通信参数克服PC机接口数据传输慢的问题,达到节约成本、缩短开发周期的目的。
1 气缸定位控制原理
系统的基本原理如图1所示。通过PC机控制比例阀,使输入电压信号ue与气缸位置反馈信号uf之差Δu逐步减小并逐步趋于零,从而实现气缸对输入信号的位置跟踪[1]。当给定的输入信号ue大于反馈信号uf,即Δu>0时,比例流量阀4左路接通,气缸3左腔压力升高,推动活塞右移。气缸活塞的右移使反馈电压信号uf增大,电压偏差Δu随之减小,如此反复,直至Δu接近于0;反之,当给定的输入信号ue小于反馈信号uf,即Δu<0时,通过与上述相反的调节过程使偏差趋于0;在达到稳定时,Δu=0,即ue-uf=Δu=ky(式中k为比例系数,y为气缸活塞位移),从而实现了输入信号对气缸的定位控制。
图1 气缸定位系统原理图
2 参数自整定模糊PID控制
2.1 Fuzzy-PID控制原理
PID控制的局限性是将参数Kp、Ki、Kd作为精确的参数来处理。实际上要得到满意的响应特性,这些参数在不同的情况下应取不同的值。为达到参数Kp、Ki、Kd取值的动态变化,应用模糊推理的方法实现PID参数的在线自调整,使系统动态过程各阶段的PID参数处于最佳状态,以获得满意的控制效果。模糊自适应PID控制的原理是:运用模糊数学的基本理论和方法,把规则的条件、操作用模糊集表示,并把这些模糊控制规则以及有关信息(如评价指标、初始PID参数等)作为知识存入计算机知识库中,然后计算机根据控制系统的实际响应情况(专家系统的输入条件),运用模糊推理,即自动实现对PID参数的最佳调整,这就是模糊自适应PID控制。目前模糊自适应PID控制器有多种结构形式,但其工作原理基本一致。
自适应模糊PID控制器以误差e和误差变化ec作为输入,可以满足不同时刻的e和ec对PID参数自整定要求。利用模糊控制规则在线对PID参数进行修改,便构成了自适应模糊PID控制器,其结构原理如图2所示。
图2 Fuzzy-PID控制原理图
PID参数模糊自整定是找出PID的3个参数与e和ec之间的模糊关系,在运行中通过不断检测e和ec,根据模糊控制原理来对3个参数进行在线修改,以满足不同e和ec时对控制参数的不同要求,而使被控对象有良好的动、静态性能[3]。模糊控制器结构设计采用常用的二维模糊控制器,即以e和ec为输入,修正后的参数Kp、Ki、Kd为输出,其工作流程如图3所示。
图3 Fuzzy-PID算法系统框图
2.2 PID参数的预整定
PID参数初值的确定选用稳定边界法的参数自整定原则。调节前期,将Ki、Kd设为零,Kp设最小值的系统能够稳定运行,逐步增大Kp直到系统出现等幅振荡,记此时的临界周期为T、Kp为Kp0,按经验公式计算参数的整定值:Kp=0.6Kp0,Ki=1.2Kp0/T,Kd=0.075Kp0T。
调节中期,Ki、Kd适中,微调以控制系统的稳定性与控制精度:调节后期,适当增大Kp以减小静差。最后,将这组PID参数作为预整定值。
2.3 Fuzzy-PID系统数学建模
建立模糊自整定PID控制器的模型,根据气缸控制系统在受控过程中的原则对应不同的E和EC,将PID参数整定的原则归纳如下:
(1)当|E|较大时,说明误差的绝对值较大,ΔKp取较大值,以提高响应的快速性;为防止|EC|瞬时值过大,ΔKd应取较小的值;为了避免出现较大的超调,应对积分加以限制,通常取ΔKi=0。
(2)当|E|中等大小时,为了使系统响应超调较小,ΔKp取较小些;在这种情况下,ΔKd对系统的响应影响较大,数值要取得适当;ΔKi的数值也要取得适当。
(3)当|E|较小时,为了使系统具有很好的稳定性,ΔKp、ΔKi取较大值;同时为避免系统在设定值附近振荡,应该考虑抗干扰性能,适当地选取ΔKd值。|E|的取值与ΔKd取值规律相反,通常情况ΔKd为中等大小。
该系统将偏差E和EC的变化范围设定为[-3,3]区间连续变化量,使之离散化构成含7个整数元素的离散集合:
E=EC={NB,NM,NS,O,PS,PM,PB}即:{负大,负中,负小,不变,正小,正中,正大}
并将误差E的误差变化量EC量化为7个等级:
E=EC={-3,-2,-1,0,1,2,3}
在实际工作中,精确输入量的变化一般不会在[-3,3]之间,如果其范围是在[a,b]之间的话,可以通过变换:
将在[a,b]之间变换的变量x转换为[-3,3]之间变化的变量y。
输出ΔKp、ΔKi、ΔKd用以确定控制量,并规定其论域为:{-3,-2,-1,0,1,2,3}。
输出量ΔKp、ΔKi、ΔKd的语言变量模糊集为:{NB,NM,NS,O,PS,PM,PB}
各个语言值得定义分别由给出的三角隶属度函数曲线来描述,建立相关的模糊规则表如表1—3所示。
表1 ΔKp的模糊控制规则表
表2 ΔKi的模糊控制规则表
表3 ΔKd的模糊控制规则表
根据模糊规则表在线整定PⅠD参数,计算公式(1)如下:其中:K'p、K'i、K'd为原先定好的初始PⅠD参数;ΔKp、ΔKi、ΔKd为模糊控制器的3个输出参数。可以根据被控对象的状态自动调整PⅠD参数。
3 上位机控制系统
以PC上位机为控制核心,采用比例方向控制阀MPYE-5-1/8-LF-420-B对气缸运动进行控制。以Visual C++为开发平台,按照Fuzzy-PⅠD控制原理编写控制程序,部分程序代码如下:
float FPⅠD::Fuzzy_PⅠD(floatⅠ_out,float position,float set)
{float e=0,ec=0,E=0,EC=0,e1=0;
floates[7],ecs[7];
e=set-position;
ec=e-e1;
e1=e;
es[NB]=FPⅠD::ufl(e,-30,-10);//e模糊化
……
det_u=kpint*((ec)+kiint*e+kdint*(e-2*e1+e2));
u=det_u+u1;
……
returnⅠ_out;}
设计气缸精确定位控制可视化系统,控制系统主界面如图4所示。
图4 控制系统主界面
其中:Ⅰnput、Output分别设定输入、输出模块的地址、串口号、波特率;Ⅰnput Register、Output Register分别设定输入、输出寄存器起始地址与寄存器数;Setting And Current Value设定气缸目的位置数值,显示当前位置数值;Current Position显示定位控制过程中气缸位置变化曲线。系统输入程序依据数据采集卡的通信协议以及电气特性编写,输出控制程序依据比例方向控制阀的电气特性编写。
选用电流类型比例方向控制阀MPYE-5-1/8-LF-420-B。比例方向控制阀流量q与设定电流强度I的关系见图5。实际测得比例方向控制阀的中位电流为12.08mA,左右位开启电流分别为11.62和12.85mA。
图5 比例阀电气参数特性曲线
按照实际测得的比例阀电气参数编写控制输出程序,部分关键代码如图6所示。
图6 控制输出程序
4 实验及结果分析
气缸定位系统硬件主要由比例方向控制阀、标准气缸、位移传感器和数据采集卡等部分组成。其中,气缸采用的是FESTO公司生产的DNC32*80-A型气缸,气缸内径32mm,行程80mm;位移传感器采用日本精工的KTC-0100电阻型;数据采集由无锡创研电子科技有限公司生产的CAR-6AD型数据采集卡完成;控制输出由晋江机场电子科技有限公司生产的ⅠPAM-4404完成。控制系统的核心为PC上位机,上位机与输入、输出模块之间采用RS485总线通信,气缸定位控制系统结构分为3个主要环节:数据采集、数据处理、控制输出。数据采集:气缸实时位置由位移传感器以电压形式传送给数据采集卡,然后经过A/D转换将数据通过总线传送给PC。数据处理:利用Visual C++编写控制系统程序,数据采集单元实时采集数据与设定值的误差值e与误差变化率ec,通过Fuzzy-PⅠD运算得到控制输出值。控制输出:当上位机的数据处理单元完成数据采集与处理事件,触发控制输出,通过上位机向模拟量输出模块写入电流输出量。
按图1所示的系统原理图搭建实验工作平台,实际工作平台如图7所示。PC上位机气缸定位控制系统对气缸进行实时监控。试验表明:PC上位机进行数据处理——模糊PⅠD运算的快速性是该系统优于其他控制系统的明显特点,这也充分体现了PC机强大的数据处理能力;PC机的外部接口设备对输出模块的数据传输延时问题却显而易见。
图7 PC上位机气动定位控制系统
系统采用Modbus RTU通信协议:主站PC上位机呼叫从站,从站向主站发送采集数据。呼叫数据帧格式:地址码(1字节)+功能码(1字节)+寄存器起始地址(2字节)+寄存器数量(2字节)+CRC校验码(2字节);应答数据帧格式:地址码(1字节)+功能码(1字节)+数据量(1字节)+数据(N×3字节)+CRC校验码(2字节)。适当地提高通信波特率(输出波特率设为19 200bps),有效解决了延时问题,控制精度在±0.2mm以内。
当定位值在气缸中位时,定位精度较高。设置定位值为40mm,实际定位值达到39.85mm,具体定位过程可见上位机系统界面,如图8所示。
图8 上位机定位控制过程
系统完成了气缸的精确定位,控制精度满足实际运用需求;采用常规PC机作为控制系统核心,缩短了系统开发周期,节约开发成本;该系统中运用软件程序成功解决PC机接口数据传输延时问题。但要进行控制精度要求更为严格的实际生产应用,还存在一系列问题。这是由于气动系统存在严重的非线性和弱阻尼性,采集模块CAR-6AD采集的数据在采样、转换、传输等环节之中受到噪声、信号丢失、气源压力不稳等不利因素的影响;以及加入负载后,启动系统的惯性更大,进一步加剧了系统的非线性。若要满足实际生产需求,需进一步对系统实际模型进行研究,控制算法需进一步改进。
[1]章宏甲.液压与气动[M].北京:机械工业出版社,2000.
[2]刘贵杰,丁虹,宁舒.智能气缸设计[J].机械工程师,1997(5):27-28.
[3]李宝仁,朱玉泉,郑云舫.基于神经元控制器的气动位置伺服系统研究[J].中国机械工程,1998(6):10-13.
[4]范伟,彭光正,高建英,等.气动人工肌肉驱动球面并联机器人的位置控制研究[J].北京理工大学学报,2004(6):516-519.
[5]朱春波,包钢,程树康,等.基于比例阀的气动伺服系统神经网络控制方法的研究[J].中国机械工程,2001(12):1412-1415.
[6]张强,王即武,王仁人.气动位置控制技术的发展[J].农业装备与车辆工程,2006(1):6-9.
[7]刘金琨.先进PID控制MATLAB仿真[M].2版.北京:电子工业出版社,2004:116.
[8]LI Shengzhong,LIU Jianxin,XIA Yifei.The Pneumatic Position Control System Based on Fuzzy-PID[J].Applied Mechanics and Materials,2014,488/489:1142-1145.