大林算法控制器设计
采样周期T=0.5s,试用达林算法设计数字控制器D(z)。
写出设计过程,对比输出与给定的效果波形,并显示控制器输出波形。
解:广义对象的脉冲传递函数:
根据达林算法,构成的惯性环节与滞后时间的纯滞后环节串联而成的理想闭环系统。
它所对应的理想闭环脉冲传递函数:
所求数字控制器为:
在中可以看到有一个零点靠近,所以如果不对达林算法进行修正必会产生振铃现象,令因子
中的即
修正后的数字控制器为:
仿真图如下:
3.已知某过程对象的传递函数为:
期望的闭环系统时间常数 ,采样周期。
试用大林算法设计数字控制器;
解:被控对象为一阶惯性环节,则广义对象脉冲传递函数,闭环系统脉冲函数和数字调节器脉冲传递函数分别如下:
根据已知可得:
所以:
仿真图如下:。
计算机控制技术课件:第10章 复杂控制规律设计(大林算法)
第7章 复杂控制规律的设计(20)
设输入为单位阶跃信号,则利用长除法可以求得 输出的 Z 变换为
( z ) 1 b1 z 1 b2 z 2 1 U (z) R( z ) G( z ) 1 a1 z 1 a2 z 2 1 z 1 1 b1 z 1 b2 z 2 1 (a1 1) z 1 (a2 a1 ) z 2 1 (b1 a1 1) z 1
对于单位阶跃输入函数 R(z) 1 (1 z 1 ) ,含有极 点 z 1 ,当 Φ(z) G(z) 极点在负实轴上,且与 z 1 点 相近,那么数字控制器的输出序列 u(k ) 中将含有这两 种幅值相近的瞬态项,而且瞬态项的符号在不同时刻 是不相同的。当两瞬态项符号相同时,数字控制器的 输出控制作用加强,符号相反时,控制作用减弱,从 而造成数字控制器的输出序列大幅度波动。
z r 1 (1 e T / ) z r 1 (1 ) T / 1 1 e z 1 z 1
式中 e T /
第7章 复杂控制规律的设计(6)
数字调节器的 Z 传递函数为
D( z )
( z ) G ( z )1 ( z )
1 z r 1 (1 ) G ( z ) 1 z 1 (1 ) z r 1
1 e Ts ke rTs K (C1 C 2 z 1 ) z r 1 G( z ) Z (1 z 1 )(1 z 1 ) ( 1 s 1)( 2 s 1) s 1 2
式中, 1 e T / , 2 e T /
第7章 复杂控制规律的设计(11)
解:根据题意可知,连续一阶滞后对象的传递 函数
实验五 基于达林算法的控制系统设计教师版
课程名称 指导教师 实验时间 姓名: 班级: 学号: 成绩:实验五 基于达林算法的控制系统设计一、实验目的: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τ-=恒大于零.所以该带纯滞后的一阶惯性系统环节组成的系统中,不存在振铃现象。
第4章控制算法史密斯预估器和大林算法.ppt
(s) 1 es T s 1
(4.92)
同样带零阶保持器用采样周期T对它进行离散化,其脉冲传
递函数
(z)
Y (z)
1 eTs Z[
1
e s ]
G(z)
s T s 1
(1 eT /T )z(N 1) 1 eT /T z1
(4.93)
12
(4) 数字控制器设计
(4.97)
C1
1
T2
1 T1
(T1eT /T1
T2eT /T2
)
C2
eT (1/T1 1/T2 )
T2
1 T1
(T1eT /T2
T2eT /T1 )
(4.98)
11
③ 闭环传递函数的离散化
前面已介绍过,大林算法的目的,是使闭环传函成为一个具有 纯滞后特性的一阶环惯性环节
e(t)
+-
D(s) u(t) GP(s) y1(t) e-τs y(t)
它不影响系统的稳定性,只是将y1(t)后移了一段时间。其控 制性能相当于无滞后系统
1
(s)
1
D(s)GP (s) D(s)GP (s)
(s) 1(s)eS
4
具有纯滞后补偿的数字控制器
其结构为如教材85页图4.24.
(1 eT /T ) (1 eT /T1 z1) (1 eT /T2 z1)
D(z) K
[C1 C2 z1) [1 eT /T
z1 (1 eT /T ) z(N 1) ]
同样,C1, C2, eT /T1 , eT /T2 , eT /T 可以预先求出
大林控制算法及其软件实现
3.4大林(Dahlin )算法前面介绍的最少拍无纹波系统的数字控制器的设计方法只适合于某些随动系统,对系统输出的超调量有严格限制的控制系统它并不理想。
在一些实际工程中,经常遇到纯滞后调节系统,它们的滞后时间比较长。
对于这样的系统,往往允许系统存在适当的超调量,以尽可能地缩短调节时间。
人们更感兴趣的是要求系统没有超调量或只有很小超调量,而调节时间则允许在较多的采样周期内结束。
也就是说,超调是主要设计指标。
对于这样的系统,用一般的随动系统设计方法是不行的,用PID算法效果也欠佳。
针对这一要求,IBM公司的大林(Dahlin)在1968年提出了一种针对工业生产过程中含有纯滞后对象的控制算法。
其目标就是使整个闭环系统的传递函数相当于一个带有纯滞后的一阶惯性环节。
该算法具有良好的控制效果。
3.4.1大林算法中D(z)的基本形式设被控对象为带有纯滞后的一阶惯性环节或二阶惯性环节,其传递函数分别为:(341)(少+1)(加+ 1)(3-4-2)其中「,为被控对象的时间常数,二二上三为被控对象的纯延迟时间,为了简化,设其为采样周期的整数倍,即N为正整数。
由于大林算法的设计目标是使整个闭环系统的传递函数相当于一个带有纯滞后的一阶惯性环节,即一"由于一般控制对象均与一个零阶保持器相串联,所以相应的整个闭环系统的脉冲传递函数是(343)于是数字控制器的脉冲传递函数为(3-4-4) D(z)可由计算机程序实现。
由上式可知,它与被控对象有关。
下面分别对一阶或二阶纯滞后环节进行讨论。
342 —阶惯性环节的大林算法的D(z)基本形式当被控对象是带有纯滞后的一阶惯性环节时,由式(3-4-1 )的传递函数可知,其脉冲传递函数为二廃-吃[111- s Fjs + 1W 八汕丄^ ;] 1 —z i — e z-I ■ y / 斗=灯g ]_p—2 -r>, -i1亠£ z将此式代入(3-4-4 ),可得= (i“ 尹)(—”)厂「…「:_「.「「「「]( 3-4-5)式中:T ——采样周期:「被控对象的时间常数;闭环系统的时间常数。
计控实验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)历史命令窗口口
命令 窗口
历史 命令 窗口 开始按钮
大林算法控制系统设计-V1
大林算法控制系统设计-V1"大林算法控制系统设计"是一种根据数据驱动的算法控制系统设计方法,它可以在系统设计和控制中利用数据,自动优化系统的运行效率和性能表现。
该算法的设计思想是,通过观察和分析系统内的数据集,从中提取出规律和特征,然后再利用这些数据,通过数学运算得到最优解,在系统设计的各个环节中实现自动化的控制。
下面分几个方面分别介绍大林算法控制系统设计的内容:1. 数据采集和分析大林算法控制系统的第一步是数据的采集和分析。
该系统通过采集内部的数据集,并运用统计学和机器学习的算法进行分析,从而得到更多的数据。
2. 数据的预处理和清洗得到数据后,需要进行数据的预处理和清洗。
这意味着去除噪点、缺失值和异常值,以及对数据进行归一化、标准化和编码等处理。
3. 特征抽取在对数据进行预处理和清洗后,需要进行特征抽取。
这一步是将复杂的数据集精简成简单的特征集合。
特征抽取可以通过多种算法进行实现,例如主成分分析、线性判别分析和单纯可分分类器等。
4. 模型的训练和调整经过特征抽取后,就可以开始模型的训练和调整了。
这个过程需要基于生成算法、决策树、神经网络和支持向量机等算法来实现。
5. 模型的运用和控制最终,经过训练和调整后的模型就可以在控制系统中得到应用和控制了。
通过不断的数据收集和分析,以及对模型的调整和优化,可以不断地提高系统的性能表现和运行效率。
总的来说,大林算法控制系统设计的目的是通过对系统内部的数据进行采集、分析、预处理和清洗、特征抽取、模型的训练和调整、以及模型的应用和控制,实现自动化的控制和优化。
是一种利用数据驱动的算法控制系统设计方法,能够大大提高系统的运行效率和性能表现。
大林算法控制器设计
1
0.5
0
-0.5
0
10
20
30
40
50
60
70
80
90
100
图 3.有振铃情况下控制器输出和系统输出
u 0.2
0.15
0.1
0.05
0
-0.05
-0.1 1.5
1
0.5
0
-0.5
0
10
20
30
40
50
60
70
80
90
100
图 4.消除振铃后控制器输出和系统输出 (3)仿真结果分析: 直接计算得到的控制器后,系统输出稳定,没有超调。但是控制器输出有大 幅度的振铃现象。如图 3 所示。消除振铃后,系统输出依然稳定,控制器输出也 没有了振铃现象,如图 4 所示。效果比较好。
R E
D(Z)
ZOH
20 e12 s ( s 0.2)(10s 1)
C
图 1.采样控制系统原理图
D(z)系统的设计核心,它实际上是由计算机实现,它的输入输出均是时间上 离散的数字信号信号。在实际运用中要经过 A/D,D/A 的转换,利用数字控制起 来控制被控对象,打到期望的性能指标。
六.Dahlin 控制器设计
1 (T 1eT /T 2 T 2eT /T 1 ) T 2 T1
(4)
C2 e
1 1 ) T1 T 2
(5)
校正后系统闭环脉冲传函为:
1 eTs 1 (1 eT /Tm ) z N 1 ( z ) Z e s 1 eT /Tm z 1 s 1 Tm s
三.提供的实验条件
(1)软件:Matlab, Altium Designer,KEIL (2)仪器和设备:计算机、单片机
计算机控制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
实验二 大林算法实验报告
实验二 大林算法实验1. 实验目的(1)理解大林算法的基本原理。
(2)掌握大林算法的设计过程。
2. 实验仪器(1) MATLAB 6.5软件 一套(2) 个人PC 机 一台3. 实验原理在许多控制系统中,特别是过程控制系统中,由于物料能量的传递或能量物质的转换,使系统小的被控制量往往具有纯滞后特性,由自动控制理论可知,滞后特性的存在对自动控制系统是极其不利的,它使系统中控制决策的适应性降低甚至失效,造成控制系统的稳定性下降或者根本不能稳定。
在工业生产中,大多数过程对象含有较大的纯滞后特性。
被控对象的纯滞后时间τ使系统的稳定性降低,动态性能变坏,易引起超调和持续振荡。
对象的纯滞后特性给控制器的设计带来困难。
一般地,当对象的纯滞后时间τ与对象的惯性时间常数m T 之比超过0.5时,采用常规的PID 控制很难获得良好的控制性能。
因此,具有纯滞后特性的对象属于比较难以控制的一类对象,对其控制需采用特殊处理方法,即用大林算法可解决此问题。
大林算法要求在选择闭环Z 传递函数W(Z)时,采用相当于连续一阶惯性环节的W(Z)来代替最少拍多项式,如果对象有纯滞后,则W(Z)应包含有同样的纯滞后环节(闭环控制系统的纯滞后时间等于被控对象的纯滞后时间)。
带有纯滞后的控制系统如图1所示: ZOH D(Z)r (t)e (t)u (k)y (t)G 0(S)G(Z)e (k)E(Z)U(Z)Y(Z)图1 带有纯滞后的控制系统被控对象传递函数为:s e S S G 76.0014.01)(-+= 目标传递函数为:s T s e s W s5.0,115.0)(76.0=+=- 大林算法所设计的控制器为:)(1)(1)()(z G z W z W z D -=, 其中)]([)()],([)(s W Z z W s G Z z G ==对于大林算法控制器D(Z),计算机输入为E (Z ),输出为U (Z ),有:33221133221101)()()(------++++++==Z P Z P ZP Z K Z K Z K K Z E Z U Z D将D (Z )式写成差分方程,则有:3322113221103---------+++=K K K K K K K K U P U P U P E K E K E K E K U 。
课程设计 数字PID算法的设计 大林控制算法
计算机控制技术课程设计课程名称计算机控制技术学院自动化学院专业班级学号姓名一、题目和要求已知计算机控制系统结构图如图1所示,其中r(t)是系统的参考输入,e(t)是系统偏差,u(t)是系统的控制量,G0(s)是系统被控对象的传递函数,D(z)是待设计控制器的脉冲传递函数。
图1 计算机控制系统结构图现假设系统采样周期T=0.5s,系统被控对象的传递函数为:2()(2)sG s es s -=+请针对上述被控对象,完成如下任务:(一)、试分别采用不同的数字控制算法设计数字控制器D(z),使得输出跟踪不同的参考输入;在设计任务中要求采用如下四种数字控制算法:数字PID 控制算法、最少拍有纹波控制算法、最少拍无纹波控制算法和大林控制算法;设计每种算法时需要跟踪两种典型的参考输入,即:单位阶跃输入和单位速度输入;(二)、针对每一种情况,编写计算机程序或者使用仿真软件作出相应的e(k),u(k)和y(k)的曲线,通过改变不同算法的控制参数观察控制效果的变化分析相应算法控制算法对系统控制性能的影响;(三)、比较分析各种不同控制算法间的控制效果差异;(四)、撰写心得和体会。
二、数字PID控制算法1、单位阶跃输入(1)、搭建sumilink(2)、双击PID控制器(3)、点击TUNE,让系统自动调整参数(4)、调整得到满意参数(5)、编程模拟s=tf('s');Gs=200/(s*(s+40));Ts=0.01;Gz=c2d(Gs,Ts,'zoh'); [num,den]=tfdata(Gz,'v'); step=1000;Kp=0.4411;Ki=0.0019;Kd=0.4694;e=zeros(1,step);y=zeros(1,step);time=zeros(1,step);r=zeros(1,step);delta_u=zeros(1,step);u=zeros(1,step);for k=1:step r(k)=1;time(k)=k*Ts;endfor k=3:stepy(k)=y(k-1);e(k)=r(k)-y(k);delta_u(k)=Kp*(e(k)-e(k-1))+Ki*e (k)+Kd*(e(k)-2*e(k-1)+e(k-2)); u(k)=delta_u(k)+u(k-1);y(k)=-den(2)*y(k-1)-den(3)*y(k-2)+num(2)*u(k-1)+num(3)*u(k-2); endplot(time,r,time,y)仿真图如下示:y(k)u(k)e(k) 2、单位速度输入方法同单位阶跃输入仿真图:y(k)u(k)e(k) 编程模拟:s=tf('s');Gs=200/(s*(s+40));Ts=0.01;Gz=c2d(Gs,Ts,'zoh'); [num,den]=tfdata(Gz,'v'); step=1000;Kp=0.9539;Ki=0.0016;Kd=0.3689;e=zeros(1,step);y=zeros(1,step);time=zeros(1,step);r=zeros(1,step);delta_u=zeros(1,step);u=zeros(1,step);for k=1:step r(k)=k;time(k)=k*Ts;endfor k=3:stepy(k)=y(k-1);e(k)=r(k)-y(k);delta_u(k)=Kp*(e(k)-e(k-1))+Ki*e (k)+Kd*(e(k)-2*e(k-1)+e(k-2)); u(k)=delta_u(k)+u(k-1);y(k)=-den(2)*y(k-1)-den(3)*y(k-2)+num(2)*u(k-1)+num(3)*u(k-2); endplot(time,r,time,y)三、最少拍有纹波控制算法广义传递函数:12()(2)Tsse G s e s s s ---=+ Z 变换:112110.184(10.717)()(1)(10.368)z z G z z z z -----+=--1、单位阶跃输入d=2 u=0 v=1 j=1 q=1 m=u+d=2 n=v-j+q=11121112()(1)(1)e z z f z f z ϕ---=-++123111211121(1)()f z f f z f z---=+-+--2121()z z f zϕ--=对比可得:f 11=1 f 12=1 f 21=1 故控制器的脉冲传递函数D (z )为:111211()0.184(10.717)(1)(1)(10.368)z D z z z z z z ------=+++--32320.3680.1840.3160.3160.132z z z z z -=+++仿真图如下图示。
