西安理工大学自控课设-郝贝尔
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动控制理论
设计报告
班级:电力091班
姓名:郝贝尔
学号:3090651022
指导老师:杨晓萍宁联辉李辉梁振峰
1、 设计目的
通过此次的课程设计掌握控制系统的设计方法,利用MATLAB 软件编程进行辅助设计,对该系统进行串联校正。
使该系统满足动态及静态性能指标,如相位裕量,系统的稳态误差等要求。
2、 设计要求
已知一单位反馈控制系统如图所示,其中()c G s 为校正装置,设计串联校正装置,满足(1)阶跃响应扰动引起的稳态误差0.1ds e ≤;(2)相角稳定裕度
45o γ≥.
.
3、 设计思路及步骤
(1)根据要求的稳态品质指标,求系统的开环增益值;
a. 误差信号与扰动信号之间的传递函数为
22
221()111(1)()(1)(1)1()1c E s Ts s Ts K D s s Ts TS K
G s K s s Ts
αα+===+++++++ b.
当1()D s s =时,2
1()[(1)(1)]
Ts
E s s s Ts Ts K α+=
+++ 0
1
lim ()s eds sE s K
→==
,由0.1eds =得10K =
.
设计频率法超前校正的MATLAB 子函数如下:
functionGc=plsj(G,kc,ypm) G=tf(G);
[mag,pha,w]=bode(G*kc); Mag=20*log10(mag);
[Gm,Pm.Wcg,Wcp]=margin(G*kc);
phi=(ypm-getfield(Pm,'Wcg'))*pi/180; alpha=(1+sin(phi))/(1-sin(phi)); Mn=-10*log10(alpha); Wcgn=spline(Mag,w,Mn); T=1/(Wcgn*sqrt(alpha)); Tz=alpha*T;
Gc=tf([Tz 1],[T 1]);
(2)利用MATLAB 求出系统校正前后的闭环传递函数和校正装置对其进行时域性能分析(求出校正前后系统输入信号为阶跃信号时的稳态误差值并进行系统的动态特性分析,求出其性能指标%,,,s p r t t t 的值)。
Matlab 程序如下:
clear num=1;
den=[1 0 0]; G=tf(num,den); s=roots(den); kc=5;
yPm=45+10;
Gc=plsj(G,kc,yPm) GGc=G*Gc*kc;
Gy_c=feedback(G,1) Gx_c=feedback(GGc,1) figure(1)
step(Gy_c,'r'); hold on
[y1,t]=step(Gy_c); %求出该系统的单位阶跃响应 ytr=find(y1>=0.98);
rise_time1=t(ytr(1)) %计算上升时间 [ymax,tp]=max(y1);
peak_time1=t(tp) %计算峰值时间 max_overshoot1=ymax-1 %计算超调量 s=length(t);
while y1(s)>0.98&y1(s)<1.02 s=s-1; end
settling_time1=t(s) %计算调整时间 step(Gx_c,'b') grid on
[y2,t]=step(Gx_c); %求出该系统的单位阶跃响应 ytr=find(y2>=0.98);
rise_time2=t(ytr(1)) %计算上升时间 [ymax,tp]=max(y2);
peak_time2=t(tp) %计算峰值时间 max_overshoot2=ymax-1 %计算超调量 s=length(t);
while y2(s)>0.98&y2(s)<1.02 s=s-1; end
settling_time2=t(s) %计算调整时间 hold off
运行结果:
未校正之前的闭环传递函数为:
121
()1
B G s s =
+,
超前校正环节传递函数为:
0.79641
0.079181
c s G s +=
+,
校正后的闭环传递函数为:
2323.9825
()0.07918 3.9825
B s G s s s s +=
+++
阶跃响应曲线:
图(1)校正前后阶跃相应的对比图矫正前系统时域性能指标为:
上升时间:rise_time1 =1.8750
峰值时间:peak_time1 =15.7500
超调量:max_overshoot1 =0.9991
调节时间:settling_time1 =39.7500
矫正后系统时域性能指标为:
上升时间:rise_time2 =0.4125
峰值时间:peak_time2 = 0.7590
超调量:max_overshoot2 =0.2311
调节时间:settling_time2 =1.7985
(3)利用MATLAB求出系统校正前后的bode图,得到系统校正前后的频域性能指标。
Matlab程序如下:
clear
num=1;
den=[1 0 0];
G=tf(num,den);
s=roots(den);
kc=5;
yPm=45+10;
Gc=plsj(G,kc,yPm);
GGc=G*Gc*kc;
Gy_c=feedback(G,1);
Gx_c=feedback(GGc,1);
figure(2)
bode(G,'r')
hold on
[aGm1,aPm1,aWcg1,aWcp1]=margin(G)
bode(GGc,'b')
axis([-0.01 1000 -200 -120])
grid on
[aGm2,aPm2,aWcg2,aWcp2]=margin(GGc)
hold off
运行结果:
aGm1 =1
aPm1 =0
aWcg1 =1
aWcp1 =1
aGm2 = Inf
aPm2 =55.0000
aWcg2 =Inf
aWcp2 =3.9822
图(2)校正前后开环对数频率特性矫正前系统频域性能指标为:
幅值裕量:aGm1 =1
相角裕量:aPm1 =0
穿越频率:aWcg1 =1
截止频率:aWcp1 =1
矫正后系统频域性能指标为:
幅值裕量:aGm2 =Inf
相角裕量:aPm2 =55.0000
穿越频率:aWcg2 =Inf
截止频率:aWcp2 =3.9822
Matlab程序如下:
num=1;
den=[1 0 0];
G=tf(num,den);
s=roots(den);
kc=5;
yPm=45+10;
Gc=plsj(G,kc,yPm)
GGc=G*Gc*kc;
Gy_c=feedback(G,1)
Gx_c=feedback(GGc,1)
figure(3)
numGGc=GGc.num{1};
denGGc=GGc.den{1};
rlocus(numGGc,denGGc,'b')
hold on;
numG=G.num{1};
denG=G.den{1};
rlocus(numG,denG,'r')
axis([-14 1 -15 15])
plot(s,'X')
hold off
运行结果:
图(3)校正前后的根轨迹对比图
4、设计小结
由图可知,未增加校正装置之前,系统的阶跃响应曲线是等幅振荡的,不稳定,怎么校正装置后,系统变的稳定了。
经过此次的自动控制原理课程设计,我学会了如何运用Matlab这样一个具有强大功能的数学工具对一个系统进行分析和校正,并且进行仿真,从而把理论和实际相结合。
面对一个开环的传递函数,各有其的参数和特性,可能稳定,也可能不稳定。
我们需要应用串联校正装置对该系统进行改进,使之满足设计的基本要求。
这次的设计让我学到了很多东西,也让我学会了很多东西。