您的当前位置:首页正文

控制系统建模、分析、设计和仿真

2022-10-25 来源:步旅网


北京理工大学珠海学院 《计算机仿真》课程设计说明书

题目: 控制系统建模、分析、设计和仿真

学 院: 信息学院 专业班级: 自动化四班 学 号:

学生姓名: 指导教师:

2012年 6 月 9 日

北京理工大学珠海学院

课程设计任务书

2011 ~2012 学年 第 2学期

学生姓名: 专业班级:

指导教师: 范杰 工作部门: 信息学院 一、课程设计题目

《控制系统建模、分析、设计和仿真》

本课程设计共列出10个同等难度的设计题目,编号为:[0号题]、[1号题]、[2号题]、[3号题]、[4号题]、[5号题]、[6号题]、[7号题]、[8号题]、[9号题]。

学生必须选择与学号尾数相同的题目完成课程设计。例如,学号为09xxxxxxxx2的学生必须选做[2号题]。

二、课程设计内容

(一)《控制系统建模、分析、设计和仿真》课题设计内容

最少拍有波纹控制系统

R(z) + _ E(z) Dy(z) U(z) G(s) Y(z)

最少拍无波纹控制系统 R(z) + _ E(z) Dw(z) U(z) G(s) Y(z)

2

[8号题] 控制系统建模、分析、设计和仿真

设连续被控对象的实测传递函数为:

G(s)879(s1)(s6)s2(s2)(s5)(s7)用零阶保持器离散化,采样周期取0.02秒,分别设计一单位加速度信号输入时的最少拍有波纹 控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。

(二)《控制系统建模、分析、设计和仿真》课题设计要求及评分标准【共100分】

1、求被控对象传递函数G(s)的MATLAB描述。(2分) 2、求被控对象脉冲传递函数G(z)。(4分)

3、转换G(z)为零极点增益模型并按z-1形式排列。(2分)

4、确定误差脉冲传递函数Ge(z)形式,满足单位加速度信号输入时闭环稳态误差为零和实际闭环系统稳 定的要求。(6分)

5、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dy(z)可实现、最少拍和实际闭环系统稳定的要求。 (8分)

6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。(12分) 7、求针对单位加速度信号输入的最少拍有波纹控制器Dy(z)并说明Dy(z)的可实现性。(3分) 8、用程序仿真方法分析加速度信号输入时闭环系统动态性能和稳态性能。(7分)

9、用图形仿真方法(Simulink)分析单位加速度信号输入时闭环系统动态性能和稳态性能。(8分) 10、确定误差脉冲传递函数Ge(z)形式,满足单位速度信号输入时闭环稳态误差为零和实际闭环系统稳

定的要求。(6分)

11、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dw(z)可实现、无波纹、最少拍和实际闭环系统稳

定的要求。(8分)

12、根据10、11、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。(12分) 13、求针对单位速度信号输入的最少拍无波纹控制器Dw(z)并说明Dw(z)的可实现性。(3分) 14、用程序仿真方法分析单位速度信号输入时闭环系统动态性能和稳态性能。(7分)

15、用图形仿真方法(Simulink)分析单位速度信号输入时闭环系统动态性能和稳态性能。(8分) 16、根据8、9、14、15、的分析,说明有波纹和无波纹的差别和物理意义。(4分)

3

三、进度安排

6月2日: 下达课程设计任务书;复习控制理论和计算机仿真知识,收集资料、熟悉仿真工具;确定

设计方案和步骤。 6月3日: 编程练习,程序设计;仿真调试,图形仿真参数整定;总结整理设计、仿真结果,撰写课

程设计说明书。

6月9日至6月10日: 完成程序仿真调试和图形仿真调试;完成课程设计说明书;课程设计答辩总结。

四、基本要求

1.学生应按照课程设计任务书的要求独立分析、解决问题,按计划完成课程设计任务; 2.不得抄袭或找人代做,否则按考试作弊处理;

3. 学生在完成课程设计时须提交不少于3000字课程设计说明书;说明书结构为: (1)封面,(2)任务书,(3)摘要,(4)关键词,(5)目录,(6)正文,(7)参考文献;

教研室主任签名:

2012年 6 月 2 日

