控制系统数字仿真大作业_第1页
控制系统数字仿真大作业_第2页
控制系统数字仿真大作业_第3页
控制系统数字仿真大作业_第4页
控制系统数字仿真大作业_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、控制系统数字仿真课程大作业控制系统数字仿真课程 大作业 姓 名 : 学 号 : 班 级 : 日 期 : 同组人员 : 目录一、引言2二、设计方法21、系统数学模型22、系统性能指标42.1 绘制系统阶跃响应曲线、根轨迹图、频率特性42.2 稳定性分析62.3 性能指标分析63、控制器设计6三、深入探讨91、比例-微分控制器(PD)92、比例-积分控制(PI)123、比例-微分-积分控制器(PID)14四、设计总结17五、心得体会18六、参考文献180一、引言MATLAB语言是当今国际控制界最为流行的控制系统计算机辅助设计语言,它的出现为控制系统的计算机辅助分析和设计带来了全新的手段。其中图形交

2、互式的模型输入计算机仿真环境SIMULINK,为MATLAB应用的进一步推广起到了积极的推动作用。现在,MATLAB语言已经风靡全世界,成为控制系统CAD领域最普及、也是最受欢迎的软件环境。随着计算机技术的发展和应用,自动控制理论和技术在宇航、机器人控制、导弹制导及核动力等高新技术领域中的应用也愈来愈深入广泛。不仅如此,自动控制技术的应用范围现在已发展到生物、医学、环境、经济管理和其它许多社会领域中,成为现代社会生活中不可或缺的一部分。随着时代进步和人们生活水平的提高,在人类探知未来,认识和改造自然,建设高度文明和发达社会的活动中,控制理论和技术必将进一步发挥更加重要的作用。作为一个自动化专业

3、的学生,了解和掌握自动控制的有关知识是十分必要的。利用MATLAB软件及其SIMULINK仿真工具来实现对自动控制系统建模、分析与设计、仿真,能够直观、快速地分析系统的动态性能和稳态性能,并且能够灵活的改变系统的结构和参数,通过快速、直观的仿真达到系统的优化设计,以满足特定的设计指标。二、设计方法1、系统数学模型 美国卡耐尔基-梅隆大学机器人研究所开发研制了一套用于星际探索的系统,其目标机器人是一个六足步行机器人,如图(a)所示。该机器人单足控制系统结构图如图(b)所示。 要求: (1)建立系统数学模型; (2)绘制系统阶跃响应曲线、根轨迹图、频率特性; (3)分析系统的稳定性,及性能指标;

4、(4)设计控制器Gc(s),使系统指标满足:ts<10s,ess=0,,超调量小于5%。 在不加入任何控制器的情况下,由控制系统结构图可得其开环传递函数为Simulink仿真得在单位阶跃信号作用下系统响应曲线为2、系统性能指标2.1 绘制系统阶跃响应曲线、根轨迹图、频率特性编写M文件如下:%set up system math modlenum=1;den=1 2 10 0;G0=tf(num,den)G=feedback(G0,1)figure(1);t=0:100;step(G,t);grid;title('单位阶跃响应曲线')y t=step(G,t);Y k=ma

5、x(y);MATLAB命令窗口中运行后得到结果为:Transfer function: 1-s3 + 2 s2 + 10 s Transfer function: 1-s3 + 2 s2 + 10 s + 1ans = RiseTime: 21.5386 SettlingTime: 38.5480 SettlingMin: 0.9001 SettlingMax: 0.9997 Overshoot: 0 Undershoot: 0 PeakTime: 79.1536tp=t(k)ess=1-y;figure(2);plot(t,ess);grid;title('单位阶跃响应误差曲线

6、9;)figure(3);pzmap(G0);title('零极点分布图')figure(4);margin(G0);title('系统开环对数特性曲线')grid;figure(5);nyquist(G0);title('nyquist曲线')figure(6);rlocus(G0)title('系统根轨迹特性曲线')sgridstepinfo(G)以上各图依次为系统单位阶跃响应曲线、单位阶跃响应误差曲线、零极点分布图、系统开环对数特性曲线、系统根轨迹特性曲线、奈奎斯特曲线。2.2 稳定性分析由闭环零极点分布图可知,系统闭环传递

