自控课程设计

自控课程设计
自控课程设计

一、设计目的:

、了解控制系统设计的一般方法、步骤。

2、掌握对系统进行稳定性分析、稳态误差分析以及动态特性分析的

方法。

3、掌握利用MATLAB对控制理论内容进行分析和研究的技能。

4、提高分析问题解决问题的能力。

二、设计内容与要求:

设计内容:

1、阅读有关资料。

2、对系统进行稳定性分析、稳态误差分析以及动态特性分析。

3、绘制根轨迹图、Bode图、Nyquist图。

4、设计校正系统,满足工作要求。

设计条件:

已知单位负反馈系统的开环传递函数:

试用频率法设计串联滞后校正装置,使系统的相位裕度为,增益裕度不低于10dB,静态速度误差系数,剪切频率不低于1rad/s。

设计要求:

能用MATLAB解复杂的自动控制理论题目。

能用MATLAB设计控制系统以满足具体的性能指标。

能灵活应用MATLAB的CONTROL SYSTEM 工具箱和SIMULINK仿

真软件,分析系统的性能。

三、设计步骤:

1、自学MATLAB软件的基本知识。包括MATLAB的基本操作命令、控制系统工具箱的用法等,并上机实验。

2、基于MATLAB用频率法对系统进行串联校正设计,使其满足给定的频域性能指标。要求程序执行的结果中有校正装置传递函数和校正后系统开环传递函数,校正装置的参数,等的值。

解:

1. 求满足稳态误差要求的系统开环增益.

即被控对象的传递函数为:

= =

⑵.利用已经确定的开环增益k,画出未校正的系统的Bode图,求出 相位裕度和幅值裕度。

在MATLAB中输入:

G=tf(7,[0.083 0.667 1 0]);[kg,r]=margin(G)

Margin(G)

该程序执行后,得系统的Bode图及性能指标

kg = 1.1480

r = 3.4614

即模稳定裕度:= 穿越频率:=

相稳定裕度:剪切频率:=

⑶.根据题意,选择校正装置:采用串联滞后校正。

截止频率相角滞后通常取(-6~-14)

取-6

=180+=

=-

得=1.6 rad/s

⑷.滞后校正装置的传递函数为:G(S)= , =(1/5~1/10)*

-20lgb=20lg7/1.92 得b=0.23

取T=27

所以滞后校正传递函数为

校正后开环传递函数为*

⑸.检验:

在MATLAB中输入:

G=tf(7*[6.21 1],conv([0.083,0.667,1,0],[27 1]))

[Gm,Pm,Wcp,Wcg]=margin(G);

margin(G)

Transfer function:

43.47 s + 7

-------------------------------------

2.241 s^4 + 18.09 s^3 + 27.67 s^2 + s

Gm =4.5769

Pm =38.811

Wcp =3.3245

Wcg = 1.3206

即,模稳定裕度:=穿越频率:

相稳定裕度:剪切频率: =

由以上数据可以看出,在串联了一个滞后校正装置后系统稳定, ,满足,增益裕度不低于10dB。满足要求。

3、利用MATL AB函数求系统的特征根,并判断系统的稳定性,为什

么?

校正前:

程序如下:

num=[7];

den=[0.083 0.667 1 0]; g=tf(num,den);

sys=feedback(g,1);

pzmap(g);

den=[0.083 0.667 1 7]; t=tf(num,den);

pzmap(t);

[p,z]=pzmap(g);

den=sys.den{1};

r=roots(den);

disp(r)

-7.8673

-0.0844 + 3.2730i

-0.0844 - 3.2730i

开环零极点分布图

征根中无实部为正的根,所以闭环系统是稳定的。校正后:

程序如下所示:

num=7;

den=conv([0.5 1 0],[0.167 1]);

Gs=tf(num,den);

n1=[6.21 1];

d1=[27 1];

Gc=tf(n1,d1);

sope=Gs*Gc;

Go=feedback(sope,1,-1)

eig(Go)

Transfer function:

43.47 s + 7