4

摘 要(Abstract)

本次课程实践为设计两个控制器分别为最小拍无波纹和最小拍有波纹控制器。通过这次实践可以进一步对所学的《计算机控制技术》有进一步的了解,并对Matlab软件的操作有一定程度的熟悉,为以后的工作或研究作基础。

MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

关键字:Matlab 计算机控制系统 建模 分析 设计 仿真

5

目 录

摘 要(Abstract) .................................... 5

一、课程设计的性质、目的 ................................ 7

二、MATLAB软件介绍 ..................................... 7

1、基本功能 .......................................... 7

2、基本应用 .......................................... 7

三、课程设计的内容 ..................................... 8

四、心得体会 ...........................................17

五、参考文献 ...........................................17

6

一、课程设计的性质、目的

本课程设计是信息学院自动化专业开设的计算机仿真专业选修课的实践课。通过本课程的学习实践,要求学生掌握有关控制系统计算机仿真的基本概念、工具、原理、方法和步骤,培养和增强学生运用《计算机仿真》课程中所学知识,以MATLAB为工具对控制系统进行分析、设计和仿真的技能,加深理解所学知识,牢固掌握所学知识,提高运用所学知识解决实际问题的能力。

二、MATLAB软件介绍

1、基本功能

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

2、基本应用

MATLAB 产品族可以用来进行以下各种工作: ●数值分析 ●数值和符号计算 ●工程与科学绘图 ●控制系统的设计与仿真 ●数字图像处理技术 ●数字信号处理技术 ●通讯系统设计与仿真 ●财务与金融工程

●管理与调度优化计算(运筹学)

MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财

7

务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。

三、课程设计的内容

1、求被控对象传递函数G(s)的MATLAB描述。 输入:

num=[879 6153 5274]; den=[1 14 59 70 0 0]; T=0.02;

Gs=tf(num,den) 显示结果:

Transfer function:

879 s^2 + 6153 s + 5274 ------------------------------ s^5 + 14 s^4 + 59 s^3 + 70 s^2

2、求被控对象脉冲传递函数G(z)。 输入:

Gz=c2d(Gs,0.02,'zoh') 显示结果:

ransfer function:

0.001132 z^4 + 0.00226 z^3 - 0.006126 z^2 + 0.001831 z + 0.0009176 ------------------------------------------------------------------ z^5 - 4.735 z^4 + 8.961 z^3 - 8.473 z^2 + 4.003 z - 0.7558

Sampling time: 0.02

3、转换G(z)为零极点增益模型并按z-1形式排列。 输入:

[z,p,k]=zpkdata(Gz)

Gz=zpk(z,p,k,T,'variable','z^-1') 显示结果: z = [4x1 double] p = [5x1 double] k =0.0011

Zero/pole/gain:

0.001132 z^-1 (1+3.605z^-1) (1-0.9802z^-1) (1-0.8869z^-1) (1+0.2586z^-1)

8

------------------------------------------------------------------------ (1-z^-1)^2 (1-0.9608z^-1) (1-0.9048z^-1) (1-0.8694z^-1)

Sampling time: 0.02

4、确定误差脉冲传递函数Ge(z)形式,满足单位加速度信号输入时闭环稳态误差为零和实际闭环系统稳 定的要求。

syms z a0 a1 a2 b0 b1

Gez= (1-z^-1)^3*(b0+b1*z^-1)

5、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dy(z)可实现、最少拍和实际闭环系统稳定的要求。 输入:

Gcz=z^-1*(1+3.605*z^-1)*(a0+a1*z^-1+a2*z^-2) 结果:

Gcz =1/z*(1+721/200/z)*(a0+a1/z+a2/z^2)

6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。 7、求针对单位加速度信号输入的最少拍有波纹控制器Dy(z)并说明Dy(z)的可实现性。 8、用程序仿真方法分析加速度信号输入时闭环系统动态性能和稳态性能。 输入:

f1=subs(Gez,z,1) f2=subs(diff(Gez,1),z,1) f3=subs(diff(Gez,2),z,1) [b0j,b1j]=solve(f1,f2,f3)

