实验三控制系统综合复习课程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三控制系统综合
实验三控制系统设计
一、 实验目的
掌握串联频域校正以及极点配置等控制系统常用设计方法。
二、 实验题目
1.考虑一个单位负反馈控制系统,其前向通道传递函数为:
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 」ead_pm(ng0,dg0,Pm,w); %调用子函数 fg 」ead_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); %绘制校正前后系统伯德图
grid on
rlocus(g0c) %绘制校正后系统根轨迹图?
[gm,pm,wcg,wcp]=margi n( g0c)
执行结果
dgc =
0.0545 1.0000 gc =
0.2292 s + 1
0.05452 s + 1
Con ti nu ous-time tran sfer fun cti on.
gm =
G °(s) k s(s 2)
Inf pm =
50.6016 wcg =
Inf wcp =
8.9463
单位阶跃响应根轨迹Bode图:
单位阶跃响应
f
i
u
o
:
^
.
-
W^T^JiFUICVE.
根轨迹图
Bode 图
2.已知控制系统的状态方程为
0 1 0 0
x 0 0 1 x 0 u
6 11 6 1
y 1 0 0
实验代码
A=[0 1 0;0 0 1;-6 -11-6]; b=[0 0 1]';
P=[-3 -3 -3]';
c=[1 0 0];
d=0;
k=acker(A,b,p)
执行结果
k =
21 16 3
S
S
E
采用状态反馈,将系统的极点配置到-3,-3, -3,求状态反馈矩阵K
3.已知控制系统的状态方程为
0 10 0
0 0 1 x 0 u
6 116 1
设计全维状态观测器,将观测器极点配置到-3 j2、、3,-5
实验代码
A=[0 1 0;0 0 1;-6 -11 -6];
b=[0; 0 ;1];
c=[1 0 0];
d=0;
p仁[-3+j*2*sqrt(3),-3-j*2*sqrt(3),-5];
l=place(A',c',p1)', eig(A-l*c)'
执行结果
5.0000
10.0000
-16.0000
ans =
-3.0000 - 3.4641i -3.0000 + 3.4641i -5.0000 + 0.0000i
4.已知控制系统的状态方程为
0 1 0 0
0 0 1 x 0 u
6 116 1
(1)采用状态反馈,将系统的极点配置到-1, -2, -3,求状态反馈矩阵K。假设该系统的状态不可测量,同时设计全维状态观测器,将观测器极点配置到
-3 i2 .3,-5。
(2)写出带有观测器下的6阶闭环系统的状态空间模型,判断此系统的可控和可观性,求此时系统的传递函数数学模型,并与不带观测器下系统闭环传递函数进行对比。(3)对带与不带观测器下闭环系统单位阶跃响应的y与x的曲线进行对比。注:前者为6阶系统后者为3阶系统。
(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=ra nk(AB)
if ran k(AB)==le ngth(AA)
disp('?状态可控')
else
disp(状态不可控')
end
CA=obsv(AA,CC);
RCA=ra nk(CA)
if ran k(CA)==le ngth(AA)
disp('?状态可观测')
else