自动控制原理 0904103054 刘立财

更新时间:2024-01-10 10:52:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

成绩

课程设计报告

目 线性控制系统的校正及分析

课 程 名 称 自 动 控 制 原 理 院 部 名 称 机电工程学院 专 业 电气工程及其自动化 班 级 09电气工程及其自动化1班 学 生 姓 名 刘立财 学 号 0904103054 课程设计地点 C214 课程设计学时 一周 指 导 教 师 陈 丽 换

金陵科技学院教务处制

一 、设计目的:

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

2、 掌握对系统进行稳定性分析、稳态误差分析以及动态特性分析的方法。 3、 掌握利用MATLAB对控制理论内容进行分析和研究的技能。 4、 提高分析问题解决问题的能力。

二、设计内容与要求: 设计内容

1、阅读有关资料。

2、对系统进行稳定性分析、稳态误差分析以及动态特性分析。 3、绘制根轨迹图、Bode图、Nyquist图。 4、设计校正系统,满足工作要求。

设计题目:

已知单位负反馈系统的开环传递函数G(S)?K0,试用频

S(S?1)(0.25S?1)率法设计串联校正装置,要求校正后系统的静态速度误差系数Kv?5s?1,系统的相角裕度??450,校正后的剪切频率?C?2rads。

设计要求:

1、能用MATLAB解复杂的自动控制理论题目。 2、能用MATLAB设计控制系统以满足具体的性能指标。

3、能灵活应用MATLAB的CONTROL SYSTEM 工具箱和SIMULINK仿 真软件,分析系统的性能。

三、设计方法,步骤,时间分配

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

⑴首先,由静态速度误差系数Kv?5,取Kv?10,则有:

Kv?lims?G(s)?lims?s?0s?0K0?K0?10

s(s?1)(0.25s?1)所以,该系统的开环传递函数为

1

G(s)?10

s(s?1)(0.25s?1)⑵确定未校正系统的剪切频率?C0,相角裕度?0和幅值裕度Kg。 MATLAB程序如下: >> k=10;nun1=1;

>> den1=conv([1 0],[1 1]); >> den=conv([0.25 1],den1); >> s1=tf(k*nun1,den); >> figure(1); >> margin(s1)

图1-1 滞后校正前系统的伯德图

所以,剪切频率?C0?2.78rad/s,相角裕度?0??15?,幅值裕度Kg=-6.02dB。 ⑶利用MATLAB语言计算出滞后校正器的传递函数。

Gc1(s)?1?Ts

1??Ts根据题目要求,取校正后系统的剪切频率wc?2.5rad/s,??9.5。并编写求滞后校正器传递函数的MATLAB程序

MATLAB程序如下:

2

wc=2.5;k0=10;n1=1;

d1=conv(conv([1 0],[1 1]),[0.25 1]); beta=9.5;T=1/(0.1*wc);

>> betat=beta*T;Gc1=tf([T 1],[betat 1]) 程序结果为:

即对于校正后系统的滞后校正补偿器传递函数为:

4s?1Gc(s)?

38s?1⑷利用MATLAB语言计算出超前校正器的传递函数。

要计算出校正后系统的传递函数,就编写求校正器的传递函数的MATLAB程序,其中调用了求超前校正器传递函数的函数leadc(),leadc.m保存在matlab7.0\\work\\文件夹下,其中key=1时,为var=gama,是根据要求校正后的相角稳定裕度计算滞后校正器;当key=2时,为var=wc,则是根据要求校正后的剪切频率计算校正器。若已知系统的开环传递函数与要求校正后的相角稳定裕度或剪切频率,求系统串联滞后校正器传递函数时,就可以调用此函数。leadc.m编制如下:

function [Gc]=leadc(key,sope,vars)

% MATLAB FUNCTION PROGRAM leadc.m %

if key==1

gama=vars(1);gama1=gama+5; [mag,phase,w]=bode(sope); [mu,pu]=bode(sope,w); gam=gama1*pi/180;

