APP下载

基于NI myRIO的自抗扰控制实验设计

2021-12-14盖文东裴沙沙朱天晗朱小强

实验室研究与探索 2021年10期
关键词:液位水箱稳态

盖文东,裴沙沙,朱天晗,朱小强,张 婧

(1.山东科技大学电气与自动化工程学院,山东青岛 266590;2.中建安装集团有限公司,天津 300456)

0 引言

先进控制技术是自动化专业一门重要专业拓展课[1]。现有课程实验通常利用直接给出的被控对象数学模型,在Matlab 中仿真实现,这不利于学生运用先进控制技术解决实际问题,不利于培养学生综合素质[2]。NI myRIO是一种具有实时操作系统的嵌入式开发平台,可快速开发实际系统。选择NI myRIO 作为系统实时控制器,利用LabVIEW图形化编程软件实现先进控制算法,对于快速开发实际控制系统,具有较强的现实意义。

文献[3]中实现基于LabVIEW 数据采集系统;文献[4-5]中分别构建基于LabVIEW软件倒立摆机理模型、智能电器虚拟仿真系统;文献[6]中设计了基于LabVIEW的风力机叶片振动特性与控制实验系统;文献[7-9]中分别设计基于LabVIEW 实时功率分割算法、模糊PID控制算法和机械臂轨迹跟踪控制算法;文献[10-12]中分别实现基于NI myRIO的动力电池测试平台、电动车智能控制实验平台、智能避障小车设计。

自抗扰控制(Active Disturbance Rejection Control,ADRC)[13]将系统不确定性以及外部扰动视为总扰动,通过特定方法消除其影响。基于Matlab 的ADRC算法较难直接应用于实际控制对象,不利于学生对该先进控制技术的掌握。基于NI myRIO 的ADRC 实验,可以使学生更好地掌握ADRC 的设计方法和工程实现方法,但尚缺乏类似的实验设计。

为解决上述问题,本文以LabVIEW 作为上位机,NI myRIO为实时控制器,建立水箱的数学模型,利用LabVIEW的数学节点完成ADRC 算法设计,并通过LabVIEW 控制与仿真回路模块将该算法部署在NI myRIO硬件中,进行仿真并验证该算法的有效性。

1 ADRC实验设计过程

1.1 被控对象建模与验证

本实验使用MCG10 小型过程控制系统实验平台为控制对象。如图1 所示,选择开启回路P-1,打开阀JV12,关闭阀JV13、JV14 和JV15,由水箱V2、V3 构成双容水箱实验对象。

图1 MCG10小型过程控制系统工艺流程图

本实验系统需测量2 个水箱液位、输入流量及管道压力,并控制水泵驱动电压。NI myRIO 通过USB与上位机相连接,实现数据采集和控制,系统硬件配置如图2 所示。

图2 系统硬件配置示意图

本实验装置传感器输出4~20 mA 电流信号,而NI myRIO只能接收电压信号,因此需将电流信号转换为电压信号。NI myRIO 有2 个输入范围0~10 V 端口,8 个为0~5 V端口,故选用500 Ω和250 Ω精密电阻将4~20 mA转换为2~10 V和1~5 V。经实际测量得,水箱液位达到最高状态时(36 cm)压力传感器输出8 mA,此时NI myRIO 的I/O 最大输入电压为4 V,满足输入要求。压力和流量输出值均可达到其最大输出电流,选用0~10 V 端口。系统I/O 模块接线如图3 所示。

图3 模拟量模块接线图

本实验系统在LabVIEW环境下开发,对双容水箱进行试验法建模,液位传感器采集数据,模拟量输入模块将水箱V3 采集数据进行尺度标定,转化为水箱实际液位并保存。基于LabVIEW 液位数据采集程序如图4 所示。

图4 数据采集系统程序框图

将数据导入Matlab 的System Identification 工具箱,得到水箱的传递函数。

如图5 所示,在相同输入下,式(1)所示数学模型输出与水箱实际液位近似度为96.37%,因此,所建立数学模型能够表征实际对象特性。

图5 水箱液位实际输出与模型输出对比

1.2 ADRC设计

ADRC对经典PID控制作4 个方面改进:安排过渡过程、采用跟踪微分器对被控对象提取微分信号、由非线性扩张观测器实现扰动补偿、由误差非线性组合构成非线性控制器[14]。本实验设计ADRC 器由3 部分组成:二阶跟踪微分器(Tracking Differentiator,TD)、三阶扩张状态观测器(Extended State Observer,ESO)和非线性状态误差反馈控制律(Nonlinear State Error Feedback Control Law,NLSEF),结构如图6 所示。

图6 ADRC结构图

跟踪微分器作用是安排过渡过程,给出合理控制信号,输出x1(k)作为位置跟踪信号,x2(k)作为速度跟踪信号,解决响应速度与超调之间的矛盾。二阶TD实现形式为:

式中,函数fhan(x1,x2,r0,h0)定义为:

ESO是解决模型未知部分和外部未知扰动对系统的综合影响。该部分设计扩张状态量来跟踪模型未知部分和外部未知扰动,然后给出控制量补偿这些扰动。下面给出三阶ESO实现形式:

式中,函数fal(x,α,δ)定义为:

