基于Linux的液压伺服系统半实物仿真方法研究

2022-08-24 09:48苏东海
机械与电子 2022年8期
关键词:采集卡伺服系统内核

徐 威,苏东海

(沈阳工业大学机械工程学院,辽宁 沈阳 110870)

0 引言

液压伺服系统被广泛地应用于各种工业控制领域[1-3],通常情况下,液压伺服系统需要进行校正才能够使用,这个校正器也就是控制器。因而,液压伺服系统控制器的设计,是液压伺服系统设计的重要组成部分,有时甚至起着决定性的作用[4]。控制器一般都带有一些决定其控制性能的参数,如PID控制器的比例、积分和微分参数[5]以及模糊控制器的量化因子等[6]。这些参数需要经过试验性调整,也就是所谓的参数整定,才能投产使用。这个参数整定过程,需要在生产现场或者借助仿真手段进行,一般情况下需要经过反复调试,才能够最终确定。但这2种参数整定方法,都存在一定的弊端。前者的参数整定过程存在一定的安全隐患,受许多现场条件的限制(如效率、成本和安全性等),有时甚至根本无法开展;后者需要限制在一定的软件环境下才能开展(如Amesim、MATLAB的Simulink环境下),整定后的控制算法需要移植到实际控制器中(如PLC、工控机)[7],才能在生产现场发挥控制作用,而这个移植过程,可能会带来新的问题(如移植过程中出现错误,软硬件不兼容、效率低下等),如果能够直接用实物控制器进行参数整定,将直接提高液压伺服控制系统控制器的设计效率和准确性。为了解决上述2种伺服控制器参数整定方法的弊端,半实物仿真技术应运而生。

广义的半实物仿真技术,分为快速控制原型(rapid control prototype,RCP)和硬件在环(hardware-in-the-loop,HIL)仿真。本文将以基于Linux实时内核的液压伺服系统半实物仿真环境开发与验证为研究对象,开展硬件在环半实物仿真相关理论和应用技术的研究。

1 硬件在环仿真的关键技术

1.1 现有技术

硬件在环半实物仿真是一项技术含量比较高的技术,要想达到对实物控制器性能的全面仿真测试,涉及到的关键技术包括:被控对象的数学仿真模型、仿真模型的数值求解算法、实时操作系统、数字量和模拟量的输入输出接口等内容。

事实上,商业领域内已经成功开发了多套半实物仿真系统,包括dSPACE、xPC、LabVIEW RT、Opal-R、NI Veristand和Simulation WorkBench等。但上述软硬件系统的采购价格过于昂贵。本文的目的在于研究一种相对廉价而又不失可行性的接近工业级的半实物仿真系统的技术方案,使液压伺服系统的实物控制器能在相对廉价的环境下进行半实物仿真测试,为科学研究或者工业级的应用探索一条可行的途径。

1.2 实时操作系统

实时性是硬件在环半实物仿真的必要前提。在仿真回路中接入实时控制器,必须保证仿真过程实时运行,即仿真模型时间标尺和自然时间标尺相似,这样才能验证控制器对实物系统动态特性是否能够正确有效的响应。一般情况下,这需要一整套软硬件环境的支持,才能实现高精度的实时性。从软件的角度看,这通常需要实时操作系统的参与,但目前市面上流行的商用实时操作系统[8]价格昂贵,这再次拉高了液压伺服系统半实物仿真的成本。为了降低半实物仿真系统的应用门槛,本文介绍一种基于Linux(Ubuntu)操作系统加Preempt_RT(抢占式实时内核)补丁的实时操作系统实现方案。由于Linux操作系统及其Preempt_RT补丁是公开源码的操作系统,可以在遵守开源协议(GNU)的条件下进行使用、编译和再发布,任何人都可以免费使用,因而极大地降低了实时操作系统的实现成本。

1.3 输入输出接口

硬件在环半实物仿真的核心思想在于用安装有实时操作系统的计算机模拟实物被控对象(称为仿真计算机),将仿真计算机与实物控制器连接起来完成仿真试验。因此,仿真计算机必须具备与实物控制器之间的接口。同样出于成本和效率的因素,选用市场上相对廉价又不失精度的数据采集卡是一套行之有效的方案。考虑到实时操作系统已经选定为Linux系统,因此,本文选用带有Linux驱动的研华数据采集卡作为仿真计算机的对外接口硬件。这种方案既兼顾了操作系统对硬件驱动的要求,又保证了成本和精度的可控。

1.4 数值求解算法