Gcz=z^-1*(1+3.605*z^-1)*(a0+a1*z^-1+a2*z^-2) f1=subs(Gcz,z,1)-1 f2=subs(diff(Gcz,1),z,1) f3=subs(diff(Gcz,2),z,1) [a0j,a1j,a2j]=solve(f1,f2,f3) 结果:

f1 =921/200*a0+921/200*a1+921/200*a2-1 f2 =-821/100*a0-2563/200*a1-871/50*a2

9

f3 =2363/100*a0+2463/50*a1+841/10*a2 a0j =878529200/781229961 a1j =-1115305600/781229961 a2j =406424600/781229961

Gcz=1/z*(1+721/200/z)*(878529200/781229961-1115305600/781229961/z+406424600/781229961/z^2)

Gez =(1-1/z)^3*(1-b0/z) f4 = 0

f5 =-406424600/374805361-156245992200/270234665281*b0 b0j =-1465160683/781229961 所以:

Gez =(1-1/z)^3*(1+1465160683/781229961/z)

Gcz=1/z*(1+721/200/z)*(878529200/781229961-1115305600/781229961/z+406424600/781229961/z^2)

Dyz=4611686018427387904/5220428572859803*(878529200/781229961-1115305600/781229961/z+406424600/781229961/z^2)/(1-4901/5000/z)/(1-8869/10000/z)/(1+1293/5000/z)/(1-1/z)*(1-1201/1250/z)*(1-1131/1250/z)*(1-4347/5000/z)/(1+1465160683/781229961/z)

9、用图形仿真方法(Simulink)分析单位加速度信号输入时闭环系统动态性能和稳态性能。 输入:

[N,D]=numden(simplify(Gcz)); numc=sym2poly(N) denc=sym2poly(D)

[N,D]=numden(simplify(Guz)); numu=sym2poly(N) denu=sym2poly(D) t=0:0.02:1 u=t.*t/2 hold on

dlsim(numc,denc,u) dlsim(numu,denu,u) hold off

[N,D]=numden(simplify(Dyz));

10

numdy=sym2poly(N) dendy=sym2poly(D)

有波纹最小拍程序仿真截图:

有波纹最小拍图形仿真截图:

11

闭环系统输出Gcz图形仿真结果:

控制器输出U(z)图形仿真图:

12

10、确定误差脉冲传递函数Ge(z)形式,满足单位速度信号输入时闭环稳态误差为零和实际闭环系统稳

定的要求。

Gez =(1-1/z)^2*(e0+e1/z+e2/z^2+e3/z^3+e4/z^4)

11、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dw(z)可实现、无波纹、最少拍和实际闭环系统稳

定的要求。

Gez=(1-z^-1)^2*(b0+b1*z^-1+b2*z^-2+b3*z^-3+b4*z^-4)

12、根据10、11、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。 输入:

syms z a0 a1 b0 b1 b2 b3 b4

Gez=(1-z^-1)^2*(b0+b1*z^-1+b2*z^-2+b3*z^-3+b4*z^-4)f1=subs(Gcz,z,1)-1 f2=subs(diff(Gcz,1),z,1) [a0j a1j]=solve(f1,f2) A=double([a0j a1j]) Gcz=subs(Gcz,[a0 a1],A)

Gez=(1-z^-1)^2*(b0+b1*z^-1+b2*z^-2+b3*z^-3+b4*z^-4) f3=subs(Gez,z,inf)-1 f4=subs(Gez,z,-3.427)-1 f5=subs(Gez,z,0.9512)-1 f6=subs(Gez,z,0.7408)-1 f7=subs(Gez,z,-0.245)-1

[b0j b1j b2j b3j b4j]=solve(f3,f4,f5,f6,f7) B=double([b0j b1j b2j b3j b4j]) Gez=subs(Gez,[b0 b1 b2 b3 b4],B) 结果:

Gez=(1-1/z)^2*(1+4607117145708427/1099511627776/z+857326361880357/68719476736/z^2-5728981

633685343/549755813888/z^3-7601370565683995/2199023255552/z^4)

Gcz=5220428572859803/4611686018427387904/z*(1+721/200/z)*(1-4901/5000/z)*(1-8869/10000/z)

*(1+1293/5000/z)/(1-1/z)^2/(1-1201/1250/z)/(1-1131/1250/z)/(1-4347/5000/z)

