大林控制算法及其软件实现

上传人:豆浆 文档编号:737288 上传时间:2017-05-13 格式:DOCX 页数:18 大小:89.83KB
返回 下载 相关 举报
大林控制算法及其软件实现_第1页
第1页 / 共18页
大林控制算法及其软件实现_第2页
第2页 / 共18页
大林控制算法及其软件实现_第3页
第3页 / 共18页
大林控制算法及其软件实现_第4页
第4页 / 共18页
大林控制算法及其软件实现_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《大林控制算法及其软件实现》由会员分享,可在线阅读,更多相关《大林控制算法及其软件实现(18页珍藏版)》请在金锄头文库上搜索。

1、3.4 大林(Dahlin)算法 前面介绍的最少拍无纹波系统的数字控制器的设计方法只适合于某些随动系统,对系统输出的超调量有严格限制的控制系统它并不理想。在一些实际工程中,经常遇到纯滞后调节系统,它们的滞后时间比较长。对于这样的系统,往往允许系统存在适当的超调量,以尽可能地缩短调节时间。人们更感兴趣的是要求系统没有超调量或只有很小超调量,而调节时间则允许在较多的采样周期内结束。也就是说,超调是主要设计指标。对于这样的系统,用一般的随动系统设计方法是不行的,用 PID 算法效果也欠佳。 针对这一要求,IBM 公司的大林(Dahlin)在 1968 年提出了一种针对工业生产过程中含有纯滞后对象的控

2、制算法。其目标就是使整个闭环系统的传递函数 相当于一个带有纯滞后的一阶惯性环节。该算法具有良好的控制效果。 3.4.1 大林算法中 D(z)的基本形式 设被控对象为带有纯滞后的一阶惯性环节或二阶惯性环节,其传递函数分别为: (3-4-1) (3-4-2) 其中 为被控对象的时间常数, 为被控对象的纯延迟时间,为了简化,设其为采样周期的整数倍,即 N 为正整数。 由于大林算法的设计目标是使整个闭环系统的传递函数相当于一个带有纯滞后的一阶惯性环节,即 ,其中 由于一般控制对象均与一个零阶保持器相串联,所以相应的整个闭环系统的脉冲传递函数是 (3-4-3) 于是数字控制器的脉冲传递函数为 (3-4-

3、4) D(z)可由计算机程序实现。由上式可知,它与被控对象有关。下面分别对一阶或二阶纯滞后环节进行讨论。 3.4.2 一阶惯性环节的大林算法的 D(z)基本形式 当被控对象是带有纯滞后的一阶惯性环节时,由式(3-4-1)的传递函数可知,其脉冲传递函数为 将此式代入(3-4-4),可得 (3-4-5) 式中:T采样周期: 被控对象的时间常数; 闭环系统的时间常数。 3.4.3 二阶惯性环节大林算法的 D(z)基本形式 当被控对象为带有纯滞后的二阶惯性环节时,由式(3-4-1)的传递函数可知,其脉冲传递函数为 其中, 将式 G(z)代入式(3-4-3)即可求出数字控制器的模型: (3-4-6) 3

4、.4.4 振铃现象及其消除方法 振铃现象是指数字控制器的输出以接近 1/2 采样频率的频率,大幅度衰减振荡。它对系统的输出几乎无影响,但会使执行机构因磨损而造成损坏。 衡量振铃现象的强烈程度的量是振铃幅度 RA (Ringing Amplitude)。它的定义是:控制器在单位阶跃输入作用下,第零次输出幅度与第一次输出幅度之差值。 已知数字控制器脉冲传递函数的一般形式可写为 (3-4-7) 其中 (3-4-8) 控制器输出幅度的变化取决于 Q(z),当不考虑 (它只是输出序列延时)时,则 Q(z)在阶跃脉冲作用下的输出为 故可求出振铃幅度 (3-4-9) 振铃现象产生的根源在于 Q(z)中 z

