YLL计算机控制作业
- 格式:docx
- 大小:372.59 KB
- 文档页数:22
计算机控制技术 姓 名: 学 号:S140 专 业:液压 日 期:2015年4月20日 指导教师:刘思远 2、 (1) 在Simulink中搭建模型如下图
图2-1 选择Model Discretizer工具,其路径是Tool Control Design Model Discretizer,打开Model Discretizer工具如图2-2所示,并如图2-2进行设置。
图2-2 这样连续系统变换后的离散系统仿真图为图2-3. 图2-3 在MATLAB的Command Window窗口中输入 >> stem(tout,y,'*','filled');grid >> stem(tout,u,'*','filled');grid >> stem(tout,e,'*','filled');grid 得到结果如下图
图2-4单位速度输入时输出响应曲线 012345678910012345678910
Ty(k) 图2-5单位速度输入时控制信号仿真曲线
图2-6单位速度输入时误差仿真曲线 012345678910-2-10123Tu(k)
012345678910-0.100.10.20.30.40.50.6
Te(k)(2) 在Simulink中搭建模型如下图
图2-7 选择Model Discretizer工具,其路径是Tool Control Design Model Discretizer,打开Model Discretizer工具如图2-8所示,并如图2-8进行设置。
图2-8 这样连续系统变换后的离散系统仿真图为图2-9. 图2-9 在MATLAB的Command Window窗口中输入 >> stem(tout,y,'*','filled');grid >> stem(tout,u,'*','filled');grid >> stem(tout,e,'*','filled');grid 得到结果如下图
图2-10单位阶跃输入时输出响应曲线 01234567891000.20.40.60.811.21.4
Ty(k) 图2-11单位阶跃输入时控制仿真曲线
图2-12单位阶跃输入时误差仿真曲线 012345678910-3-2-10123Tu(k)
012345678910-0.200.20.40.60.811.2
Te(k)3、 在Simulink中搭建模型如下图
图3-1 选择Model Discretizer工具,其路径是Tool Control Design Model Discretizer,打开Model Discretizer工具如图3-2所示,并如图3-2进行设置。
图3-2 这样连续系统变换后的离散系统仿真图为图3-3。 图3-3 运行以上模型后,在MATLAB的Command Window窗口中输入 >> stem(tout,y,'*','filled');grid >> stem(tout,u,'*','filled');grid >> stem(tout,e,'*','filled');grid 得到结果如下图
图3-4单位阶跃输入时输出响应曲线 01234567891000.20.40.60.811.21.4
Ty(k) 图3-5单位阶跃输入时控制仿真曲线
图3-6单位阶跃输入时误差仿真曲线 012345678910-1.5-1-0.500.51Tu(k)
012345678910-0.200.20.40.60.811.2
Te(k) 1、解: (1)检验原系统是否满足要求,在MATLAB中编写如下程序: num=[0 0 10];den=[0.5 1 0]; G=tf(num,den);%建立校正前系统开环传递函数 sys=feedback(G,1); %建立校正前系统闭环传递函数 figure(1) step(sys) grid figure(2) [Gm,Pm,Wcp,Wcg]=margin(G)%求稳定裕量:Gm幅值稳定裕量,Pm相角稳定裕量,Wcp相角穿越频率,Wcg幅值穿越频率 margin(G) grid 得到原系统的bode图与阶跃响应曲线:
图1-1原系统bode图 -60-40-200204060
Magnitude (dB)
10-1100101102-180-135-90Phase (deg)
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 25.2 deg (at 4.25 rad/sec)
Frequency (rad/sec) 图1-2原系统阶跃响应曲线 再输入如下程序: syms zeta sigma s Gb zeta=1/(20^0.5) sigma=2.7182^(-pi*zeta/(1-(zeta)^2)^(1/2)) ts=4/(zeta*(20^0.5)) phib=20/(s^2+2*s+20) [Gb]=solve('20/(s^2+2*s+20)=Gb/(1+Gb)',Gb) kv=limit(s*Gb,s,0) 得原系统的性能指标:
①调节时间为ts=3.79s >1s,超调量%48%>%25,不满足要求; 1010)(lim0ssGpKvs满足要求。
②幅值稳定裕度:Lh=20lg(Gm)=dB ,-穿越频率:grad/s ,
012345600.511.5System: sysTime (sec): 0.702Amplitude: 1.48System: sys
Time (sec): 3.79Amplitude: 1.02
Step Response
Time (sec)Amplitude相位稳定裕度:18.25 ,剪切频率:c4.25rad/s 。
分析可知,需要对原系统采取如下措施:加快反应速度,降低超调量,适当增大相位稳定裕度,这样我们需要设计超前校正器D(s),再将其离散化为D(z)。 (2)求校正器增益Kc:
因为 10vK
可得:1ck,取ck=1 (3)确定期望极点位置: 输入如下程序: sigma=0.25; zeta=((log(1/sigma))^2/((pi)^2+(log(1/sigma))^2))^(1/2) 得:zeta =0.4037
取=0.6,计算可得Wn=5 在MATLAB命令窗口中输入以下程序: zeta=0.6;wn=5; p=[1 2*zeta*wn wn*wn]; roots(p) 得到如下结果: ans = -3.0000 + 4.0000i -3.0000 - 4.0000i 即系统的主导极点:S1,2=-3.0000 4.0000i (4)求校正器的传递函数 根据根轨迹解析法校正理论,编制如下程序: kc=1; s_1= -3.0000 + 4.0000i; nk1=10; dk1=conv([1 0],[0.5 1]); ngv=polyval(nk1,s_1);dgv=polyval(dk1,s_1); g=ngv/dgv;zetag=angle(g);zetag_d=zetag*180/pi; mg=abs(g);ms=abs(s_1); zetas=angle(s_1);zetas_d=zetas*180/pi; tz=(sin(zetas)-kc*mg*sin(zetag-zetas))/(kc*mg*ms*sin(zetag)); tp=-(kc*mg*sin(zetas)+sin(zetag+zetas))/(ms*sin(zetag)); nk=[tz,1];dk=[tp,1]; Gc=tf(nk,dk) 运行程序后,得到校正器传递函数: Transfer function: 0.2025 s + 1 ------------ 0.05 s + 1
即校正传递函数:0.2025 s + 10.05 s + 1cG (5)校验校正器 编制如下程序 global y t nc dc n1=10;d1=conv([1 0],[0.5 1]); s1=tf(n1,d1); Gc=tf([0.2025 1],[0.05 1]); sys=feedback(s1*Gc,1); step(sys) [y,t]=step(sys); [mp,tf]=max(y); cs=length(t); yss=y(cs); sigma=(mp-yss)/yss sigma = 0.1845 tp=t(tf) tp = 0.5890 i=cs+1;n=0; while n==0, i=i-1; if i==1, n=1;