水箱水位控制系统

上传人:M****1 文档编号:506766280 上传时间:2023-09-30 格式:DOC 页数:12 大小:656KB
返回 下载 相关 举报
水箱水位控制系统_第1页
第1页 / 共12页
水箱水位控制系统_第2页
第2页 / 共12页
水箱水位控制系统_第3页
第3页 / 共12页
水箱水位控制系统_第4页
第4页 / 共12页
水箱水位控制系统_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《水箱水位控制系统》由会员分享,可在线阅读,更多相关《水箱水位控制系统(12页珍藏版)》请在金锄头文库上搜索。

1、控制系统仿真与设计课程作业水箱水位控制系统学 院:控制科学与工程专 业:自 动 化班 级: 1 6 0 1姓 名: 指导老师: 日 期:2019年5月12日目录1. 第一题11.1第一问11.1.1 解题思路11.1.2 具体过程11.1.3 遇到的问题11.2第二问21.2.1 解题思路21.2.2 具体过程21.2.3 遇到的问题32. 第二题32.1 解题思路32.2 具体过程32.3 遇到的问题43. 第三题43.1 解题思路43.2 具体过程53.3 遇到的问题54. 第四题54.1第一问64.1.1 解题思路74.1.2 具体过程84.1.3 遇到的问题94.2第二问94.2.1

2、解题思路104.2.2 具体过程105. 总结与体会111 第一题简化模型,只考虑方程(1)中所确定的系统,即只考虑系统中的流量而不考虑温度时,进行如下仿真。1.1 第一问不施加控制器作用时,仿真系统输入流量为表中的值时水箱的高度(此问不使用Simulink,其中原水箱高度可设为0或20cm)。1.1.1 解题思路设水箱原高度为0cm。将表2中用于线性化的操作点值热水质量流速=200g/s,冷水质量流速=100g/s代入方程(1)后可得到一个微分方程,利用MATLAB的dsolve函数可以得到该微分方程的解,再用plot函数画出解的曲线。1.1.2 具体过程系统质量平衡方程为:利用MATLAB

3、编程解得水位高度曲线如图1.1.1所示。图 1.1.3.1 水位高度曲线图1.1.3.2 MATLAB代码1.1.3 遇到的问题微分方程的解是一个初等函数。用一个数组K来存放每个时刻t对应的函数的解,最后以t为横轴,K为纵轴画出解的曲线。1.2 第二问不考虑热水流量,仅考虑冷水(即取热水质量流速=0,冷水质量流速=100)时,为该系统添加PID控制器,使得水位高度稳定在20cm,对水箱高度变化进行仿真。此外希望水箱高度仿真模型与仿真曲线之间通过友好的用户界面(GUI)实现。1.2.1 解题思路先在第一问的基础上使用Simulink仿真,拖拽模块构造模型。此时输入量为冷水质量流速。然后添加工具箱

4、中的PID模块,将期望高度值和系统的输出量作差,并作为PID的输入。将PID的输出反馈到参考输入处。最后在GUI中调用已搭建好的模型,输出仿真曲线。1.2.2 具体过程使用Simulink工具箱,搭建系统模型:图1.2.2.1系统Simulink模型图使用GUI,获取用户输入的比例、积分、微分系数,代码如下:图1.2.2.2 获取用户输入参数的代码仿真结果为:图1.2.2.3 GUI界面1.2.3 遇到的问题不知道怎么设计PID控制器,对PID的理解不够深,概念很模糊。查阅了相关资料,在弄懂PID控制原理之后,设计出比较合理的控制器,但是参数还有待优化。2 第二题对于近似线性化的模型,计算各个

5、矩阵的值,并判断系统的能控性。2.1 解题思路根据现代控制理论的知识,代入具体数值之后可以求出A,B,进而求出能控性判别矩阵Qc=B AB,通过Qc的秩来判断系统的能控性。2.2 具体过程系统的各个矩阵为:, ,代入具体数值得:, ,系统的能控性判别矩阵为:由MATLAB计算得Qc的秩为2,如图2.2.1所示。图2.2.1 求能控性判别矩阵所以,原系统是能控的。3 第三题 对系统(5)(7)设计一个线性控制器。其中假设:采用如下的控制法则:并希望通过在式(8)的条件下,通过给定值r(t)来实现系统没有余差(zero offset)。写出所选择的闭环极点的值,并计算K和Kr。3.1 解题思路先确

