当前位置:网站首页>双容水箱液位模糊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控制器的优良控制作用使系统达到最佳效果。
边栏推荐
- Generics, generic defects and application scenarios that 90% of people don't understand
- E-commerce apps are becoming more and more popular. What are the advantages of being an app?
- How to get the STW (pause) time of GC (garbage collector)?
- Roll up, break through 35 year old anxiety, and animate the CPU to record the function call process
- Comment obtenir le temps STW du GC (collecteur d'ordures)?
- 移动端异构运算技术-GPU OpenCL编程(进阶篇)
- Flutter development: use safearea
- 正式上架!TDengine 插件入驻 Grafana 官网
- 【饿了么动态表格】
- (1) Complete the new construction of station in Niagara vykon N4 supervisor 4.8 software
猜你喜欢
Apache dolphin scheduler system architecture design
TDengine ×英特尔边缘洞见软件包 加速传统行业的数字化转型
How to choose the right chain management software?
Six simple cases of QT
Why does everyone want to do e-commerce? How much do you know about the advantages of online shopping malls?
H. 265 introduction to coding principles
QT realizes signal transmission and reception between two windows
百度评论中台的设计与探索
View Slide
为什么不建议你用 MongoDB 这类产品替代时序数据库?
随机推荐
Online chain offline integrated chain store e-commerce solution
【对象数组a与对象数组b取出id不同元素赋值给新的数组】
TDengine可通过数据同步工具 DataX读写
Roll up, break through 35 year old anxiety, and animate the CPU to record the function call process
Node の MongoDB Driver
[listening for an attribute in the array]
H.265编码原理入门
How to empty uploaded attachments with components encapsulated by El upload
Observation cloud and tdengine have reached in-depth cooperation to optimize the cloud experience of enterprises
TDengine 连接器上线 Google Data Studio 应用商店
Node red series (29): use slider and chart nodes to realize double broken line time series diagram
Dry goods sorting! How about the development trend of ERP in the manufacturing industry? It's enough to read this article
Openes version query
分布式数据库下子查询和 Join 等复杂 SQL 如何实现?
QT event filter simple case
Windows uses commands to run kotlin
Kotlin compose multiple item scrolling
Evolution of Baidu intelligent applet patrol scheduling scheme
让AI替企业做复杂决策真的靠谱吗?参与直播,斯坦福博士来分享他的选择|量子位·视点...
Kotlin Compose 与原生 嵌套使用