大林控制其设计与仿真
实验五 基于达林算法的控制系统设计教师版

课程名称 指导教师 实验时间 姓名: 班级: 学号: 成绩:实验五 基于达林算法的控制系统设计一、实验目的:1掌握达林算法数字控制器的设计方法。
2掌握达林算法设计的控制器产生振铃现象的原因。
3 掌握消除振铃现象的方法。
二、实验内容:已知某过程对象的传递函数为:期望的闭环系统时间常数 ,采样周期 。
要求:1采用达林算法设计数字控制器;2 在simulink 环境下,搭建控制系统模型,进行实验仿真; 3判断有无振铃现象,若有则修改控制器消除之,仿真并分析系统在单位阶跃响应下的输出结果; 三、 实验结果与分析1 达林算法设计数字控制器16.03)(5.0+=-s es G ss T 25.00=s T 5.0=被控对象为一阶惯性环节,则广义对象脉冲传递函数,闭环系统脉冲函数和数字调节器脉冲传递函数分别如下:()111111111TT Ts s N TT e Ke e G z Z Kz s T s e z τ-------⎡⎤--==⎢⎥+⎣⎦-()()()111111T T Ts s NT T e z Y z e e z Z zR z sT s ez ττττφ-------⎛⎫- ⎪⎡⎤-⎝⎭===⎢⎥+⎣⎦-()1111111z 111T T T T T T TT T T N e e D z K e e z ez τττ---------⎛⎫⎛⎫--⎪ ⎪⎝⎭⎝⎭⎡⎤⎛⎫⎛⎫---- ⎪ ⎪⎢⎥⎝⎭⎝⎭⎣⎦=由题意可得:0.5τ= 3K = 10.6T = 00.25T T τ== 0.5T = 1N =带入上述()D z 可得:()()()()()0.50.510.250.60.50.50.51110.60.250.25113111eezD z ee z e z -----------=⎡⎤----⎢⎥⎣⎦化简得:()220.86z 0.381.690.23 1.46zD z z z -=--2 基于达林算法的控制系统模型3 Matlab 仿真结果:4 判断有无振铃现象,若有则修改控制器消除之,仿真并分析系统在单位阶跃响应下的输出结果;由 ()()11111111T T T T u T TT T e e z z G z K e e z ττφφ------⎛⎫⎛⎫-- ⎪ ⎪⎝⎭⎝⎭==⎛⎫⎛⎫-- ⎪⎪⎝⎭⎝⎭求得极点T T z eτ-=恒大于零.所以该带纯滞后的一阶惯性系统环节组成的系统中,不存在振铃现象。
计控实验3 大林算法

T
2、用MATLAB和Simulink仿真并检查输出结果是否符 合控制系统设计要求。
二、实验内容 2 S e 1、已知被控对象的传递函数 G ( s) s( s 1) ,若采样期 T=1s,用大林算法设计数字控制器D(Z),并用MATLAB 检验系统的性能。
HG(Z)
r(t) T R(Z) E(Z) × ○ D(Z) T H0(S) G(S)
实验三:大林算法
一、实验目的:
1、对应纯滞后的被控对象,应采用大林算法。 (1)大林算法的设计准则:对于一阶或二阶滞后系 统,设计数字控制器D(z),使整个闭环系统的滞后与 被控对象的滞后相同,消除滞后环节对系统稳定性的 s Ke 影响。 G( s ) 1 T 1s 一阶滞后系统可表示为: e s Gc (s) 1 THS 闭环系统的传递函数:
(二)Simulink的模块库
通用模块
连续模块 非连续模块 离散模块 接收模块
输入信号源
数学运算 端口与子系统
1.输入信号源模 块库(Sources)
主要有: Constant(常数) Step(阶跃信号) Ramp(线性信号) Sine Wave(正弦信号) Signal Generator(信 号发生器) From File(文件获取) From Workspace(矩阵 读数据) Clock(仿真时钟) In(输入模块)
1、启动MATLAB
下载软件或用光盘进行MATLAB的安装。
点击 图标 ,启动MATLAB,出现操作窗口:
操作界面分为以下几部分: (1)菜单 (2)工具栏 (3)工作空间窗口
(4)命令窗口 (5)历史命令窗口口
命令 窗口
历史 命令 窗口 开始按钮
大林控制器设计与仿真要求

课题与任务: 已知控制对象的传递函数为 1244+-s e s
采样周期取1秒。
设计该系统的可以消除振铃的数字控制器 )(z D 并应用仿真该数字控制器的控制特性,寻求最佳参数。
一、设计目的
1、掌握大林控制器的设计步骤。
2、了解大林算法的时间常数对系统的影响。
3、了解振铃现象对大林控制器的影响。
4、掌握消除振铃的方法。
二、设计内容
1、系统结构如图
采样周期T=0.2s ,大林设计目标定为:
2、根据被控对象设计相应的大林控制器。
计算机输入为E(Z),输出为U(Z)。
3、分析振铃现象产生的原因。
4、掌握一种消除振铃的方法。
三、设计步骤
1、根据被控对象,设计一个大林控制器。
将控制器参数填入数据表格。
2、编写程序并运行,对照输入R 观察输出C 波形,记录Mp 、Ts 。
将结果填入数 据表格。
若控制效果不满意,可适当调整K0—K3,P1—P3,直至满意。
3、斜坡输入时,运行程序观察输出C 的波形,了解大林算法对斜坡输入响应特 性。
4、在输入为R 时启动大林算法程序,对照输入R 观察输出C 的波形,再观察控 制器输出U 的波形,应有振铃产生,记录振铃幅值RA ,填入表格,记录参数。
5、若有振铃,找到引起振铃的因子,修改D(Z)参数,重新运行程序,看是否消除振铃,并观察输出C,记录参数,将修改后的D(Z)的参数与结果填入表中。
大林控制算法及其软件实现

本文由昭君在意贡献 doc1。
大林(Dahlin) 3.4 大林(Dahlin)算法 前面介绍的最少拍无纹波系统的数字控制器的设计方法只适合 于某些随动系统, 对系统输出的超调量有严格限制的控制系统它并不 理想。
在一些实际工程中 在一些实际工程中,经常遇到纯滞后调节系统,它们的滞后时 它们的滞后时 间比较长。
对于这样的系统 往往允许系统存在适当的超调量,以尽 对于这样的系统,往往允许系统存在适当的超调量 可能地缩短调节时间。
可能地缩短调节时间 人们更感兴趣的是要求系统没有超调量或只有 很小超调量, 而调节时间则允许在较多的采样周期内结束。
而调节时间则允许在较多的采样周期内结束 也就是说, 超调是主要设计指标。
对于这样的系统,用一般的随动系统设计方法 超调是主要设计指标 用一般的随动系统设计方法 是不行的,用 PID 算法效果也欠佳 算法效果也欠佳。
针对这一要求, ,IBM 公司的大林(Dahlin)在 1968 年提出了一种 针对工业生产过程中含有纯滞后对象的控制算法。
针对工业生产过程中含有纯滞后对象的控制算法 其目标就是使整个 闭环系统的传递函数 相当于一个带有纯滞后的一阶惯性环节 相当于一个带有纯滞后的一阶惯性环节。
该算 法具有良好的控制效果。
法具有良好的控制效果 D(z)的基本形式 3.4.1 大林算法中 D(z)的基本形式 设被控对象为带有纯滞后的一阶惯性环节或二阶惯性环节, 设被控对象为带有纯滞后的一阶惯性环节或二阶惯性环节 其传 递函数分别为: (3-4-1) (3-4-2) 其中 为被控对象的时间常数, 为被控对象的时间常数 为被控对象的纯延迟时 间,为了简化,设其为采样周期的整数倍 设其为采样周期的整数倍,即 N 为正整数 为正整数。
由于大林算法的设计目标是使整个闭环系统的传递函数相当于 一个带有纯滞后的一阶惯性环节,即 一个带有纯滞后的一阶惯性环节 ,其中 其中 由于一般控制对象均与一个零阶保持器相串联, 由于一般控制对象均与一个零阶保持器相串联 所以相应的整个 闭环系统的脉冲传递函数是 (3-4-3) ) 于是数字控制器的脉冲传递函数为 (3-4-4) ( D(z)可由计算机程序实现 可由计算机程序实现。
17大林算法控制器的设计——【东北大学 计算机控制系统】

Wd
(
z
)
Z
1
eTs s
Ke NTs T1s 1
K
(1 eT /T1 )z(N 1) 1 eT /T1 z1
得到控制器传递函数为:
D(z)
(1 eT /T1 z1)(1 eT /T0 ) K (1 eT /T1 )[1 eT /T0 z1 (1 eT /T0 )z(N 1) ]
大林算法设计原理
思考:给定的闭环系统传递函数WB(s)的增益为何为1?
整个系统的闭环脉冲传递函数为:
大林算法设计原理
WB (z)
Y (z) R(z)
Z
1 eTs
s
eNTs T0s 1
z(N 1) (1 eT /T0 1 eT /T0 z1
)
为什么加零阶保持器?
原因: (1)加入零阶保持器:保证离散前后的阶跃 响应相等 (2)不加零阶保持器:保证离散前后的脉冲 响应相等
效果:消除了振铃现象 出现了超调,过渡过程时间变长
·教学单元四结束·
本节内容结束
W (s) K es , NT
T1s 1
W (s)
K
e s , NT
(T1s 1)(T2s 1)
大林算法设计原理
大林算法的设计目标是设计一个合适的数字控制器,使整个闭环系统的 传递函数相当于一个带有纯滞后的一阶惯性环节,即:
滞后与被控对象相同
WB
(s)
e s 和T2中最小的还要小。
大林算法设计原理
解:系统广义被控对象传递函数为
Wd
(s)
1
e sT s
W
(s)
(1 e0.5s )es s(s 1)
大林算法设计原理
微型计算机控制技术实验1-4(8学时)

%Linear model yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3)*u_2+num(4)*u_3; error(k)=rin(k)-yout(k);
r_1=rin(k);
u_3=u_2;u_2=u_1;u_1=u(k); y_3=y_2;y_2=y_1;y_1=yout(k);
仿真程序:ex3.mdl
图 1-1 离散 PID 控制的 Simulink 主程序
图 1-2 离散 PID 控制的 Simulink 控制器程序
图 1-3 离散 PID 控制的封装界面 位置式 PID 控制算法的缺点是,由于采用全量输出,所以每次输出均与过去的状态有关,计算时要对 e(k)量进行累加,计算机输出控制量 u(k)对应的是执行机构的实际位置偏差,如果位置传感器出现故障,u(k) 可能会出现大幅度变化。u(k)大幅度变化会引起执行机构未知的大幅度变化,这种情况在生产中是不允 许的,在某些重要场合还可能造成重大事故。为了避免这种情况的发生,可采用增量式 PID 控制算法。 三、增量式 PID 控制算法及仿真 当执行机构需要的是控制量的增量(例如驱动步进电机)时,应采用增量式 PID 控制,根据递推原理可
求出 G(s)对应的离散形式 G(z) Y (z) ,其中 Y(z)和 U(z)是关于 z 的多项式,则可以得到其对应的差 U (z)
yout(k) den(2) y(k 1) den(3) y(k 2) den(4) y(k 3)
分表达式
num(2)u(k 1) num(3)u(k 2) num(4)u(k 3)
end end plot(time,rin,'r',time,yout,'b'); xlabel('time(s)');ylabel('rin,yout');
计算机控制09.大林控制算法

