基于MPC 的三容水箱液位跟踪控制的快速实现

2020-09-29 08:45于树友徐明生
实验技术与管理 2020年7期
关键词:液位时域水箱

于树友,徐明生,王 严,许 芳

(1. 吉林大学 汽车仿真与控制国家重点实验室,吉林 长春 130022;2. 吉林大学 通信工程学院,吉林 长春 130022)

三容水箱系统可以模拟多容器流程系统中的多输入多输出、时变、强耦合、非线性系统[1],并能够模拟过程控制中的复杂对象,对三容水箱液位控制方法的研究对实际工程应用有重要意义。目前针对三容水箱系统液位跟踪控制的研究已有不少成果。文献[2]分别利用数字PID控制器和BP神经网络PID控制器对三容水箱液位控制系统进行离线仿真。结果表明,数字PID控制器反应速度较快,但系统容易出现较大的超调,而在BP神经网络PID控制器作用下,系统具有良好的动态特性,但响应速度相对较慢。文献[3]将三容系统的控制问题归结为约束系统的干扰抑制问题,并在讨论滚动优化的Hinfinity控制方法的基础上进行了三容系统的液位控制实验。实验结果表明,所设计的闭环系统能够在满足时域约束的条件下保证系统的抗干扰性能。文献[4]讨论了约束离散时间系统的准无限时域模型预测控制(model predictive control, MPC)算法,同时在三容水箱系统中进行了数值仿真实验,并验证了算法的有效性。控制器在保证系统稳定性同时又满足时域硬约束的条件下,使三容水箱闭环系统达到理想的动态性能。文献[5]的研究对象是与三容水箱类似的四容水箱系统,其通过仿真实验对比得出,不论在最小相位还是非最小相位情况下,基于内模控制(IMC)的比例积分(PI)控制器都能够得到较好的性能。文献[6]对四容水箱系统分别设计了线性和非线性的模型预测控制器,并进行了离线仿真实验。

本文主要研究三容水箱系统模型预测控制器的硬件实物实现。由于预测控制需要根据系统当前时刻的状态在线求解优化问题,因此要求控制器具有很强的计算能力。而在计算能力受限的环境,预测控制器的在线计算速度可能会受到较大的限制,导致控制器不具有期望的实时性。FPGA因其内部存在大量的可编程逻辑门阵列,而且可以进行并行的逻辑运算和赋值,运算速度很快,便于算法在较短的时间内完成。因此,基于FPGA实现预测控制器有利于提高实际控制器的实时性能。

本文采用Altera公司的Cyclone Ⅱ系列FPGA,同时基于 Nios Ⅱ嵌入式软核处理器,设计并构建了SOPC硬件系统和软件系统,实现了基于FPGA/SOPC的模型预测控制器。为了验证控制器的有效性,本文在基于FPGA和dSPACE的实验平台上,进行了控制器的实时联合仿真实验。实验结果表明,基于 FPGA的预测控制器能够实现对三容水箱系统的液位设定点跟踪控制。该方法可应用于自动控制、过程控制等相关课程的实验教学,加强学生对控制系统建模、控制器设计等理论知识的理解。

1 三容水箱系统

三容水箱主要由两个水泵和底部相互联通的三个完全相同的圆柱体组成,其整体结构如图1所示。

图1 三容水箱系统结构

两个水泵分别给容器1和容器2供水,容器3只能通过底部的联通管从容器1和容器2中获得水源,同时容器2右侧的阀门是常开状态,使水持续流出。在三个容器下方有个蓄水池,用来为水泵提供水源以及回收从容器 2中流出的水。系统的输入变量是 Q1和 Q2,即两个水泵的流量,输出变量是 h1和 h2,即容器1和容器2的液位高度。由于三容水箱系统具有大时滞、动态响应缓慢、开环稳定等特点,三容水箱的典型控制问题可以描述为:在尽可能短的时间内,使系统稳定在期望的平衡状态。

根据物料平衡,三容水箱系统可由如下微分方程描述:

其中 Qij为水从容器 i流进容器 j时的流量,Q20为水从容器2流入下方蓄水池时的流量,S是容器的横截面积。根据Torricelli规则有:

其中,hi为容器i的液位高度,azj(j=1,2,3)为流量系数,g是重力加速度,Sn是连接管的横截面积。

其中:

矩阵Al中各元素如下:

2 MPC控制器设计

