《2022年自动控制原理matlab仿真实验实验严进宁 .pdf》由会员分享,可在线阅读,更多相关《2022年自动控制原理matlab仿真实验实验严进宁 .pdf(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验一 系统的数学模型一、实验目的和任务1、学会使用 MATLAB 的命令;2、掌握 MATLAB 有关传递函数求取及其零、极点计算的函数。3、掌握用 MATLAB 求取系统的数学模型二、实验仪器、设备及材料1、计算机2、MATLAB 软件三、实验原理1、MATLAB 软件的使用2、使用 MATLAB 软件在计算机上求取系统的传递函数四、实验报告要求1、 将各实验内容的要求写入实验报告。2、 写出要求的实验程序。3、 记录各命令运行后的结果五、实验内容例 1-3、设置传递函数22)13()5( 6)(ssssG,时间延迟常数4方式 1:set(G,ioDelay,4) %为系统的 ioDela
2、y 属性设定值G %显示传递函数解:该传递函数模型可以通过下面的语句输入到MATLAB 工作空间为: num=6*1,5; den=conv(1,3,1,1,3,1); G=tf(num,den); set(G,ioDelay,4) G 运行结果为:Transfer function: 6 s + 30 exp(-4*s) * - s4 + 6 s3 + 11 s2 + 6 s + 1 例 1-4 、已知传递函数22)13()5( 6)(ssssG,提取系统的分子和分母多项式(实验)解:提取系统的分子和分母多项式程序为:名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
3、- - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 32 页 - - - - - - - - - num=6*1,5;den=conv(1,3,1,1,3,1); G=tf(num,den) num den=tfdata(G,v) 运行结果为:Transfer function: 6 s + 30 - s4 + 6 s3 + 11 s2 + 6 s + 1 num = 0 0 0 6 30 den = 1 6 11 6 1 例 1-5例 1-5 某系统的零极点模型为:)22)(22)(2)(1()5(6)(2jsjsssssG方法 2:利用算子(实
4、验)s=zpk(s) G=6*(s+5)2/(s+1)*(s+2)*(s+2+2)*(s+2-2) 运行结果为:Zero/pole/gain: 6 (s+5)2 - s (s+1) (s+2) (s+4)例 1-7 已知系统传递函数)2)(36(114222ssssssG,求零极点及增益,并绘制系统零极点分布图。 (实验)(1)零极点及增益: num=1,4,11;den=conv(1,6,3,1,2,0);G=tf(num,den)z,p,k=zpkdata(G,V) 运行结果为:Transfer function: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
5、- - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 32 页 - - - - - - - - - s2 + 4 s + 11 - s4 + 8 s3 + 15 s2 + 6 s z = -2.0000 + 2.6458i -2.0000 - 2.6458i p = 0 -5.4495 -2.0000 -0.5505 k = 1 (2)系统零极点分布图: num=1,4,11;den=conv(1,6,3,1,2,0);G=tf(num,den)pzmap(G)Transfer function: s2 + 4 s + 11 - s4 + 8 s3
6、+ 15 s2 + 6 s 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 32 页 - - - - - - - - - 例 1-11给定零极点模型:)5.1)(23()7)(2(8.6)(sjsssssG用 MATLAB 命令得出其等效的零极点传递函数模型。输入程序的过程中要注意大小写。 den1=conv(1 3 2j,1 3 -2j); den2=conv(den1,1 1.5); G=tf(conv(1 2,1 7),conv(1 0,den2) 运行结果为:G
7、= s2 + 9 s + 14 - s6 + 7.5 s5 + 18 s4 + 13.5 s3 + 4 s2 + 6 s 实验内容:1、 特征多项式的建立与特征根的求取在命令窗口依次运行下面命令,并记录各命令运行后结果 p=1,3,0,4 p = 1 3 0 4 r=roots(p) r = -3.3553 0.1777 + 1.0773i 0.1777 - 1.0773i p=poly(r) p = 1.0000 3.0000 -0.0000 4.0000 2、 求单位反馈系统的传递函数:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
8、 - - 名师精心整理 - - - - - - - 第 4 页,共 32 页 - - - - - - - - - 输入运行命令:numg=1;deng=500,0,0; numc=1,1;denc=1,2; num1,den1=series(numg,deng,numc,denc); num,den=cloop(num,den,-1); printsys(num,den) 运行结果:num/den = s + 1 - 500 s3 + 1000 s2 + 4 s + 4 3、 传递函数零、极点的求取在命令窗口依次运行下面命令,并记录各命令运行后结果:名师资料总结 - - -精品资料欢迎下载 -
9、 - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 32 页 - - - - - - - - - num1=6,0,1; den1=1,3,3,1; z=roots(num1) z = 0 + 0.4082i 0 - 0.4082i p=roots(den1) p = -1.0000 + 0.0000i -1.0000 - 0.0000i -1.0000 n1=1,1;n2=1,2;d1=1,2*i;d2=1,-2*i;d3=1,3; num2=conv(n1,n2) num2 = 1 3 2 den2=conv(d1
10、,conv(d2,d3) den2 = 1 3 4 12 printsys(num2,den2) num/den = s2 + 3 s + 2 - s3 + 3 s2 + 4 s + 12 num=conv(num1,den2); den=conv(den1,num2); printsys(num,den) num/den = 6 s5 + 18 s4 + 25 s3 + 75 s2 + 4 s + 12 - s5 + 6 s4 + 14 s3 + 16 s2 + 9 s + 2 pzmap(num,den),title(零极点图 ) 名师资料总结 - - -精品资料欢迎下载 - - - -
11、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 32 页 - - - - - - - - - 4、求反馈联接系统的传递函数:在命令窗口依次运行下面命令,并记录各命令运行后结果: numg=1;deng=500,0,0;numc=1,1;denc=1,2; numh=1,1;denh=1,2; num,den=feedback(numg,deng,numh,denh) 运行结果:num = 0 0 1 2 den = 500 1000 1 1 printsys(num,den) num/den = s + 2 - 500 s3 +
12、 1000 s2 + s + 1 5、 自行利用 MATLAB 命令求取以下系统传递函数,并记录下结果。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 32 页 - - - - - - - - - G1=tf(2,1 1 0); G2=tf(1 2,1 3); Gp=feedback(G1,G2,1); G3=tf(10,1 1); Gs=series(G3,Gp); H=tf(5 0,1 6 8); Gc=feedback(Gs,H,-1) Transfer funct
13、ion: 20 s3 + 180 s2 + 520 s + 480 - s6 + 11 s5 + 43 s4 + 67 s3 + 118 s2 + 252 s - 32 实验二、典型环节的MATLAB 仿真一、实验目的:1熟悉 MATLAB 桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。2通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。3定性了解各参数变化对典型环节动态特性的影响二、实验内容:按下列各典型环节的传递函数,建立相应的SIMULINK仿真模型,观察并记录其单位阶跃响应波形。(1)比例环节G1( s)=1 和 G1( s)=2;Simul
14、ink 图形实现:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 32 页 - - - - - - - - - 示波器显示结果:(2)惯性环节G1(s)=1/s+1 和 G2(s)=1/0.5s+1Simulink 图形实现:示波器显示结果:(3)积分环节G1( s)=1/s Simulink 图形实现:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共
15、 32 页 - - - - - - - - - 示波器显示结果:(4)微分环节G1( s)=s Simulink 图形实现:示波器显示结果:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 32 页 - - - - - - - - - (5)比例 +微分环节( PD)1) 、G1( s)=s+2 Simulink 图形实现:示波器显示结果:2) 、 G2(s) =s+1 Simulink 图形实现:示波器显示结果:名师资料总结 - - -精品资料欢迎下载 - - - -
16、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 32 页 - - - - - - - - - (6)比例 +积分环节1) 、 G1(1)=1+1/s Simulink 图形实现:和示波器显示结果:1)G2(s)=1+1/2s Simulink 图形实现:示波器显示结果:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 32 页 - - - - - - - - - 实验三、控制系统的时域分析一、实验目的学习
17、利用 MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性。二、实验内容(一) 稳定性1 系统传函为25425)(2sssG,试判断其稳定性 roots(1,4,25) 运行结果:ans = -2.0000 + 4.5826i -2.0000 - 4.5826i 特征方程的根都具有负实部,因而该系统为稳定的。2. 用 Matlab 判断253722)(2342sssssssG的稳定性 roots(1,7,3,5,2) 运行结果:ans = -6.6553 + 0.0000i 0.0327 + 0.8555i 0.0327 - 0.8555i -0.4100 +
18、0.0000i 特征方程的根不是全部都具有负实根,因而该系统是不稳定的。(二)阶跃响应1. 二阶系统102102sssG1)键入程序,观察并记录单位阶跃响应曲线如图14 所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 32 页 - - - - - - - - - G=tf(0,0,10,1,2,10); t=0:0.1:5; c=step(G,t); plot(t,c) Css=dcgain(G) Css = 1 图 14MATLAB 绘制的响应曲线2)计算系统的
19、闭环根、阻尼比、无阻尼振荡频率,并记录 num=10; den=1,2,10; G=tf(num,den); roots(den) wn=sqrt(num) znb=2/(2*wn) ans = -1.0000 + 3.0000i -1.0000 - 3.0000i wn =3.1623 znb =0.3162 3)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:相关理论知识可填下表:3/dpt=1.0472 num=10; den=1,2,10; G=tf(num,den); step(num,den); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
20、- - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 32 页 - - - - - - - - - grid y,t=step(G); Y ,k=max(y); cmax=Y tp=t(k); i=length(t); C=dcgain(G); while(y(i)0.98*C)&(y(i)0.95*C)&(y(i) wn=sqrt(10); znb=1; num=wn2; den=1,2*znb*wn,wn2 G=tf(num,den); step(G) hold on znb=2; den=1,2*znb*wn,wn2 G=tf(num,den);
21、 step(G) grid title den = 1.0000 6.3246 10.0000 4.52%(00.9)3.55%nsnt名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 32 页 - - - - - - - - - den = 1.0000 12.6491 10.0000 (三)系统动态特性分析用 Matlab 求二阶系统12012120)(2sssG和01.0002. 001.0)(2sssG的峰值时间pt上升时间rt调整时间st超调量%。1. 二阶系统
22、12012120)(2sssG G=tf(120,1,12,120); y,t=step(G); Y ,K=max(y); tp=t(K) c=dcgain(G); n=1; while y(n)0.98*c)&(y(i)G=tf(0.01,1 0.002 0.01); y,t=step(G); Y,k=max(y); tp=t(k) C=dcgain(G); n=1; while y(n)0.98*C)&(y(i) G=tf(1,conv(1,2,2,1,6,13),0); rlocus(G); grid title(Root Locus Plot of G(s)=K/s(s+2s+2)(s
23、2+6s+13) K,P=rlocfind(G) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 32 页 - - - - - - - - - Select a point in the graphics window 结果显示:selected_point =0.0498 + 1.0248i K = 33.7970 P = -2.8003 + 2.2016i -2.8003 - 2.2016i -2.4802 0.0404 + 1.0355i 0.0404 - 1.0
24、355i 所以 K的取值范围是:0K s=tf(s); G=(s+12)/(s+1)*(s2+12*s+100)*(s+10); rlocus(G) grid title(G(s)=K(s+12)/(s+10)(s2+12*s+100)(s+10) 的根轨迹曲线 ) K,P=rlocfind(G) Select a point in the graphics window selected_point = 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 32 页 - -
25、 - - - - - - - -0.1777 +10.4037i K = 1.1529e+003 P = 0.1038 +10.1743i 0.1038 -10.1743i -11.6038 + 2.9398i -11.6038 - 2.9398i 所以 K值的取值范围是:0K s=tf(s); G=(0.05+1)/(s*(0.0714*s+1)*(0.012*s2+0.1*s+1); rlocus(G) grid title(G(s)=K(0.05+1)/s(0.0714s+1)(0.012s2+0.1s+1) 的根轨迹曲线) K,P=rlocfind(G) Select a point
26、in the graphics window selected_point = 0.0592 + 7.3602i K = 6.5706 P = 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 32 页 - - - - - - - - - -11.2717 + 4.9455i -11.2717 - 4.9455i 0.1022 + 7.2895i 0.1022 - 7.2895i 所以 K值的取值范围是:0Ks=tf(s); G=(s2+2*s+4)/(s*(s+4)*(
27、s+6)*(s2+4*s+1); G1=feedback(G,1); rlocus(G1); grid title(Root Locus Plot of G(s)=K(s2+2*s+4)/(s*(s+4)*(s+6)*(s2+4s+1) K,P=rlocfind(G1) Select a point in the graphics window selected_point = 0.0533 + 6.2888i K = 500.7618 P = -12.2715 0.0236 + 6.3054i 0.0236 - 6.3054i -0.8878 + 1.8236i -0.8878 - 1.82
28、36i 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 32 页 - - - - - - - - - 实验六、控制系统的频率分析一、实验目的1. 利用计算机作出开环系统的波特图2. 观察记录控制系统的开环频率特性3. 控制系统的开环频率特性分析二、实验内容1用 Matlab 作 Bode图. 要求 : 画出对应Bode图 , 并加标题 . (1)25425)(2sssG num=25; den=1,4,25; bode(num,den) grid title(Bode
29、Diagram of G(s)=25/(s2+4*s+25) 显示伯德图如下所示:(2)) 92.1() 12.0(9)(22ssssssG num=9*1,0.2,1; den=conv(1,0,1,1.2,9); bode(num,den) grid 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 32 页 - - - - - - - - - title(Bode Diagram of G(s)=9*(s2+0.2*s+1)/(s*(s2+1.2*s+9) 显示伯德
30、图如下所示:2. 某开环传函为:)2)(5(50)(sssG,试绘制系统的Nyquist 曲线,并判断闭环系统稳定性,最后求出闭环系统的单位脉冲响应。(1)系统的Nyquist 曲线 num=50; den=conv(1,5,1,-2); nyquist(num,den) grid title(Nyquist Plot of G(s)=50/(s+5)*s-2) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 32 页 - - - - - - - - - 显示奈氏图如下
31、所示:2)判断闭环系统稳定性及单位脉冲响应num=50; den=conv(1 5,1 -2); G=tf(num,den); G1=feedback(G,1); figure; nyquist(num,den) %v=-2,2,-2,2; %axis(v) grid title(Nyquist Plot of G(s)=50/(s+5)*(s-2) figure; impulse(G1) 显示结果:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 32 页 - - -
32、- - - - - - 3. 已知系统结构图如图所示:其中: (1)1sGc(2)11sssGc要求:(a)作波特图,并将曲线保持进行比较 Gc1=tf(1,1); Gc2=tf(1,1 1 0); G=tf(1,1 1 0); G11=series(Gc1,G); G22=series(Gc2,G); sys1=feedback(G11,1,-1); sys2=feedback(G22,1,-1); bode(sys1,sys2); grid on; title( 波特图 ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
33、师精心整理 - - - - - - - 第 26 页,共 32 页 - - - - - - - - - (b)分别计算两个系统的稳定裕度值,然后作性能比较(1) G1=tf(1,1); G3=tf(1,1 1 0); Ga=series(G1,G3); sys1=feedback(Ga,1,-1); bode(sys1); margin(sys1); Gm,Pm,Wcq,Wcp=margin(sys1) grid title(lige) Gm = Inf Pm = 90 Wcq = Inf Wcp = 1.0000 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
34、- - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 32 页 - - - - - - - - - (2) num=1; den=conv(1 0,1 1); G2=tf(num,den); G3=tf(1,1 1 0); Gb=series(G2,G3); sys2=feedback(Gb,1,-1); bode(sys2); margin(sys2); Gm,Pm,Wcq,Wcp=margin(sys2) grid title(lige) grid on Warning: The closed-loop system is unstable. In
35、 ctrlMsgUtils.warning (line 25) In DynamicSystem/margin (line 65) Gm = Inf Pm = -138.6380 Wcq = NaN 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 32 页 - - - - - - - - - Wcp = 0.6913 (b)输入命令:num=1; den=conv(1,0,1,1); G1=tf(num,den); G2=tf(1,1); G3=series(G1,G2
36、); G=feedback(G3,1); Gm,Pm,Wcg,Wcp=margin(G) 显示结果 : Gm =Inf Pm = 90 Wcg = Inf Wcp =1.0000 实验七、数字 PID控制一、实验目的1了解 PID 控制器中 P、I 、D三种基本控制作用对控制系统性能的影响。2进行 PID 控制器参数工程整定技能训练。二、实验内容名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 29 页,共 32 页 - - - - - - - - - (a)名师资料总结 - - -精
37、品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 30 页,共 32 页 - - - - - - - - - (b)(c)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 31 页,共 32 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 32 页,共 32 页 - - - - - - - - -