实验三控制系统设计.docx
《实验三控制系统设计.docx》由会员分享,可在线阅读,更多相关《实验三控制系统设计.docx(16页珍藏版)》请在冰点文库上搜索。
实验三控制系统设计
实验三控制系统设计
一、实验目的
掌握串联频域校正以及极点配置等控制系统常用设计方法。
二、实验题目及程序解答
1考虑一个单位负反馈控制系统,其前向通道传递函数为:
a)试分别采用串联超前和串联滞后装置对该系统进行综合,要求系统的速度误差系数为20(1/s),相角裕量大于50。
。
b)对比两种设计下的单位阶跃响应、根轨迹图以及bode图的区别。
步骤1:
创建串联超前校正文件fg_lead_Pm.m
function[ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w)%伯德图几何法求带惯性的PD控制器(ωc未知)
[mu,pu]=bode(ng0,dg0,w);%计算原系统的对数频率响应数据
[gm,pm,wcg,wcp]=margin(mu,pu,w);%求取原系统的相角裕度和剪切频率
alf=ceil(Pm-pm+5);%计算控制器提供的最大超前角度,ceil取整(向无穷大方向)
phi=(alf)*pi/180;%将最大超前角转换为弧度单位
a=(1+sin(phi))/(1-sin(phi));%计算a值
a1=1/a
dbmu=20*log10(mu);%系统的对数幅值
mm=-10*log10(a);%wm处的控制器对数幅值
wgc=spline(dbmu,w,mm);%插值求取wm,认为wm=wc
T=1/(wgc*sqrt(a));%计算T
ngc=[a*T,1];dgc=[T,1];%得到超前校正装置的分子分母多项式
步骤2:
串联滞后文件fg_lag_Pm.m
function[ngc,dgc]=fg_lag_pm(ng0,dg0,w,Pm)
[mu,pu]=bode(ng0,dg0,w);
wgc=spline(pu,w,Pm+5-180);%插值求取满足相角裕度的角频率作为期望的剪切频率
ngv=polyval(ng0,j*wgc);
dgv=polyval(dg0,j*wgc);
g=ngv/dgv;
alph=abs(1/g);T=10/alph*wgc,
ngc=[alph*T,1];dgc=[T,1];
步骤3:
建立shiyan31.m文件,比较对比两种设计下的单位阶跃响应、根轨迹图以及bode图的区别
kk=20;
n0=1,d0=conv([1,0],[1,2]);
w=logspace(-2,5,100);
g0=tf(n0,d0);
b0=feedback(kk*g0,1);%构造原系统闭环传递函数
[gm,pm,wcg,wcp]=margin(kk*g0)
Pm=50;
[n1,d1]=fg_lead_pm(n0,d0,Pm,w)%求取串联超前校正参数
gc1=tf(n1,d1);
g1=g0*gc1*kk%超前较正后开环传函
b1=feedback(g1,1)%超前较正过后闭环传函
[n2,d2]=fg_lag_pm(n0,d0,w,Pm);%求取串联滞后校正参数
gc2=tf(n2,d2)
g2=g0*gc2*kk%滞后校正后开环传函
b2=feedback(g2,1)%滞后校正后闭环传函
holdon%比较两种校正方法的效果,虚线原系统,实线为超前校正,点为滞后校正
step(b0,'--')
step(b1,'-')
step(b2,':
')
holdoff
figure
holdon
rlocus(kk*g0,'--')
rlocus(g1,'-')
rlocus(g2,':
')
holdoff
figure
holdon
bode(kk*g0,'--')
bode(g1,'-')
bode(g2,':
')
holdoff
命令窗口中结果如下
n0=
1
gm=
Inf
pm=
25.1801
wcg=
Inf
wcp=
4.2541
a1=
2.1171
n1=
2.02851.0000
d1=
4.29441.0000
Transferfunction:
40.57s+20
---------------------------
4.294s^3+9.589s^2+2s
Transferfunction:
40.57s+20
------------------------------------
4.294s^3+9.589s^2+42.57s+20
T=
4.0958
Transferfunction:
14s+1
-----------
4.096s+1
Transferfunction:
280.1s+20
---------------------------
4.096s^3+9.192s^2+2s
Transferfunction:
280.1s+20
------------------------------------
4.096s^3+9.192s^2+282.1s+20
(红色为原系统,绿色为超前校正结果,黑色为滞后校正结果)
阶跃响应
根轨迹图
Bode图
2.已知控制系统的状态方程为
采用状态反馈,将系统的极点配置到-1,-2,-3,求状态反馈矩阵K。
建立shiyan32.m其语句如下
a=[0,1,0;0,0,1;-6,-11,-6];
b=[0;0;1];
c=[1,0,0];d=0;
sys=ss(a,b,c,d);%建立系统
eig(a)
p=[-1;-2;-3];
K=acker(a,b,p)%求状态反馈矩阵
结果如下
ans=
-1.0000
-2.0000
-3.0000
K=
000
3.已知控制系统的状态方程为
设计全维状态观测器,将观测器极点配置到
建立shiyan33.m文件语句如下
a=[0,1,0;0,0,1;-6,-11,-6];
b=[0;0;1];
c=[1,0,0];d=0;
sys=ss(a,b,c,d);
p=[-5;-3+2*sqrt(3)*i;-3-2*sqrt(3)*i];
L=place(a',c',p)'
eig(a-L*c)',
[xh,x,t]=simobsv(a,b,c,d,L)
命令窗口得
L=
5.0000
10.0000
-16.0000
ans=
-3.0000-3.4641i-3.0000+3.4641i-5.0000
4.已知控制系统的状态方程为
a)采用状态反馈,将系统的极点配置到-1,-2,-3,求状态反馈矩阵K。
假设该系统的状态不可测量,同时设计全维状态观测器,将观测器极点配置到
。
答:
由二三题可得K=[0,0,0],L=[5;10;-16]
b)写出带有观测器下的6阶闭环系统的状态空间模型,判断此系统的可控和可观性,求此时系统的传递函数数学模型,并与不带观测器下系统闭环传递函数进行对比。
c)对带与不带观测器下闭环系统单位阶跃响应的y与x的曲线进行对比。
注:
前者为6阶系统后者为3阶系统。
建立shiyan34.m
A=[010;001;-6-11-6];b=[0;0;1];c=[100];d=0;
p1=[-1-2-3];
p2=[-3+j*2*(3^(1/2)),-3-j*2*(3^(1/2)),-5];
G=ss(A,b,c,d);
t=[0:
0.01:
10];
k=acker(A,b,p1)l=(acker(A',c',p2))'
Gc=-reg(G,k,l)%基于全维状态观测器的调节器
a1=[A-b*k,b*k;zeros(3,3),A-l*c];
b1=[b;b];
c1=[c000];
n=size(a1,1);
Qc=ctrb(a1,b1);%求取系统可控矩阵
n1=rank(Qc);
ifn1==n,disp('systemiscompletelycontrollable')
elsedisp('systemisnotcontrollable')
end
Qo=obsv(a1,c1);n2=rank(Qo);%求取系统可观矩阵
ifn2==n,disp('systemiscompletelyobservable')
elsedisp('systemisnotobservable')
end
G2=zpk(G);%原系统传递函数
G3=zpk(Gc)%此时系统传递函数
G_6=ss(a1,b1,c1,d)
G_1=feedback(G,1);y_1=step(G_1,t);
G_2=feedback(G_6,1);y_2=step(G_2,t);
plot(t,y_1,'bx',t,y_2,'r');gridon;
在命令窗口中得到
k=
000
l=
5
10
-16
a=
x1_ex2_ex3_e
x1_e-510
x2_e-1001
x3_e10-11-6
b=
y1
x1_e5
x2_e10
x3_e-16
c=
x1_ex2_ex3_e
u1000
d=
y1
u10
Inputgroups:
NameChannels
Measurement1
Outputgroups:
NameChannels
Controls1
Continuous-timemodel.
systemiscompletelycontrollable
systemisnotobservable
Zero/pole/gainfrominput"y1"tooutput"u1":
0
Inputgroups:
NameChannels
Measurement1
Outputgroups:
NameChannels
Controls1
a=
x1x2x3x4x5x6
x1010000
x2001000
x3-6-11-6000
x4000-510
x5000-1001
x600010-11-6
b=
u1
x10
x20
x31
x40
x50
x61
c=
x1x2x3x4x5x6
y1100000
d=
u1
y10
Continuous-timemodel.
三、实验收获
1对系统的超前校正,滞后校正的原理有了更深刻的认识
2学会了运用状态反馈函数配置系统极点,并对系统极点与稳定性关系有了更深的认识
3对状态观测器的运用有了更深的认识