-----------------------------------------------

2.255 s^4 + 18.09 s^3 + 27.67 s^2 + 44.47 s + 7

ans = -6.6091

-0.6209 + 1.5204i

-0.6209 - 1.5204i

-0.1742

计算数据表明,特征根中无实部为正的根,所以闭环系统是稳定的。

4、利用MATLAB作出系统校正前与校正后的单位脉冲响应曲线,单位阶跃响应曲线,单位斜坡响应的曲线图,分析三种曲线关系。求出系统动态性能指标的值,以及稳态误差的值,并分析其有何变化?

校正前:

程序如下:

num=7;

den=conv([0.5 1 0],[0.167 1]);

g=tf(num,den);

sys=feedback(g,1,-1);

[y,t]=step(sys);

C=dcgain(sys);

[max_y,k]=max(y);

tp=t(k)

max_overshoot=100*(max_y-C)/C

r1=1;

while(y(r1)<0.1*C)

r1=r1+1;

end

r2=1;

while(y(r2)<0.9*C)

r2=r2+1;

end

tr=t(r2)-t(r1)

s=length(t);

while y(s)>0.98*C&&y(s)<1.02*C

s=s-1;

end

ts=t(s)

figure(1);

step(sys);

figure(2);

impulse(sys)

figure(3);

[num2,den2]=tfdata(sys,'v');

step(num2,[den2,0])

ess=1-dcgain(sys)

语句段执行结果:

tp = 1.1003

max_overshoot = 85.1360

tr =0.3668

ts =47.1914

ess = 0

校正前斜坡响应

校正后:

程序如下所示

num=7;

den=conv([0.5 1 0],[0.167 1]);

Gs=tf(num,den);

n1=[6.21 1];

d1=[27 1];

Gc=tf(n1,d1);

sope=Gs*Gc;

Go=feedback(sope,1,-1)

[y,t]=step(Go);

C=dcgain(Go);

[max_y,k]=max(y);

tp=t(k)

max_overshoot=100*(max_y-C)/C r1=1;

while(y(r1)<0.1*C)

r1=r1+1;

end

r2=1;

while(y(r2)<0.9*C)

r2=r2+1;

end

tr=t(r2)-t(r1)

s=length(t);

while y(s)>0.98*C&&y(s)<1.02*C

s=s-1;

end

ts=t(s)

figure(1);

step(Go)

figure(2);

impulse(Go)

figure(3);

[num2,den2]=tfdata(Go,'v');

step(num2,[den2,0])

ess=1-dcgain(Go)

Transfer function:

43.47 s + 7

-----------------------------------------------

2.255 s^4 + 18.09 s^3 + 27.67 s^2 + 44.47 s + 7 tp =2.2056

max_overshoot =35.2631

tr =0.8230

ts =7.8350

ess =0

Transfer function:

35.91 s + 7

-----------------------------------------------

1.587 s^4 + 1

2.76 s^3 + 19.67 s^2 + 36.91 s + 7

tp =2.0327

max_overshoot = 41.4975

tr =0.8131

ts = 6.7758

ess = 0

校正前阶跃响应校正后阶跃响应

校正前脉冲响应校正后脉冲响应

校正前斜坡响应校正后斜坡响应

三条曲线关系:斜坡响应曲线的导数是阶跃,阶跃响应曲线的导数是冲激响应曲线。,,的值都变小,的值变大,的值不变。

5.绘制系统的根轨迹图,并求出其分离点、汇合点及与虚轴交点的坐标和相应点的增益K*值,得出系统稳定时增益K*的变化范围。

校正前:

程序如下所示

clear

n=1;

z=[ ];

p=[0,-3,-5];

[num,den]=zp2tf(z,p,n);

rlocus(num,den);

title('root locus')

校正前系统的根轨迹图

分离点d=-1.28 K=K*=8.19

与虚轴交点 K=K*=118

校正后:

程序如下所示:

clear;

num=1;

den=conv([0.5 1 0],[0.167 1]);

Gs=tf(num,den);

