当前位置:文档之家› matlab课程设计——超前校正

matlab课程设计——超前校正

自动控制原理课程设计报告学院:信息工程学院班级:自动化-2姓名:**学号:**********地点:电信实验指导教师:***目录一.设计要求 (3)二.设计目的 (3)三.设计内容 (3)3.1设计思路 (3)3.2设计步骤 (4)3.2.1.确定系统的开环增益 (4)3.2.2.求出系统的相角裕度 (4)3.2.3.确定超前相角.................. .. (4)3.2.4.求出校正装置的参数 (4)3.2.5.校正后系统的开环剪切频率 (4)3.2.6.确定超前校正装置的传递函数 (5)3.2.7.确定校正后系统的开环传递函数 (5)3.2.8.检验系统的性能指标 (5)五.Matlab 程序及其运行结果 (6)4.1绘制校前正后的bode图.......... . (7)4.2绘制校前正后的Nyquist图 (7)4.3绘制校前正后的单位阶跃响应曲线 (7)五.课程设计总结 (10)六.参考文献 (11)自动控制原理课程设计一. 设计要求:已知单位反馈系统开环传递函数如下:()()()10.110.3O kG s s s s =++试设计超前校正环节,使其校正后系统的静态速度误差系数6v K ≤,相角裕度为45度,并绘制校正前后系统的单位阶跃响应曲线,开环Bode 图和闭环Nyquist 图。

二. 设计目的:1.通过课程设计使学生更进一步掌握自动控制原理课程的有关知识,加深对内涵的理解,提高解决实际问题的能力。

2.理解自动控制原理中的关于开环传递函数,闭环传递函数的概念以及二者之间的区别和联系。

3.理解在自动控制系统中对不同的系统选用不同的校正方式,以保证得到最佳的系统。

4.理解在校正过程中的静态速度误差系数,相角裕度,截止频率,超前(滞后)角频率,分度系数,时间常数等参数。

5.学习MATLAB 在自动控制中的应用,会利用MATLAB 提供的函数求出所需要得到的实验结果。

6.从总体上把握对系统进行校正的思路,能够将理论操作联系实际、运用于实际。

三. 设计内容:3.1设计思路:频域法中的超前校正是利用校正装置的超前相位在穿越频率处对系统进行相位补偿,以提高系统的相位稳定裕量,同时也提高了穿越频率值,从而改善系统的稳定性快速性。

串联超前校正主要适用于稳定精度不需要改变(即稳态性能较好),动态性能不佳,而穿越频率附近相位变化平稳的系统。