5、= -1 附近有极点。极点在z=-1 时最严重,离 z= -1 越远,振铃现象就越弱。在单位圆内右半平面有零点时,会加剧振铃现象;而在左半平面有极点时,则会减轻振铃现象。 大林提出一种消除振铃现象的方法,即先找出造成振铃现象的极点因子,令其中 z =1,这样便消除了这个极点。根据中值定理,这样的处理不会影响输出的稳态值。下面来分析一阶(或二阶)惯性环节的数字控制器 D(z)的振铃现象及其消除方法。 1. 被控对象为一阶惯性环节 被控对象为纯滞后的一阶惯性环节时,将表示其数字控制器的D(z)的(3-4-5)式化成一般形式如下:由此可求出振铃幅值为 (3-4-10) 如果选 1,则 RA0,无振铃

6、现象。如果选择 1,则有振铃现象。由此可见,当系统的时间常数 大于或等于被控对象的时间常数 1 时,即可消除振铃现象。 将式 D(z)的分母进行分解,可得 (3-4-11) 在(3-4-25)中,z=1 处的极点并不引起振铃现象。可能引起振铃现象的因子为 当 N=0 时,此因子消失,无振铃可能。 当 N=1 时,有一个极点在 。当 时, ,即时,将产生严重振铃现象。 当 N=2 时,极点为当 时,则有 ,将有严重的振铃现象。 以 N=2,且 为例,消除振铃现象后,D(z)修改为 (3-4-12) 2. 被控对象为二阶惯性环节 被控对象为具有纯滞后的二阶惯性环节时,D(z)为(3-4-20)式,

7、与一阶惯性环节类似, D(z)中有一个极点是 ,在时, ,即在 z= -1 处有极点,系统将出现强烈的振铃现象,振铃幅度为 当 T0 时, , 按前述方法消除这个极点,则 (3-4-13) 下面通过一个实例来说明消除振铃的方法。 例 3-4-1 已知某控制系统被控对象的传递函数为 。 试用大林算法设计数字控制器 D(z)。设采样周期为 T=0.5s,并讨论该系统是否会发生振铃现象。如果振铃现象出现,如何消除。 解:由题可知, ,当被控对象与零阶保持器相连时,系统的广义对象的传递函数为 于是,可求出广义对象的数字脉冲传递函数为 大林算法的设计目标是使整个闭环系统的脉冲传递函数相当于一个带有纯滞后

8、的一阶惯性环节。据此可设 ,则由(3-4-19)式可得 由上式可知,D(z)有三个极点: ,根据前边的讨论 z=1 处的极点不会引起振铃现象,引起振铃现象的极点为 依据前述讨论,要想消除振铃现象,应去掉分母中的因子 ,即令 (即 ),代入上式即可消除振铃现象。 这样,无振铃时,数字控制器的脉冲传递函数 D(z)为 3.5 D(z)算法的软件实现 在上几节中,我们讨论了各种数字控制器 D(z)的设计方法,本节讨论实现 D(z)的算法。D(z)可以采用硬件电路实现,但目前更多的是采用计算机软件实现,因为软件可以方便地实现十分复杂的D(z)算式,也使控制系统十分灵活。 3.5.1 直接程序设计法 D

9、(z)通常可表示为(3-5-1) 式中,P(z)和 E(z)分别为数字控制器输出序列和输入序列的 Z变换。 从式(3-5-1)中可以求出 (3-5-2) 为了实现方便,对(3-5-29)式进行 Z 反变换,写成差分方程的形式: 利用(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),在下一个采

10、样周期就变成了 p(k-1)。同样,e(k)将变成 e(k-1),其余的 e(k-j)和 p(k-j)也都要递推一次,变成 e(k-j-1)和p(k-j-1),以便于下一个采样周期使用。 例 3-5-1 已知数字控制器的脉冲传递函数 ,试用直接程序设计法写出实现 D(z)的表达式。 解:对 D(z)的分子、分母都乘以 z-n,其中 n 为分母最高次幂,便可以得到以 z-n,z -n-1,z -1为变量的 D(z)的有理式表示式。本例中 n=2,即 对 D(z)进行交叉相乘、移项整理可得再进行 Z 反变换,可得数字控制器的差分方程。3.5.2 串行程序设计法 串行程序设计法也叫迭代程序设计法。如

