史成城 张宏立
(新疆大学电气工程学院,新疆 乌鲁木齐 830047)
电动缸是集伺服电机与丝杠于一体的模块化产品,是一种提供直线运动及推力的执行元件。其工作原理是将电机的旋转运动通过丝杠转变为推杆的直线往返运动,并通过推杆带动负载,利用伺服电机的控制特性,实现对推力、速度和位置的精密控制[1]。
在将电动缸作为执行机构的控制系统中,电动缸直接由伺服驱动器控制,不再需要油、气等中间媒介传递动力,在性能上避免了受环境温度、易污染的液压阀和流体介质等因素影响。同时,省去了复杂的油泵、管路、冷却系统以及其他附属设施,减少了设施投入与设备维护。电动缸具有控制性能优越、安装调试方便、维护简单等优点,所以被广泛应用于军事设备、工业以及医疗等场合。目前,国内对电动缸的研究仍处于一个初级阶段。研究电动缸的性能、测试和控制系统,既符合当前国内电动缸行业的发展需要,又可以为电动缸的进一步研究提供理论参考,同时也可以为电动缸企业提供相关的技术支持,具有一定的现实意义和经济价值。
本文将现代化的微机仿真技术和传统的电动传统理论相结合,利用C语言编程实现先进的PID算法,并结合电动缸的数学模型,采用LabWindows/CVI软件,设计开发了一款电动缸测控仿真软件。该软件具有定位时间短、稳定精度高等特点,增强了控制系统的灵活性。仿真结果表明,该软件达到了较好的控制效果。
电动缸一般由电机、同步传送带、丝杆和缸体等构成,电动缸通过丝杆将电机的旋转运动转换为推杆的直线运动。如果将电动缸视为由电机和负载两者的等效传动部件所组成的系统,则电动缸等效模型如图1所示[2]。
图1 电动缸等效模型示意图Fig.1 The equivalent model of electric cylinder
电动缸的传递函数为:
其中:
根据电动缸的等效模型,搭建的电动缸出系统结构图如图2所示。
图2 电动缸结构图Fig.2 The structure of the electric cylinder
部分参数设置如表1所示。
表1 部分参数设置Tab.1 The setting of parameters
虚拟仪器软件LabWindows/CVI运用交互式编程方法,具有集成化开发环境、丰富的函数面板、强大的接口功能以及基于C语言构建的可视化软件开发环境[3]。该软件能够为开发人员提供仪器控制、数据采集、数据分析等软件开发功能。本文采用LabWindows/CVI软件对电动缸控制效果进行仿真,以期达到最好的控制效果。
当电动缸应用于仿真运动平台、机械手等场合时,为完成特定的功能,需要研究开发高精度的电动缸控制器。对电动缸进行控制,实际上就是对电动缸所用的永磁同步电机进行控制,而目前同步电机大多使用PID控制[4],因为传统的PID控制策略具有结构简单、易于实现、可靠性高等优点。本文通过对多种PID控制算法的程序编写,实现电动缸的控制效果最优。
服务器端界面主要实现三部分内容:①控制算法的实现;②优化算法的实现;③数据通信的实现。控制算法采用PID控制,而PID参数整定是PID控制中的一个关键问题,本文采用临界比例度法和遗传算法整定PID参数值。临界比例度法通过Matlab软件预先整定出参数值,并置为CVI中控件NUMERIC的初值;而遗传算法是结合Matlab/GUI生成的exe程序,通过CVI调用,实现参数在线整定。
2.1.1 PID 参数值的整定
根据电动缸的传递函数,通过Matlab软件整定PID参数值,获取方法是采用临界比例度法。与采用遗传算法整定的控制效果进行对比,临界比例度整定方法具有自己的优点。根据控制对象,预先已整定参数,且参数在程序中为一固定值,实时性较好。在控制要求不高的场合中,采用临界比例度整定方法就可以达到目标。在Matlab中编写程序,通过查表计算出参数值[5]。相关代码如下所示:
根据计算得出 Kp、Ki、Kd参数值[6],并将它们设为面板中NUMERIC的初始值。
2.1.2 控制算法的实现
本文分别通过增量式PID、步进式PID及其专家PID算法对电动缸的控制效果进行仿真。在进行仿真前,需要对控制对象离散化处理,因为计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此,连续PID控制算法不能直接使用,需要采用离散化处理。离散化过程在Matlab中进行。
除了强夯以外翻压也是处理湿陷性黄土的一种处理方案,在没有确定挤密桩方案前,渠段(74+660~75+095)与之相邻的上游渠段采用翻压施工。翻压施工时不会产生振动波和噪音污染,但施工时将处理深度内的土全部挖出再进行碾压回填。本工程取土综合运距4.5km,施工周期长、成本高,其沿线存在较多软弱地基,换填、翻压的处理方案非常普遍。
面对不同的控制要求和一些特殊的应用环境,采用合适的控制算法,不仅能很好地达到控制要求,而且节省了人力、物力。因此,本文根据不同的需求,编写了三种不同的控制算法。当需要产生较大位移时,为了减小超调,可以采用步进式PID控制算法,使电动缸运行平稳。利用专家PID也同样能使控制效果达到较好的效果,但响应速度很慢。
2.1.3 采用优化算法的PID控制仿真实现
利用遗传算法的全局搜索能力,可以很方便地实现全局最优解的寻优。该算法不仅降低了PID参数整定的难度,而且从总体上提高系统的控制精度、动态性能和鲁棒性[7-8]。
利用LabWindows/CVI具有调用外部程序的优点,可以跳过CVI与Matlab进行连接的复杂程序编写和步骤,通过 Matlab/GUI实现遗传算法,并利用deployment project工具生成程序[9]。在不转化为C语言程序的前提下,完成了一些复杂的程序,方便实现控制对象参数的在线整定。通过调用运行按钮的Callback程序[10],实现遗传算法PID参数的整定。仿真表明,基于先进算法的PID控制能达到很好的控制效果,但是,在实际的应用中考虑到各种因素,并不利于先进算法的实现。
遗传算法不会陷入局部最优解的快速下降陷阱。利用遗传算法的内在并行性,可以方便地进行分布式计算,加快求解速度[11]。但是遗传算法的局部搜索能力较差,导致单纯的遗传算法比较费时,在进化后期搜索效率较低。在实际应用中,遗传算法容易产生早熟收敛的问题[12]。采用一种既能使优良个体得以保留,又能维持群体的多样性的方法是遗传算法中较难解决的问题。但是结合电动缸的控制,实现在线的参数优化,不仅所需整定时间短,而且达到了较好的控制效果。将这种在线整定方法应用到现场控制,具有重要的现实意义[13-14]。
采用基于DataSocket技术的Polling Queue技术进行通信。DataSocket技术又是基于DCP/IP工业标准的编程技术,它对底层进行了高度封装[14],这样,不用进行底层TCP/IP编程,就可以方便地在测量和控制系统中共享和传输现场数据。Polling Queue的另一个优点是不像基于Data Socket的事件驱动模式,而是将数据放入一个缓冲队列中,使数据的发送和接收更加方便,而且可以使用Polling Queue的缓冲区来减少接收数据被覆盖的可能性,具有很高的数据读取操作安全性。
客户端通过Polling Queue接收服务器端发送来的数据,并且在面板上实时地显示发送的数据包数和字节数,以及所发送数据占总数据的比例。
计算机仿真技术是研究控制工程的有效手段之一,在实践中结合计算机仿真,可以辅助工程设计、分析和研究。
本文利用LabWindows/CVI软件实现对电动缸的控制仿真,为后续实践起到重要的铺垫和指导作用。从控制效果可以看出,阶跃响应的PID控制动态过程基本满足要求[15],系统能平滑地达到目标,且速度快、稳态精度高;从仿真角度来说,PID控制对电动缸的控制是有效的。
[1] 唐英.电动缸的传动和受力分析[J].重型机械科技,2007,13(1):32-35.
[2] 徐文灿.电动缸与气缸[J].液压气动与密封,2006,24(2):63 -68.
[3]孙晓云.基于LabWindows/CVI的虚拟仪器设计与应用[M].北京:电子工业出版社,2005.
[4]潘芳伟,卢菊洪,贺利乐.基于模糊遗传算法的新型六自由度并联机器人运动学分析[J].机床与液压,2009,37(1):37 -40.
[5]毛军红,李黎川.位置伺服系统PID控制器参数在线整定算法[J].西安石油学院学报:自然科学版,1999,14(1):33-36.
[6]韩帮华.PID控制器参数整定方法及应用研究[D].青岛:青岛科技大学,2009.
[7]谭浩强.C语言程序设计[M].3版.北京:清华大学出版社,2005.
[8]袁剑雄,王知行,李兵.遗传算法在并联机床设计中的应用[J].哈尔滨理工大学学报:自然科学版,1999,4(6):72-75.
[9]韩庆庆,肖乾虎,袁琦,等.基于GUI功能设计的电机仿真试验系统[J].水电能源科学,2011,29(1):129 -131.
[10]秦辉,席裕庚.基于Matlab GUI的预测控制仿真平台设计[J]系统仿真学报,2006,18(10):2778 -2781
[11]Dasgupta B,Mruthyunjaya T S.Closed-form dynamice quations of the general Stewart platform through the Newton-Euler approach[J].Mechanism and Machine Theory,1998,33(7):993 -1011.
[12]Dasgupta B,Choudhury P.A general strategy based on the Newton-Euler approach for the dynamic formulation of parallel manipulators[J].Mechanism and Machine Theory,1999,34(6):801 -824.
[13]王建新.LabWindows/CVI测试技术及工程应用[M].北京:化学工出版社,2006.
[14]刘君华.虚拟仪器编程语言LabWindows/CVI教程[M].北京:电子工业出版社,2001.
[15]康华光.电子技术基础[M].5版.北京:高等教育出版社,2006:418-422.