matlab的大林算法,大林算法.ppt

大林算法,达林算法,大林算法实验,大林算法例题,大林算法原理,大林算法matlab,计算机控制技术,pid控制器,大林算法仿真,大林算法实验报告

不过这类控制系统对快速性的要求是次要的,其主要指标是系统无超调或超调量很小,并且允许有较长的调整时间。针对这种情况,1968年大林(Dahlin)提出了一种可获得较好效果的算法,人们称之为大林算法。 大多数工业生产过程的对象一般可用带纯滞后的一阶或二阶惯性环节近似(高阶可用主导极点的惯性常数来代替),其传递函数分别为 7.4.1 一阶被控对象的大林算法 由式(7―65)求带零阶保持器的一阶被控对象的z传递函数,即 将Φ(z)和G(z)代入式(7―69),得二阶被控对象的大林算法数字控制器的z传递函数为 【例7―27】已知数字控制器脉冲传递函数D(z)为 【例7―26】已知被控对象的传递函数为 ,采样 周期为T=0.5s,使用大林 算法设计控制器D(z),并分析是否会产生振铃现象。 解:对于大林算法,将被控对象的传递函数与式(7―65)比较,可得  K=1,θ= r·T=1,r =2,τ1=1 由式(7―70)得广义对象的z传递函数为 由式(7―71),若τ=0.1s,数字控制器的z传递函数为 极点z=1不会引起振铃现象;极点 z2,3=-0.4967±j0.864会产生振铃现象。为了消除振铃现象,令z2,3 =1代入上式得 解 根据直接程序法知:对给定的数字控制器的 D(z)的分子、分母都乘以z-n,其中n为分母最高次幂,便可求出以z-n,z-n-1,…,z-1为变量的D(z)的有理表示式。本例题n=2,即 对D(z)进行交叉相乘、移项,便可写出直接程序法实现D(z)的表达式: U(z)=E(z)+2E(z)z-1+E(z)z-2 -5U(z)z-1-6U(z)z-2  根据上式所得结果知:n=m,a0=1,a1=2,a2=1,b1=-5,b2=-6,可画出D(z)按直接程序设计法的原理框图,如图7―19所示。 再进行Z反变换,便可求得数字控制器的差分方程为  U(k)=E(k)+2E(k-1)+E(k-2) -5U(k-1)-6U(k-2) 根据所得差分方程,可画出其程序流程图,如图7―20所示。图中初始化部分是自定义和分配内存单元、给系数和变量赋初始值等,如给aj,bj,E(k),E(k-j),U(k),U(k-j)以及中间结果等分配存储单元,便于编制控制程序。 【例7―28】已知数字控制器脉冲传递函数D(z)为 解 根据串行程序设计法知:对给定的数字控制器的D(z)的分子、分母进行因式分解,并以零点、极点的形式来表示为 即可写出D(z)的子脉冲传递函数D1(z)、D2(z),分别为 对D1(z)、D2(z)分别进行交叉相乘、移项,便可得串行程序设计法实现的表达式为 ? U1(z)=3E(z)+0.6E(z)z-1+0.1U1z-1 U(z)=U1(z)+U1(z)z-1-0.2U(z)z-1  再进行Z反变换后,可得D(z)的差分方程组为  U1(k)=3E(k)+0.6E(k-1)+0.1U1(k-1) U(k)=U1(k)+U1(k-1)-0.2U(k-1) 根据上式所得结果,可画出D(z)按串行程序设计法设计的原理框图,如图7―22所示。根据所得差分方程组,用串行程序设计法时,其流程如图7―23所示。 【例7―29】已知数字控制器脉冲传递函数D(z)为 将上式各子脉冲传递函数分别交叉相乘后,再进行Z反变换,可得差分方程组如下: ? U1(k)=E(k) U2(k)=E(k-1)-2U2(k-1) U3(k)=-4E(k-1)-3U3(k

你可能感兴趣的:(matlab的大林算法)