描述真实物理系统的仿真模型本质上是1组一阶微分方程或代数方程,而仿真真实物理系统的动态特性其实就是求解这些微分方程或代数方程,这就涉及到数值求解算法。同样出于成本和效率的考虑,本文选用GNU科学库(GNU scientific library,GSL)作为微分方程数值求解算法库。该软件在GNU通用公共许可证下是免费的,在保证本文开发的半实物仿真系统稳定性的前提下,进一步降低了开发成本,同时又保证了稳定性和可用性。

2 被控对象的数学模型

2.1 硬件在环仿真系统的数学模型

本文要开发的半实物仿真系统,是以液压伺服系统为仿真对象的半实物仿真系统,因而液压伺服系统的数学模型也是半实物仿真系统的重要组成部分。本文以阀控缸系统为例,介绍所开发的液压伺服系统仿真模型的建模方法。

阀控缸系统是液压伺服系统的典型代表,其数学模型集合了流体力学中油液的弹性模型、孔口流量公式等基础模型,再加上伺服阀的动态特性方程式,共同组成了高阶、非线性的微分方程组。阀控缸系统的原理如图1所示。图1中,ps和pt分别为系统的供油压力和回油压力;p1和p2分别为液压缸无杆腔和有杆腔的压力;xv为伺服阀芯的位移;1、2、3和4分别为伺服阀的4个节流口;y为液压缸的位移。

图1 阀控缸系统原理

(1)

m为外负载质量;A1、A2为液压缸无杆腔、有杆腔面积;b为外负载的粘性阻尼系数;FL为外负载力;K为油液的弹性模量;V01、V02为管道至液压缸之间的初始容积;ωv为伺服阀的固有频率;ζv为伺服阀的阻尼比;ksp为伺服阀的增益。

值得注意的是,式(1)中的Q1和Q2为考虑了孔口流量公式非线性特性的代数方程,即

(2)

其中

(3)

Cdmax为最大孔口流量系数;dx为伺服阀直径;Δp为节流口前后压力差;ρ为油液密度;υ为油液的运动粘度;λc为临界雷诺数。

2.2 硬件在环仿真系统的总体架构

2.2.1 总体架构

本文的半实物仿真系统架构如图2所示。

图2 硬件在环仿真系统软硬件架构

该硬件在环仿真系统的硬件环境是搭建在研盛Intel/NUC工控主板MINI-ITX工业PC上的。数据采集卡选择的是研华USB-5820、USB-5817和USB-4704。做出以上选择的原因不仅是上述数据采集卡采集精度高(16位),而且是USB3.0总线,可以同时满足半实物仿真系统对便携性、热插拔性、可扩展性、采集速率和采集精度的要求。

2.2.2 硬件

选择研华数据采集卡有3个原因:合理的价位、包含Linux系统驱动、用C++封装的可进行底层I/O操作的biodaq库。上述优势共同保证了本文所开发的基于Linux实时内核的硬件在环仿真系统的经济性和可行性。

USB-5817提供4条单端模拟量输入通道,最高允许电压为±10 V,最大电流为20 mA。USB-5820提供2条模拟量输出通道,最高允许电压为±10 V,最大允许电流为20 mA。USB-4704数据采集卡提供2条12位模拟量输出通道,4条11位模拟量输入通道,8条隔离数字输入输出,TTL电平。

在数据采集卡和实物控制器之间有可能出现电平不匹配的问题(包括模拟量和数字量)。这时,可以在数据采集卡的数字I/O口和实物控制器的数字I/O口之间添加光耦进行电平转化。如果数据采集卡和实物控制器之间模拟量的电压值不匹配,可以在两者之间添加放大器。

2.2.3 软件

本硬件在环仿真系统的仿真模型采用C语言编写,如前文所述,动态系统的仿真模型以1组一阶微分方程组来进行描述。微分方程组的求解算法利用C语言调用开源科学数值算法库(GSL)实现。

值得一提的是,半实物仿真过程中的定时器的性能决定了半实物仿真系统的性能。借助Linux RT Preempt向导[9],在Linux RT Preempt环境下,高精度定时器的实现方式要遵循下述规则:

a.实时调度和优先级。

b.内存锁定。锁定调用进程所有映射到地址空间的页面,防止该内存被分页到交换区。

c.限制处理器的省电状态和状态转换。为了防止系统进入省电状态并提供最快的空闲状态时间,内核用处理器引导。选取max_cstate=1和idle=poll选项。

d.禁用X窗口服务器和网络接口。

只要遵循上述规则,就可以保证硬件在环仿真系统的实时性能和准确性。

将以上软硬件技术相结合,搭建的硬件在环仿真试验系统的实物如图3所示。

图3 硬件在环仿真试验系统实物

3 硬件在环仿真试验验证

硬件在环仿真试验验证的关键,在于在高负荷仿真计算的情况下系统的实时性能。

为了验证本文系统的性能,设计了2类试验。第1类试验为实时性能验证,单纯验证实时系统的定时器精度;第2类试验为全模型性能验证,以6阶阀控缸非线性液压伺服系统为硬件在环仿真对象,验证平台在带有计算负荷情况下的实时性能。

3.1 实时性能验证

为了对硬件在环仿真系统实时性这个关键性能进行验证,设计了方波发生试验和正弦波发生试验,分别在Linux实时系统和Windows10(非实时)系统下进行,并用示波器观察所发生波形的周期是否准确,比较2种操作系统实时性能的优劣。试验结果如表1和表2所示。

表1 Windows系统实时性试验结果

表2 带实时内核Linux系统实时性试验结果

表1中的联合仿真是指在Windows下,利用Amesim仿真软件与C语言联合实现的硬件在环仿真。

由表1和表2可以知道:无论是Windows还是Linux实时内核情况下,多线程的定时器精度都要优于单线程的定时器精度;同等条件下,Linux实时内核的定时器精度,要远优于Windows的定时器精度。在Linux实时内核的情况下,误差是以几十微秒至几百微秒计的(取决于生成函数的总周期),相对定时误差小于2%。证明本文提出的Liunx实时内核方案满足硬件在环半实物仿真对定时器的要求。

3.2 全模型性能验证

全模型验证采用经典的阀控缸系统,在本文所开发的硬件在环仿真平台上进行仿真试验。

阀控缸系统是6阶非线性微分方程,可以在一定程度上验证,在对高阶非线性微分方程进行数值求解的计算负荷作用下,系统的动态特性的仿真结果是否会受到影响。为了验证硬件在环仿真的正确性,将硬件在环仿真的仿真结果和非半实物仿真(Amesim仿真软件)的仿真结果进行对比,如果曲线完全相同,则证明硬件在环仿真的正确性。但是,这首先要求二者的仿真参数必须一致,参数一致的情况下,才有可能达到仿真结果的一致,才有可能对实时性能进行验证。全模型性能验证的关键参数如表3所示。

表3 全模型验证主要参数

在表3的参数下,分别在Amesim仿真软件和本文所开发的硬件在环仿真环境下进行仿真运行,采集仿真时间0~5 s的数据进行记录,生成的曲线如图4所示。

图4 系统阶跃响应曲线

将表3中PID控制器的比例、积分和微分系数修改为300、100和50时,系统的阶跃响应曲线如图5所示。

图5 修改PID控制器参数后的阶跃响应曲线

从图4和图5可以看出,在相同的阶跃信号作用下,Amesim仿真与HIL仿真的响应曲线几乎完全相同。表明硬件在环仿真系统在实物控制器的参与下,所得到的控制响应曲线没有发生变形,本文系统从技术上是切实可行的。

通过以上方法,就可以在硬件在环仿真的过程中调整控制器的参数,安全高效。使用实物控制器进行参数调试,整定好参数的控制器可以直接在生产现场应用,从而提高了控制器的开发效率。

4 结束语

本文从实用性和经济性出发,提出了一种利用开源操作系统加实时内核补丁作为平台、研华数据采集卡作为仿真器接口的硬件在环仿真系统方案。通过在所开发的仿真平台上,进行周期函数生成以及阀控缸系统PID控制器阶跃响应输出试验,证明了本文系统技术上是可行的,在一定程度上能够辅助液压伺服系统控制器的设计以及参数整定工作,具备一定程度上在工业领域中应用的条件。另外,本文所提出的液压伺服系统的仿真模型的建立方法,也为液压系统硬件在环仿真模型的建立,提供了一种可行的方案。

猜你喜欢
采集卡伺服系统内核
浅谈支撑轴力伺服系统在深基坑中的应用
基于ESO的电液位置伺服系统反步滑模控制
多内核操作系统综述①
高精度AD采集卡性能测试及评价方法研究
强化『高新』内核 打造农业『硅谷』
活化非遗文化 承启设计内核
血液采集卡存储装置的设计与应用
微软发布新Edge浏览器预览版下载换装Chrome内核
智能变电站电子式电流互感器故障分析
脉冲采集卡的开发