1、控制系统仿真matlab第六章习题答案汇总控制系统仿真第六章课后题作业6.1在图6.1中,已知单位负反馈系统被控对象的传递函数为试编写matlab程序,设计系统的超前矫正器Gc(s),要求:1)在斜坡信号r(t)=2t作用下,系统的稳态误差ess s=tf(s); G=1000/(s*(0.1*s+1)*(0.001*s+1); margin(G) % 绘制校正前的bode图 figure(2) sys=feedback(G,1); step(sys) %绘制校正前的单位阶跃响应曲线 Gm,Pm=margin(G); %该句值计算bode图的增益裕量Gm和相位裕量Pm mag,phase,w=
2、bode(G); %该句只计算bode图上多个频率点w对应的幅值和相位 QWPm=50; %取矫正后的相位为50 FIm=QWPm-Pm+5; FIm=FIm*pi/180; alfa=(1-sin(FIm)/(1+sin(FIm); adb=20*log10(mag); am=10*log10(alfa); wc=spline(adb,w,am); T=1/(wc*sqrt(alfa); alfat=alfa*T; Gc=tf(T 1,alfat 1) %校正器的传递函数 Transfer function:0.01794 s + 1-0.00179 s + 1 figure(3) marg
3、in(Gc*G) % 系统矫正后的bode图 figure(4) step(feedback(Gc*G,1) % 校正后的单位阶跃响应曲线作业6.2在图6.1中,已知单位负反馈系统被控对象的传递函数为 试编写matlab程序,设计系统的滞后校正器Gc(s),要求:1) 在斜坡信号r(t)=t作用下,系统的稳态误差ess;2) 校正后系统的相位裕度Pm范围为:4050;3) 绘制系统矫正前后的bode图和阶跃响应曲线。计算K ess=1/K=100 取K=100程序如下: s=tf(s); G=100/(s*(0.1*s+1)*(0.02*s+1); margin(G) %绘制校正前的bode图
4、如下图示,这是一个不稳定的系统。 figure(2) step(feedback(G,1)可以看出系统的动态响应不稳定,处于震荡发散的状态。 P0=45; fic=-180+P0+5; mu,pu,w=bode(G); wc2=spline(pu,w,fic); d1=conv(conv(1 0,0.1 1),0.02 1); na=polyval(100,j*wc2); da=polyval(d1,j*wc2); %该句是用j*wc2代替多项式中的s G1=na/da; g1=abs(G1); %abs()函数是取绝对值,这里表示求复数G1的模 L=20*log10(g1); beta=10
5、(L/20); T=1/(0.1*wc2); betat=beta*T; Gc=tf(T 1,betat 1) Transfer function:1.558 s + 1-20.27 s + 1 figure(3) margin(Gc*G) figure(4) step(feedback(Gc*G,1)作业6.3在图6.1中,已知单位负反馈系统被控对象的传递函数为 试编写matlab程序,设计系统的滞后-超前校正器Gc(s),要求:1) 在单位斜坡信号r(t)=t作用下,系统的速度误差系数Kv=20s-1;2) 校正后系统的实际相位裕量Pm范围为:4258;3) 校正后系统的实际剪切频率wc2
6、=1.3rad/s;4) 绘制系统校正前后的bode图和阶跃响应曲线。由题知 K=40程序如下:先绘制校正前的bode图和单位阶跃响应曲线,再绘制校正后的第一种 s=tf(s); G0=40/(s*(s+1)*(s+2); figure(1) margin(G0) figure(2) step(feedback(G0,1)校正前系统的增益裕量Gm=-16.5,相位裕量Pm=-40.4都是负值,系统不稳定剪切频率wc1=3.19rad/s,阶跃响应曲线是发散的。 wc2=4; Gm,Pm,wc1=margin(G0); beta=9;T1=1/(0.1*wc1); betat=beta*T1;
7、Gc1=tf(T1 1,betat 1) %计算并显示滞后校正器传递函数 Transfer function:7.071 s + 1-63.64 s + 1 sope=G0*Gc1; %计算原系统与滞后校正器串联后的传递函数 num=sope.num1;den=sope.den1; na=polyval(num,j*wc2); da=polyval(den,j*wc2); G=na/da; g1=abs(G); L=20*log10(g1); alfa=10(L/20); T=1/(wc2*(alfa)(1/2); alfat=alfa*T; Gc2=tf(T 1,alfat 1) Trans
8、fer function: 1.018 s + 1-0.06139 s + 1 G=G0*Gc1*Gc2; sys=feedback(G,1); figure(3) margin(G) figure(4) step(sys)第二种:改进后 s=tf(s); G0=40/(s*(s+1)*(s+2); figure(1) margin(G0) figure(2) step(feedback(G0,1) wc2=10; Gm,Pm,wc1=margin(G0); beta=9;T1=1/(0.1*wc1); betat=beta*T1; Gc1=tf(T1 1,betat 1); % n1=con
9、v(T1 1,0 40); d1=conv(conv(conv(1 0,1 1),1 2),betat 1); na=polyval(n1,1i*wc2); da=polyval(d1,1i*wc2); G=na/da; g1=abs(G); L=20*log10(g1); alfa=10(L/20); T=1/(wc2*(alfa)(1/2); alfat=alfa*T; Gc2=tf(T 1,alfat 1); G=G0*Gc1*Gc2; sys=feedback(G,1); figure(3) margin(G) figure(4) step(sys)作业6-4在图6.1中,已知受控对象
10、为一个带延迟的惯性环节,其传递函数为试编写matlab程序,用Ziegler-Nichols经验整定公式中的两种方法,分别计算P,PI,PID控制器的参数,并进行阶跃响应仿真。由传递函数知:比例系数K=6,惯性时间常数T=17.纯延迟时间常数t=7.可采用Ziegler-Nichols经验整定公式中阶跃响应整定法。 K=6;T=17;tau=7; s=tf(s); Gz=K/(T*s+1); np,dp=pade(tau,2); G1=tf(np,dp); G=Gz*G1; Pkp=T/(K*tau) % 计算比例控制器的KpPkp = 0.4048 step(feedback(Pkp*G,1
11、),hold on PIKp=0.9*T/(K*tau); PITi=3*tau; %计算比例积分控制器的Kp和Ti PIGc=PIKp*(1+1/(PITi*s) Transfer function:7.65 s + 0.3643- 21 s step(feedback(PIGc*G,1),hold on PIDKp=1.2*T/(K*tau); PIDTI=2*tau; PIDTd=0.5*tau; PIDGc=PIDKp*(1+1/(PIDTI*s)+PIDTd*s/(PIDTd/10)*s+1) Transfer function:26.18 s2 + 6.97 s + 0.4857- 4.9 s2 + 14 s step(feedback(PIDGc*G,1),hold on PIDKp,PIDTI,PIDTdans = 0.4857 14.0000 3.5000 gtext(p); %在曲线上打印文字 gtext(PI); gtext(PID);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1