n1=[8.4 1];

d1=[35.01 1];

Gc=tf(n1,d1);

G=Gs*Gc;

k=0:0.05:200;%给定k的范围

rlocus(G,k)%绘制给定k的范围下的跟轨迹

[k,poles]=rlocfind(G)%交互式的选取根轨迹上的增益,这里用于选取其临界稳定值

Select a point in the graphics window

selected_point =-0.0071 + 3.3043i

k =30.3047

poles = -7.8579

-0.0191 + 3.3094i

-0.0191 - 3.3094i

-0.1204

校正后的根轨迹图

分离点d=-0.871 K=K*=1.97

与虚轴交点 K=K*=30.3047

6.利用MATLAB画系统的Nyquist图,判断系统的稳定性。校正前:

程序如下所示:

num=[7];

den=[0.0835 0.667 1 0];

sys=tf(num,den);

nyquist(sys)

校正前系统的奈氏图

系统的Nyquist曲线不包围点,所以R=0,没有实部为正的极点所以P=0,所以闭环系统是稳定的。

校正后:

程序如下所示

clear;

num=7;

den=conv([0.5 1 0],[0.167 1]);

Gs=tf(num,den);

n1=[6.21 1];

d1=[27 1];

Gc=tf(n1,d1);

G=Gs*Gc;

nyquist(G)

grid

校正后系统的奈氏图

系统的Nyquist曲线不包围点,所以N=0则R=0,没有实部为正的极点所以P=0,Z=P-R=0,所以闭环系统是稳定的。

7.利用MATLAB画系统的Bode图,计算系统的幅值裕量,相位裕量,幅值穿越频率和相位穿越频率。并判断系统稳定性,说明理由。

校正前:

程序如下所示:

% MATLAB PROGRAM JII11.m

clear

k=7;

n1=1;

d1=conv(conv([1,0],[0.5,1]),[0.167,1]);

s1=tf(k*n1,d1);

figure(1);

margin(s1);

hold on

未校正系统的Bode图与频域性能

幅值裕量: Gm = 1.15dB

剪切频率: =3.24rad/s

相角裕量: Pm = 3.32°

-180度穿越频率;Wg=3.46 rad/s

模值裕量:20lg|1.15|=1.12dB<=10 dB

相角裕度与幅值裕度都不符合要求。因为开环传递函数没有实部为正的极点所以P=0,又因为L()>0dB的频率范围内,对应的相频特性曲线对-π线没有穿越,即N+=0,N-=0,则N=N+-N-=0-0≠0,所以闭环系统稳定。

校正后:

程序如下所示

clear;

num=7;

den=conv([0.5 1 0],[0.167 1]);

Gs=tf(num,den);

n1=[6.21 1];

d1=[27 1];

Gc=tf(n1,d1);

sope=Gs*Gc;

w=logspace(0,2,50);

bode(sope,w);

grid;

[Gm,Pm,Wcg,Wcp]=margin(sope)

hold on

Gm =4.5495

Pm =38.7697

Wcg =3.3145

Wcp =1.3210

即,幅值裕量:Gm = 4.5495dB

剪切频率:Wcg =3.3145 rad/s

相角裕量:Pm = 38.7697

-180度穿越频率:Wcp = 1.3210 rad/s

模值裕量:20lg4.5495=13.16>=10 dB 符合条件。校正系统的Bode图与频域性能

因为开环传递函数没有实部为正的极点所以P=0,又因为L()>0dB的频率范围内,对应的相频特性曲线对-π线没有穿越,即N+=0,N-=0,则N=N+-N-=0-0=0 ,所以闭环系统稳定。

主要参考资料

[1] 黄忠霖编.自动控制原理的MATLAB实现. 北京:国防工业出版社,2007

[2] 张德丰等编.MATLAB控制系统设计与仿真. 北京:电子工业出版社,2009.

[3] 王琦,徐式蕴等编MATLAB基础与应用实例集萃. 北京:人民邮电出版社,2007

相关主题
相关文档
最新文档