Bode图法控制系统设计串联滞后校正解析Word文档下载推荐.docx
《Bode图法控制系统设计串联滞后校正解析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Bode图法控制系统设计串联滞后校正解析Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
3、控制器的计算机实现9
A、直接程序设计法9
B、串行程序法10
C、并行程序法11
D、控制器的计算机实现流程图11
三、控制系统的MATLAB实现12
1、控制系统的MATLAB仿真12
2、控制系统的simulink仿真13
四、小结14
五、参考文献15
、设计任务
Bode图法控制系统设计---串联滞后校正
设被控对象的传递函数为Go(s)二
s(s+5)
1设计要求
(1)开环增益Kv=20
(2)频率裕量丫=70°
(3)对此控制器进行离散化,并用计算机程序实现(划出流程图)
(4)用Matlab对系统进行仿真,分析系统的阶跃响应
2、设计方案分析
系统要求使用Bode图法对控制系统进行设计,同时要求采用串联滞后校正。
、Bode图法
在Bode图中的对数频率特性的低频区表征了闭环系统的稳定特性,中频区表征了系
在大多数实际情况中,校正问题的实
必须改变开环频率特性响应曲线的
且中频区的对数幅频特性的斜率应
统的相对稳定性,而高频区表征了系统的抗干扰特性。
质上是一个在稳定精度和相对稳定性之间取折中的问题。
为了获得比较高的开环增益及满意的相对稳定性,形状,这主要体现为:
在低频区和中频区增益应足够大,为_20d/dec,并有足够的宽带,以保证适当的相角裕度;
而在高频区,要使增益尽可
能的衰减下来,以便使高频噪声的影响达到最小。
下面讨论一下基于Bode图法的串联超前
校正的方法及MATLAB^现。
二、串联滞后校正
串联滞后校正的主要作用在不改变系统动态特性的前提下,提高系统的开环放大倍数,使系统的稳态误差减小,并保证一定的相对稳定性。
设滞后校正装置的传递函数为
1aTS/
Gc(s)二©
(a:
:
1)
1+Ts
1.Bode图的几何设计方法
用这种方法设计滞后校正装置的步骤如下。
(1)根据稳态指标确定未校正系统G0'
(s)的型别和开环增益K,并绘制Bode图。
(2)根据动态指标要求确定滞后校正装置的参数,分两种情形加以讨论。
第一种情形:
给出了'
c的要求值。
1根据2Olg|Go'
(jc)^-20|ga,求出a的值。
a=pGjT|。
2为了减少滞后校正对系统的影响,通常取1/aT:
、(1/5-1/10)「c。
并求出
T=10/ac°
)
第二种情形:
未给出的要求值。
'
c若相角裕度不足,找出满足的频率点作为校正系统的剪贴频率,然后按第一种
情形额步骤处理。
③验算性能指标
3、控制器的MATLAB程序实现
本设计主要运用bode图法的MATLAB设计方法,主要利用伯德(Bode)图进行系统的设计,用到的函数有:
Bode--—伯德图作图命令;
Logspace—用于在某个区域中产生若干频点;
Polyval—求多项式的值;
Ceil—朝正无穷大方向取整;
ng0=[10];
dg0=[1,5,0];
g0=tf(ng0,dg0);
t=[0:
0.01:
3];
w=logspace(-2,2);
kk=10;
pm=70;
[mu,pu]=bode(kk*ng0,dg0,w);
wgc=spline(pu,w,pm+5-180),
ngv=polyval(kk*ng0,j*wgc);
dgv=polyval(dg0,j*wgc);
g=ngv/dgv;
alph=abs(1/g),t=10/alph*wgc,
ngc=[alph*t,1];
dgc=[t,1];
gc=tf(ngc,dgc),g0c=tf(kk*g0*gc);
b1=feedback(kk*g0,1);
b2=feedback(g0c,1);
step(b1,t);
gridon,holdon;
step(b2,t),holdofffigure,bode(kk*g0,w),gridon,holdon;
bode(g0c,w);
holdoff
[gm,pm,wcg,wcp]=margin(g0c)
wgc=
1.3397
alph=
0.0694
t=
193.1852
Transferfunction:
13.4s+1
193.2s+1gm=
Inf
pm=
72.0162wcg=
Infwcp=
1.3417
(13.4S+1)
即所得的控制器连续函数为:
DS二
(193.2S+1)
二、控制系统的模拟化设计
1模拟控制器的离散化方法
从信号理论角度来看,模拟控制器就是模拟信号滤波器应用于反馈控制系统中作为校正
装置。
滤波器对控制信号中有用的信号起着保存和加强的作用,而对无用的信号起着抑制和
衰减的作用。
模拟控制器离散化成的数字控制器,也可以认为是数字滤波器。
主要有以下几
种离散化方法。
A、冲激不变法
冲激不变法的基本思想是:
数字滤波器产生的脉冲响应序列近似等于模拟滤波器的脉冲响应函数的采样值。
n
设模拟控制器的传递函数为D(s)二匕血二「一A」
E(s)i#s+ai
、n
在单位脉冲作用下输出响应为u(t)二L,D(s)I-7Aie^it
i話
n
u(kT)7Ae*
i=1
其采样值为
B、加零阶保持器的Z变换法
这种方法就是用零阶保持器与模拟控制器串联,然后再进行z变换离散化成数字控制器,
即:
D(z)=Z|上「D(s)
1s一
C、差分变换法
模拟控制器若用微分方程的形式表示,其导数可用差分近似。
常用的一阶差分近似方法有两
种:
前向差分和后向差分。
(1).后向差分变换法
(2).前向差分变换法
两边取Z变换得(z-1)U(z)二TE(z)
由此可得如下等效代换关系
z—1
可得到D(z)=D(s)s土
_T
前向差分变换法中稳定的D(s)不能保证变换成稳定的D(z),且不能保证有相同的脉冲响应
和频率响应。
D、双线性变换法
因此
1zJ
D(z)=D(s)
?
(i”
〒(1沙
E、频率预畸变双线性变换法
上述的双线性变换,将S平面的虚轴变换到Z平面的单位圆周,因而没有混叠现象。
但
是在模拟频率Q和离散频率3之间却存在非线性关系。
C2.COT
当3T取值0〜n时,Q的值为0〜8。
这意味着,模拟滤波器的全部频率响应特性被压缩到离散滤波器的0<
3T<
n的频率范围之内。
这两种频率之间的非线性特性,使得由双线性变换所得的离散频率响应产生畸变,可以采用预畸变的办法来补偿频率特性的畸变。
2、控制器的MATLAB离散程序
采用MATLAB编程实现连续系统的离散化,此程序基于加零阶保持器的Z变换法,使
用函数c2dm作为指令。
程序和结果如下:
num=[13.4,1];
den=[193.2,1];
ts=0.1;
[x,y]=c2dm(num,den,ts);
tf(x,y,ts)
Transferfunction:
0.06936z-0.06884
z-0.9995
Samplingtime:
0.1
即所得离散化后控制器为:
DZ=0.06936z~°
.°
6884
3、控制器的计算机实现
控制器的计算机实现共有三种方法:
直接程序设计法、串行程序设计法和并行程序设计
法。
A、直接程序设计法
bbmZ
1a1Z=anZ
U(z)
E(z)
设数字控制器的一般形式为:
mn
•-U(z)「biZ」E(z)-、ajZ」U(z)
7j二
取Z反变换得:
U(k)='
bje(k-i)-'
ajU(k-j)
7j4
显然,上式是物理可实现的。
其中,z-1为延时环节,每计算一次u(k)需要以前n个输出值以及当前误差值e(k)和以前m个误差值,所以必须将这些值存储起来以备使用。
这样,每计算一次u(k)需要做n+m+1次
乘法,n+m次加法,并做n+m次数据转移。
可以改进其算法,以便减少延时器,即减少运算次数。
由U(z)=2;
bz〉E(z)—送ajZ」U(z)并设a0=1
i卫
U(z)'
ajZ
j=0
j=i
m
=E(z)'
bjZ」
1
定义:
Q(z^-E(z)
ajZ^
所以改进的直接程序设计法中:
U(z)=Q(zpbiz_l
i=0m
u(k)=為0q(k_i)
i=0
Q(z)二E(z)-Q(z)'
右
j仝
B、串行程序法
q(k)=e(k)-、%q(k-j)
jm
设数字控制器的零点、极点分别为zi,pj,i=1,2,…,m;
j=1,2,
n;
n》m,则
D(z)
K(Z—乙)丨1|(Z—Zm)
(Z-pJ(Zf)
二D1(z)D2(z)|I|Dn(z)
其中:
DO
5(z)
-E(z)
z_z11-z1z
=
Z-P11-P1Z
z-z21-z2z
Z_P21-P2Z
Dm(z)
Um(Z)_Zf
Um4(Z)Z-Pm
1ZmZ4
1-PmZ
Dm1(Z)
_Um1(Z)
_Um(z)
Z一Pm*1
-1
_z
1-Pm1Z
Dn(z)
Und(Z)
kkz*
Z-Pn1-PnZ
10
则得到:
b(k)=e(k)—z&
k-1)+pei(k-1)
U2(k)=Ui(k)—Z2Ui(k-1)+P2U2(k-1)
*Um(k)=UmjL(k)—ZmUmd(k—1)+PmUm(k—1)
Um^(k)=Um(k—1)+Pm我m*(k—1)
a
u(k)=kUn」(k—1)+PnU(k—1)
则D(z)=vDi(z)
id:
Ui(z)yE(z)PiZ」Ui(z)
Ui(k)=Ge(k)PiU(k-1)
得到:
u(k)='
ui(k)
iT
D、控制器的计算机实现流程图
_4
由此控制器形式:
DZ=0.069360.06竽可以看出,它只适合用直接程序法实现。
1-0.9995Z
所以,应用直接程序法
则uk=0.06936ek-0.06884ek-1+0.9995uk-1
流程图:
(如下)
e(k)
三、控制系统的MATLAB实现
1控制系统的MATLAB仿真
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创
建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通
讯、图像处理、信号检测、金融建模设计与分析等领域。
通过MATLAB程序绘制出bode图,程序如下:
g0=tf(ngO,dgO);
[mu,pu]=bode(kk*ngO,dgO,w);
wgc=spline(pu,w,pm+5-180),ngv=polyval(kk*ngO,j*wgc);
dgv=polyval(dgO,j*wgc);
alph=abs(1/g),t=10/alph*wgc,ngc=[alph*t,1];
gc=tf(ngc,dgc),gOc=tf(kk*gO*gc);
b仁feedback(kk*g0,1);
holdoff[gm,pm,wcg,wcp]=margin(gOc)
改进前后的Bode图如下
其中
gm=
复合设计要求
2、控制系统的simulink仿真
Simulink是MATLAB的重要组成部分,提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。
仿真后系统校正前后单位阶跃响应曲线如下图所示:
Tima(sec)
可见,阶跃响应明显改善。
四、小结
通过此次课程设计学习,让我对一些重要软件的操作也有了很大的提高,在
此次设计中帮到很大忙。
通过它们可以进行设计仿真,检验设计的正确性。
在设计的过程中,我遇到了一些难题,例如MATLA仿真软件操作问题;
通过上网查阅相关教程,锻炼了自身的自学能力,也同时与同学相互探讨,培养了自身的协作能力。
要把理论转化为实践是必须的,学生必须尽力为自己寻找一些实验,动手的机会。
课程设计为我们提供了这样的机会。
课设过程中,大家自己独立思考,完成老师布置的题目,学习了很多东西,把自己所学用于实际,是我对自动化专业有了更深的了解,同时极大的提高了我对自动化专业的兴趣。
课堂学习主要注重于理论知识,而我们要将所学知识应用于实际,在此阶段,课程设计便是最好的选择了,通过课程设计,我们可以温习我们所学的理论知识,同时为将理论知识运用于实际搭建了一个很好的平台,不仅如此,通过这次的课程设计,使我知
道了在当今的信息技术如此发达的世界中,我们必须运用多种渠道,去学习研究。
并要很好的运用计算机和一些软件,只有这样,我们才能更好地、精确地、快速地解决问题。
还有就是提高了自主解决问题的能力。
这次校正系统的设计,我不但运用了以前在书本上学过的知识,还运用了新的软件一一MATLAB软件,在此之前我们并没有学过MATLAB软件的运用,通过查阅相关资料,终于用MATLAB软件实现了所要求的功能。
通过动手实践也让我对校正方法有了更深刻的了解,这绝对是对自己自控知识的巩固与提高。
MATLAB软件的强大功能确实令人兴奋,在以后的学习、生活中它将会扮演重要的角色。
总之,在这次课程设计过程中,我既学习到了自动控制原理的知识,又学到了许多书本之外宝贵的分析动手能力。
与其临渊羡鱼,不如退而结网。
这次自动控制设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。
西北工业出版社清华大学出版社电子工业出版社电子工业出版社北京航空航天大学出版社
五、参考文献
1、自动控制原理(卢京潮主编)第二版
2、计算机控制技术(姜学军、刘新国、李晓静主编)第二版
3、MATLAB在控制系统中的应用(张静等主编)
4、MATLAB/Simulink与控制系统仿真(王正林等主编)第二版
5、MATLAB教程(张志涌杨祖樱等主编)