实验三 控制系统设计
一、 实验目的
掌握串联频域校正以及极点配置等控制系统常用设计方法。 二、 实验题目
1.考虑一个单位负反馈控制系统,其前向通道传递函数为:
k G0(s)s(s2)a) 试分别采用串联超前和串联滞后装置对该系统进行综合,要求系统
的速度误差系数为20(1/s),相角裕量大于50。。
b) 对比两种设计下的单位阶跃响应、根轨迹图以及bode图的区别。 采用串联超前装置 实验代码 t=[0:0.01:2]; w=logspace(-1,2); kk=40; Pm=50; ng0=kk*[1]; dg0=[1,2,0];
g0=tf(ng0,dg0); %原系统开环传递函数?
[ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w); %调用子函数fg_lead_pm? gc=tf(ngc,dgc) %超前校正装置传递函数? g0c=tf(g0*gc); %校正后系统开环传递函数? b1=feedback(g0,1);%校正前系统闭环传递函数? b2=feedback(g0c,1); %校正后系统闭环传递函数? step(b1,'r--',b2,'b',t); %绘制校正前后系统阶跃响应曲线? grid on, %绘制校正前后系统伯德图?
figure,bode(g0,'r--',g0c,'b',w); %绘制校正前后系统伯德图?
/ v .
. /
grid on
rlocus(g0c) %绘制校正后系统根轨迹图? [gm,pm,wcg,wcp]=margin(g0c) 执行结果 dgc =
0.0545 1.0000 gc =
0.2292 s + 1 ------------- 0.05452 s + 1
Continuous-time transfer function. gm = Inf
/ v .
. /
pm =
50.6016 wcg = Inf wcp =
8.9463
单位阶跃响应 根轨迹 Bode图:
/ v .
. /
单位阶跃响应
根轨迹图
/ v .
. /
2.已知控制系统的状态方程为
1000x0u0x01
61161y100Bode图
采用状态反馈,将系统的极点配置到-3,-3,-3,求状态反馈矩阵K。 实验代码
A=[0 1 0;0 0 1;-6 -11 -6]; b=[0 0 1]'; p=[-3 -3 -3]'; c=[1 0 0]; d=0;
/ v .
. /
k=acker(A,b,p) 执行结果 k =
21 16 3
3.已知控制系统的状态方程为
010x0010x0u61161
y100设计全维状态观测器,将观测器极点配置到-3j23,-5。实验代码
A=[0 1 0;0 0 1;-6 -11 -6]; b=[0; 0 ;1]; c=[1 0 0]; d=0;
p1=[-3+j*2*sqrt(3),-3-j*2*sqrt(3),-5]; l=place(A',c',p1)', eig(A-l*c)' 执行结果
/ v .
. /
l =
5.0000 10.0000 -16.0000
ans =
-3.0000 - 3.4641i -3.0000 + 3.4641i -5.0000 + 0.0000i
4.已知控制系统的状态方程为
1000x0u0x01
61161y100(1)采用状态反馈,将系统的极点配置到-1,-2,-3,求状态反馈矩阵K。假设该系统的状态不可测量,同时设计全维状态观测器,将观测器极点配置到
-3i23,-5。
(2)写出带有观测器下的6阶闭环系统的状态空间模型,判断此系统的可控和可观性,求此时系统的传递函数数学模型,并与不带观测器下系统闭环传递函数进行对比。
(3)对带与不带观测器下闭环系统单位阶跃响应的y与x的曲线进行对比。注:前者为6阶系统后者为3阶系统。
/ v .
. /
(1)-(2)实验代码 A=[0 1 0;0 0 1;-6 -11 -6]; B=[0;0;1]; C=[1 0 0]; D=0; p=eig(A)'; K=acker(A,B,p);
p1(1:3)=[-3-1i*2*sqrt(3),-3+1i*2*sqrt(3),-5]; L=place(A',C',p1)'; eig(A-L*C)';
AA=[A -B*K;L*C A-L*C-B*K]; BB=[B;B]; CC=[C 0 0 0]; DD=0;
sys1=ss(A-B*K,B,C,D); G1=tf(sys1)
sys2=ss(AA,BB,CC,DD); G2=tf(sys2) AB=ctrb(AA,BB); RAB=rank(AB)
if rank(AB)==length(AA)
/ v .
. /
disp('?状态可控') else
disp('状态不可控') end
CA=obsv(AA,CC); RCA=rank(CA) if rank(CA)==length(AA) disp('?状态可观测') else
disp('状态不可观测') end
figure(1),step(G1),hold on;title('不带状态观测器'); figure(2),step(G2),hold on;title('带状态观测器'); 执行结果 G1 = 1
----------------------
s^3 + 6 s^2 + 11 s + 6 Continuous-time transfer function. G2 =
s^3 + 11 s^2 + 51 s + 105 / v .
. /
------------------------------------------------------
s^6 + 17 s^5 + 128 s^4 + 538 s^3 + 1257 s^2 + 1461 s + 630
Continuous-time transfer function. RAB = 3 状态不可控 RCA = 3 状态不可观测
(3)下面第一幅图为带状态观测器(即6阶系统)阶跃响应曲线,第二幅图为 状态观测器(即3阶系统)阶跃响应曲线。由两幅图可以看出是完全一样的。其原因为加上状态观测器与不加状态观测器,传递函数如下: G2 =
s^3 + 11 s^2 + 51 s + 105 ------------------------------------------------
s^6 + 17 s^5 + 128 s^4 + 538 s^3 + 1257 s^2 + 1461 s + 630 或者用零极点表示为:
(s+5) (s^2 + 6s + 21) ---------------------------------------
(s+1) (s+2) (s+3) (s+5) (s^2 + 6s + 21)
/ v .
. /
G1 =
1 ----------------------
s^3 + 6 s^2 + 11 s + 6 或者用零极点表示为: 1 ----------------- (s+3) (s+2) (s+1)
由上面可以看出,如果将分子分母相同项消去后,两个传递函数是一致的,因此两个系统阶跃响应曲线是一致的。
/ v .
因篇幅问题不能全部显示,请点此查看更多更全内容