预测控制是从工业过程控制中发展起来的一种新型计算机控制算法[1],是近年来广泛讨论的反馈控制策略[7]。由于模型预测控制可以处理具有非线性、多变量、有时域硬约束等特性的复杂系统的控制问题,因此在工业过程控制中得到了广泛应用。预测控制的基本思想是在线求解开环优化问题,从而获得闭环控制问题的一个可行解,即在每个采样瞬间,根据当前采样信息在线求解一个有限时域内的开环最优控制问题,然后将所得控制序列的第一个元素作用于被控对象,下次采样之后再重复这个过程,即使用最新的采样信息重新求解当前开环最优控制问题[1-4]。

将式(3)离散化后得到三容水箱系统的离散模型,再整理得到其增量模型:

其中,Δ x ( k ) = x( k ) - x( k - 1 ),k ≥ 1 ,是状态变量增量,Δ u ( k ) = u( k ) - u ( k - 1 ),k ≥ 1 ,是控制输入增量, yc(k)是被控输出量,并且 Δ x (0) = 0, Δ u (0)= 0。设模型预测时域为p,控制时域为 m ( m ≤p),当p>m时控制量保持不变。系统未来 p步输出的预测为[8]:

目标函数表达了对系统性能的要求,希望被控输出量越接近给定的参考输入越好,并且控制动作不要变化太大。

开环优化问题可以描述如下:

将目标函数写成矩阵向量的形式:

对上述的开环优化问题进行求导并取其极值,则可以获得第k个时刻的最优控制增量为:

其中,

将优化解的第一个元素作用于系统:

其中,为预测控制增益。如果Γy和Γu是与时间无关的常数,则Kmpc可由上式离线计算。

模型预测控制思想的三个基本步骤为:首先预测系统未来动态,然后求解优化问题,最后将解的第一个元素作用于系统;基本运行机制为:在有限时域内重复进行滚动优化。根据上述思想和机制,可以获得无约束线性模型预测控制算法流程如下[8]:

(6)在k+1时刻测量x(k+1),并且令 1k=k+ ,返回第(2)步。

3 MPC控制器实现

现场可编程门阵列(FPGA)具有研发时间短、体积小、可编程、高集成度、高速和高可靠性等优点,目前被广泛应用于通信、高性能计算、汽车电子、航空航天等各个领域 。

综合考虑在FPGA芯片中实现MPC算法的开发难度、计算速度、开发成本等多种因素,本文采用基于Nios Ⅱ软核处理器的 SOPC方案。Nios Ⅱ是 Altera公司为FPGA设计者研发的可灵活优化硬件编程语言的嵌入式软核处理器。SOPC系统即在可编程芯片上设计硬件和软件构建成的整个复杂系统。Nios Ⅱ嵌入式软核处理器具有较好的定制特性,用户可以通过NiosⅡ嵌入式处理器开发软件包SOPC Builder添加和配置标准IP核(intellectual property cores),在FPGA芯片上构建符合实际需求的系统,从而组成专用处理器。

为了实现基于FPGA/SOPC的控制器,首先需要在Matlab/Simulink中搭建控制器和被控对象的模型,同时进行离线仿真分析;然后在FPGA中组建SOPC系统、配置硬件资源、生成处理器;最后在基于Eclipse的开发平台中设计程序。

控制器的硬件系统设计是在 Quartus Ⅱ软件和SOPC Builder中完成的,包括 Nios Ⅱ处理器的配置、IP核配置、引脚适配、综合编译、程序下载和硬件系统测试。本文构建的Nios Ⅱ处理器架构如图2所示。Avalon总线是 FPGA的内部总线,主要负责Nios Ⅱ处理器与外部硬件设备之间的通信。本文根据系统的实际需求配置了Nios Ⅱ软核(CPU)、片上存储器(on-chip memory)、系统 ID(system id peripheral)、通用异步接收器/发送器(JTAG UART)核和并行输入/输出(PIO)核等。

图2 Nios Ⅱ嵌入式处理器架构

完成SOPC的硬件系统构建之后,便可在设计好的 Nios Ⅱ嵌入式处理器上进行软件设计。软件系统的设计主要是在Nios Ⅱ集成开发环境(IDE)中进行。Nios Ⅱ嵌入式处理器支持标准的C/C++程序开发,以及合适嵌入式系统软件开发且源码开放的C标准库[9-10]。Altera为 Nios Ⅱ程序设计提供硬件抽象层系统库(HAL),开发者可以用 C语言编写代码。软件设计具体实现流程如图 3所示,主要包括编写 Nios Ⅱ系统和控制器初始化程序、串口通信程序、算法程序、外设驱动程序等,最后完成程序的编译和调试[11-12]。