6、定闭环极点值,因为是二阶系统,所以有两个极点,选择1=-4+j4,2=-4-j4,/r(t)=9;50。由题得热水水温维持在60,冷水水温维持在30,忽略温度变化。因为线性化后状态变量初值为0,所以可得水位初始高度为9cm,液体初始温度为50。根据现代控制理论的知识,可以先假设K=k1 k2;k3 k4,然后使用MATLAB的place函数计算状态反馈矩阵K,进而可以求出Kr。最后在SIMULINK中搭建模型并仿真。3.2 具体过程设闭环极点的值和给定输入为:状态反馈矩阵K为:利用MATLAB的place函数可求得K:进而可以求得Kr:由系统线性化后的状态方程和输出方程可确定系统的SIMULI

7、NK模型,如下图所示:图3.3.3 添加线性控制器后的系统模型其中,上半部分为x1和y1,下半部分为x2和y2。水位初值为9,温度初值为50,设定r1=15,r2=45,仿真结果为:图3.3.4 仿真结果曲线(高度)图3.3.5 仿真结果曲线(温度)可以看到,两条曲线的误差为0,满足要求。3.3 遇到的问题一开始不知道place函数,计算K的时候耽误了很多时间。仿真结果一直存在余差,消除系统的余差的过程耗费了大量时间。4 第四题该系统的闭环系统如下图所示:其中给定值r(t)所定义的阶跃函数形式为:其中r0和rf为非零向量,且两者不等。4.1 第一问在d(t)=/d(t)时,选择r0和rf通过M

8、ATLAB/SIMULINK进行仿真,并说明系统的余差的情况。4.1.1 解题思路设/r=/x,此问先确定好r0和rf的值,利用第三题的系统方框图进行仿真,求出系统余差。4.1.2 具体过程给定阶跃函数:系统方框图同第三题。仿真曲线为:图4.1.2.1 x1-r1曲线图4.1.2.2 x2-r2曲线图4.1.2.3 d1-d2曲线图4.1.2.4 u1-u2曲线由仿真曲线可以看出,系统的余差为0。遇到的问题r0和rf的选择存在一定限制,不能随便选,否则会与实际系统不符。4.2 第二问在d(t)=3*/d(t)时,选择r0和rf通过MATLAB/SIMULINK进行仿真,并说明系统的余差的情况。

9、4.2.1 解题思路在第一问的模型的基础上,改变d(t),施加设定值r并进行仿真。4.2.2 具体过程修改之后的模型如下:图4.2.2.1 SIMULINK模型图仿真曲线如下:图4.2.2.2 x1与r1图4.2.2.3 x2与r2图4.2.2.4 u1与u2图4.2.2.5 d1与d2改变d(t)即扰动之后,系统出现余差,水位余差分别为20.00-17.92=2.08cm和30.00-27.92=2.08cm,液体温度余差分别为60.00-62.08=-2.08cm和80.00-82.08=-2.08cm。4 总结与体会本次课程设计作业提高了自己对建模的认识以及对PID算法的使用能力。从5月

10、1号到5月12号,断断续续地做了12天。这期间遇到了很多难题。比如第一题第一问的微分方程的解很奇怪,想了很久,最后还是把它写进来报告里面,如果当时果断一点,就会节省大量时间。又比如第一题第一问,为了方便,直接在SIMULINK里面仿真,加一个PID模块之后就完成了,在GUI里面添加几行代码就算解决了,其实在我看来,用M文件编写一个PID会显得高档一点吧。又比如第三题,之前一直看不懂题目的线性化过程,导致在第三题上耽搁了很长时间,反馈矩阵K和Kr手算不出来,也耽搁了很长时间,直到最后我才知道怎么办线性化后的系统在SIMULINK里面搭建模型,原来要考虑线性化点的值,把这些线性化点的值当做偏移量假

11、如模型之后,终于得到比较正确,比较符合人们常识的仿真曲线,然而我是怎么想到的呢,可能是巧合吧,不然就是顿悟。解决完第三题之后,第四题就显得比较简单了。第四题第一问就直接用第三题模型,只是把参考输入r改一下。第二问也不难,把扰动改一下就行。正所谓“金无足赤”,我的模型还是存在一些问题。比如第一题第二问的PID没有限幅,当给定值比较大时,输出会出现负值。第四题的r不能任意设置,否则会出现与事实不符的输出曲线。所以,这仅仅是万里长征第一步,我的模型不是最好的,是有瑕疵的,而现实中的问题往往更加复杂。如何提高解决实际问题的能力是我要认真思考的问题,同时这也需要我不断的实践,不断地自我修正。老子说“天下难事,必作于易。”一件很难的事情,一个很难的问题,一定要从简单的地方做起,如此循序渐进,方能成功。我不太确定我是不是完全解决了这个水位与温度的控制问题,但我确实是从简单的做起,一点一点推进,从不懂到懂,从不熟练到熟练,我能够切身感受到并且很享受自己不断地对这道题有新的理解的过程。这不仅是解决了一个问题之后的喜悦,也是掌握了新知识和能够熟练使用新工具之后的喜悦。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号