alpha=(1-sin(gam))/(1+sin(gam)); adb=20*log10(mu); am=10*log10(alpha); wc=spline(adb,w,am); T=1/(wc*sqrt(alpha)); alphat=alpha*T;

Gc=tf([T 1],[alphat 1]); elseif key==2 wc=vars(1);

num=sope.num{1};den=sope.den{1}; na=polyval(num,j*wc); da=polyval(den,j*wc); g=na/da; g1=abs(g);

h=20*log10(g1); a=10^(h/10);

3

wm=wc;

T=1/(wm*(a)^(1/2)); alphat=a*T;

Gc=tf([T 1],[alphat 1]); elseif key==3

gama=vars(1);wc=vars(2);gama1=gama+5; num=sope.num{1};den=sope.den{1}; ngv=polyval(num,j*wc); dgv=polyval(den,j*wc); g=ngv/dgv; thetag=angle(g);

thetag_d=thetag*180/pi; mg=abs(g);

gama_rad=gama1*pi/180;

z=(1+mg*cos(gama_rad-thetag))/(-wc*mg*sin(gama_rad-thetag)); p=(cos(gama_rad-thetag)+mg)/(wc*sin(gama_rad-thetag)); nc=[z,1];dc=[p,1]; Gc=tf(nc,dc); end

MATLAB程序如下:

程序结果为:

即对于校正后系统的超前校正补偿器传递函数为:

3.002s?1Gc(s)?

0.0533s?1⑷校验系统校正后系统是否满足题目要求。 MATLAB程序如下:

4

程序结果为:

即校正后系统的开环传递函数为:

120.1s2?70.02s?10G(s)?Gc(s)? 54320.5063s?12.05s?49.84s?39.3s?s

图1-2 滞后-超前校正后系统的伯德图

所以,剪切频率?C?2.5rad/s,相角裕度?0?59.5??45?,幅值裕度Kg=18.3dB。从而,满足题目要求。

2、利用MATLAB函数求出校正前与校正后系统的特征根,并判断其系统是否稳定,为什么?

校正前的开环传递函数为:

G(s)?10

s(s?1)(0.25s?1)MATLAB程序为:

5

程序结果为:

故该系统的闭环特征方程为:

0.25s3?1.25s2?s?10?0

MATLAB程序为:

由于校正前系统单位负反馈的特征方程有右半平面的根,故校正前的闭环不系统稳定。

校正后的开环传递函数为:

120.1s2?70.02s?10G(s)?Gc(s)? 54320.5063s?12.05s?49.84s?39.3s?s故该系统的闭环特征方程为:

0.5063s5?12.05s4?49.84s3?159.4s2?71.02s?10?0

MATLAB程序为:

由于校正后系统单位负反馈的特征方程没有右半平面的根,故校正后的闭环

6

系统稳定。

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

校正前系统的动态性能分析:

校正前的开环传递函数为:

G(s)?10

s(s?1)(0.25s?1)[1] 单位脉冲响应 MATLAB程序为:

图3-1 校正前系统的单位脉冲响应

⑵单位阶跃响应 MATLAB程序为:

7

图3-2 校正前系统的单位阶跃响应

要计算出阶跃响应动态性能参数,就编写求解阶跃响应动态性能参数的MATLAB程序,其中调用了函数perf(),perf.m保存在matlab7.0\\work\\文件夹下,其中key=1时,表示选择5%误差带,当key=2时表示选择2%误差带。y,t是对应系统阶跃响应的函数值与其对应的时间。函数返回的是阶跃响应超调量sigma(即σ)、峰值时间tp、调节时间ts。 perf.m编制如下: function [sigma,tp,ts]=perf(key,y,t)

%MATLAB FUNCTION PROGRAM perf.m %

%Count sgma and tp [mp,tf]=max(y); cs=length(t); yss=y(cs);

sigma= (mp-yss)/yss tp=t(tf) %Count ts i=cs+1; n=0;

while n==0, i=i-1; if key==1,

