基于Matlab的控制系统Bode图超前校正设计范本模板.docx
《基于Matlab的控制系统Bode图超前校正设计范本模板.docx》由会员分享,可在线阅读,更多相关《基于Matlab的控制系统Bode图超前校正设计范本模板.docx(13页珍藏版)》请在冰豆网上搜索。
基于Matlab的控制系统Bode图超前校正设计范本模板
《自动控制系统》课程设计
基于Matlab控制系统的Bode图超前校正设计
2O11年11月12日
摘要:
串联超前校正,是在频域内进行的系统设计,是一种间接地设计方法。
因为设计结果满足的是一些频域指标,而不是时域指标,然而,在频域内进行设计,又是一种简便的方法,在伯德图的虽然不能严格地给出系统的动态系能,但却方便地根基频域指标确定校正参数,特别是对已校正系统的高频特性有要求时,采用频域法校正较其他方法更为简便。
一、设计的要求
试用Bode图设计方法对系统进行超前串联校正设计,要求:
(1)在斜坡信号r(t)=vt作用下,系统的稳态误差ess≤0.01v0;
(2)系统校正后,相角稳定裕度γ满足:
48deg≤γ;
(3)剪切频率ωc≥170rad/s。
二设计意义
对于一个控制系统来说,如果它的元部件及其参数已经给定,就要分析它是否能满足所要求的各项性能指标。
一般把解决这类问题的过程称为系统的分析。
在实际工程控制问题中,还有另一类问题需要考虑,即往往事先确定了满足的性能指标,让我们设计一个系统并选择适当的参数来满足性能指标要求;或考虑对原已选定的系统增加某些必要的原件或环节,使系统能够全面的满足所要求的性能指标。
利用超前网络或PD控制器进行串联校正的基本原理,是利用超前网络或PD控制器的相角超前特性。
只要正确的将超前网络的交接频率1/aT和1/T选在待校正系统截止频率的两旁,并适当选择参数a和T,就可以使已校正系统的截止频率和相角裕度满足性能指标的要求,从而改善闭环系统的动态性能。
三、设计思路
.
1.根据稳态误差要求,确定开环增益K。
2.根据已确定的开环增益K,绘制原系统的对数频率特性曲线
、
,计算其稳定裕度
、
。
3.确定校正后系统的截止频率
和网络的a值.
①若事先已对校正后系统的截止频率
提出要求,则可按要求值选定
。
然后在Bode图上查得原系统的
值。
取
,使超前网络的对数幅频值(正值)
与
(负值)之和为0,即令
进而求出超前网络的a值。
②若事先未提出对校正后系统截止频率
的要求,则可以从给出的相角裕度
要求出发,通过以下的经验公式求得超前网络的最大超前角
。
式中,
为超前网络的最大超前角;
为校正后系统所要求的相角裕度;
为校正前系统的相角裕度;
为校正网络引入后使截止频率右移(增大)而导致相角裕度减小的补偿量,
值的大小视原系统在
附近的相频特性形状而定,一般取
=
即可满足要求。
求出超前网络的最大超前角
以后,就可以根据式:
计算出a的值;然后未校正系统的
特性曲线上查出其幅值等于—10lg(1/a)对应的频率,这就是校正后系统的截止频率
,且
。
4。
确定校正网络的传递函数。
根据步骤3所求得的
和a两值,可求出时间常数T。
即可写出校正网络的传递函数为:
5。
校验校正后系统是否满足给定的指标的要求.若校验结果后证实系统经校验后已全部满足性能指标要求,则设计工作结束。
反之,若校验结果后发现系统校正后仍不满足要求,则需再重选一次
和
,重新计算,直至完全满足给定的指标要求为止。
四、参数的计算
1增益K
已知的开环传递函数:
及系统所要求的静态速度误差系数:
ess≤0。
01v0
由公式:
K=Kv〉100
可得K=100
2未校正系统的r和wc
绘制满足K=100的未校正系统的Bode图
num=[100];
den=conv([1,0],conv([0.1,1],[0.01,1]));
G0=tf(num,den)
Transferfunction:
100
-——--———--—-—-——-—----—-
0。
001s^3+0。
11s^2+s
w=logspace(-1,4,500);
bode(G0)
margin(G0)
未校正系统的相位裕度Pm和截止频率wc
[mag,pha,w]=bode(G0);
[Gm,Pm,Wcg,Wcp]=margin(mag,pha,w)
sys=feedback(G0,1);
step(sys)
Gm=
1。
1025
Pm=
1.6090
Wcg=
31。
6228
Wcp=
30.1165
未校正系统的阶跃响应
sys=feedback(G0,1);
step(sys)
编写function函数命名LeadCalibrate,用来求校正传递函数.
functionGc=LeadCalibrate(Key,G0,var)
w=logspace(—1,4,500);
[mag,pha,w]=bode(G0);
[Gm,Pm,Wcg,Wcp]=margin(mag,pha,w);
ifKey==1
Phi=(var-Pm+20)*pi/180;
alpha=(1—sin(Phi))/(1+sin(Phi));
M=10*log10(alpha)*ones(length(w),1);
semilogx(w,20*log10(mag(:
)),w,M);
wmmin=w(find(20*log10(mag(:
))>M));
wmin=max(wmmin);
wmmax=w(find(20*log10(mag(:
))wmax=min(wmmax);
wm=(wmin+wmax)/2;
wc=wm;
T=1/(wc*sqrt(alpha));
Tz=alpha*T;
Gc=tf([T,1],[Tz,1]);
end
ifKey==2
wc=var;
[mag3,pha3,w1]=bode(G0,wc);
magdb=20*log10(mag3);
alpha=1/(10^(magdb/10));
T=1/(wc*sqrt(alpha));
Tz=alpha*T;
Gc=tf([Tz,1],[T,1]);
end
end
根据相角裕度校正函数并求相应的相角裕度Pm和截止频率wc
Gc=LeadCalibrate(1,G0,48)
Transferfunction:
0。
08316s+1
————-——---—-——
0。
002887s+1
G1=G0*Gc;
bode(G1);
margin(G1);
[Gm,Pm,Wcg,Wcp]=margin(G1)
grid
Gm=
5。
2254
Pm=
43。
0960
Wcg=
183.6803
Wcp=
67。
8466
校正后的阶跃响应
sys1=feedback(G1,1);
step(sys1)
根据截止频率求校正函数并求相应的相角裕度Pm和截止频率wc
Gc=LeadCalibrate(2,G0,170)
Transferfunction:
0。
3533s+1
---—-—-—-——-————
9.242e-005s+1
校正后的Bode图
G1=G0*Gc;
bode(G1);
margin(G1);
[Gm,Pm,Wcg,Wcp]=margin(G1)
grid
Gm=
33.1465
Pm=
31.1622
Wcg=
1.0772e+003
Wcp=
174.9997
校正后的阶跃响应
sys1=feedback(G1,1);
step(sys1)
通过此次课程设计培养我们综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程。
随着科学技术发展的日新月异,作为电子专业的大学来说掌握Matlab软件的应用是十分重要的。
回顾起此次课程设计,至今我仍感慨颇多,的确,从找资料,设计到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
通过这次课程设计之后,一定把以前所学过的知识重新温故.
这次课程设计终于顺利完成了,在设计中遇到了很多问题,通过和同学的交流,终于迎刃而解。
同时,在此次的课程设计中也学得到很多实用的知识,在这次课程设计中也为我今后的学习和工作打下了坚实的基础。
参考文献
[1]胡寿松.自动控制原理(第四版).北京:
科学出版社,2001
[2]瞿亮.基于MATLAB的控制系统计算机仿真(第一版).清华大学出版社,2006
[3]刘姜涛.基于MATLAB的串联超前校正器设计。
湖北第二师范学院学报,2011