水箱水位控制系统.docx

上传人:b****6 文档编号:15316822 上传时间:2023-07-03 格式:DOCX 页数:14 大小:395.62KB
下载 相关 举报
水箱水位控制系统.docx_第1页
第1页 / 共14页
水箱水位控制系统.docx_第2页
第2页 / 共14页
水箱水位控制系统.docx_第3页
第3页 / 共14页
水箱水位控制系统.docx_第4页
第4页 / 共14页
水箱水位控制系统.docx_第5页
第5页 / 共14页
水箱水位控制系统.docx_第6页
第6页 / 共14页
水箱水位控制系统.docx_第7页
第7页 / 共14页
水箱水位控制系统.docx_第8页
第8页 / 共14页
水箱水位控制系统.docx_第9页
第9页 / 共14页
水箱水位控制系统.docx_第10页
第10页 / 共14页
水箱水位控制系统.docx_第11页
第11页 / 共14页
水箱水位控制系统.docx_第12页
第12页 / 共14页
水箱水位控制系统.docx_第13页
第13页 / 共14页
水箱水位控制系统.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

水箱水位控制系统.docx

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

水箱水位控制系统.docx

水箱水位控制系统

 

《控制系统仿真与设计》课程作业

——水箱水位控制系统

 

学院:

控制科学与工程

专业:

自动化

班级:

1601

姓名:

指导老师:

日期:

2019年5月12日

 

1.第一题………………………………………………………………………1

1.1第一问…………………………………………………………………1

1.1.1解题思路………………………………………………………1

1.1.2具体过程………………………………………………………1

1.1.3遇到的问题……………………………………………………1

1.2第二问…………………………………………………………………2

1.2.1解题思路………………………………………………………2

1.2.2具体过程………………………………………………………2

1.2.3遇到的问题……………………………………………………3

2.第二题………………………………………………………………………3

2.1解题思路………………………………………………………………3

2.2具体过程………………………………………………………………3

2.3遇到的问题……………………………………………………………4

3.第三题………………………………………………………………………4

3.1解题思路………………………………………………………………4

3.2具体过程………………………………………………………………5

3.3遇到的问题……………………………………………………………5

4.第四题………………………………………………………………………5

4.1第一问…………………………………………………………………6

4.1.1解题思路………………………………………………………7

4.1.2具体过程………………………………………………………8

4.1.3遇到的问题……………………………………………………9

4.2第二问…………………………………………………………………9

4.2.1解题思路………………………………………………………10

4.2.2具体过程………………………………………………………10

5.总结与体会…………………………………………………………………11

 

1第一题

简化模型,只考虑方程

(1)中所确定的系统,即只考虑系统中的流量而不考虑温度时,进行如下仿真。

1.1第一问

不施加控制器作用时,仿真系统输入流量为表中的值时水箱的高度(此问不使用Simulink,其中原水箱高度可设为0或20cm)。

1.1.1解题思路

设水箱原高度为0cm。

将表2中用于线性化的操作点值——热水质量流速=200g/s,冷水质量流速=100g/s——代入方程

(1)后可得到一个微分方程,利用MATLAB的dsolve函数可以得到该微分方程的解,再用plot函数画出解的曲线。

1.1.2具体过程

系统质量平衡方程为:

利用MATLAB编程解得水位高度曲线如图1.1.1所示。

图1.1.3.1水位高度曲线

图1.1.3.2MATLAB代码

1.1.3遇到的问题

微分方程的解是一个初等函数。

用一个数组K来存放每个时刻t对应的函数的解,最后以t为横轴,K为纵轴画出解的曲线。

1.2第二问

不考虑热水流量,仅考虑冷水(即取热水质量流速=0,冷水质量流速=100)时,为该系统添加PID控制器,使得水位高度稳定在20cm,对水箱高度变化进行仿真。

此外希望水箱高度仿真模型与仿真曲线之间通过友好的用户界面(GUI)实现。

1.2.1解题思路

先在第一问的基础上使用Simulink仿真,拖拽模块构造模型。

此时输入量为冷水质量流速。

然后添加工具箱中的PID模块,将期望高度值和系统的输出量作差,并作为PID的输入。

将PID的输出反馈到参考输入处。

最后在GUI中调用已搭建好的模型,输出仿真曲线。

1.2.2具体过程

使用Simulink工具箱,搭建系统模型:

图1.2.2.1系统Simulink模型图

使用GUI,获取用户输入的比例、积分、微分系数,代码如下:

图1.2.2.2获取用户输入参数的代码

仿真结果为:

图1.2.2.3GUI界面

1.2.3遇到的问题

不知道怎么设计PID控制器,对PID的理解不够深,概念很模糊。

查阅了相关资料,在弄懂PID控制原理之后,设计出比较合理的控制器,但是参数还有待优化。

2第二题

对于近似线性化的模型,计算各个矩阵的值,并判断系统的能控性。

