当前位置:文档之家› 武汉科技大学自动控制原理课程设计

武汉科技大学自动控制原理课程设计

武汉科技大学自动控制原理课程设计
武汉科技大学自动控制原理课程设计

二○一四~二○一五学年第一学期信息科学与工程学院课程设计报告书

课程名称:自动控制原理课程设计学时学分:1周1学分

班级:自动化12级01班

学号:

姓名:

指导教师:柴利

2014年12月

一.课程设计目的:

综合运用本课程的理论知识进行控制系统分析及设计,利用MATLAB 作为编程工具进行计算机实现,复习与巩固课堂所学的理论知识,提高了对所学知识的综合应用能力,并从实践上初步了解控制系统的分析设计理论与过程。

二.设计任务与要求:

1设计题目:

已知单位负反馈系统被控制对象的开环传递函数

)11.0()(+=

s s K

s G k

用串联校正的频率域方法对系统进行串联校正设计。

任务一:用串联校正的频率域方法对系统进行串联校正设计,使闭环系统同时满足如下动态

及静态性能指标: (1)在单位斜坡信号t t r =)

(作用下,系统的稳态误差005.0≤ss e ;

(2)系统校正后,相位裕量0

''45)(>c ωγ。

(3)系统校正后,幅值穿越频率50'

>c

ω

任务二:若采用数字控制器来实现任务一设计的控制器,给出数字控制器的差分方程表示或

离线传递函数(Z 变换)表示。仿真验证采用数字控制器后闭环系统的性能,试通过仿真确定满足任务一指标的最大的采样周期T. (注:T 结果不唯一)。 2设计要求:

1) 分析设计要求,说明串联校正的设计思路(滞后校正,超前校正或滞后-超前校正); 2) 详细设计(包括的图形有:串联校正结构图,校正前系统的Bode 图,校正装置的Bode

图,校正后系统的Bode 图);

3) MATLAB 编程代码及运行结果(包括图形、运算结果);

4) 校正实现的电路图及实验结果(校正前后系统的阶跃响应图-MATLAB 或SIMULINK 辅

助设计);

5) 校正前后的系统性能指标的计算。

三.串联校正设计方法:

1校正前系统分析:

()()

11.0+=

s s K s G ,

;

005.0≤e

ss

()()005

.01

111.0s 11.020

lim ≤=+++=→k s k s s s s

s ss e ;

故k 取最小值时,k=200。则系统的开环传递函数

()()11.0200

+=

s s s G ;

校正前结构图:

Simulink 仿真图:

在MATLAB 中编写如下程序: figure(1)%校正前的阶跃响应曲线 num0=[200]; den0=[0.1,1,0];

G0=tf([num0],[den0]); %校正前的传递函数

G1=feedback(G0,1)% 校正前的单位闭环传递函数 t=0:0.01:1.4; step(G1,t); grid

xlabel('t');ylabel('c(t)'); title('单位阶跃响应');

校正前阶跃响应曲线为:

计算未校正前系统的性能指标:

未校正系统的bode图:

在MATLAB中编写如下程序:

figure(2)

margin(G0);

grid

[gm0,pm0,wg0,wp0]=margin(G0)%未校正前相角裕度pm0,剪切频率wp0

angle=labelyudu-pm0+range%校正后系统剪切频率处的超前相角

angle_rad=angle*pi/180

a_sys=(1-sin(angle_rad))/(1+sin(angle_rad))%网络的系数

Au=10*log10(1/a_sys)%校正网络的增益

Wc=71.62 %校正后系统剪切频率

W1=Wc*sqrt(a_sys)%矫正网络的两个交接频率 W2=Wc/sqrt(a_sys) num1=[1/W1,1]; den1=[1/W2,1]; Gc=tf(num1,den1)

校正前bode 图

s

rad w c /2.44截止频止8.121=?=:,由图知,相角裕度:γ。

2 画出串联校正结构图,分析并选择串联校正的类型:

由于校正前相位裕度为0

8.12=γ,其中幅值裕度满足要求,而相位裕度都不

满足要为不影响低频特性和改善动态响应性能,采用串联超前校正。校正结构图如下:

)

(s R )

(s W c )

(s G )

s H ()

(s C 一

采用串联超前校正,用微分电路实现校正,其校正电路如图所示:

3校正装置:

根据系统相位裕度?≥45γ的要求,微分校正电路相角超前量应为: 00002.47158.1245=+=-? 故 1533.0_sin 1in 1==+-=

sys a s ?

?

α

在校正后系统剪切频率m c

w w ='处,校正网络的增益应为

在校正后系统剪切频率m c

w w ='处,校正网络的增益应为 ()dB Au 146.81

lg 10==α

前面计算c w '的原理,可以计算出未校正系统增益为-8.18dB 处的频率即为校正后系统的剪切频率c

w ',即()40/lg /1lg 10='c

c w w α;

m c c

w s rad w w ==='/62.7114α

校正网络的两个交接频率分别为

s rad W w w s rad W w w m m /0.1832//04.28121======αα, 系统的校正装置开环传递函数为: ()1005466.01

03567.010

.1831

04.28++=

++=s s s

s

s G c 校正装置结构图如下:

利用MATLAB 绘画校正装置的bode图

在MATLAB中编写如下程序:

figure(3)%校正的bode图

margin(Gc);

grid

[gmc,pmc,wgc,wpc]=margin(Gc);

校正装置bode图

4校正后系统分析:

经超前校正后,系统开环传递函数为:

()

()

()

()()1

00544

.0

1

1.0

1

0358

.0

200

1

71

.

183

1

1.0

1

92

.

27

200

+

+

+

=

?

?

?

?

?

+

+

?

?

?

?

?

+

=

s

s

s

s

s

s

s

s

s

G

校正后结构图:

在MATLAB中编写如下程序:

figure(4); %校正后单位阶跃响应G=G0*Gc;G2=feedback(G,1); t=0:0.001:0.2; step(G2,t);grid

xlabel('t');ylabel('c(t)');

title('校正后单位阶跃响应');

校正后阶跃响应曲线为:

用MATLAB 绘画系统校正后的bode 图 在MATLAB 中编写如下程序: figure(5);margin(G);grid [gm,pm,wg,wp]=margin(G);

校正后系统的bode 图:

由上图可知,相角裕度0

453.55≥='γ;

幅值穿越频率s rad s rad w /50/8.70>=';各项指标均满足设计要求。

1) 校正前后的单位阶跃响应对比图。

在MATLAB 中编写如下程序:

figure(6)%校正前后单位阶跃响应对比图

t=0:0.001:1.4;y1=step(G1,t); y2=step(G2,t);

plot(t,y1,'--',t,y2);grid;xlabel('t');ylabel('c(t)');

title('校正前后单位阶跃响应对比图');

text(0.08,1.644,'校正前');text(0.06,1.116,'校正后');

校正前后阶跃响应对比曲线:

%

18

18

.1

09

.0

04

.0

25

.0

%

54

.

96

965

.1

986

.7

702

0.0

0354

.0

=

=

=

=

=

=

=

=

=

=

s

m

s

p

r

s

m

s

p

r

t

c

s

t

s

t

s

t

t

c

s

t

s

t

s

t

,超调量

最大值

,调节时间

,峰值时间

上升时间

标:

出校正后的系统性能指

现在我们可以从图中看

,超调量

最大值

,调节时间

,峰值时间

上升时间

正前的系统性能指标:

前面我们已经计算出校

四.离散控制系统的数字校正:

1校正前系统分析:

自动控制系统在稳态下的控制精度的度量。控制系统的输出响应在过渡过程结束后的变化形态称为稳态。稳态误差为期望的稳态输出量与实际的稳态输出量之差。控制系统的稳态误差越小说明控制精度越高。因此稳态误差常作为衡量控制系统性能好坏的一项指标。控制系统设计的课题之一,就是要在兼顾其他性能指标的情况下,使稳态误差尽可能小或者小于某个容许的限制值。

稳态误差的分类稳态误差按照产生的原因分为原理性误差和实际性误差两类:

①原理性误差为了跟踪输出量的期望值和由于外扰动作用的存在,控制系统在原理上必然存在的一类稳态误差。当原理性稳态误差为零时,控制系统称为无静差系统,否则称为有静

差系统。原理性稳态误差能否消除,取决于系统的组成中是否包含积分环节(见控制系统的典型环节)。

②实际性误差系统的组成部件中的不完善因素(如摩擦、间隙、不灵敏区等)所造成的稳态误差。这种误差是不可能完全消除的,只能通过选用高精度的部件,提高系统的增益值等途径减小。

稳态误差的计算方法:

在连续系统中,稳态误差的计算可以通过两种方法计算:一是建立在拉氏变换中值定理基础上的计算方法,可以求出系统的终值误差;另一种是从系统误差传递函数出发的动态误差系数法,可以求出系统动态误差的稳态分量。在离散系统中,根据连续系统稳态误差的两种计算方法,在一定的条件下可以推广到离散系统。又由于离散系统没有唯一的典型结构形式,离散系统的稳态误差需要针对不同形式的离散系统来求取。 设单位反馈误差采样系统如图所示:

系统脉冲传递函数为

)(11

)()(z G z R z E +=

=

φ

若离散系统是稳定的,则可用z 变换的终值定理求出采样瞬时的终值误差

)]

(1[)

()1(lim

)()1(lim )(lim )(111

1*

z G z R z z E z t e e z z t +-=-==∞-→-→∞→

线性定常离散系统的稳态误差,不但与系统本身的结构和参数有关,而且与输入序列的形式及幅值有关。除此之外,离散系统的稳态误差与采样系统的周期的选取也有关。上式只是计算单位反馈误差采样离散系统的基本公式,当开环脉冲传递函数G(z)比较复杂时,计算e(∞)仍然有一定的计算量,因此希望把线性定常连续系统中系统型别及静态误差系数的概念推广到线性定常离散系统,以简化稳态误差的计算过程。

理论计算:

s T

k ss Kv T Ess k

z G z v z G z R z z E z t e e ss e z z

z z k z s s k s k s k s s k s s k s z Tz

z R t t c z z z t T

5.02

T 21s,T ,200,005.0E ,/)()1(lim K I ,

)](1[)

()1(lim )()1(lim )(lim )(E )

1()(G z )

10

1

1(11.01.01.01.0)11.0(1.01.0)11.0(G )1()(,)(r s s 1

11*102

≤≤≥≤=≤==-=+-=-==∞=---=+-=+-=+=+=-=

=→→→∞→-得,根据香农定理则有由对于斜坡输入则有,型系统,则

结合课本有对于根据稳态误差变换为:开环传递函数的)(开环传递函数所以输入信号为单位斜坡人ωω

2校正尝试:

以下抽取采样时间先确定大致范围然后利用二分法进行T1=0.5s ,T2=0.05s 时,经过仿真系统不稳定,故不再详细阐述。 (1)第一次尝试 T1=0.5s (2)第二次尝试 T1=0.05s (3)第三次尝试

第三次取采样时间为T3=0.005s 分别求出原传递函数积分环节,惯性环节,超前校正控制器的传递函数的零阶Z 变换为: 程序代码如下: num0=[1]; den0=[1,0]; num01=[200]; den01=[0.1,1]; num1=[1/W1,1]; den1=[1/W2,1];

T=0.005%离散采样时间

[num0Z,den0Z]=c2dm(num0,den0,T,'zoh')%连续系统离散化,T 采样周期'zoh'为零阶保持 [num01Z,den01Z]=c2dm(num01,den01,T,'zoh') [numcZ,dencZ]=c2dm(num1,den1,T,'zoh') printsys(num0Z,den0Z,'Z')%输出num/den printsys(num01Z,den01Z,'Z') printsys(numcZ,dencZ,'Z')

以下分别为积分环节,惯性环节,超前校正控制器的传递函数的零阶Z 变换为

得到第三次校正系统参数,用Simulink离散系统仿真如下:

显然系统稳定,故采样时间可以适当增大。

(4)第四次尝试

第四次取采样时间为T4=0.01s分别求出原传递函数积分环节,惯性环节,超前校正控制器的传递函数的零阶Z变换为:

程序代码如下:

T=0.01%离散采样时间

[num0Z,den0Z]=c2dm(num0,den0,T,'zoh')%连续系统离散化,T采样周期'zoh'为零阶保持[num01Z,den01Z]=c2dm(num01,den01,T,'zoh')

[numcZ,dencZ]=c2dm(num1,den1,T,'zoh')

printsys(num0Z,den0Z,'Z')%输出num/den

printsys(num01Z,den01Z,'Z')

printsys(numcZ,dencZ,'Z')

以下分别为积分环节,惯性环节,超前校正控制器的传递函数的零阶Z变换为

得到第四次校正系统参数,用Simulink离散系统仿真如下:

显然系统不稳定,采样时间过大,第四次失败。故采样时间应该在0.005s~0.01s之间。(5)第五次尝试

第五次取采样时间为T5=0.0075s分别求出原传递函数积分环节,惯性环节,超前校正控制器的传递函数的零阶Z变换为:

程序代码如下:

T=0.0075%离散采样时间

[num0Z,den0Z]=c2dm(num0,den0,T,'zoh')%连续系统离散化,T采样周期'zoh'为零阶保持[num01Z,den01Z]=c2dm(num01,den01,T,'zoh')

[numcZ,dencZ]=c2dm(num1,den1,T,'zoh')

printsys(num0Z,den0Z,'Z')%输出num/den

printsys(num01Z,den01Z,'Z')

printsys(numcZ,dencZ,'Z')

以下分别为积分环节,惯性环节,超前校正控制器的传递函数的零阶Z变换为

得到第五次校正系统参数,用Simulink离散系统仿真如下:

显然系统是稳定的,不过超调量达到了100%以上,而且调节时间超过了200s,且出现负调,可能会使得某些系统崩溃,显然这不是我们所希望的。

(6)第六次尝试

第六次取采样时间为T6=0.00625s分别求出原传递函数积分环节,惯性环节,超前校正控制器的传递函数的零阶Z变换为:

程序代码如下:

T=0.00625%离散采样时间

[num0Z,den0Z]=c2dm(num0,den0,T,'zoh')%连续系统离散化,T采样周期'zoh'为零阶保持[num01Z,den01Z]=c2dm(num01,den01,T,'zoh')

[numcZ,dencZ]=c2dm(num1,den1,T,'zoh')

printsys(num0Z,den0Z,'Z')%输出num/den

printsys(num01Z,den01Z,'Z')

printsys(numcZ,dencZ,'Z')

以下分别为积分环节,惯性环节,超前校正控制器的传递函数的零阶Z变换为

得到第六次校正系统参数,用Simulink离散系统仿真如下:

这次系统的超调在80%左右,而且稳定时间在30s以内,比较符合系统的要求。故最大采样周期T=0.00625s

第七八次尝试是扩展,当改变增益K对离散系统稳定的影响。

(7)第七次尝试

第七次取采样时间为T7=0.00625s,增益K=2,分别求出原传递函数积分环节,惯性环节,超前校正控制器的传递函数的零阶Z变换为:

程序代码如下:

num01=[2];

T=0.00625%离散采样时间

[num0Z,den0Z]=c2dm(num0,den0,T,'zoh')%连续系统离散化,T采样周期'zoh'为零阶保持[num01Z,den01Z]=c2dm(num01,den01,T,'zoh')

[numcZ,dencZ]=c2dm(num1,den1,T,'zoh')

printsys(num0Z,den0Z,'Z')%输出num/den

printsys(num01Z,den01Z,'Z')

printsys(numcZ,dencZ,'Z')

以下分别为积分环节,惯性环节,超前校正控制器的传递函数的零阶Z变换为

得到第七次校正系统参数,用Simulink离散系统仿真如下:

3校正后分析:

经过七次校正我们可以知道连续系统时是稳定的,但是不同的采样周期或得到不同的采样结果。当采样周期T很大时,模拟得到的结果系统不稳定。只有当采样周期T小于某一个

值时,系统才是稳定的。本次实验中取得T=0.00625s,此时系统有较好的性能。系统的超

调在80%左右,而且稳定时间在30s以内,峰值时间Tp=5s,比较符合系统的要求。而且当

采样周期T越小时,离散系统越接近连续系统。并且在采样周期一样的时候,减小增益K

时,系统的稳定性能越好,相反,当离散系统原本是稳定的,但是如果增益K增大到某一

个值,会造成系统不稳定。

五.课程设计小结与体会:

这是为期一周的课程设计,在做此课程设计时,我把课本认真看了一遍。在校正时,要分析好用什么校正,在试取值时需要对校正原理较好的理解才能取出合适的参数,在试过

几次后,选定合适的值,在此过程中,我也掌握了MATLAB和SIMULINK应用软件的相关内

容,提高了伯德图的分析能力,也提高了分析系统性能的能力,巩固了系统校正的相关知识。

每一次课程设计都会学到不少东西,这次当然也不例外。不但对自动原理的知识巩固了,也加深了对MATLAB 和SIMULINK这个强大软件的学习和使用。

这次的课程设计是一次自主学习的体现,无论涉及到的任务一的串联校正,还是任务二的离散控制系统的数字校正。都是柴利老师没有怎么深入讲解的内容,这就得靠我们自主的

学习。我相信这也是很符合柴利老师对我们一开始的期望,也就是柴利老师教学的理念,学

习得靠我们自己去探索,自己去学习,不能够仅仅局限在课本本身的内容,不能只是为了考

试而去学习。在这次的课程设计中自己学习也发现了很多的问题,这里具体就不在重复的说

明(前面的课程设计中都详细的阐述了)。

当然这次课程设计也使我认识到对这门课程的学习还远远不够,还没有较好地将书本中的知识较好地融合,在做设计时,许多的公式还不是很熟练,这在以后的学习中要引起重视。附件:总程序

%武汉科技大学:

%学号:

%指导老师:柴利

labelyudu=45 %目标裕度

range=15%留出裕度

figure(1)%校正前的阶跃响应曲线

num0=[200];

den0=[0.1,1,0];

G0=tf([num0],[den0]); %校正前的传递函数

G1=feedback(G0,1)% 校正前的单位闭环传递函数

t=0:0.01:1.4;

step(G1,t); grid

xlabel('t');ylabel('c(t)');

title('单位阶跃响应');

figure(2)

margin(G0);

grid

[gm0,pm0,wg0,wp0]=margin(G0)%未校正前相角裕度pm0,剪切频率wp0 angle=labelyudu-pm0+range%校正后系统剪切频率处的超前相角

angle_rad=angle*pi/180

a_sys=(1-sin(angle_rad))/(1+sin(angle_rad))%网络的系数

Au=10*log10(1/a_sys)%校正网络的增益

Wc=71.62 %校正后系统剪切频率

W1=Wc*sqrt(a_sys)%矫正网络的两个交接频率

W2=Wc/sqrt(a_sys)

num1=[1/W1,1];

den1=[1/W2,1];

Gc=tf(num1,den1)

figure(3)%校正的bode图

margin(Gc);

grid

[gmc,pmc,wgc,wpc]=margin(Gc);

figure(4) %校正后单位阶跃响应

G=G0*Gc;

G2=feedback(G,1);

t=0:0.001:0.2;

step(G2,t);

grid

xlabel('t');ylabel('c(t)');

title('校正后单位阶跃响应');

figure(5)

margin(G);

grid

[gm,pm,wg,wp]=margin(G);

figure(6)%校正前后单位阶跃响应对比图

t=0:0.001:1.4;

y1=step(G1,t); y2=step(G2,t);

plot(t,y1,'--',t,y2);grid

xlabel('t');ylabel('c(t)');

title('校正前后单位阶跃响应对比图');

text(0.08,1.644,'校正前');text(0.06,1.116,'校正后');

num0=[1];

den0=[1,0];

num01=[200];

den01=[0.1,1];

相关主题
文本预览
相关文档 最新文档