3.2 校正步骤如下:超前校正环节为:())1(11<++=αατταs s s G c (即αττ11<) (1) 根据所要求的稳态性能指标,确定系统的开环增益K 。

待校正系统为I 型系统,故而静态速度误差v K =K ,由稳态性能指标可知:6≤K ,不妨取6=K 。

(2) 绘制满足由(1)确定的值下的系统Bode 图,并求出系统的相角裕度γ。

由图可知待校正系统的相角裕度2.380=γ。

s rad c /86.40=ω。

(3) 确定为使相角裕度量达到要求值所需增加的超前相角c ϕ,εγγϕ+-=0c ,其中,γ为要求的相角裕度(γ=45º),是考虑到校正装置影响剪切频率(截止频率)的位置而附加的相角裕度,当未校正系统中频段的斜率为-40dB/dec 时取15~5=ε,当未校正系统中频段斜率为-60dB/dec 时,取 20~5=ε。

由(2)可知,中频段的斜率为-40dB/dec ,则ε在5º~15º取值。

不妨先取ε的值为10º。

此时由εγγϕ+-=0c 得c ϕ=21.8º。

(4) 令超前校正网络的最大超前相角m ϕ=c ϕ,则由下式求出校正装置的参数α。

mmϕϕαsin 1sin 1+-=将m ϕ=c ϕ=21.8º代入上式得:4584.0=α(5) 在Bode 图上确定未校正系统幅值为a log 10时的频率ωm,该频率作为校正后系统的开环剪切频率ωc,即ωωmc=。

把4584.0=α代入)log(10α得dB L m 39.3)(-=ω。

由(2)中的Bode 图可知s rad m/32.6=ω。

(6) 由ωm确定校正装置的转折频率ω1和ω2。

αωτωm ==11,αωατωm ==12,超前校正装置的传递函数())1(11<++=αατταs s s G c解得:s rad /2790.41=ω,s rad /3346.92=ω,()11071.012337.04584.0++=s s s G c(7) 将系统放大倍数增大α1倍,以补偿超前校正装置引起的幅值衰减,即1815.21==αc K(8) 画出校正后系统的Bode 图,校正后系统的开环传递函数为:c c K s G s G s G )()()(0=,即:())3.01)(1071.01)(1.01()12337.0(6s s s s s s G ++++=(9) 检验系统的性能指标,若不满足要求,可增大或减小ε值,从步骤(3)重新计算。

10=ε时,Bode 图为:由图可知s rad c /96.5=ω,452.45>=γ。

此时相角裕度略大于指标,可以取9=ε。

9=ε时,Bode 图为:由图可知s rad c /89.5=ω,458.44<=γ。

此时相角裕度略小于指标,可以取5.9=ε。

5.9=ε时Bode 图为:由图可知s rad c /93.5=ω,45=γ。

此时相角裕度满足指标。

四. Matlab 程序及其运行结果num=6;den=conv([1,0],conv([0.1,1],[0.1,1]));G=tf(num,den);kc=1;yPm=45+12;%调整时改变加数即可(在5~15之间进行调整)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%G=tf(G);[mag,pha,w]=bode(G*kc);Mag=20*log10(mag);[Gm,Pm.Wcg,Wcp]=margin(G*kc);phi=(yPm-getfield(Pm,'Wcg'))*pi/180;alpha=(1+sin(phi))/(1-sin(phi));Mn=-10*log10(alpha); Wcgn=spline(Mag,w,Mn);T=1/Wcgn/sqrt(alpha); Tz=alpha*T; Gc=tf([Tz,1],[T,1]);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% G=G*kc; GGc=G*Gc; Gy_close=feedback(G,1); Gx_close=feedback(GGc,1);******************************************************* figure(1);step(Gx_close,'b');hold onstep(Gy_close,'r');gridgtext('校正前的');gtext('校正后的');********************************************************* ************************************************figure(2);bode(G,'r');holdbode(GGc,'b');gridgtext('校正前的');gtext('校正后的');gtext('校正前的');gtext('校正后的');********************************************** **********************************************figure(3);nyquist(Gy_close,'r');hold onnyquist(Gx_close,'b');gridgtext('校正前的');gtext('校正后的');**************************************************运行结果如下:Transfer function: 6-------------------------- 0.01 s^3 + 0.2 s^2 + s + 6 Transfer function:1.351 s + 6----------------------------------------------------0.001265 s^4 + 0.0353 s^3 + 0.3265 s^2 + 2.351 s + 6Bode 图校正前的校正后的M a g n i t u d e (d B )1010101010校正前的校正后的P h a s e (d e g )Bode DiagramFrequency (rad/s)单位阶跃响应图 Nyquist 图Time (seconds)A m p l i t u d eReal AxisI m a g i n a r y A x i s由单位阶跃响应图可以明显的得出以下结论:1. 加入超前校正装置后,校正后系统的调节时间大大减小,这在一定程度上提升了系统的响应速度;2. 校正后系统的超调量明显减少,阻尼比增大,动态性能得到改善。

3. 校正后系统的上升时间减少很多,从而也在一定程度上提升了系统的响应速度。

所以加入串联超前校正装置后系统性能明显提升。

由Nyquist 图可知,系统在调整前后均为稳定的系统。

五. 课程设计总结:这次的课程设计,在给同学答疑的过程中对知识的理解更加深刻。

这次基础强化训练主要是让我们学习MATLAB 在自动控制原理方面的应用。

而且发现如果可以编写出一个非常好的程序会对一些实际问题的求解带来非常大的方便。

我整个调整过程非常顺利。

编写出好的程序必须要深刻了解所用函数,对函数中涉及的每一个变量都要清楚的了解其实际意义。

Matlab 在自动化中的应用与实际问题的求解非常的和谐。

熟练掌握Matlab 对深入学习和研究自动化相关问题是必须的。

六. 参考文献:[1]孟华.自动控制原理.北京:机械工程社版社,2007[2]梅志红,杨万铨.MATLAB 程序设计基础及其应用.北京:清华大学出版社,2005 [3]黄永安,李文成等.Matlab7.0/Simulink6.0应用实例仿真与高效算法开发.北京:清华大学出版社,2008[4]吴大正.MATAB及在电子信息课程中的应用(第三版).电子工业出版社,2006[5] 黄坚主. 自动控制原理及其应用. 北京:高等教育出版社 2004[6] 王正林,王盛开,陈国顺,王祺. Matlab/Simulink与控制系统仿真. 北京:电子工业出版社2013。

相关主题