7、函数的极点全部位于s左半平面,因此系统闭环稳定。2.3 性能指标分析(1) 系统稳态误差=0。由以上分析可知在加入控制器之前,=0,符合设计要求。(2) 系统调节时间<10s。在加入控制器之前,调节时间=38s,不满足设计要求,因此需要加入控制器来缩短调节时间,以提高系统响应速度。(3) 系统阶跃响应的超调量%<5%。在加入控制器之前,超调量%=0,符合设计要求。3、控制器设计由以上分析可知,要减小系统的调节时间,使其快速性能得到改善,同时不影响系统的稳态误差和超调量,因此,可以利用比例控制器来实现这一目的。P控制方式只是在前向通道上加上比例环节,相当于增大了系统的开环增益,减小了

8、系统的稳态误差,减小了系统的阻尼,从而增大了系统的超调量和振荡性。P控制方式的系统结构图如下:P控制器的传递函数为:加上P控制后的系统开环传递函数为:取Kp=1至15,步长为1,进行循环测试系统,将不同Kp下的阶跃响应曲线绘制在一张坐标图下:MATLAB源程序:%对于P控制的编程实现num=1;den=1 2 10 0;t=0:0.01:30;for Kp=1:1:15num1=Kp*num;G0=tf(num1,den)G=feedback(G0,1)y=step(G,t);plot(t,y)If ishold=1,hold on,end不同Kp下的阶跃响应曲线endgrid;下面通过列表的

9、方式给出在不同Kp值作用下系统的调节时间、稳态误差以及超调量:Kp12345678910Ts29.5614.589.607.135.574.913.483.263.154.730Ess0.0480.0027.788*e-52.725*e-68.913*e-82.854*e-91.239*e-40.0060.0280.055Pos4.7820.2040.0082.725*e-48.913*e-62.854*e-70.0120.6042.8405.541从上表可以看出,随着Kp值的增大,系统的调节时间、超调量和稳态误差都逐渐减小,但是,当Kp增大到一定值后,系统的调节时间、超调量和稳态误差又都随K

10、p增大而增大,稳定性下降。当Kp=6时,调节时间=4.96s,稳态误差近似为0,超调量%近似为0,满足设计要求。此时系统的阶跃响应曲线如图所示:MATLAB源程序:%对于P控制的编程实现%(Kp=6)clearnum0=1;den=1 2 10 0;t=0:0.01:50;Kp=6;num=Kp*num0;G0=tf(num0,den);G=feedback(G0,1);G1=tf(num,den);G2=feedback(G1,1);step(G,G2,t)grid;gtext('leftarrowKp=1')gtext('leftarrowKp=6')综上所

11、述,采用比例控制器时,满足设计要求的最合理的Kp值为6,此时系统的超调量为0,调节时间为4.96秒,稳态误差为0。由上图可看出加入比例控制器后,系统的调节时间大幅度减小,快速性得到了很大的提高,同时系统的稳定性和准确性并没有受到明显影响。此时,加入比例控制器后,系统开环传递函数为:性能比较: 加入P之前 加入P之后MATLAB命令窗口运行结果ans = RiseTime: 21.5386 SettlingTime: 38.5480 SettlingMin: 0.9001 SettlingMax: 0.9997 Overshoot: 0 Undershoot: 0 PeakTime: 79.15

12、36MATLAB命令窗口运行结果ans = RiseTime: 2.9072 SettlingTime: 5.7436 SettlingMin: 0.9090 SettlingMax: 0.9996 Overshoot: 0 Undershoot: 0 PeakTime: 11.8768三、深入探讨 通过以上讨论,单独使用比例控制器就已经满足各项要求,接下来将深入探讨是否还有其他控制器,能更好的满足各项性能指标。1、比例-微分控制器(PD)PD控制方式是在P控制的基础上增加了微分环节,系统的输出量同时受到误差信号及其速率的双重作用。因而,比例微分控制是一种早期控制,可在出现误差位置前,提前产生

13、修正作用,从而达到改善系统性能的目的。PD控制方式的系统结构图如下:PD控制器的传递函数为:加上PD控制后的系统开环传递函数为:不同Kd时的系统阶跃响应曲线保持Kp=6不变,调试取Kd=0.1、0.3、0.5、0.7、0.9时的系统阶跃响应曲线,并与P控制做比较:MATLAB源程序为:%编程实现PD控制与P控制的比较clearnum0=6;den=1 2 10 0;t=0:0.01:40;S0=tf(num0,den);S=feedback(S0,1);k=step(S,t);plot(t,k);grid ;Kp=6;if ishold=1,hold on,endfor Kd=0.1:0.2:

14、1 num=Kd*Kp,Kp; G0=tf(num,den); G=feedback(G0,1); y=step(G,t); plot(t,y); if ishold=1,hold on , endendgrid;下面通过列表的方式给出在不同Kd值作用下系统的调节时间、稳态误差以及超调量:Kd0.10.30.50.70.9ts4.955.075.775.936.28ess 4.2549e-61.6192e-54.4234e-59.9189e-51.9222e-4pos4.2549e-40.00160.00440.00990.0192由实验曲线以及上表可以看出,在比例控制的基础上增加微分控制,对

15、系统的稳态误差影响并不明显,而增大微分常数Kd可以有效的减小系统的超调量和调节时间,在不影响系统的稳态性能的基础上改善了系统的动态性能。微分控制部分相当于增大了系统的阻尼,所以可以选用较大的开环增益来改善系统的动态性能和系统的稳态精度。此时系统的阶跃响应曲线如图所示:MATLAB源程序为:%对于PD控制的编程实现%(Kd=0.1)clearnum0=1;den=1 2 10 0;t=0:0.01:50;Kp=6;Kd=0.1;num=Kd*Kp,Kp;G0=tf(num0,den);G=feedback(G0,1);G1=tf(num,den);G2=feedback(G1,1);step(G

16、,G2,t)grid;gtext('leftarrowKp=1')gtext('leftarrowKp=6,Kd=0.1')综上所述,当Kp=6,Kd=0.1时,引入比例-微分控制器,同样可以在保证系统稳态误差和超调量不发生明显变化的前提下,改善系统的动态性能,使系统的调节时间减小到10秒以下,从而满足设计要求。此时系统的开环传递函数为:MATLAB命令窗口运行结果ans = RiseTime: 21.5386 SettlingTime: 38.5480 SettlingMin: 0.9001 SettlingMax: 0.9997 Overshoot: 0 U

17、ndershoot: 0 PeakTime: 79.1536系统性能验证:MATLAB源程序:%加入PD控制器之前系统性能num0=1;den=1 2 10 0;G0=tf(num0,den);G=feedback(G0,1);stepinfo(G)MATLAB命令窗口运行结果ans = RiseTime: 3.0280 SettlingTime: 6.4927 SettlingMin: 0.9045 SettlingMax: 0.9996 Overshoot: 0 Undershoot: 0 PeakTime: 12.9803%加入PD控制器之后系统性能num=0.6 6;den=1 2 1

18、0 0;G0=tf(num,den);G=feedback(G0,1);stepinfo(G)2、比例-积分控制(PI)PI控制是在P控制基础上增加了积分环节,提高了系统的型别,从而能减小系统的稳态误差。因为单纯使用增大Kp的方法来减小稳态误差的同时会使系统的超调量增大,破坏了系统的平稳性,而积分环节的引入可以与P控制合作来消除上述的副作用,PI控制的结构图为:PI控制器的传递函数为:加上PI控制后的系统开环传递函数为:保持Kp=6不变,将PI控制与P控制的系统阶跃响应曲线进行比较:MATLAB源程序为:%编程实现PI控制与P控制%的比较cleart=0:0.01:30;num0=6;den0

19、=1 2 10 0;S0=tf(num0,den0);S=feedback(S0,1);k=step(S,t);plot(t,k);grid;Kp=6;if ishold=1,hold on,endfor Ki=0.005:0.5:1num=Kp,Kp*Ki;den=1 2 10 0 0; G0=tf(num,den); G=feedback(G0,1); y t=step(G,t); Y k=max(y); plot(t,y); grid; C=dcgain(G); percentovershoot=100*(Y-C)/C i=length(t);while(y(i)>0.95*C)&

20、amp;(y(i)<1.05*C); i=i-1;endts=t(i)if ishold=1,hold on ,endend MATLAB命令窗口中运行后得到结果为:percentovershoot = 0.7868ts = 4.6700percentovershoot = 33.6315ts = 7.4700 上图的初步印象是PI控制中系统的稳态误差显著减小,但是系统的超调量和平稳性并没有得到改善,相反,增大积分环节中的增益Ki则会使系统的超调量增加,系统的震荡加剧,从而破坏了系统的动态性能。原因是,PI控制器相当于在系统中增加了一个位于原点的开环极点,同时也增加了一个位于s左半平面的

