大林控制算法及其软件实现.docx
- 文档编号:4155055
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:13
- 大小:185.47KB
大林控制算法及其软件实现.docx
《大林控制算法及其软件实现.docx》由会员分享,可在线阅读,更多相关《大林控制算法及其软件实现.docx(13页珍藏版)》请在冰豆网上搜索。
大林控制算法及其软件实现
3.4大林(Dahlin)算法
前面介绍的最少拍无纹波系统的数字控制器的设计方法只适合于某些随动系统,对系统输出的超调量有严格限制的控制系统它并不理想。
在一些实际工程中,经常遇到纯滞后调节系统,它们的滞后时间比较长。
对于这样的系统,往往允许系统存在适当的超调量,以尽可能地缩短调节时间。
人们更感兴趣的是要求系统没有超调量或只有很小超调量,而调节时间则允许在较多的采样周期内结束。
也就是说,超调是主要设计指标。
对于这样的系统,用一般的随动系统设计方法是不行的,用PID算法效果也欠佳。
针对这一要求,IBM公司的大林(Dahlin)在1968年提出了一种针对工业生产过程中含有纯滞后对象的控制算法。
其目标就是使整个闭环系统的传递函数相当于一个带有纯滞后的一阶惯性环节。
该算法具有良好的控制效果。
3.4.1大林算法中D(z)的基本形式
设被控对象为带有纯滞后的一阶惯性环节或二阶惯性环节,其传递函数分别为:
(341)
(3-4-2)
其中「,为被控对象的时间常数,二二上三为被控对象的纯延迟时
间,为了简化,设其为采样周期的整数倍,即N为正整数。
由于大林算法的设计目标是使整个闭环系统的传递函数相当于
一个带有纯滞后的一阶惯性环节,即
由于一般控制对象均与一个零阶保持器相串联,所以相应的整个
闭环系统的脉冲传递函数是
(343)
于是数字控制器的脉冲传递函数为
D(z)可由计算机程序实现。
由上式可知,它与被控对象有关。
下面分别对一阶或二阶纯滞后环节进行讨论。
342—阶惯性环节的大林算法的D(z)基本形式
当被控对象是带有纯滞后的一阶惯性环节时,由式(3-4-1)的传递函数可知,其脉冲传递函数为
二廃-吃[111-
sFjs+1
W八汕丄^;]
1—zi—ez
-I■y/斗
=灯g]_p
—2-r>,-i
1亠£z
将此式代入(3-4-4),可得
=(i“尹)(—”)
厂「…「:
_「.「「「「](3-4-5)
式中:
T——采样周期:
「被控对象的时间常数;
闭环系统的时间常数。
3.4.3二阶惯性环节大林算法的D(z)基本形式
当被控对象为带有纯滞后的二阶惯性环节时,由式(3-4-1)的
传递函数可知,其脉冲传递函数为
4-JS严
=K(\-z^3~NZ
1—・电
S(百甘+1)(丁泸亠1)
疋(17“肚—作一+一-一j一-]
1"(耳-殆(1-严叫")化-g(1y乜)」K©+"T)严
其中,
将式G(z)代入式(3-4-3)即可求出数字控制器的模型:
(346)
3.4.4振铃现象及其消除方法
振铃现象是指数字控制器的输出以接近1/2采样频率的频率,大幅度衰减振荡。
它对系统的输出几乎无影响,但会使执行机构因磨损而造成损坏。
衡量振铃现象的强烈程度的量是振铃幅度RA(Ringing
Amplitude)。
它的定义是:
控制器在单位阶跃输入作用下,第零次输出幅度与第一次输出幅度之差值。
已知数字控制器脉冲传递函数的一般形式可写为
1十口店7十眄艺司+...
1十机广‘十…
(3-4-7)
1-\-£ly2】4盘Q(z)=:
——「=
其中1_i''(3-4-8)
控制器输出幅度的变化取决于Q(z),当不考虑二-(它只是输出序列延时)时,则Q(z)在阶跃脉冲作用下的输出为
_1+^z-1++A_L+qyT十应尹J+A
1-戶[1+外戶+爲尸+人仃-訐]1+(方]_°旷】+(>2_对比.+八
二1+〔3q-S+[上1+■■■
故可求出振铃幅度_11-'i■■-(3-4-9)
振铃现象产生的根源在于Q(z)中z=-1附近有极点。
极点在z=-1时最严重,离z=-1越远,振铃现象就越弱。
在单位圆内右半平面有零点时,会加剧振铃现象;而在左半平面有极点时,则会减轻振铃现象。
大林提出一种消除振铃现象的方法,即先找出造成振铃现象的极点因子,令其中z=1,这样便消除了这个极点。
根据中值定理,这样的处理不会影响输出的稳态值。
下面来分析一阶(或二阶)惯性环节的数字控制器D(z)的振铃现象及其消除方法。
1.被控对象为一阶惯性环节
被控对象为纯滞后的一阶惯性环节时,将表示其数字控制器的
。
(刁的(3-4-5)式化成一般形式如下:
由此可求出振铃幅值为
「'r'■-'(3-4-10)
如果选T>T1,则RX0,无振铃现象。
如果选择TVT1,则有振铃现象。
由此可见,当系统的时间常数T大于或等于被控对象
的时间常数T1时,即可消除振铃现象。
将式D(Z)的分母进行分解,可得
在(3-4-25)中,z=1处的极点并不引起振铃现象。
可能引起振
铃现象的因子为
当N=0时,此因子消失,无振铃可能。
当N=1时,有一个极点在‘一〔「。
当";匚时,,一",即":
匚
时,将产生严重振铃现象。
当N=2时,极点为
.、1-75
当";[时,则有__〔将有严重的振铃现象
以N=2,且T为例,消除振铃现象后,D(z)修改为
1-严异
1-『(3-4-12)
2.被控对象为二阶惯性环节
被控对象为具有纯滞后的二阶惯性环节时,D(z)为(3-4-20)式,
与一阶惯性环节类似,D(z)中有一个极点是1-,在:
—I时,
=—1
,即在z=-1处有极点,系统将出现强烈的振铃现象,
振铃幅度为
(3413)
F面通过一个实例来说明消除振铃的方法。
例3-4-1已知某控制系统被控对象的传递函数为「-。
试用大林算法设计数字控制器D(z)。
设采样周期为T=0.5s,并讨论该系统是否会发生振铃现象。
如果振铃现象出现,如何消除。
t1=LK.=1)M=——2
解:
由题可知,,当被控对象与零阶保持器相
连时,系统的广义对象的传递函数为
于是,可求出广义对象的数字脉冲传递函数为
1W_u.3935z-?
1-?
Jz_]-p0L6O65p
大林算法的设计目标是使整个闭环系统的脉冲传递函数相当于
一个带有纯滞后的一阶惯性环节。
据此可设--1,则由(3-4-19)
式可得
w、1艺曲([弋小)1-0.6055Z-1
⑵三西匸巴%I注巧严亍a塑5尸匸J/1』』)了]_2524(1-060655"1)
"(1・尹)(1+0知芳八+Q993孔-
由上式可知,D(z)有三个极点:
i,根
据前边的讨论z=1处的极点不会引起振铃现象,引起振铃现象的极点
I-3冃花|=J1-旷皿二Ji一只阳0的"出1
依据前述讨论,要想消除振铃现象,应去掉分母中的因子
(1+0.如釘5033卧),即令“1(即I巧同為|"996"1),代入上式
即可消除振铃现象。
这样,无振铃时,数字控制器的脉冲传递函数D(z)为
2524C1-0goesr1)_03451(1-0.6065^-9
匸卫巧^1+了於諒+亍9躅_l-r_1
3.5D(Z)算法的软件实现
在上几节中,我们讨论了各种数字控制器D(z)的设计方法,本
节讨论实现D(z)的算法。
D(z)可以采用硬件电路实现,但目前更多的是采用计算机软件实现,因为软件可以方便地实现十分复杂的D(z)算式,也使控制系统十分灵活。
3.5.1直接程序设计法
D(z)通常可表示为
(3-5-1)
式中,P(z)和E(z)分别为数字控制器输出序列和输入序列的Z
变换。
P(z)=2L勺E(z)八一乞右尹⑵广‘
从式(3-5-1)中可以求出二='(3-5-2)
为了实现方便,对(3-5-29)式进行Z反变换,写成差分方程的形式:
p(k)
j-o问
利用(3-5-3)式可直接进行计算机编程,去实现D(z)算法,因
此,可称之为直接程序设计法。
由式(3-5-3)可画出实现D(z)算法的原理框图,如图3-4所示。
图3-4直接程序设计法原理图
由式(3-5-3)及图3-3可以看出,每计算一次p(k),要进行m+n次加法,m+n+1次乘法和m+n次数据传递。
本次采样周期输出的值p(k),在下一个采样周期就变成了p(k-1)。
同样,e(k)将变成e(k-1),其余的e(k-j)和p(k-j)也都要递推一次,变成e(k-j-1)和p(k-j-1),以便于下一个采样周期使用。
DQ=
例3-5-1已知数字控制器的脉冲传递函数,试用
直接程序设计法写出实现D(z)的表达式。
解:
对D(z)的分子、分母都乘以zn,其中n为分母最高次幕,
便可以得到以z-n,z-n-1,…,z-1为变量的D(z)的有理式表示式。
本例中n=2,即
fJ[?
■]—_—二
~£(z)_(^+5£+6)产^l+5z-1+6z-2对D(z)进行交叉相乘、移项整理可得再进行Z反变换,可得数字控制器的差分方程。
3.5.2串行程序设计法
串行程序设计法也叫迭代程序设计法。
如果D(z)中的零点、极
点均已知,则D(z)可以写成如下形式:
昭些=理也也也吐空”血“)
(3-5-4)
E⑵匕+乩)仗+力扯仗+恳)
忑+刀1
一馳)_
忑十◎
M
工+2皿
弧⑵
1
卫十尹弗权
M
陀)
K
Z.H-Ej
6⑵
也⑵2+乳
贝厂r,_•〔LT‘…;(356)
因此,D(z)可以看成是由-共n个子脉冲传递函数串联而成,如图3-5所示。
图3-5串行程序设计法原理图
为了计算D(z)的p(k),可分别先求出各个子脉冲传递函数的
pi(k),p2(k),p3(k),…,最后算出p(k)。
血胡⑵二土L.W:
先计算p1(k)。
由7'_''11■-<
进行Z反变换得
整理可得「二_(3-5-7)
依次类推,可得n个迭代表达式或D(z)差分方程组为
鈣⑹=附)+夯低-1)-的£3-1)
耳(方二帀【幻+6珀识-】)-內£(上-1)
M
肌佝=Pz3)-1)-P『&(七一1)
F=%闊-Pz巴A1)
M
F(幻二疋&』(町叩『尸仗-1)
用式(3-5-8)编制程序可以迭代计算出P(k)。
程序每算出一次
P(k)需进行(m+n)次加减法,(m+n+1)次乘法和n次数据传送。
出D(z)的迭代表达式。
解:
首先对分子分母分解因式,
子脉冲传递函数为
弓⑵—
~7+2~1+2z_1
将D(z)、D2(z)分别进行交叉相乘及Z反变换即得
rPt(k)=e(k)+4©优-1)一2出-D
UW=FiW_乃3-1)-孔廿1)3.5.3并行程序设计法
若D(z)可以写成部分分式的形式,即
口丽些二斗+斗+斗+N+斗
(3-5-9)
把(3-5-9)的右边各分式看作是D(z)的子脉冲传递函数D1(z),
D2(z),D3(z),…,D(z),即:
卫⑵二型空二隔广'
3E©1十戸』
M
E⑵1+A<
D⑵=6⑵+6⑵+2⑵+A+耳⑵=X^⑵
因此有-(3-5-11)
由此可见,D(z)是由各个子脉冲传递函数D(z),D2(z),D3(z),
Dn(z)并联而成,如图3-6所示。
图3-6并行程序设计法原理图
将各个子脉冲传递函数D(z),D2(z),D3(z),…,D(z)进行交
叉相乘及Z反变换可得相应的差分方程组:
丹伙)二爲旨(比-】)-丹■场代T)
巧©二与(―1)-辛巧代-D
M
Pn3)=g(l)一耳划懐-1).
按式(3-5-12)分别求出R(k),P2(k),R(k),…,Pn(k)之后,
便可计算出数字控制器的P(k)值,即
讥K)=Pi(幻+卩⑻+列的+A+対3)=乞巧⑹
(3-5-13)
按式(3-5-12)和式(3-5-13)编写计算机程序计算P(k)的值,
叫并行程序设计法。
这种方法每计算一次P(k),就要进行(2n-1)次
加减法,2n次乘法和(n+1)次数据传送。
出实现D(z)的差分方程组。
解:
对D(z)进行因式分解,以部分分式表示,即
可得各个子脉冲传递函数为
1+2厂
-4厂
1+3沪
将D1(z)、D2(z)和D3(z)分别进行交叉相乘及Z反变换得
PjCt)=e(jt)
(匕址)二&(11)-2凸欲7
]竹懐)=_4乳上-1)_羽弓懐_1)
于是,得P(約二刃的*2(肋+刊的=蚣)■廻――叽3・1)・証仗・1)
以上三种求数字控制器D(z)输出差分方程的方法各有所长。
就计算效率而言,串行程序设计为最佳。
直接程序设计法的优点是,式(3-5-30)中除j=0时涉及e(k)夕卜,其余各项都可以在采集e(k)之前全部计算出来,因而可大大减少计算机延时,提高系统的动态性能。
另一方面,串行法和并行法在设计高阶数字控制器时,可以简化程序,
因为只要设计出一阶或二阶的D(z)子程序,经过反复调用子程序就可实现D(z),使程序占用内存少,容易阅读,且调试方便。
应当指出,在串行和并行法程序设计中,需要将高阶函数分解成
一阶或二阶的环节。
这种分解不是在任何情况下都可以进行的。
只有当零点和极点已知时,分解才很容易进行。
否则分解要花费大量时间,甚至根本不可能。
在这种情况下不如采用直接程序设计法。
3.5.4数字控制器设计方法
现在我们把数字控制器的设计方法综合归纳如下:
(1)首先根据被控对象的传递函数,求出系统(包括零阶保持器在内)的广义对象的传递函数
S匕匚恥)
(2)求出与G(s)对应的广义对象的脉冲传递函数G(z)
吐)=刘凤)卜2匕二工⑻
£
(3)根据控制系统的性能指标及输入条件,确定整个闭环系统的脉冲传递函数巾⑵;
(4)根据(3-2-2)确定数字控制器的脉冲传递函数D(z),即
血一血)-7⑵
5窈[1-验)]G(z)q(X)G⑵厲⑵
(5)对于最少拍无纹波系统,验证是否有纹波存在;对于带有纯滞后惯性环节的系统,还要看是否出现振铃现象;
(6)写出D(z)的差分方程表达式,若采用直接程序设计法,用式(3-5-3);若采用串行程序设计法,用式(3-5-8);若采用串行程序设计法,用式(3-5-12)和式(3-5-13)。
(7)根据系统的采样周期、时间常数及其它条件求出相应的系数,
并将其转换成计算机能够接受的数据形式;
(8)由差分方程编写程序,可以采用汇编语言,也可采用高级语
言中的C语言、C51、C98或VC++等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制 算法 及其 软件 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)