常用控制算法>>大林控制算法
大林控制算法控制器D(z)的基本形式 的基本形式 大林控制算法控制器
Simulink仿真结构图为 仿真结构图为
Scope2 1-0.779z-1 1-0.607z-1 +-0.393z-3 controller
Scope1 1 4s+1 Zero-Order Hold Transfer Fcn Transport Delay Scope
其与零阶保持器相串联的的脉冲传递函数为: 其与零阶保持器相串联的的脉冲传递函数为:
1 − e −Ts K (C1 + C2 z −1 ) z − N −1 Ke − NTs G( z) = Z ⋅ = s (1 + T1s )(1 + T2 s ) (1 − e −T T1 z −1 )(1 − e −T T2 z −1 ) 1 C1 = 1 + (T1e−T / T1 − T2e−T / T2 ) T2 − T1 1 1 −T + C = e T1 T2 + 1 (T e −T / T2 − T e −T / T1 ) 1 2 2 T2 − T1
0.1493z−2(1+0.733z−1) G(z) = 1−0.7413z−1
选取φ(z),时间常数为 τ=2s,纯滞后时间为 时间常数为T 纯滞后时间为τ=1s。则N=1,于是 选取 时间常数为 纯滞后时间为 。 于是
−1/ 2 (1−e−T/Tτ )z−1 )z−1 0.3935z−2 −1 (1−e ⋅ =z ⋅ = −T /T -1 −1/2 -1 τ 1−e z 1−e z 1−0.6065z−1
实验六、大林算法控制仿真实验

如图延时一派由采样保持器滞后一拍输入模拟量实现。
四、D(Z)设计
已知: ,T=0.2S , R(t)=0.25(t);
大林设计目标定位: , 。五、SIMULI NhomakorabeaK仿真结构图
阶跃输入:
斜坡输入:
六、仿真实验记录
输入函数
R、C、 波形记录
阶
跃
输
入
斜
坡
输
入
大林算法大林寺桃花大林和小林大林寺大林寺桃花白居易田大林大林理惠李大林我爱斯大林大林和小林读后感
实验六、大林算法控制仿真实验
电器0801 0701080109 柏塔.居尼斯汗
一、实验目的与要求
1、掌握大林算法的D(Z)设计。
2、掌握SIMULINK的仿真方法。
二、仿真软硬件环境
PC机,MATLAB5.3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录第1章引言 (1)1.1、Dahllin算法介绍 (1)1.2、Dahllin算法的内容 (1)1.2.1系统结构 (1)1.2.2 算法内容及公式 (2)第二章设计内容 (4)2.1 设计目的 (4)2.2 设计内容 (4)2.1.1 数字控制器D(z)的表达式 (4)2.2.2 振铃现象 (5)第3章 MATLAB仿真 (7)3.1 MATLAB的介绍 (7)基本应用 (8)MATLAB 产品族可以用来进行以下各种工作: (8)3.2 仿真及输出图像 (8)3.2.1 Dahllin算法的MATLAB程序 (9)3.2.2 u(k)的单位阶跃响应波形图 (11)第4章设计总结 (12)第1章引言1.1、Dahllin算法介绍一般具有较大的时间常数和一定的纯滞后时间,且滞后时间比较长的系统不利于现代化工业生产自动化水平提高,不利于产品质量和生产效率的提高。
在生产过程中,大多数工业对象具有较大的纯滞后时间,对象的纯滞后时间τ对控制系统的控制性能极为不利,它使系统的稳定性降低,过渡过程特性变坏。
对这样的系统在工业生产中要求没有超调量或超调量很小,调节时间希望在确定的采样时间内结束(虽然也希望尽快结束过渡过程,但是这是第二位的)。
因此超调试主要的设计目标,用一般的控制系统设计方法是不行的,用模拟仪表控制算法效果也欠佳。
当对象的纯滞后时间τ与对象的惯性时间常数T1之比,即τ/T1≥0.5时,采用常规的比例积分微分(PID)控制,很难获得良好的控制性能。
IBM公司的大林于1968年提出一种针对工业生产过程中含有纯滞后的控制对象的控制算法,即大林算法。
它具有良好的效果,采用大林算法的意义在于大林控制算法能在一些具有纯滞后环节的系统中兼顾动静两方面的性能,可做到小超调小稳态误差。
控制效果比较理想。
对工程实际应用具有很大的意义。
1.2、Dahllin算法的内容1.2.1系统结构大林算法要求在选择闭环Z传递函数时,采用相当于连续一节惯性环节的D (z)来代替最少拍多项式。
如果对象含有纯滞后,D(z)还应包含有同样纯滞后环节(即要求闭环控制系统的纯滞后时间等于被控对象的纯滞后时间)。
系统结构如图1.1.1所示图1.1.11.2.2 算法内容及公式大林算法的被控对象是带纯滞后的一阶或二阶惯性环节。
即1)(1+=-s T Ke s G sτ 或 )1)(1()(21++=-s T s T Ke s G sτ 本实验被控对象为带纯滞后的一阶惯性环节。
NT =τ式中:τ为纯滞后时间,为方便起见假设为采样周期T 的整数倍大林算法的主要设计目标是系统在单位阶跃输入作用下,整个闭环系统的传递函数相当于一个延迟环节和一个惯性环节相串联。
即1)(0+=-s T e s H s τ (1-1) 要求整个闭环系统的纯滞后时间等于被控对象的纯滞后时间。
与H(s)相对应的闭环系统脉冲传递函数为01()[]1sT NTse e H z Z s T s ---=⋅+ 101(1)[](1)N z z Z s T s --=-+ 001111(1)(1)(1)(1)TT N TT e z z z z ez --------=---0(1)1(1)1TT N TT e z e z --+---=- (1-2) 将上式代入式1()()()1()H z D z G z H z =⋅-中,得 000(1)1(1)(1)()()[1(1)]T T N TT T T N ez D z G z e z e z --+----+-=--- (1-3) 当对象为一阶惯性环节加纯滞后时11()[]1sT NTse Ke G z Z s T s ---=⋅+ 111(1)[](1)N Kz z Z s T s --=-+ 111111(1)(1)(1)(1)T T N T T e z Kzz z e z --------=--- 11(1)1(1)1T T N T T eKz e z --+---=- (1-4)将式(1-4)代入式(1-3)得一阶惯性环节的控制器的D(z)为 0100111(1)(1)(1)()(1)[1(1)]T T T T T T T T T T N e e z D z K ee z e z --------+--=---- 由上式,控制算法为)1()1()1()()1(1)1()1()1()(1101000------+---+-=-------k e e K e e k e e K e N k u e k u e k u T TT T T T T TT TT T T T第二章 设计内容2.1 设计目的(1)、掌握大林控制器的设计步骤。
(2)、了解大林算法的时间常数对系统的影响。
(3)、了解振铃现象对大林控制器的影响。
(4)、掌握消除振铃的方法。
2.2 设计内容2.1.1 数字控制器D(z)的表达式设有纯滞后的一节惯性环节,其传递函数为: 1)(1+=-s T Ke s G sτ (2-1) 式2-1中T 1为对象的时间常数且T 1=2s ;τ为对象的纯滞后时间且τ=4s ,K 为对象的放大倍数且K=4,采样周期T=1s,即控制对象的传递函数为 124)(4+=-s e s G s为了简化,设:NT =θ (2-2) 即θ为采样周期T 的N 倍,N 为整数。
对一节惯性对象,大林算法的设计目标是设计一个合适的数字控制器,使整个闭环系统的传递函数相当于一个带有纯滞后的一节惯性环节的串联,其中纯滞后环节的滞后时间与被控对象的纯滞后时间完全相同,这样就能保证使系统不产生很小的超调,同时保证其稳定性。
整个闭环系统的传函为: 1)(0+=-s T e s H s τ (2-3)于是得到数字控制器为)()](1[)()(z G z H z H z D -= )z (G ]z )e 1(z e 1[z )e -1)1N (/T 1/T )1N (/T +----+-----=τττ( ]z )e 1(z e 1)[e 1(k )z e 1)(e 1()1N (/T 1/T /T 1/T /T 11+--------------=τττττ ]z )e 1(z e 1)[e 1(4)z e 1)(e 1()1N (/T 1/T /T 1/T /T 11+--------------=τττττ (2-4)2.2.2 振铃现象直接用上述控制算法构成闭环控制系统时,人们发现数字控制器输出U (z)会以1/2采样频率大幅度上下摆动。
这种现象称为振铃现象。
振铃现象与被控对象的特性、闭环时间常数、采样周期、纯滞后时间的大小等都有关系。
振铃现象中的振荡是衰减的,并且于由被控对象中惯性环节的低通特性,使得这种振荡对系统的输出几乎无任何影响,但是振铃现象却会增加执行机构的磨损。
在交互作用的多参数控制系统中,振铃现象还有可能影响到系统的稳定性,所以,在系统设计中,应设法消除振铃现象。
可引入振铃幅度RA 来衡量振荡的强烈程度。
振铃幅度RA 的定义为:在单位阶跃信号的作用下,数字控制器D (z )的第0次输出与第1次输出之差值。
设数字控制器D(z)可以表示为:)(11)(22112211z Q kz z a z a z b z b kzz D N N ------=++++++=(2-5) 其中++++++=----2211221111)(z a z a z b z b z Q (2-6) 那么,数字控制器D (z)输出幅度的变化完全取决于Q (z),则在单位阶跃信号的作用下的输出为:+-+-++++=------2121122111)()1(111)(z a a z a z b z b z z Q (2-7) +-+-++-+=-2)()1(1122111z a a b z a b根据振铃的定义,可得:1111)1(1b a a b RA -=+--= (2-8)上述表明,产生振铃现象的原因是数字控制器D (z )在z 平面上位于z=-1附近有极点。
当z=-1时,振铃现象最严重。
在单位圆内离z=-1越远,振铃现象越弱。
在单位圆内右半平面的极点会减弱振铃现象,而在单位圆内右半平面的零点会加剧振铃现象。
由于振铃现象容易损坏系统的执行机构,因此,应设法消除振铃现象。
大林提出了一个消除振铃的简单可行的方法,就是先找造成振铃现象的因子,然后令该因子中的z=1.这样就相当于取消了该因子产生振铃的可能性。
根据终值定理,这样处理后,不会影响输出的稳态值。
本设计的被控对象是含有纯滞后的一阶惯性环节,大林算法求得的数字控制器为式3-13所示: ])1(1)[1(1)(1()()1(/1//)1//11+--------------=N T T T T T z e z e e k z e e z D τττττ (2-9) 有可表示为式3-14所示: )1)]()(1(1)[1()1)(1()(121//1//11----------+++-+---=z N z z z e e k z e e z D T T T T ττττ (2-10) 可能引起振铃现象的因子是式3-15所示:))(1(121/N z z z e T -+++-+--- τ (2-11)其振铃的幅度为:ττ//1T T e e RA ---= (2-12) 根据r 值的不同,有一下几种情况:(1)当r=0时,不存在振铃极点因子,此时不产生振铃现象(2)当r=1时,存在一个极点z=-(τ/1T e --);当τ<=1τ时,z ≈-1,存在严重的振铃。
(3)当r=2时,存在极点Z=2///)1()1(421)1(21τττT T T e e j e ------±--, 当τ<<T 时,z ≈2321j ±-,Z ≈1时,存在振铃现象。
对于r=2时的振铃极点,令Z=1代入式中可得:)].......)(1(1)[1)(1(4)41)(41()(21/1/1//11r T T T T T T T z z z e z e z e e z D ---------++-+----=ττ =)1)(23)(1(4)1)(1(1//1//11-----------z e e z e e T T T T ττττ 此时就求得的消除振铃的数字控制器D (z)表达式为)1)(23)(1(4)1)(1()(1//1//11-----------=z e e z e e z D T T T T ττττ )1)(23)(01(4)1)(01(1111---------=z e z e第3章 MATLAB 仿真3.1 MATLAB 的介绍MATLAB 是由美国mathworks 公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。