实验三控制系统设计.docx

上传人:b****2 文档编号:17292154 上传时间:2023-07-23 格式:DOCX 页数:16 大小:105.79KB
下载 相关 举报
实验三控制系统设计.docx_第1页
第1页 / 共16页
实验三控制系统设计.docx_第2页
第2页 / 共16页
实验三控制系统设计.docx_第3页
第3页 / 共16页
实验三控制系统设计.docx_第4页
第4页 / 共16页
实验三控制系统设计.docx_第5页
第5页 / 共16页
实验三控制系统设计.docx_第6页
第6页 / 共16页
实验三控制系统设计.docx_第7页
第7页 / 共16页
实验三控制系统设计.docx_第8页
第8页 / 共16页
实验三控制系统设计.docx_第9页
第9页 / 共16页
实验三控制系统设计.docx_第10页
第10页 / 共16页
实验三控制系统设计.docx_第11页
第11页 / 共16页
实验三控制系统设计.docx_第12页
第12页 / 共16页
实验三控制系统设计.docx_第13页
第13页 / 共16页
实验三控制系统设计.docx_第14页
第14页 / 共16页
实验三控制系统设计.docx_第15页
第15页 / 共16页
实验三控制系统设计.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验三控制系统设计.docx

《实验三控制系统设计.docx》由会员分享,可在线阅读,更多相关《实验三控制系统设计.docx(16页珍藏版)》请在冰点文库上搜索。

实验三控制系统设计.docx

实验三控制系统设计

实验三控制系统设计

一、实验目的

掌握串联频域校正以及极点配置等控制系统常用设计方法。

二、实验题目及程序解答

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对状态观测器的运用有了更深的认识

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2