图3 SOPC软件系统实现流程

4 实时仿真实验

为了验证基于FPGA的三容水箱系统液位控制器的有效性和实时性,本文选用dSPACE实时仿真系统进行实时仿真实验。

实验中三容水箱系统的平衡点选择为h01=30.00 cm,h02=24.00 cm,h03=26.97 cm,液位平衡时水泵流量为Q01=17.86 mL/s,Q02=55.34 mL/s。系统的连续线性状态空间方程离散化的采样周期为Ts=0.1 s。模型预测控制器的相关参数初始化如下:输入量个数nu=2,输出量个数ny=2,状态量个数nx=3,预测时域p=10,控制时域m=10,假设无干扰量。加权矩阵选为其中I为单位方阵。矩阵则可以由离线计算获得。参考输入中,r(k+1)=

本文的联合实时仿真实验平台由dSPACE、PC以及FPGA开发板组成,实物如图4所示。其中,FPGA是实物控制器,dSPACE中用于快速原型设计的单板硬件DS1104PPC配合PC中的软件构成了功能强大的开发系统。这个可以用来完成快速原型设计的系统的工作机制是[13-15]:在PC中运行Matlab软件,将三容水箱系统的 Simulink模型通过 PCI通信接口下载到dSPACE DS1104PPC中,dSPACE通过RS232串口向FPGA发送三容水箱当前液位高度值,FPGA芯片中的控制器程序算出的控制量再通过串口发送给dSPACE用于控制其中的三容水箱系统模型。实时仿真实验的启动、停止以及所有的过程、结果都可以通过PC中Control Desk软件进行管理和监测。

图4 FPGA与dSPACE联合实时仿真平台

为了提高数据的准确性,本文数据都设置为 32位二进制数,这样一个数据需要RS232串口发送或接收4次,每次发送或接收8位。为了缩短数据传输时间,本文波特率设置为115 200 bps。

图5是容器1和容器2的液位高度曲线,图6是水泵1和水泵2的流量曲线,可以看出,在控制器的作用下,容器1中的液位高度大约在50 s时就达到了期望值,容器2中的液位大约在80 s内就跟踪上期望的高度。系统运行100 s后达到了平衡状态,且系统的动态响应没有超调。

图5 容器1和容器2的液位高度

图6 水泵1和水泵2的流量

5 结语

本文采用基于 Nios Ⅱ嵌入式软核处理器的SOPC设计方案,为三容水箱控制系统设计了模型预测控制器。在FPGA开发板上实现了控制器所需硬件资源分配以及控制算法的 C语言程序设计,并在由FPGA、dSPACE和PC机组合而成的联合仿真平台上对控制器的性能进行了验证。

仿真结果表明,基于FPGA的模型预测控制器能够使三容水箱系统在较短时间内达到并一直稳定在平衡状态,且系统的动态响应没有超调。

通过实验验证所设计的MPC控制器具有有效性,同时基于FPGA的实现能够提高实际控制器的实时性能。该教学平台操作简单、稳定、可靠。将该实验应用于教学,达到了以下教学目的:

(1)建立系统数学模型,掌握控制算法的设计过程,为学生今后在分析类似控制系统、设计算法时提供思路。

(2)使学生熟悉 Matlab编程环境,掌握 Matlab仿真实验设计与分析。

(3)使学生掌握三容水箱的工作原理及简单的工业液位调节系统的应用,同时通过该实验使学生初步掌握FPGA的编程方法及dSPACE的使用方法。

该三容水箱液位调节实验教学在自动控制、过程控制相关课程中的应用,大大提高了教学质量和效果。

猜你喜欢
液位时域水箱
国外储罐防溢油液位的设置
基于复杂网络理论的作战计划时域协同方法研究
山区钢桁梁斜拉桥施工期抖振时域分析
一种太阳能热水器水箱的控制系统
基于极大似然准则与滚动时域估计的自适应UKF算法
基于时域逆滤波的宽带脉冲声生成技术
清洗水箱正当时
水箱出水
宝马530车冷却液液位过低报警
霍尼韦尔 导波雷达液位变送器Smart Line^ 系列