基于自动控制理论的性能分析与校正课程设计.docx
《基于自动控制理论的性能分析与校正课程设计.docx》由会员分享,可在线阅读,更多相关《基于自动控制理论的性能分析与校正课程设计.docx(34页珍藏版)》请在冰点文库上搜索。
基于自动控制理论的性能分析与校正课程设计
课程设计报告
(2013--2014年度第1学期)
名称:
《自动控制理论》课程设计
题目:
基于自动控制理论的性能分析与校正
院系:
自动化系
班级:
学号:
学生姓名:
指导教师:
设计周数:
1周
成绩:
日期:
2014年1月3日
一、课程设计的目的与要求
本课程为《自动控制理论A》的课程设计,是课堂的深化。
设置《自动控制理论A》课程设计的目的是使MATLAB成为学生的基本技能,熟悉MATLAB这一解决具体工程问题的标准软件,能熟练地应用MATLAB软件解决控制理论中的复杂和工程实际问题,并给以后的模糊控制理论、最优控制理论和多变量控制理论等奠定基础。
作为自动化专业的学生很有必要学会应用这一强大的工具,并掌握利用MATLAB对控制理论内容进行分析和研究的技能,以达到加深对课堂上所讲内容理解的目的。
通过使用这一软件工具把学生从繁琐枯燥的计算负担中解脱出来,而把更多的精力用到思考本质问题和研究解决实际生产问题上去。
通过此次计算机辅助设计,学生应达到以下的基本要求:
1.能用MATLAB软件分析复杂和实际的控制系统。
2.能用MATLAB软件设计控制系统以满足具体的性能指标要求。
3.能灵活应用MATLAB的CONTROLSYSTEM工具箱和SIMULINK仿真软件,分析系统的性能。
二、主要内容
1.前期基础知识,主要包括MATLAB系统要素,MATLAB语言的变量与语句,MATLAB的矩阵和矩阵元素,数值输入与输出格式,MATLAB系统工作空间信息,以及MATLAB的在线帮助功能等。
2.控制系统模型,主要包括模型建立、模型变换、模型简化,Laplace变换等等。
3.控制系统的时域分析,主要包括系统的各种响应、性能指标的获取、零极点对系统性能的影响、高阶系统的近似研究,控制系统的稳定性分析,控制系统的稳态误差的求取。
4.控制系统的根轨迹分析,主要包括多回路系统的根轨迹、零度根轨迹、纯迟延系统根轨迹和控制系统的根轨迹分析。
5.控制系统的频域分析,主要包括系统Bode图、Nyquist图、稳定性判据和系统的频域响应。
6.控制系统的校正,主要包括根轨迹法超前校正、频域法超前校正、频域法滞后校正以及校正前后的性能分析。
三、设计正文
1,控制系统模型:
(1)求
的拉氏逆变换。
解:
>>symss
Xs=(3*s^2+2*s+8)/s/(s+2)/(s^2+2*s+4);
Xt=ilaplace(Xs);%拉氏逆变换
Xt=simplify(Xt)
Xt=
-2*exp(-2*t)+1+exp(-t)*cos(3^(1/2)*t)
(2)已知系统的传递函数为
,在MATLAB环境下获得其连续传递函数形式模型;若已知脉冲传递函数为
,在MATLAB环境下获得采样时间为8s的传递函数形式模型;获得其延时时间为5s的模型。
解:
连续传递函数形式模型获得
symss
z=[-9-4]';
p=[-6-41-24]';
k=10;
Gzpk=zpk(z,p,k)
Zero/pole/gain:
10(s+9)(s+4)
-------------------
(s+6)(s+24)(s+41)
>>[num,den]=zp2tf(z,p,k)
num=
010130360
den=
17113745904
>>Gs=tf(num,den)
Transferfunction:
10s^2+130s+360
----------------------------
s^3+71s^2+1374s+5904
采样时间为8s的传递函数形式模型获得
Gs1=tf(num,den,Ts)
Transferfunction:
10z^2+130z+360
----------------------------
z^3+71z^2+1374z+5904
Samplingtime:
8
延时时间为5s的模型
(待解决)
2,时域分析法:
(1)已知二阶系统的传递函数为:
,ωn=5,求
=0.1、0.3、0.5、…4,时的阶跃响应和脉冲响应曲线。
解:
>>clear,clf
symswnk
wn=5;num=wn*wn;
fork=0.1:
0.2:
4
den=[13*wn*knum];
step(num,den);%求阶跃响应并输出图形
holdon;%保持图形
end
>>fork=0.1:
0.2:
4
den=[13*wn*knum];
impulse(num,den);%求脉冲响应并输出图形
holdon;%保持图形
end
(2)设一单位反馈控制系统的开环传递函数
,试分别求出当K=10和K=20时系统的阻尼系数
,无阻尼自然振荡频率Wn,单位阶跃响应的超调量
%和调整时间ts,并讨论K的大小对过渡过程性能指标的影响。
解:
>>clear,clf
s=tf('s');
k=input('k=');
Go=k/s/(0.1*s+1);
sys=feedback(Go,1);
step(sys)
k=10
>>[wnz]=damp(sys)
wn=
10.0000
10.0000
z=
0.5000
0.5000
>>s=tf('s');
k=input('k=');
Go=k/s/(0.1*s+1);
sys=feedback(Go,1);
step(sys)
k=20
>>[wnz]=damp(sys)
wn=
14.1421
14.1421
z=
0.3536
0.3536
K=10
K=20
0.5
0.3536
wn
10
14.14
(%)
16%
30%
Ts(s)
0.53
0.615
性能指标如表格所示:
由表格可以得出,开环增益增大时,阻尼系数减小,无阻尼
自然振荡频率增大,超调量增大,调节时间基本不变。
3,根轨迹分析法
(1)设闭环系统的开环传递函数为
。
试用幅角条件检验s平面上的点
点(-1.5,j2)和点
点(-4,j3)是不是根轨迹上的点,如果是,则利用幅值条件计算该点所对应的K值。
解:
根据题意可设开环传递函数为
,利用试验点验证是否是根轨迹上的点,若是,根据
计算K值。
>>s=input('s=');
GH1=(s+5)/s/(s^2+4*s+8)
if(angle(GH1)==pi)
k=1/abs(GH1);
fprintf('S是根轨迹上的点,对应的K值为%f\n',k)
else
fprintf('s不是根轨迹上的点\n')
end
s=-1.5+2*j
GH1=
-0.8000
S是根轨迹上的点,对应的K值为1.250000
>>s=input('s=');
GH1=(s+5)/s/(s^2+4*s+8)%开环传递函数
if(angle(GH1)==pi)
k=1/abs(GH1);%若是,求K的值
fprintf('S是根轨迹上的点,对应的K值为%f\n',k)
else
fprintf('s不是根轨迹上的点\n')
end
s=-4+3*j
GH1=
0.0483+0.0207i
s不是根轨迹上的点
(2)已知控制系统的开环传递函数为
。
试求:
1),绘制根轨迹
2),使闭环系统稳定的K值取值范围。
解:
开环传函有负号,绘制为0度根轨迹:
>>num=conv([15],[1-2]);
den=conv([10],[269]);
sys=tf(-num,den);%传函输入
rlocus(sys);%绘制根轨迹
axisequal%统一横纵坐标单位长度
title('root-locusplotofG(s)=-k(s+5)(s-2)/s/(2s^2+6s+9)')%添加标题
3,频域分析法
(1)已知单位反馈系统的开环传递函数为
求:
1),求闭环幅频特性;
2),确定谐振峰值Mr和谐振频率Wr;
3)估计单位阶跃响应的超调量
%和调整时间ts
解:
>>s=tf('s');
Go=6/(3*s+1)/(6*s+1)/(8*s+1);%开环传递函数
G=feedback(Go,1);
w=logspace(-2,2,100);%自定义频率点
[magphase]=bode(G,w);%求闭环传递函数
mag=reshape(mag,[1001]);
w=w';
magB=20*log10(mag);
semilogx(w,magB);%绘制闭环幅频特性曲线
gridon
[MrK]=max(magB)%谐振峰值对应的K值及峰值
Wr=w(k);%谐振频率
disp('Mr=');disp(Mr);%显示闭环系统谐振峰值及频率
disp('Wr=');disp(Wr);
figure
step(G)%绘制阶跃响应曲线,求超调量和调整时间
Mr=
11.7871
K=
37
?
?
?
Attemptedtoaccessw(1.25);indexmustbeapositiveintegerorlogical.
通过编辑程序运行得到如图所示的幅频特性曲线,从图可以得知谐振峰值为11.79db,谐振频率为1.41,
%=
=64%,ts=102(s).
(2)设单位反馈系统的开环传递函数为
,要求系统有相位裕量
=
,求K值应为多少?
解:
>>symswk
G=k/(0.01*j*w+1)^3%开环频率特性
phaseG=-3*atan(0.01*w);%相角特性
AG=abs(G);%幅值特性
PM45=pi+phaseG-45*pi/180;%构造gama=45度的方程
wc=solve(PM45,'w');%求出剪切频率wc
A1=AG-1;%构造A(wc)=1的方程
A1=subs(A1,'w',wc);%用wc替代A-1中的w
k=double(solve(A1,'k'))%求K%用wc替代A-1中的w
G=
k/(1/100*i*w+1)^3
k=
-2.8284
2.8284
由此可知,K的值为2.8284
4,校正设计
1),根轨迹超前校正
被控对象传递函数为
,要求的技术指标是
=0.5和
=13.5rad/s.试用根轨迹设计——串联校正。
解:
利用根轨迹集合设计方法得MATLAB程序设计:
>>z=0.5;
>>wn=13.5;
>>re=-z*wn;
>>im=sqrt(1-z^2)*wn
im=
11.6913
>>f=re+j*im;
>>fai=180-360*atan(im/(-re))/(2*pi)
fai=
120
>>symss
>>g=400/(s*(s^2+30*s+200));
>>gs=subs(g,'s',f)
gs=
-0.0775+0.1144i
>>a=real(gs);
>>b=imag(gs);
>>gj=180-360*atan(b/(-a))/(2*pi)
gj=
124.1110
>>faic=180-gj
faic=
55.8890
>>ctap=(fai-faic)/2
ctap=
32.0555
>>ctaz=(fai+faic)/2
ctaz=
87.9445
>>pc=real(f)-imag(f)/(tan(ctap*2*pi/360))
pc=
-25.4198
>>pz=real(f)-imag(f)/(tan(ctaz*2*pi/369))
pz=
-7.6087
>>gc=(s-pz)/(s-pc);
>>gcf=subs(gc,'s',f);
>>kc=1/(abs(gs)*abs(gcf))
kc=
13.5989
>>num1=400;
>>den1=conv([10],[130200]);
>>[num11,den11]=cloop(num1,den1,-1);
>>step(num11,den11,'k');
>>holdon
>>num2=kc*400*[1-pz];
>>den2=conv(den1,[1-pc]);
>>[num22,den22]=cloop(num2,den2,-1);
>>step(num22,den22,'k-')
>>gtext('校正前')
>>gtext('校正后')
可以得到校正装置为
校正前系统的Bode图如下图所示,可以看出校正前的相角度裕度为73.3deg,增益裕度为23.5dB,增益穿越频率为1.95rad/s
margin(num1,den1)
得到校正前系统的Bode图:
>>holdon
margin(num2,den2)
校正后系统的Bode图如下图所示,可以看出校正后的相角裕度为57.8deg,增益裕度为14.4dB,增益穿越频率为8.15rad/s.校正后增益穿越频率增大,系统的响应速度加快。
2),根轨迹滞后校正
设单位负反馈系统的开环传递函数为G(s)=
,试设计串联校正装置,使系
统满足下列指标:
Kv=100,
。
解:
根据静态指标的要求,稳态误差系数为Kv=100,Kv=
sG(s)=
s
=100
得到K=100,绘出校正前的bode图:
输入如下MATLAB命令num=100;
den=[0.0410];
bode(num,den)
显然,相位裕量为28°不满足要求,需要进行校正。
由上面第一个图显示相角裕量,第2
个图显示相角为-130°时,频率为20.6s
,对应的幅值为11.5dB,这个指标后面会用到。
观察动态响应:
输入如下MATLAB命令
num=100;
den=[0.0410];
sys=tf(num,den);
[sys]=feedback(sys,1,-1)
Transferfunction:
100
------------------
0.04s^2+s+100
输入如下MATLAB命令
num=100;
den=[0.041100];
step(num,den)
下面是校正前的单位阶跃响应曲线:
动态指标中超调也有点大。
考虑补偿相角,校正后系统的相角裕量应设为
°+5°=50°,相频特性对应
于
=50°的频率为20.6s
此频率作为校正后系统的开环截止频率。
未校正系统在该频率
处的幅值为11.5dB(从bode图中可看出)。
由于滞后网络产生衰减11.5dB,则20lg
=11.5,解得
=3.76
选择校正频率为w1=
=
=2.06,w2=
=0.55
故滞后校正装置的传递函数为G(s)=
观察校正后的系统bode图:
输入如下MATLAB命令
num=[48.5100];
den1=conv([10],[0.041]);
den=conv(den1,[1.821]);
bode(num,den)
从校正后的图上可以看出相角裕量为46.3°,满足动态指标要求。
再看下单位阶跃响应曲线:
输入如下MATLAB命令
num=[48.5100];
den1=conv([10],[0.041]);
den=conv(den1,[1.821]);
sys=tf(num,den);
[sys]=feedback(sys,1,-1)
Transferfunction:
48.5s+100
------------------------------------
0.0728s^3+1.86s^2+49.5s+100
输入如下MATLAB命令
num=[48.5100];
den=[0.07281.8649.5100];
step(num,den)
可见超调量变小了,达到了校正的目的。
3),频域超前校正
被控对象的传递函数为
,设计要求为:
单位斜坡扰动下的稳态误差Ess=<0.1%,剪切频率
>=150rad/s,相角裕量
>=45,试确定校正网络的形式及参数。
解:
(1)根据静态指标确定系统型别和开环增益:
1型系统,由Ess=<0.1%的Ess=1/K=<0.1%得K>=1000.则取满足静态要求的校正装置形式为
。
(2)绘制原传递函数的曲线,求剪切频率
和相角裕量
。
程序单:
num=1000;
den1=conv([10],[0.11]);
den2=[0.0011];
den=conv(den1,den2);
bode(num,den)
margin(num,den)
[Gm,Pm,Wcg,Wcp]=margin(num,den)
运行结果:
Gm=1.0100
Pm=0.0584
Wcg=100.0000
Wcp=99.4863
由图可知,两项指标都不满足设计要求,根据指标要求和原曲线形式要串联超前网络校正。
(3):
计算校正装置参数:
faim=45-0.058+7
a=(1+sin(faim*2*pi/360))/(1-sin(faim*2*pi/360))
b=sqrt(a)
Wc2=sqrt(b*10000)
T=1/(Wc2*b)
num2=[a*T1];
den2=[T1];
Gc=tf(num2,den2)
运行结果:
faim=51.9420
a=8.4068
b=2.8994
Wc2=170.2775
T=0.0020
得超前校正的传递函数为
Transferfunction:
0.01703s+1
--------------
0.002025s+1
整个校正装置的传递函数为:
num3=10*[0.017031];
den3=conv([10],[0.0020261]);
G=tf(num3,den3)
运行结果:
Transferfunction:
0.1703s+10
----------------
0.002026s^2+s
(4):
校验:
校正后的开环传递函数为:
num=1000*[0.017031];
den1=conv([10],[0.11]);
den2=conv([0.0011],[0.0020261]);
den=conv(den1,den2);
Gb=tf(num,den);
G=zpk(Gb)
运行结果;
Zero/pole/gain:
84057255.6762(s+58.72)
---------------------------
s(s+1000)(s+493.6)(s+10)
绘制校正后的Bode图,求校正后的剪切频率
和相角裕量
:
bode(Gb)
margin(Gb)
[Gm,Pm,Wcg,Wcp]=margin(Gb)
运行结果:
Gm=7.4695Pm=45.7998Wcg=648.7392Wcp=168.0996
4),频域滞后校正
设单位负反馈系统的的开环传读函数为
,要求进行串联校正,使校正后系统相位裕量
>=50,在单位阶跃输入时,系统静态无差,确定校正网络的形式和参数。
解:
(1):
根据静态指标确定系统型别和开环增益:
单位斜坡输入时有差,所以系统为1型系统,由题意可知,系统本身已满足静态的要求,不许要改变开环增益和或增加积分环节。
(2):
根据
绘制Bode图,求剪切频率
和相角裕量
程序单:
num=100;
den=conv([10],[0.11]);
G1=tf(num,den);
bode(G1)
margin(G1)
[gm,pm,wcg,wcp]=margin(G1)
运行结果:
gm=Inf
pm=17.9642
wcg=Inf
wcp=30.8423
Bode图:
显然,不满足动态性能指标的要求,由于对剪切频率没有要求,又根据Bode曲线的形式,选择加入串联滞后网络实现动态校正。
(3):
计算校正参数:
ffaim=-180+50+5
Wc=10*tan((-90-faim)*2*pi/360)
alph=100/Wc
T=1/(0.1*Wc)
%校正装置的传递函数为:
>num=[T1];
den=[alph*T1];
Gc=tf(num,den)
Transferfunction:
1.428s+1
-----------
20.4s+1
(4)校验
%校正后系统的开环传递函数为:
num=100*[1.4281];
den1=conv([10],[0.11]);
den=conv(den1,[20.41]);
G0=tf(num,den)
Transferfunction:
142.8s+100
-----------------------
2.04s^3+20.5s^2+s
%校验后的bode图及动态性能指标:
bode(G0)
margin(G0)
[gm,pm,wcg,wcp]=margin(G0)
gm=Inf
pm=52.7402
wcg=Inf
wcp=6.0336
由图可知:
在加入滞后校正后,剪切频率
=6.0336rad/s,相角裕量
=52.7402,都满足题目的设计要求。
四、课程设计总结或结论
通过本次设计,巩固了课堂上所学到的知识,熟练的掌握了控制系统稳定性、稳态性能、动态性能的各种分析方法,加深了对数学建模,时域分析法,根轨迹分析法,频域分析法,控制系统校正的理解和应用。
学习MATLAB软件,基本掌握了它的有关功能和使用方法。
学会使用MATLAB软件进行系统性能分析,了解了MATLAB几个工具箱的使用方法,并能应用来解决一些问题。
五、参考文献
1,于希宁,孙建平《自动控制原理》,中国电力出版社,第四版,2012年1月(2008年2月第一版)
2,杨平,翁思义《自动控制原理——练习与测试篇》,中国电力出版社,第一版,2012年9月
3,关健,《自动控制原理》课程设计,控制工程与计算机学院自动化系0903班。
[1]作者1,作者2书名.出版单位,版本.出版日期