资源描述:
《基于-Matlab的控制系统Bode图超前校正设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《自动控制系统》课程设计基于Matlab控制系统的Bode图超前校正设计2O11年11月12日摘要:串联超前校正,是在频域内进行的系统设计,是一种间接地设计方法。因为设计结果满足的是一些频域指标,而不是时域指标,然而,在频域内进行设计,又是一种简便的方法,在伯德图的虽然不能严格地给出系统的动态系能,但却方便地根基频域指标确定校正参数,特别是对已校正系统的高频特性有要求时,采用频域法校正较其他方法更为简便。目录一、设计的要求…………………………………………………………3二设计意义……………………………………………………………3三、设
2、计思路……………………………………………………………3四、参数的计算………………………………………………………….5参考文献……………………………………………………………..12一、设计的要求试用Bode图设计方法对系统进行超前串联校正设计,要求:(1)在斜坡信号r(t)=vt作用下,系统的稳态误差ess≤0.01v0;(2)系统校正后,相角稳定裕度γ满足:48deg≤γ;(3)剪切频率ωc≥170rad/s。二设计意义对于一个控制系统来说,如果它的元部件及其参数已经给定,就要分析它是否能满足所要求的各项性能指标。一般把解决这类问
3、题的过程称为系统的分析。在实际工程控制问题中,还有另一类问题需要考虑,即往往事先确定了满足的性能指标,让我们设计一个系统并选择适当的参数来满足性能指标要求;或考虑对原已选定的系统增加某些必要的原件或环节,使系统能够全面的满足所要求的性能指标。利用超前网络或PD控制器进行串联校正的基本原理,是利用超前网络或PD控制器的相角超前特性。只要正确的将超前网络的交接频率1/aT和1/T选在待校正系统截止频率的两旁,并适当选择参数a和T,就可以使已校正系统的截止频率和相角裕度满足性能指标的要求,从而改善闭环系统的动态性能。三、设计思路。1.根
4、据稳态误差要求,确定开环增益K。2.根据已确定的开环增益K,绘制原系统的对数频率特性曲线、,计算其稳定裕度、。3.确定校正后系统的截止频率和网络的a值。①若事先已对校正后系统的截止频率提出要求,则可按要求值选定。然后在Bode图上查得原系统的值。取,使超前网络的对数幅频值(正值)与(负值)之和为0,即令进而求出超前网络的a值。②若事先未提出对校正后系统截止频率的要求,则可以从给出的相角裕度要求出发,通过以下的经验公式求得超前网络的最大超前角。式中,为超前网络的最大超前角;为校正后系统所要求的相角裕度;为校正前系统的相角裕度;为校正
5、网络引入后使截止频率右移(增大)而导致相角裕度减小的补偿量,值的大小视原系统在附近的相频特性形状而定,一般取=即可满足要求。求出超前网络的最大超前角以后,就可以根据式:计算出a的值;然后未校正系统的特性曲线上查出其幅值等于-10lg(1/a)对应的频率,这就是校正后系统的截止频率,且。4.确定校正网络的传递函数。根据步骤3所求得的和a两值,可求出时间常数T。即可写出校正网络的传递函数为:5.校验校正后系统是否满足给定的指标的要求。若校验结果后证实系统经校验后已全部满足性能指标要求,则设计工作结束。反之,若校验结果后发现系统校正后仍
6、不满足要求,则需再重选一次和,重新计算,直至完全满足给定的指标要求为止。四、参数的计算1增益K已知的开环传递函数:及系统所要求的静态速度误差系数:ess≤0.01v0由公式:K=Kv>100可得K=1002未校正系统的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+sw=logspac
7、e(-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.1025Pm=1.6090Wcg=31.6228Wcp=30.1165未校正系统的阶跃响应sys=feedback(G0,1);step(sys)编写function函数命名LeadCalibrate,用来求校正传递函数。functionGc=LeadCalibr
8、ate(Key,G0,var)w=logspace(-1,4,500);[mag,pha,w]=bode(G0);[Gm,Pm,Wcg,Wcp]=margin(mag,pha,w);ifKey==1Phi=(var-Pm+20)*pi/180;al