资源描述
《自动控制系统》课程设计
基于Matlab控制系统的Bode图超前校正设计
2O11 年11月 12日
摘要:串联超前校正,是在频域内进行的系统设计,是一种间接地设计方法。因为设计结果满足的是一些频域指标,而不是时域指标,然而,在频域内进行设计,又是一种简便的方法,在伯德图的虽然不能严格地给出系统的动态系能,但却方便地根基频域指标确定校正参数,特别是对已校正系统的高频特性有要求时,采用频域法校正较其他方法更为简便。
目录
一、设计的要求…………………………………………………………3
二设计意义……………………………………………………………3
三、设计思路……………………………………………………………3
四、参数的计算………………………………………………………….5
参考文献 ……………………………………………………………。.12
一、设计的要求
试用 Bode 图设计方法对系统进行超前串联校正设计,要求:
(1)在斜坡信号 r (t ) = v t 作用下,系统的稳态误差 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)
Transfer function:
100
——-—-———-——--—————-——-—-
0。001 s^3 + 0。11 s^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,用来求校正传递函数。
function Gc=LeadCalibrate(Key,G0,var)
w=logspace(-1,4,500);
[mag,pha,w]=bode(G0);
[Gm,Pm,Wcg,Wcp]=margin(mag,pha,w);
if Key==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(:))〈M));
wmax=min(wmmax);
wm=(wmin+wmax)/2;
wc=wm;
T=1/(wc*sqrt(alpha));
Tz=alpha*T;
Gc=tf([T,1],[Tz,1]);
end
if Key==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)
Transfer function:
0.08316 s + 1
———-——-—-——--—
0.002887 s + 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)
Transfer function:
0。3533 s + 1
--—————-—---—-——
9.242e-005 s + 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
7
展开阅读全文