引言
气体压力的自动化测试和控制是一个古老而又不断更新的课题,随着自动控制和计算机技术迅猛发展,给气体压力控制技术带来了深刻的影响。精密气压的产生与控制技术应用越来越广泛,特别是应用于液压和气动设备的检验,对气压的控制和控制稳定性提出了越来越高的要求闭环控制是控制论的一个基本概念。指作为被控的输出以一定方式返回到作为控制的输入端,并对输入端施加控制影响的一种控制关系。在控制论中,闭环通常指输出端通过"旁链"方式回馈到输入,所谓闭环控制。输出端回馈到输入端并参与对输出端再控制,这才是闭环控制的目的,这种目的是通过反馈来实现的。闭环控制,从输出量变化取出控制信号作为比较量反馈给输入端控制输入量,一般这个取出量和输入量相位相反,所以叫负反馈控制,自动控制通常是闭环控制。比如家用空调温度的控制闭环控制在各种控制实例中有具体的表现方式,比如上面举的汽车发动机燃烧控制。
在某型装备测试操作中,需要往高压气瓶中注入高压工作气体,高压气体在注入的过程中出于安全起见需要控制充气速度。正反馈和负反馈是闭环控制常见的两种基本形式。其中负反馈和正反馈从达于目的的角度讲具有相同的意义。从反馈实现的具体方式来看,正反馈和负反馈属于代数或者算术意义上的"加减"反馈方式,即输出量回馈到输入端后,与输入量进行加减的统一性整合后,作为新的控制输出,去进一步控制输出量。实际上,输出量对输入量的回馈远不止这些方式。这表现为:运算上,不止于加减运算,还包括更广域的数学运算;回馈方式上,输出量对输入量的回馈,也不一定采取与输入量进行综合运算形成统一的控制输出,输出量可以通过控制链直接施控于输入量等等。
1 整体方案设计
对气阀的流速做出控制,简单易行的方法就是改变进气时气流流通的横截面积,可以通过在进气道中设置一锥形活塞,通过控制锥形活塞的行程来改变进气道流通面积,而控制锥形活塞的行程可以通过步进电机带动丝杆传动系统,做出位移来实现。
整个闭环控制系统由PC系统、气体管路系统和步进电机系统构成。在VC++2005环境下,由PC系统控制压力表实时采集管路的压力值,实时数据经过Matlab的多项回归处理,得出压力的实时变化快慢来闭环控制步进电机调节精密阀门开度,实现气阀充气速度的自动控制。
1.1 硬件设计
系统以ICOP近推出的一款功能齐全完美的PC104单板电脑VDX-6354为,主板采用标准PC104结构,小尺寸并拥有完整性的功能,运算时的稳定度高,执行速度快,功耗低,-40~+85℃的军工级工作温度。
步进电机控制系统选用RORZE系列,通过RS 232总线和电脑通信,包括RD-023MS驱动器、RC-002电平变换器和RC-233定位主控器、RM2414 S步进电机。该系列步进电机系统,以程序取代人的操作,配备功能强大的编码器,利用RD-023MS驱动器,不需要外接脉冲信号和驱动电路,RC 233定位主控器可以有80,320,1,64,50,400几种细分。
压力表选用ACD-2精密数字压力表,它是一款高智能测量仪表,由压力传感器和信号处理电路组成。压力传感器采用进口传感器,性能优越,具有高、抗腐蚀、抗冲击、抗震动、高稳定性等优点,可靠性高。压力表通过RS 485接口与电脑通信连接,驱动和控制程序简单,气压表12 V直流电压供电。由于RS 485串行接口属于一种差分标准,允许1对双绞线上1个发送器驱动多个负载设备,RS 485通信多用在主从式多机通信中,但其作为一种半双工的通信方式,在1条通信电缆上挂许多设备时,一定要保证在总线上只有1台设备处于发送状态,其他设备一定要处于接收状态;而一旦同时2台设备都处于发送状态,必然会出现总线冲突的现象。针对上述问题,解决的关键是一定要控制好各台设备的接收与发送状态即RS 485接口器的收发状态。
硬件系统示意图如图1所示。
1.2 软件设计
软件部分通过网络接口实现远程编程,在其他电脑上Windows XP环境下用VC++2005和Matlab混合编程,将可执行文件以静态库的形式移植到单板电脑上运行,分为主程序模块、硬件驱动模块、数据处理模块三个部分,后两个部分均以类的形式封装。VisualC++是Windows平台下强有力的编程语言,能够方便快速地开发出界面友好,执行速度快,易于维护升级的系统软件。然而Visual C++只提供了一些基本的数学函数库,当遇到复杂的数值运算时,重新编写程序代码延长软件开发周期,增加软件开发成本。
1.2.1 主程序模块
主要是声明成员变量,调用硬件驱动模块和数据处理模块的已经定义好的类函数。主程序根据气压表模块输出的压力值,然后用数据处理模块进行数据分析,根据压力值的变化来闭环控制步进电机转动的方向,压力变化过快,则需要减小精密阀门开度,电机反转,压力变化过慢则电机正转,使压力上升速度在一个安全高效的范围内。
1.2.2 硬件驱动模块
硬件驱动模块用于对硬件设计部分主要仪表的控制和驱动,主要包括气压表模块、步进电机模块和串口模块,各分模块也是均以类的形式进行封装。
气压表模块,表1和表2在气压表内部可以进行初始设定编号01,02,表1负责放气时的气压读数,表2负责充气。气压表实时监测高压管路的压力值,实际上一秒多可采集数据20次,PC机通过串口模块实时向气压表发送命令"@01!"、"@02!",通过MFC对话框的形式实时接收气压表返回的压力值,经过数据处理,得出压力值变化的速度来闭环控制步进电机,使充放气速度在一个安全高效的范围。
步进电机模块,直接发送程序指令来控制电机实现各个动作。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为"步距角",它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。电机步距角为1.8°/步,细分50时,转动一圈需要10 000个脉冲,在导轨上从原点至终点共需6.5圈65 000个脉冲。这里将平面直角坐标系引入模块中,将步进电机的行程65 000个脉冲均分为100份,坐标原点设为阀门完全关闭点,坐标100处阀门完全打开。在步进电机控制中引入坐标系,可以通过对坐标点的标定来定位电机,有以下几大好处:
(1)利于闭环控制程序的编写。闭环控制可用一个循环程序来实现,有了坐标系,就可以方便定义一个位置变量,以压力变化快慢作为循环条件,位置变量作相应的增减,即可控制电机的正反转,改变精密阀门的行程,调节阀门开度实现气压控制;
(2)限制步进电机的行程。步进电机的活动范围限制为坐标0~100之间,在不可见系统中解决步进电机失步碰撞问题,可以替代接近开关的作用;
(3)实时查询步进电机的位置。查询锥形活塞所处点的坐标,根据坐标和阀门旋转螺旋间距,就可以得出电机的位移,相当于一个位移传感器。
1.2.3 数据处理模块
数据处理部分采用的是VC++和Matlab混合编程的方法,VC作为客户端,利用其能够简单地同底层硬件资源进行通信的优点,将数据读入到内存中,再将数据送到Matlab中进行数据处理,通过调用Matlab下数字信号处理工具箱中的函数以及自己所写的函数进行分析。选用Matl-ab的C/C++编译器mcc,这种混合编程方式将。m源文件转化为C/C++等各种不同类型的源代码,并在此基础上根据应用需要生成MEX文件、独立可执行应用程序等文件类型,大大提高程序的运行速度,以及代码的执行效率。由于气压表每秒采集数据20次,为了地实现闭环控制,把20组数据进行多项式二乘法曲线拟合,建立第1s内气压随时间变化的函数模型:
在Matlab中调用回归命令:A=polyfit(T,P,n),其中:T=O:O.05:1;P=[p0,p1,…,pn.]可以通过气压表的读数得到;A=[an,…,a1,a0],是多项式(1)的系数;n为多项式的次数。
预测气压的变化速度:
多项式拟合数据的模型随着阶次n的选择不同而不同。虽然n+1个数据点可以确定惟一的n阶多项式,但实践证明并不是阶次越高拟合越好,有时会发生阶次越高越不的情况。曲线拟合时应该根据实际情况凭借经验及观察选择拟合次数,注意检验结果,比如观察曲线是否平滑、拟合误差是否足够小等,力求准确全面地描述输入数据之间的关系。由每秒的模型得出连续的气压模型函数和气压变化速度函数,根据气压变化速度函数在各个时间点上的值来判断步进电机正转还是反转。
2 实验与分析
气体压力闭环控制装置已经应用于某型装备故障检测中,对高压充气速度进行控制,在试验时,装置连接在管路中,通过对电机的控制实现对充气速度的调节,从而完成所需试验数据的采集。通过多次试验,验证了系统的稳定可靠性和高的控制充气速度。
3 结论
气体压力闭环控制系统的设计在某型装备故障检测中已得到较好的实现。设计中无论是硬件还是软件系统中都采用模块化的设计方法,这使得系统扩展起来比较方便,系统可移植性高,增加了系统的灵活性和可靠性,具有广泛的适应性。坐标系引进步进电机行程的方法,可以成功解决步进电机失步碰撞问题,能够确保系统正常运行。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。