8

if i==1, n=1;

elseif y(i)>1.05*yss, n=1; end;

elseif key==2, if i==1, n=1;

elseif y(i)>1.02*yss, n=1; end; end end; t1=t(i);

cs=length(t); j=cs+1; n=0;

while n==0, j=j-1; if key==1, if j==1, n=1;

elseif y(j)<0.95*yss, n=1; end;

elseif key==2, if j==1, n=1;

elseif y(j)<0.98*yss, n=1; end; end; end; t2=t(j);

if t2

if t1>t2; ts=t1 end elseif t2>tp, if t2

9

end

MATLAB程序为:

程序结果为:

所以σ%=1.9267%,tp=8.3897s,ts=8.7124s。

由前面可知,为校正前系统不稳定,所以该系统没有稳态误差ess。 ⑶单位斜坡响应

在Simulink 窗口里菜单方式下的单位斜坡响应的动态结构图如下:

图3-3 校正前系统的单位斜坡响应的动态结构仿真图

校正前单位斜坡响应曲线如下所示:

图3-4 校正前系统的单位斜坡响应

校正后系统的动态性能分析:

校正后的开环传递函数为:

120.1s2?70.02s?10G(s)?Gc(s)?

0.5063s5?12.05s4?49.84s3?39.3s2?s10

⑴单位脉冲响应 MATLAB程序为:

图3-5 校正后系统的单位脉冲响应

⑵单位阶跃响应 MATLAB程序为:

11

图3-6 校正后系统的单位阶跃响应

MATLAB程序为:

程序结果为:

所以σ%=0.0568%,tp=1.0394s,ts=1.0394s。 由图可知,系统稳态误差ess?1?h(?)?1?1?0

显然,校正后的系统动态性能比校正前的系统动态性能好得多,改善了系统的平稳性、快速性和稳态精度。 ⑶单位斜坡响应

在Simulink 窗口里菜单方式下的单位斜坡响应的动态结构图如下:

图3-7校正后系统的单位斜坡响应的动态结构仿真图

校正前单位斜坡响应曲线如下所示:

12

图3-8 校正后系统的单位斜坡响应

单位脉冲、阶跃、斜坡响应曲线的相互对应关系是:

单位脉冲响应的积分是单位阶跃响应曲线,单位阶跃响应的积分是单位斜坡响应。

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

校正前系统的根轨迹分析:

校正前的开环传递函数为:

G(s)?10

s(s?1)(0.25s?1)MATLAB程序如下:

13

图4-1 校正前系统的根轨迹

确定分离点坐标:

图4-2 校正前根轨迹的分离点坐标

分离点坐标d=-0.465 增益K*=0.22 确定与虚轴交点的坐标:

14

图4-3 校正前根轨迹与虚轴的交点坐标

与虚轴的交点坐标:?1?1.99i、?2??2i。 增益K*=5.02

校正前系统稳定时增益K*的变化范围是K*<5.02,而题目中的K*=10,校正前的闭环系统不稳定。

校正后系统的根轨迹分析

校正后的开环传递函数为:

120.1s2?70.02s?10G(s)?Gc(s)? 54320.5063s?12.05s?49.84s?39.3s?s

故校正后的开环传递函数也可以写为:

G(s)?Gc(s)?104s?13.002s?1237.2111(s?0.3329)(s?0.2501)???s(s?1)(0.25s?1)38s?10.0533ss(s?18.78)(s?3.996)(s?1)(s?0.02632)

15

MATLAB程序如下:

图4-4 校正后系统的根轨迹

确定分离点坐标:

图4-5 校正后根轨迹的分离点坐标

分离点坐标d=-2.3 增益K*=1.99

16

确定与虚轴交点的坐标:

图4-6校正后根轨迹与虚轴的交点坐标

与虚轴的交点坐标:?1?9.6i、?2??9.6i。 增益K*=90.3

校正前系统稳定时增益K*的变化范围是K*<90.3,而题目中的K*=10,校正后的闭环系统稳定。

