互耦水槽液位控制的PID整定方法比较 - 控制系统数字仿真课程大作业 联系客服

发布时间 : 星期三 文章互耦水槽液位控制的PID整定方法比较 - 控制系统数字仿真课程大作业更新完毕开始阅读a3aec68b0e22590102020740be1e650e52eacfa7

作者:李鵾鹏(HNUST) 说明:文末的MATLAB程序已托管到GitHub,详情请访问:https://github.com/limple10/Comparison-of-PID-tuning-methods-for-mutual-coupling-flume-level-control-

课程总结报告

1 任务重述

1.1 互耦水槽模型简介

互耦水槽系统是由两个相同水槽组成,如图1所示。两个相同的水槽basin 1和basin 2通过阀门K3连接,从而两水槽的液位 ??1、??2 互相耦合,液位的测量由传感器完成;流入两个水槽的流量 ?? 由水泵pump控制,水泵的DC电动机

——互耦水槽液位控制的PID整定方法比较

电枢电压受 ??1、??2 控制,该水槽可以通过调节各个阀门的开闭实现多样的实验。

K5u1K4u2P1pump 1Q1iP2pump 2y1K3y2basin 1K1Q12basin 2K2Q1OQ2O

图1 互耦水槽系统原理图

另一方面,互耦水槽是一个大惯性、大时滞、非线性、时变的系统,互耦水槽的流量关系可以描述为:??12=??12√??1???2 ,在建立模型时通常需要将其在工作点附近线性化处理。该模型可以用一个带纯滞后的一阶惯性环节(FOPDT)来近似描述,其传递函数的形式为:

???????????

??(??)= ????+11.2 任务内容

? 基于给定的实验数据进行传递函数建模,并根据验证指标验证模型的准

确程度

? 对传递函数模型进行适当的频域分析,求出需要的指标、画出相应图线 ? 利用几种不同的PID整定方法进行参数整定,比较几种方法的动态性能 ? 提供建模和模型分析的Matlab程序清单

2 系统建模

2.1 实验数据分析

本报告使用的实验数据是plant_data1.mat,此数据集由五部分变量组成,分别是:实验时间向量 ??,水槽basin 1的输入输出数据 ??1、??1,水槽basin 2的输入输出数据 ??2、??2。系统的时域响应经过plot函数绘制后,我们发现输出相应的曲线的确能使用带纯滞后的一阶惯性环节替代。

通过观察向量 ??1、??2 的值我们发现在索引283处发生输入的跳变,均为5跳变到6,这是一个阶跃输入。根据索引找到对应的跳变时间 ??0=?437.6s,我们做变换 ??=?????(283),即可将跳变时间变为0。

通过分析,实际上这是两次互相对称的实验数据,以一端为例,实验过程为:先将水泵pump 1的电枢电压设置为 ??1=??0,打开阀门K3使得水槽basin 2的液位存在一个初值 ??0,待液位稳定一段时间,在 ??0 时刻将 ??2 设置成 ????,即施加的是阶跃信号,水槽basin 2的液位将逐渐开始变化,直到稳定在一个终值 ?? ??。

上述的量,通过数据集可以很容易地读出,建模时选取的是 ??2作为输出 ??,且有:

??0=5,????=6,??0=??(??0)=1.546,????=3.675 由于实验数据的误差特性,其中 ???? 的值是一个在终值附近较为折中的值。 2.2 模型参数求解

[注] 该部分建立模型的Matlab程序清单为build_mode.m

如图2所示,该模型参数的求解采用的是两点法。我们需要作两条高度相较于 ??0 分别为 0.283Δ?? 和 0.362Δ?? 的平行直线(Δ??=??,与输出响应曲线?????0)交点对应的时间记作 ??1、??2。

图2

使用for循环求得:

??1=?355.2,??2=?218.8 根据以下公式:

???????0

??=、??=1.5(??2???1)、????=??2??? ???????0

如果上式求出 ????<0,则 ??=??2,????=0。 最终:

??=2.129、??=204.6、????=14.2 互耦水槽系统的传递函数为:

2.129???14.2??

??(??)= 204.6??+1

模型建立

2.3 验证模型

[注] 该部分验证模型的Matlab程序清单为verify_model.m

模型建立完成之后,从图2可看出模型的拟合效果还是比较好的,但是需要一个指标定量描述模型的优劣程度,记为 ????,其表达式为:

????????

112

????=∫|??(??)?????(??)|????~(∑|??(??)?????(??)|2????) ??????????????????????????????????????????

其中,???????? 为起始时间,???????? 为终止时间,??(??) 为实际阶跃响应,????(??) 为模型的阶跃响应。|y(t)?ym(t)|2 表征了实际响应与模型响应的偏差,再对时间求平均值得到的 ????,若 ???? 越小,说明模型的近似程度越好。

为便于计算机求解,将积分转换成了求和的形式,借助计算机工具,求得:

????=3.0163×10?4

实际阶跃响应和模型阶跃响应如图3所示

图3

模型响应和真实响应的示意

2.4 模型的频域分析

[注]

该部分模型的频域分析Matlab程序清单为f_analysis.m

利用Matlab下的margin函数可以较为方便求出: 幅值裕度:????=10.9309 相位裕度:????=110.5418 幅值穿越频率:??????=0.092 相角穿越频率:??????=0.1136 绘制的Bode图如图4所示: