当前位置:网站首页>双容水箱液位模糊PID控制系统设计与仿真(Matlab/Simulink)
双容水箱液位模糊PID控制系统设计与仿真(Matlab/Simulink)
2022-07-05 09:38:00 【叶绿体不忘呼吸】
微信公众号:创享日记
发送:双容模糊
获取完整无水印报告+仿真源文件+相关文献
一、问题描述
双容水箱液位控制系统的设计与仿真

1、基于液位平衡原理,建立双容水箱液位控制系统的数学模型,并采用平衡点线性化方法建立线性化模型;
2、采用模糊PID控制方法,在线调整PID控制器的参数,实现双容水箱的液位调节,给出详细的控制方案;
3、用Simulink搭建仿真框图,实现系统的仿真,在线调节PID参数,并分析系统性能。
二、模型建立
双容水箱系统结构图如图1-1所示,上水箱进水阀V_i(液阻为R_i)的开度控制上水箱流入量Q_i,出水阀V_1(液阻为R_1)流出量为Q_1,上水箱的液位H_1由Q_i和Q_1来确定; 下水箱进水阀V_1流入量为Q_1,出水阀V_2(液阻为R_2)流出量为Q_2,下水箱的液位H_2由进水量Q_1和出水量Q_2共同确定。在控制过程中V_1和V_2保持不变,系统主要控制任务是通过调节V_i的开度来控制下水箱的液位H_2,使其测量值与设定值相等,根据动态物料平衡关系列出下列方程:

三、控制方案
该双容水箱控制系统采用模糊PID控制方法,其系统结构框图如图(3-1)所示。
1、模糊PID控制方案的实施步骤
(1)在Matlab命令行窗口输入fuzzy唤出fuzzy logic designer窗口进行编译。
(2)设置输入输出个数,如图(3-2)所示,并设置输入个数为2,范围均为[-3,3],输出个数为3,范围均为[-1,1]。

(3)根据相关资料编辑其隶属函数,如图(3-3)。
(4)按照以下规则进行模糊规则设计(NB为负大,NM为负中,NS为负小,ZO为零,PS为正小,PM为正中,PB为正大),以下表格横轴为EC,纵轴为E。


根据上表编写规则,如:
If (E is NB) and (EC is NB) then (∆K_p is PB)(∆K_i is NB)(∆K_d is PS) (1)
If (E is NB) and (EC is NM) then (∆K_p is PB)(∆K_i is NB)(∆K_d is NS) (2)
If (E is NB) and (EC is NS) then (∆K_p is PM)(∆K_i is NM)(∆K_d is NB) (3)
… 一共49条规则,在此不一一列举,如图(3-4)所示。

制定好规则后保存,并导出到workspace待用。
2、进行模糊PID的参数自整定
通过相关资料可知以K_p0、K_i0、K_d0为初值的PID参数整定原理为

式中,K_p、K_i、K_d分别为模糊自整定PID输出的增益;K_p0、K_i0、K_d0分别为增益初值;ΔK_p、ΔK_i、ΔK_d分别为增益的调节量。

如图(3-5)所示为模糊PID控制的整体结构。在sum之后的各个值为增益输出K_p、K_i、K_d。图中的7、0.04和14分别为增益初值K_p0、K_i0、K_d0,其值由传统PID经验法得到,遵从如下口诀:
参数整定找最佳,从小到大顺序查;
先是比例后积分,最后再把微分加;
曲线振荡很频繁,比例度盘要放大;
曲线漂浮绕大湾,比例度盘往小扳;
曲线偏离回复慢,积分时间往下降;
曲线波动周期长,积分时间再加长;
曲线振荡频率快,先把微分降下来;
动差大来波动慢。微分时间应加长;
理想曲线两个波,前高后低4比1;
一看二调多分析,调节质量不会低。
得出初值后,由于所设置的输出论域为[-1 1],故在demux后需再乘上相应的取值范围,相乘之后的输出值为增益的调节量ΔK_p、ΔK_i、ΔK_d。
四、仿真验证

在Matlab/Simulink中搭建如图(4-1)所示的双容水箱模糊PID控制系统仿真模型,对模糊控制器的各个编辑器进行编辑,将49条模糊控制规则写入模糊控制规则编辑器,最终得到数据输出的清晰值实现对PID参数的在线整定,仿真结果如图(4-2)所示。蓝色线为系统响应,黄色线为单位阶跃给定。响应超调为0.397,达到稳态时间为1496s。

五、系统分析
传统控制理论中最常用的是常规PID控制,其算法简单实用,在控制中具有良好的控制效果和鲁棒性,但对液位控制这类具有非线性、时变等特点的控制系统则需要对PID参数不断进行在线调整才能获得更好的控制效果。在实际应用中由于PID参数变化无常,没有确定的数学模型和规律可循,模糊控制能充分利用操作人员进行实时非线性调节的成功实践操作经验,因此本系统采用模糊控制器来进行PID参数在线整定,充分发挥PID控制器的优良控制作用使系统达到最佳效果。
边栏推荐
- Charm of code language
- (1) Complete the new construction of station in Niagara vykon N4 supervisor 4.8 software
- H.265编码原理入门
- Oracle combines multiple rows of data into one row of data
- Community group buying has triggered heated discussion. How does this model work?
- Apache DolphinScheduler 系统架构设计
- Kotlin compose multiple item scrolling
- Openes version query
- Solve the problem of no all pattern found during Navicat activation and registration
- 百度评论中台的设计与探索
猜你喜欢

基于模板配置的数据可视化平台

【系统设计】指标监控和告警系统

剪掉ImageNet 20%数据量,模型性能不下降!Meta斯坦福等提出新方法,用知识蒸馏给数据集瘦身...

解决Navicat激活、注册时候出现No All Pattern Found的问题

Mobile heterogeneous computing technology GPU OpenCL programming (Advanced)

宝塔面板MySQL无法启动

From "chemist" to developer, from Oracle to tdengine, two important choices in my life

Six simple cases of QT

MySQL installation configuration and creation of databases and tables

百度智能小程序巡檢調度方案演進之路
随机推荐
QT realizes signal transmission and reception between two windows
分布式数据库下子查询和 Join 等复杂 SQL 如何实现?
From "chemist" to developer, from Oracle to tdengine, two important choices in my life
How to improve the operation efficiency of intra city distribution
Viewpager pageradapter notifydatasetchanged invalid problem
【两个对象合并成一个对象】
小程序启动性能优化实践
Optimize database queries using the cursor object of SQLite
【sourceTree配置SSH及使用】
[sourcetree configure SSH and use]
How Windows bat script automatically executes sqlcipher command
How to get the STW (pause) time of GC (garbage collector)?
Getting started with Apache dolphin scheduler (one article is enough)
Design and exploration of Baidu comment Center
The essence of persuasion is to remove obstacles
基于模板配置的数据可视化平台
Tdengine can read and write through dataX, a data synchronization tool
Roll up, break 35 - year - old Anxiety, animation Demonstration CPU recording Function call Process
Application of data modeling based on wide table
What should we pay attention to when developing B2C websites?