5、绘制系统校正前与校正后的Nyquist图,判断系统的稳定性,并说明理由。

校正前系统的幅相特性

校正前的开环传递函数为:

G(s)?10

s(s?1)(0.25s?1)MATLAB程序如下:

17

图5-1 校正前系统的Nyquist曲线

由于开环传递函数中含有一个积分环节,所以从??0?到??0?顺时针补画一圈,再由上图可知,Nyquist曲线顺时针围绕点(-1,j0)两圈,所以,R??2,而

P?0,所以校正前闭环系统不稳定。

校正后系统的幅相特性

校正后的开环传递函数为:

G(s)?Gc(s)?109.758s?197.85s?10??

s(s?1)(0.125s?1)65.97s?18.246s4?74.34s3?67.09s2?sMATLAB程序如下:

18

图5-2 校正后系统的Nyquist曲线

由于开环传递函数中含有一个积分环节,所以从??0?到??0?顺时针补画一圈,再由上图可知,Nyquist曲线顺时针围绕点(-1,j0)0圈,所以,R?0,而P?0,所以Z?P?R?0?0?0,所以校正后闭环系统稳定。

6、绘制系统校正前与校正后的Bode图,计算系统的幅值裕量,相位裕量,幅值穿越频率和相位穿越频率。判断系统的稳定性,并说明理由。

(1)校正前系统的对数幅频特性及对数相频特性

校正前的开环传递函数为:

G(s)?10

s(s?1)(0.25s?1)MATLAB程序如下:

MATLAB程序如下:

19

图6-1校正前系统的Bode图

求幅值裕量Kg,相位裕量?,幅值穿越频率?C和??相位穿越频率?g。

图6-2校正前系统频域性能指标

20

由图可知:

幅值裕量Kg??6.02dB。 相位裕量???15?。

幅值穿越频率ωC?2.78rad/s。

??相位穿越频率?g?1.99rad/s。

由于开环传递函数中含有一个积分环节,应从对数相频特性曲线上??0?处开始,用虚线向上补画90?角。所以,在开环对数幅频L(?)?0dB的频率范围内,对应的开环对数相频特性曲线?(?)对??线有一次负穿越,即N??1,则

R?2(N??N?)??2,Z?P?R?0?(?2)?2,所以校正前闭环系统不稳定。

(2)校正后系统的对数幅频特性及对数相频特性

校正后的开环传递函数为:

G(s)?Gc(s)?109.758s?197.85s?10??

s(s?1)(0.125s?1)65.97s?18.246s4?74.34s3?67.09s2?sMATLAB程序如下:

MATLAB程序如下:

21

图6-3校正后系统的Bode图

求幅值裕量Kg,相位裕量?,幅值穿越频率?C和??相位穿越频率?g。

图6-4校正后系统频域性能指标

22

由图可知:

幅值裕量Kg?18.3dB。 相位裕量??59.5?。

幅值穿越频率ωC?2.48rad/s。

??相位穿越频率?g?9.22rad/s。

由于开环传递函数中含有一个积分环节,应从对数相频特性曲线上??0?处开始,用虚线向上补画90?角。所以,在开环对数幅频L(?)?0dB的频率范围内,对应的开环对数相频特性曲线?(?)对??线无穿越,即N??0、N??0,则

R?2(N??N?)?0,Z?P?R?0?0?0,所以校正后闭环系统稳定。

并且校正后的系统的相位裕量??59.5?、静态速度误差系数Kv、剪切频率

wc?2rad/s均符合题目设计的要求,故系统校正到此全部完成。

参考文献

[1] 黄忠霖编. 自动控制原理的MATLAB实现[M].北京:国防工业出版社,2007. [2] 黄忠霖等编. 控制系统MATLAB计算及仿真[M].北京:国防工业出版社,2010.

[3] 程 鹏编.自动控制原理[M].北京:高等教育出版社,2010.

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

23

本文来源:https://www.bwwdw.com/article/js0o.html

Top