13、求针对单位速度信号输入的最少拍无波纹控制器Dw(z)并说明Dw(z)的可实现性。

Gz=0.016808*z^-1*(1+3.427*z^-1)*(1-0.9512*z^-1)*(1-0.7408*z^-1)*(1+0.245*z^-1)/(1-z^-1)^2

13

/(1-0.9048*z^-1)/(1-0.7788*z^-1)/(1-0.7047*z^-1) Guz=Gcz/Gz Dwz=Gcz/Gz/Gez

Gcz=4844576162357971/288230376151711744/z*(1+3427/1000/z)*(1-1189/1250/z)*(1-463/625/z)*(

1+49/200/z)*(-4545899597750647/274877906944+1195119780778763/68719476736/z)

Gez=(1-1/z)^2*(1+615657890023047/2199023255552/z+1796608902133647/2199023255552/z^2-71813

391245365/137438953472/z^3-6084857878461669/35184372088832/z^4)

Dwz=(-4545899597750647/274877906944+1195119780778763/68719476736/z)*(1-1131/1250/z)*(1-19

47/2500/z)*(1-7047/10000/z)/(1+615657890023047/2199023255552/z+1796608902133647/2199023255552/z^2-71813391245365/137438953472/z^3-6084857878461669/35184372088832/z^4)

14、用程序仿真方法分析单位速度信号输入时闭环系统动态性能和稳态性能。

15、用图形仿真方法(Simulink)分析单位速度信号输入时闭环系统动态性能和稳态性能。 [N,D]=numden(simplify(Gcz)) numd=sym2poly(N) dend=sym2poly(D)

[N,D]=numden(simplify(Guz)) numi=sym2poly(N) deni=sym2poly(D) t=0:0.2:10 u=t hold on

dlsim(numd,dend,u) dlsim(numi,deni,u) hold off

[N,D]=numden(simplify(Dwz)) numt=sym2poly(N) dent=sym2poly(D)

14

无波纹最小拍程序仿真截图:

无波纹最小拍图形仿真截图:

15

无波纹最小拍闭环系统输出Gcz图形仿真结果:

无波纹最小拍闭环系统数字控制器输出Guz图形仿真结果:

16、根据8、9、14、15、的分析,说明有波纹和无波纹的差别和物理意义。

有波纹和无波纹的差别在于有波纹控制器经过一定的采样周期之后,其输入跟踪输出,但其数字控制器的曲线会出现小的波动,该波动为波纹,而无波纹数字控制器D(z)的输出曲线经过一定采样周期之后会为一常数,不会产生波纹。

16

四、心得体会

通过这四天的计算机仿真课程设计,我学会了很多东西,获益良多。这是我第一次接触MATLAB这个软件,刚开始什么的不会,无从下手。通过老师耐心的教导,然后自己慢慢研究教学PPT,开始一步步的上手这个软件。期间遇到了很多困难,一度陷入了课程设计的绝境。后来通过不断的询问老师和同学,逐个解决了这些问题。经过不懈的努力,终于完成了此次课程设计,但仍然有很多瑕疵,我会在以后不断进步,不断完善自我,做得更好。

此次课程设计培养了我的学习新软件的能力以及独立思考和设计的能力,也锻炼了我的耐心,使我遇到困难时不会那么心浮气躁,能沉着冷静的处理这些问题,我的动手能力也有一定的提高,让我在以后的人生道路上受益匪浅。

最后衷心感谢范杰老师和钟秋海老师对我的帮助,他们的谆谆教导以及严谨的学术态度时刻激励着我。

五、参考文献

1. 肖伟,刘忠.MATLAB程序设计与应用[M].清华大学出版社,2005

2. 周润景.基于MATLAB与fuzzyTECH的模糊与神经网络设计[M].电子工业出版社,2010

3. 陈超.MATLAB应用实例精讲-数学数值计算与统计分析篇[M].电子工业出版社,2010

4. 田敏.案例解说MATLAB典型控制应用[M].电子工业出版社,2009

5. 刘刚.MATLAB数字图像处理[M].机械工业出版社,2010

17

因篇幅问题不能全部显示,请点此查看更多更全内容