2.1解题思路

根据现代控制理论的知识,代入具体数值之后可以求出A,B,进而求出能控性判别矩阵Qc=[BAB],通过Qc的秩来判断系统的能控性。

2.2具体过程

系统的各个矩阵为:

代入具体数值得:

系统的能控性判别矩阵为:

由MATLAB计算得Qc的秩为2,如图2.2.1所示。

图2.2.1求能控性判别矩阵

所以,原系统是能控的。

3第三题

对系统(5)~(7)设计一个线性控制器。

其中假设:

采用如下的控制法则:

并希望通过在式(8)的条件下,通过给定值r(t)来实现系统没有余差(zerooffset)。

写出所选择的闭环极点的值,并计算K和Kr。

3.1解题思路

先确定闭环极点值,因为是二阶系统,所以有两个极点,选择λ1=-4+j4,λ2=-4-j4,/r(t)=[9;50]。

由题得热水水温维持在60℃,冷水水温维持在30℃,忽略温度变化。

因为线性化后状态变量初值为0,所以可得水位初始高度为9cm,液体初始温度为50℃。

根据现代控制理论的知识,可以先假设K=[k1k2;k3k4],然后使用MATLAB的place函数计算状态反馈矩阵K,进而可以求出Kr。

最后在SIMULINK中搭建模型并仿真。

3.2具体过程

设闭环极点的值和给定输入为:

状态反馈矩阵K为:

利用MATLAB的place函数可求得K:

进而可以求得Kr:

由系统线性化后的状态方程和输出方程可确定系统的SIMULINK模型,如下图所示:

图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通过MATLAB/SIMULINK进行仿真,并说明系统的余差的情况。

4.1.1解题思路

设/r=/x,此问先确定好r0和rf的值,利用第三题的系统方框图进行仿真,求出系统余差。

4.1.2具体过程

给定阶跃函数:

系统方框图同第三题。

仿真曲线为:

图4.1.2.1x1-r1曲线

图4.1.2.2x2-r2曲线

图4.1.2.3d1-d2曲线

图4.1.2.4u1-u2曲线

由仿真曲线可以看出,系统的余差为0。

遇到的问题

r0和rf的选择存在一定限制,不能随便选,否则会与实际系统不符。

4.2第二问

在d(t)=3*/d(t)时,选择r0和rf通过MATLAB/SIMULINK进行仿真,并说明系统的余差的情况。

4.2.1解题思路

在第一问的模型的基础上,改变d(t),施加设定值r并进行仿真。

4.2.2具体过程

修改之后的模型如下:

图4.2.2.1SIMULINK模型图

仿真曲线如下:

图4.2.2.2x1与r1

图4.2.2.3x2与r2

图4.2.2.4u1与u2

图4.2.2.5d1与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月1号到5月12号,断断续续地做了12天。

这期间遇到了很多难题。

比如第一题第一问的微分方程的解很奇怪,想了很久,最后还是把它写进来报告里面,如果当时果断一点,就会节省大量时间。

又比如第一题第一问,为了方便,直接在SIMULINK里面仿真,加一个PID模块之后就完成了,在GUI里面添加几行代码就算解决了,其实在我看来,用M文件编写一个PID会显得高档一点吧。

又比如第三题,之前一直看不懂题目的线性化过程,导致在第三题上耽搁了很长时间,反馈矩阵K和Kr手算不出来,也耽搁了很长时间,直到最后我才知道怎么办线性化后的系统在SIMULINK里面搭建模型,原来要考虑线性化点的值,把这些线性化点的值当做偏移量假如模型之后,终于得到比较正确,比较符合人们常识的仿真曲线,然而我是怎么想到的呢,可能是巧合吧,不然就是顿悟。

解决完第三题之后,第四题就显得比较简单了。

第四题第一问就直接用第三题模型,只是把参考输入r改一下。

第二问也不难,把扰动改一下就行。

正所谓“金无足赤”,我的模型还是存在一些问题。

比如第一题第二问的PID没有限幅,当给定值比较大时,输出会出现负值。

第四题的r不能任意设置,否则会出现与事实不符的输出曲线。

所以,这仅仅是万里长征第一步,我的模型不是最好的,是有瑕疵的,而现实中的问题往往更加复杂。

如何提高解决实际问题的能力是我要认真思考的问题,同时这也需要我不断的实践,不断地自我修正。

老子说“天下难事,必作于易。

”一件很难的事情,一个很难的问题,一定要从简单的地方做起,如此循序渐进,方能成功。

我不太确定我是不是完全解决了这个水位与温度的控制问题,但我确实是从简单的做起,一点一点推进,从不懂到懂,从不熟练到熟练,我能够切身感受到并且很享受自己不断地对这道题有新的理解的过程。

这不仅是解决了一个问题之后的喜悦,也是掌握了新知识和能够熟练使用新工具之后的喜悦。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2