11、果 D(z)中的零点、极点均已知,则 D(z)可以写成如下形式: (3-5-4) 根据迭代原理,若令 (3-5-5) 则 (3-5-6) 因此,D(z)可以看成是由 共 n 个子脉冲传递函数串联而成,如图 3-5 所示。 图 3-5 串行程序设计法原理图 为了计算 D(z)的 p(k),可分别先求出各个子脉冲传递函数的p1(k),p 2(k),p 3(k),最后算出 p(k)。 先计算 p1(k)。由 进行 Z 反变换得 整理可得 (3-5-7) 依次类推,可得 n 个迭代表达式或 D(z)差分方程组为 用式(3-5-8)编制程序可以迭代计算出 P(k)。程序每算出一次P(k)需进行(m+n)

12、次加减法,(m+n+1) 次乘法和 n 次数据传送。例 3-5-2 设数字控制器 ,试用串行程序设计法写出 D(z)的迭代表达式。 解: 首先对分子分母分解因式, 子脉冲传递函数为 将 D1(z)、D 2(z)分别进行交叉相乘及 Z 反变换即得 3.5.3 并行程序设计法 若 D(z)可以写成部分分式的形式,即 (3-5-9) 把(3-5-9)的右边各分式看作是 D(z)的子脉冲传递函数 D1(z),D2(z),D 3(z),D n(z),即: 因此有 (3-5-11) 由此可见,D(z)是由各个子脉冲传递函数 D1(z),D 2(z),D 3(z),D n(z)并联而成,如图 3-6 所示。

13、 图 3-6 并行程序设计法原理图将各个子脉冲传递函数 D1(z),D 2(z),D 3(z),D n(z)进行交叉相乘及 Z 反变换可得相应的差分方程组: 按式(3-5-12)分别求出 P1(k),P 2(k),P 3(k),P n(k)之后,便可计算出数字控制器的 P(k)值,即 (3-5-13) 按式(3-5-12)和式(3-5-13)编写计算机程序计算 P(k)的值,叫并行程序设计法。这种方法每计算一次 P(k),就要进行(2n-1)次加减法,2n 次乘法和(n+1) 次数据传送。 例 3-5-3 设数字控制器 ,试用并行程序设计法写出实现 D(z)的差分方程组。 解:对 D(z)进行

14、因式分解,以部分分式表示,即 可得各个子脉冲传递函数为 将 D1(z)、D 2(z)和 D3(z)分别进行交叉相乘及 Z 反变换得 于是,得 以上三种求数字控制器 D(z)输出差分方程的方法各有所长。就计算效率而言,串行程序设计为最佳。直接程序设计法的优点是,式(3-5-30)中除 j=0 时涉及 e(k)外,其余各项都可以在采集 e(k)之前全部计算出来,因而可大大减少计算机延时,提高系统的动态性能。另一方面,串行法和并行法在设计高阶数字控制器时,可以简化程序,因为只要设计出一阶或二阶的 D(z)子程序,经过反复调用子程序就可实现 D(z),使程序占用内存少,容易阅读,且调试方便。应当指出,

15、在串行和并行法程序设计中,需要将高阶函数分解成一阶或二阶的环节。这种分解不是在任何情况下都可以进行的。只有当零点和极点已知时,分解才很容易进行。否则分解要花费大量时间,甚至根本不可能。在这种情况下不如采用直接程序设计法。3.5.4 数字控制器设计方法 现在我们把数字控制器的设计方法综合归纳如下: (1) 首先根据被控对象的传递函数,求出系统(包括零阶保持器在内)的广义对象的传递函数 (2) 求出与 G(s)对应的广义对象的脉冲传递函数 G(z) (3) 根据控制系统的性能指标及输入条件,确定整个闭环系统的脉冲传递函数 (z); (4) 根据(3-2-2)确定数字控制器的脉冲传递函数 D(z),即 (5) 对于最少拍无纹波系统,验证是否有纹波存在;对于带有纯滞后惯性环节的系统,还要看是否出现振铃现象; (6) 写出 D(z)的差分方程表达式,若采用直接程序设计法,用式(3-5-3);若采用串行程序设计法,用式(3-5-8);若采用串行程序设计法,用式(3-5-12)和式(3-5-13)。 (7) 根据系统的采样周期、时间常数及其它条件求出相应的系数,并将其转换成计算机能够接受的数据形式; (8) 由差分方程编写程序,可以采用汇编语言,也可采用高级语言中的 C 语言、C51、C98 或 VC+等。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号