21、开环零点。位于原点的开环极点可以提高系统的型别,以消除或减小系统的稳态误差,改善系统的稳态性能;而增加的负实零点则用来减小系统的阻尼程度,缓和PI控制器极点对系统稳定性及动态过程产生的不利影响。只要积分常数Ki足够小,PI控制器对系统稳定性产生的不利影响可大为减弱。因此,在控制工程实践中,PI控制器主要用来改善控制系统的稳态性能。本例中当Ki=0.005时,可满足设计要求,验证了上述结论的正确性。由以上的分析可知,PI控制器并不适合作为本题的控制器,因此不做过多讨论。3、比例-微分-积分控制器(PID)PID控制方式结合了比例积分微分三种控制方式的优点和特性,在更大的程度上改善系统各方面的性能

22、,最大程度的使闭环系统的阶跃响应尽可能地最好(稳、快、准)。系统的结构图为:PID控制器的传递函数为:加上PID控制后的系统开环传递函数为: 由此可见,当利用PID控制器进行串联校正时,除可使系统的型别提高一级外,还将提供两个负实零点。与PI控制器相比,PID控制器除了同样具有提高系统的稳态性能的优点外,还多提供一个负实零点,从而在提高系统动态性能方面,具有更大的优越性。因此,在工业过程控制系统中,广泛使用PID控制器。PID控制器各部分参数的选择,在系统现场调试中最后确定。通常,应使积分部分发生在系统频率特性的低频段,以提高系统的稳态性能;而使微分部分发生在系统频率特性的中频段,以改善系统的

23、动态性能。现在要调整的参数有三个:Kp、Kd、Ki,这样,增益扫描会更加复杂,这是因为比例、微分和积分控制动作之间有更多的相互作用。一般来说,PID控制中的Ki与PI控制器的设计相同,但是为了满足超调量和调节时间这两个性能指标,比例增益Kp和微分增益Kd应同时调节。尽管曲线过于密集,但是从PD控制总结的一般规律来看,超调量最大的那一族曲线所对应的Kd值最小,所以,我们选择Kd=0.1、0.2两组曲线族分开观察阶跃响应曲线:从以上两组曲线图可以看出,增大Kd可以有利于加快系统的响应速度,使系统超调量减小,稳定性增加,同时增大Kp可以进一步加快系统的响应速度,使系统更快速。PID控制器虽然在复杂性

24、上有所增加,但同另外三种控制器相比大大改善了系统的性能。MATLAB源程序为:%编程实现PID控制cleart=0:0.01:14;Kp=9;Kd=0.2;Ki=0.001; PID作用下系统阶跃响应曲线num=Kp*Kd Kp Kp*Ki;den=1 2 10 0 0;G0=tf(num,den);G=feedback(G0,1);y t=step(G,t);Y k=max(y);plot(t,y);C=dcgain(G)percentovershoot=100*(Y-C)/Ci=length(t);while(y(i)>0.98*C)&(y(i)<1.02*C); i=

25、i-1;endts=t(i)grid;MATLAB命令窗口中运行后得到结果为:percentovershoot = 0.3270ts = 4.6300综上所述,选择Ki=0.001,Kp=9,Kd=0.2时系统各方面性能都能令人满意,所以可以作为PID控制参数。此时系统的开环传递函数为:系统性能验证: 加入PID之前 加入PID之后MATLAB命令窗口运行结果ans = RiseTime: 21.5386 SettlingTime: 38.5480 SettlingMin: 0.9001 SettlingMax: 0.9997 Overshoot: 0 Undershoot: 0 PeakTi

26、me: 79.1536MATLAB命令窗口运行结果ans = RiseTime: 2.3903 SettlingTime: 4.6403 SettlingMin: 0.9190 SettlingMax: 1.0032 Overshoot: 0.3214 Undershoot: 0 PeakTime: 5.1556四、设计总结通过以上分析,可以看出,从P控制一直到PID控制,系统的性能越来越好。同时,可以发现PID控制所起的作用,不是P、I、D三种作用的简单叠加,而是三种作用的相互促进。增大比例系数Kp一般将加快系统的响应,在有静差的情况下有利于减小静差,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。所以调试时将比例参数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论