基于PID控制器的双容控制系统matlab仿真

目录

1.课题概述

2.系统仿真结果

3.核心程序与模型

4.系统原理简介

4.1PID控制器的基本原理

4.2双容水箱系统的数学模型

5.完整工程文件


1.课题概述

基于PID控制器的双容控制系统matlab仿真,仿真输出PID控制下的水位和流量两个指标。

2.系统仿真结果

(完整程序运行后无水印)

3.核心程序与模型

版本:MATLAB2022a

........................................................

% 绘制结果图形
t1     = 0:1:times;
t2     = 0:1:(times-1);
hmax   = 23*ones(1,times);  % 硬约束上限
hmin   = 20*ones(1,times);  % 稳态水位线

% 第一个图形:水位随时间变化
figure
plot(t1,ht,'r','Linewidth',2)  % 实际水位曲线
hold on
plot(t2,hmax,'b','Linewidth',1)
hold on
plot(t2,hmin,'k','Linewidth',1)
legend('实际水位','约束上限','稳态水位')
hold on
ylabel('水位(cm^3/s)')
xlabel('时间(s)')
grid on


% 第二个图形:控制流量随时间变化
figure
hmax = (45)*ones(1,times);  % 流量硬约束上限
hmin = (39)*ones(1,times);  % 稳态流量线
plot(t2,u_pid,'r','Linewidth',2)  % PID控制输出流量
hold on
plot(t2,hmax,'b','Linewidth',1)
hold on
plot(t2,hmin,'k','Linewidth',1)
ylabel('流量(cm^3/s)')
xlabel('时间(s)')
legend('PID控制流量','流量约束上限','稳态流量')
grid on
73

4.系统原理简介

双容水箱控制系统是一种经典的控制理论应用实例,它通常用来演示比例-积分-微分(PID)控制器的工作原理。在这个系统中,两个水箱通过管道相连,第一个水箱(称为上游水箱)的液位由一个可调节的泵控制,目标是通过调整泵的流量来维持第二个水箱(称为下游水箱)的液位在设定值附近。PID控制器根据下游水箱的实际液位与设定液位的偏差来动态调整泵的输出流量。

4.1PID控制器的基本原理

PID控制器结合了比例(P)、积分(I)、和微分(D)三种控制作用,以实现对过程变量的精确控制。其输出u(t)可表示为:

4.2双容水箱系统的数学模型

双容水箱系统的动态可以使用以下一阶线性微分方程组来描述,假设没有泄漏且忽略水的动力学效应:

其中,

1V1​ 和 V2​ 分别是两个水箱的体积(或液位高度乘以横截面积);

Qin​ 是进入上游水箱的流量(由泵控制);

Qout​ 是从上游水箱流到下游水箱的流量,一般假定与两水箱液位差成正比,即Qout​=k(V1​−V2​);

Qleak​ 是假设的下游水箱泄露流量,此处假设为0简化讨论。

对于下游水箱的液位控制,设定目标液位V2,sp​,则误差e(t)=V2,sp​−V2​(t)。PID控制器的输出 u(t) 直接作用于泵的流量Qin​,因此需要通过适当的比例、积分和微分作用调整泵的控制指令,以使液位尽可能快且稳定地接近设定值。

5.完整工程文件

v

v

相关推荐
studyer_domi9 小时前
matlab质子磁力仪传感器线圈参数绘图
人工智能·matlab
青橘MATLAB学习14 小时前
模糊综合评价法:原理、步骤与MATLAB实现
开发语言·算法·数学建模·matlab·分类
studyer_domi14 小时前
matlab 三维时频图绘制
开发语言·matlab
studyer_domi18 小时前
matlab飞行姿态pid控制
matlab
Matlab仿真实验室18 小时前
基于Matlab实现信道估计仿真(源码)
开发语言·matlab·信道估计仿真
studyer_domi20 小时前
matlab 汽车abs的pid控制仿真
开发语言·matlab·汽车
studyer_domi20 小时前
matlab 汽车abs的模糊pid和pid控制仿真
开发语言·matlab·汽车
freexyn1 天前
Matlab自学笔记四十七:如何把日期时间型数据作为横坐标进行绘图
开发语言·笔记·matlab
见你背影1 天前
matlab数据处理:创建网络数据
matlab
chinakq2 天前
C++学习计划(三周) 有matlab和python基础,如何快速入门C++(利用《C++ primer plus》)
c++·学习·matlab