二阶ADRC NLSEF实现形式为:

式中,0 <α1<1 <α2。系统扰动补偿项为:

1.3 基于LabVIEW的ADRC设计

LabVIEW图形化编程语言界面友好,程序模块化强,与设备交互性强;内置数学节点(Mathscript Node)具有大量数学函数,兼容Matlab 脚本语法,能识别调用m文件,解决了图形化编程语言不灵活、公式编辑较复杂的不足。LabVIEW 控制与仿真回路模块(Control &Simulation Loop)可用于仿真动态系统、设计控制器,并将控制系统部署至实时硬件[15]。本文在此模块下进行ADRC算法设计与仿真。

在ADRC算法设计中关于最速综合函数fhan(x1,x2,r0,h0),以及fal(x,α,δ)函数的调用,考虑到函数式较多,用LabVIEW传统图形编程方法十分复杂,因此采用数学节点调用自定义函数方法编程:在Matlab 中编辑m文件自定义两个函数,并将文件命名为fhan.m和fal.m,保存在LabVIEW数学节点搜索路径下,在数学节点中调用自定义函数,如fh=fhan(x1,x2,r0,h0)。

为使设计的ADRC 算法更直观、更模块化,本文建立TD、ESO、NLESF子程序,在子程序中用数学节点编辑算法式(2)~(7),如图7~9 所示。设置子程序的输入、输出端口,封装为子VI,并分别命名为td.vi、eso.vi、nlsef.vi。在主程序中调用各模块子VI,添加参数设置、数据图像显示及被控对象模块,如图10 所示。这种编程方法可以实现如图6 所示ADRC 结构,在LabVIEW中对每个模块分别进行调试。

图7 TD子程序设计

图8 ESO子程序设计

图9 NLESF子程序设计

图10 ADRC仿真主程序设计

LabVIEW控制与仿真目录下具有功能齐全的应用模块,其中Transfer Function模块可以建立被控对象模型,进行仿真研究。将双容水箱传递函数零极点式(1)转化为传递函数一般式,得到一般式各项系数,添加Transfer Function 模块,如图11 所示。在参数设置界面输入一般式各项系数,建立被控对象传递函数模型。

图11 传递函数模块参数设置

2 仿真验证

本实验在LabVIEW 控制与仿真回路(Control &Simulation Loop)中编写仿真程序,将程序下载至NI myRIO硬件平台上,验证ADRC 与PID 控制阶跃输入下的跟踪性能,设置仿真时长为100 s,取ADRC 控制器各参数见表1。

表1 ADRC控制器的各参数设置

表中:r0可取100~500;h0取h的整数倍。需要调试的参数有β01、β02、β03、β1、β2、b0,其中b0越小,调节时间越快,但会造成抖振现象,需根据实际对象进行调试,文献[16]中给出了较为详细的参数调整方法。将编写好的ADRC 控制程序下载至NI myRIO 中,在LabVIEW前面板上得到ADRC 控制下系统的阶跃响应曲线如图12 所示。

图12 ADRC控制下系统的单位阶跃响应曲线

设定PID 参数kp=3.5;ki=0.088;kd=20。将PID控制程序下载至NI myRIO 中,在LabVIEW 前面板得到PID控制下系统脉冲响应曲线如图13 所示。

图13 PID控制下系统的单位阶跃响应曲线

根据图12、13,ADRC调节时间t=40 s,并且无超调,稳态值为10.001 1,稳态误差为0.001 1;PID 控制上升时间t=20 s,调节时间t=80 s,超调量为3.55,稳态值为10.026 2,稳态误差为0.026 2。ADRC 比PID控制调节时间短,响应速度快,稳态误差小。

设置仿真时长为200 s,验证两种算法的抗干扰能力。单位阶跃输入下,当t=80 s 时,加入一个幅值为1 的扰动,ADRC 和PID 控制下系统的响应曲线如图14、15 所示。

图14 扰动作用下ADRC响应曲线

图15 扰动作用下PID控制响应曲线

根据图14、15,ADRC 恢复稳定的时间t=140 s,且偏离稳态值小于0.05,PID控制恢复稳定的时间t=150 s,且偏离稳态值达到0.5。可见,ADRC 具有更好的抗扰能力。

3 结语

本文设计了基于NI myRIO的水箱液位ADRC 实验。利用NI myRIO 获取水箱数据建立其数学模型,应用LabVIEW 数学节点实现ADRC 算法,并通过LabVIEW 控制与仿真回路模块将该算法部署在NI myRIO硬件中,进行仿真实验验证,并与PID 控制进行比较,验证设计算法的有效性。本实验设计为先进控制技术课程实验教学提供了典型案例,学生可在其基础上进行二次开发,通过实验更好地掌握理论知识和工程实现方法。

猜你喜欢

液位水箱稳态
国外储罐防溢油液位的设置
可变速抽水蓄能机组稳态运行特性研究
碳化硅复合包壳稳态应力与失效概率分析
电厂热力系统稳态仿真软件开发
元中期历史剧对社会稳态的皈依与维护
一种太阳能热水器水箱的控制系统
清洗水箱正当时
水箱出水
宝马530车冷却液液位过低报警
霍尼韦尔 导波雷达液位变送器Smart Line^ 系列