大林算法课程设计
- 格式:doc
- 大小:315.66 KB
- 文档页数:13
(威海)课程设计基本信息学生姓名:由小玉学号:090220319院系名称:信息与电气工程学院课程设计名称:计算机控制课程设计同组人姓名:蒯庆华王安琪教师评语及课程设计成绩评语:成绩:教师签字:年月日课程设计(论文)任务书指导教师签字:系(教研室)主任签字:年月日一、从理论上设计2m T s =的达林算法控制器。
1、求达林算法所期望的闭环脉冲传递函数 因为s T s 1,2==τ所以2=l又有s m 2T = 带入达林算法所要期望的闭环脉冲传递函数,可得:()()()1315.035.011607.01393.01111--------+---=--=-⎪⎪⎭⎫ ⎝⎛-=Φz z z e z e z e z e z m m T T l T T 系统的闭环误差脉冲传递函数为:()()131607.01393.0607.011------=Φ-=Φz z z z z e2、求广义对象的脉冲传递函数:()()()()()()()11132212368.011718.01368.011111G ----------+=⎪⎪⎭⎫⎝⎛+-=⎪⎪⎭⎫ ⎝⎛+-=z z z z s s z z s s e s e Z z s Ts 3、数字控制器为:()()()()()()()()31111393.0607.01718.01368.011068.1D -------+--=ΦΦ=z z z z z z z G z z e二、利用MATLAB 的Simulink 仿真工具系统进行仿真,分析系统的输出和控制器的输出。
1、simulink 仿真图:2、达林算法下,单位阶跃输入时的输出响应为:5101520253035404550分析:输出响应曲线没有超调,但是调节时间长,大约为15s 。
3、达林算法下,单位节约输入时数字控制器的输出响应:05101520253035404550-5-4-3-2-1012345分析:数字控制器的输出序列以2T 为周期上下振荡,出现振铃现象,振铃现象会增加执行机构的磨损,甚至有交互作用的所参数系统中会影响系统的稳定性,因此应采取措施消除。
⼤林算法实验六⼤林算法⼀、实验⽬的1.掌握⼤林算法的特点及适⽤范围。
2.了解⼤林算法中时间常数T对系统的影响。
⼆、实验仪器1.EL-AT-III型计算机控制系统实验箱⼀台2.PC计算机⼀台三、实验内容1.实验被控对象的构成:(1)惯性环节的仿真电路及传递函数G(S)=-2/(T1+1)T1=0.2 (2)纯延时环节的构成与传递函数G(s)=e-Nττ=采样周期 N为正整数的纯延时个数由于纯延时环节不易⽤电路实现,在软件中由计算机实现。
图6-1 被控对象电路图(3)被控对象的开环传函为:G(S)=-2e-Nτ/(T1+1)2.⼤林算法的闭环传递函数:Go(s)=e-Nτ/(Ts+1) T=⼤林时间常数3.⼤林算法的数字控制器:D(Z)=(1-eτ/T)(1-e-τ/T1Z-1)/[k(1-e-τ/T1)[1-e-τ/TZ-1-(1-e-τ/T)Z-N-1] ]设k1=e-τ/T K2=e-τ/T1 T1=0.2 T=⼤林常数 K=2(K-Kk2)Uk=(1-k1)ek-(1-k1)k2ek-1+(k-kk2)k1Uk-1+(k-kk2)(1-k1)Uk-N-1四、实验步骤1.启动计算机,双击桌⾯“计算机控制实验”快捷⽅式,运⾏软件。
2.测试计算机与实验箱的通信是否正常,通信正常继续。
如通信不正常查找原因使通信正常后才可以继续进⾏实验。
3.量对象的模拟电路(图6-1)。
电路的输⼊U1接A/D、D/A卡的DA1输出,电路的输出U2接A/D、D/A卡的AD1输⼊。
检查⽆误后接通电源。
4.在实验项⽬的下拉列表中选择实验六[六、⼤林算法], ⿏标单击按钮,弹出实验课题参数设置对话框,在参数设置窗⼝设置延迟时间和⼤林常数,点击确认在观察窗⼝观测系统响应曲线。
测量系统响应时间Ts和超调量 p。
5.复步骤4,改变参数设置,将所测的波形进⾏⽐较。
并将测量结果记⼊下表中:延迟时间Td=2,⼤林常数T=0.5延迟时间Td=3,⼤林常数T=0.8延迟时间Td=2,⼤林常数T=0.4延迟时间Td=2,⼤林常数T=0.5五、实验分析1.分析开环系统下的阶跃响应曲线。
《计算机控制》课程设计报告题目: Dahlin算法控制设计姓名: 学号:姓名: 学号:姓名: 学号:2010年7月10日《计算机控制》课程设计任务书专业电气工程及其自动化班级学生指导教师题目 Dahlin算法控制设计设计时间2010年7 月5 日至 2010年7 月 11 日共 1 周设计要求设计任务:设单位反馈线性定常离散系统的连续部分和零阶保持器的传递函数分别为)1(10)(+=sssGp,被控对象为sesssG1.0)101)(1(5)(-++=,采用Dahlin算法设计消除振铃的数字控制器。
方案设计:1.采用Matlab完成控制系统的建立、分析、设计和模拟仿真;2.选择元器件,完成电路设计,控制器采用MCS-51系列单片机(传感器、功率接口以及人机接口等可以暂不涉及),使用Protel绘制原理图;3.控制算法采用单片机汇编语言编程实现(应通过编译,无语法错误)。
报告内容:1.控制系统仿真和设计步骤,应包含Matlab仿真的性能曲线、采样周期T的选择、数字控制器脉冲传递函数和差分方程形式;2.元器件选型过程,电路设计过程,绘制的Protel原理图;3.算法流程图,含有详细注释的汇编源程序;4.设计工作总结及心得体会;5.列出所查阅的参考资料。
指导教师签字:系(教研室)主任签字:2010年7 月10 日一.实验目的采用Dahlin 算法设计消除振铃的数字控制器 二.提供的实验条件(1)软件:Matlab, Protues ,KEIL (2)仪器和设备:计算机、单片机 三.设计要求被控对象为s e s s s G 1.0)101)(1(5)(-++=,采用Dahlin 算法设计消除振铃的数字控制器。
达林算法主要是一种针对纯滞后对象的控制算法,其主要指标是系统无超调,或超调量较小。
并允许系统有较长的调整时间。
四.工作原理基于达林算法的采样控制系统结构框图如图1所示。
图1 采样控制系统原理图D(z)系统的设计核心,它实际上是由计算机实现,它的输入输出均是时间上离散的数字信号信号。
大林算法控制系统设计-V1"大林算法控制系统设计"是一种根据数据驱动的算法控制系统设计方法,它可以在系统设计和控制中利用数据,自动优化系统的运行效率和性能表现。
该算法的设计思想是,通过观察和分析系统内的数据集,从中提取出规律和特征,然后再利用这些数据,通过数学运算得到最优解,在系统设计的各个环节中实现自动化的控制。
下面分几个方面分别介绍大林算法控制系统设计的内容:1. 数据采集和分析大林算法控制系统的第一步是数据的采集和分析。
该系统通过采集内部的数据集,并运用统计学和机器学习的算法进行分析,从而得到更多的数据。
2. 数据的预处理和清洗得到数据后,需要进行数据的预处理和清洗。
这意味着去除噪点、缺失值和异常值,以及对数据进行归一化、标准化和编码等处理。
3. 特征抽取在对数据进行预处理和清洗后,需要进行特征抽取。
这一步是将复杂的数据集精简成简单的特征集合。
特征抽取可以通过多种算法进行实现,例如主成分分析、线性判别分析和单纯可分分类器等。
4. 模型的训练和调整经过特征抽取后,就可以开始模型的训练和调整了。
这个过程需要基于生成算法、决策树、神经网络和支持向量机等算法来实现。
5. 模型的运用和控制最终,经过训练和调整后的模型就可以在控制系统中得到应用和控制了。
通过不断的数据收集和分析,以及对模型的调整和优化,可以不断地提高系统的性能表现和运行效率。
总的来说,大林算法控制系统设计的目的是通过对系统内部的数据进行采集、分析、预处理和清洗、特征抽取、模型的训练和调整、以及模型的应用和控制,实现自动化的控制和优化。
是一种利用数据驱动的算法控制系统设计方法,能够大大提高系统的运行效率和性能表现。
计算机控制技术课程设计课程名称计算机控制技术学院自动化学院专业班级学号姓名一、题目和要求已知计算机控制系统结构图如图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 -=+++仿真图如下图示。
摘要在控制系统应用中,纯滞后环节往往是影响系统动态特性的不利因素。
工业过程中如钢铁,热工和化工过程中往往会有纯滞后环节。
对这类系统,控制器如果设计不当,常常会引起系统的超调和持续振荡。
由于纯延迟的存在,使被控量对干扰、控制信号不能即时的反映。
即使调节机构接受控制信号后立即动作,也要经过纯延时间t后才到达被控量,使得系统产生较大的超调量和较长的调节时间。
当t>=0.5T(T为对象的时间常数)时,实践证明用PID控制很难获得良好的控制品质。
对这类具有纯滞后环节系统的控制要求,快速性往往是次要的,通常要求系统稳定,要求系统的超调量要小,而调整时间允许在较多的采样周期内结束。
这样的一种大时间滞后系统采用PID控制或采用最少拍控制,控制效果往往不好。
本课程设计介绍能满足上述要求的一种直接数字控制器设计方法——大林(Dahlin)算法。
关键字:纯滞后、大林(Dahlin)算法目录0引言 (1)1被控对象模拟与计算机闭环控制系统的构成 (2)1.1被控对象 (2)2大林算法 (3)2.1一阶被控对象的达林算法 (3)3振铃现象和消除方法 (4)3.1振铃现象的产生 (4)3.1.1振铃现象的分析 (4)3.2振铃幅度RA (6)3.3振铃现象的消除 (6)3.4Simulink 仿真 (7)4一种改进的消除振铃现象的方法 (9)5总结 (10)参考文献 (11)0引言大林算法是由美国IBM公司的大林(Dahllin)于1968年针对工业生产过程中含纯滞后的控制对象的控制算法。
该算法的设计目标是设计一个合适的数字控制器,使整个系统的闭环传递函数为带有原纯滞后时间的一阶惯性环节。
大林算法是运用于自动控制领域中的一种算法,是一种先设计好闭环系统的响应再反过来综合调节器的方法。
设计的数字控制器(算法)使闭环系统的特性为具有时间滞后的一阶惯性环节,且滞后时间与被控对象的滞后时间相同。
此算法具有消除余差、对纯滞后有补偿作用等特点。
1被控对象模拟与计算机闭环控制系统的构成1.1被控对象被控对象存在存时间滞后,则对其控制难度往往较大。
如果在这种情况下,对系统要求的是无超调量或超调量较小,并允许有较长的调节时间,则大林算法控制效果往往比PID 等控制算法具有更好的效果。
此时,具有滞后特性的被控对象可以用带有纯滞后环节s e θ-的一阶或二阶惯性环节来近似,被控对象如下图1-1所示。
图1-1由上图可得,实验系统被控对象的传递函数为:011()11s sKe K G s e T s T s θθ--==⋅++ (1-1) 上式中,滞后环节s e θ-由上位机软件模拟,θ为滞后时间,这里取nT θ=,T 为采样周期。
对象传递函数的其余部分可以用图1-1所示电路来模拟,计算机控制系统的方框图如图1-2所示,这里K=3 ,T1=0.6 ,N=1,T=0.5S,T 0=0.25S图1-2控制系统的方框图In Om 图8.1++R 0R 1-C 1R ++-R e (k)e (t)r (t)D(z)T 1s+1图8.2Z.0.H ke -nTs y(t)2大林算法2.1一阶被控对象的达林算法达林算法的设计思想:设计一个合适的数字控制器,使整个闭环系统相当于一个延迟环节和一个一阶惯性环节相串联。
并期望整个闭环系统的纯滞后时间与被控对象的纯滞后时间相同。
根据被控对象的S 传递函数式(1-1),大林算法选定0()1se s T s θφ-=+ nT θ=(2-1) 0T 按控制要求选择。
作为闭环控制的综合目标,与()s φ相对应的 00/1/11(1)()[()]1T T Ts n T T e e z z Z s s e z φφ--------=⋅=-(2-2) 而包含零阶保持器被控对象的S 传递函数为0111()()1Ts Ts se e Ke G s G s s s T s θ-----=⋅=⋅+(2-3) 离散化后得到11/1/1(1)()[()]1T T n T T K e z G z Z G s e z ------==-(2-4) 于是可以得到大林算法控制器的Z 传递函数01001//1///11(1)(1)()(1)[1(1)]T T T T T T T T T T n e e z D z K e e z e z -----------=----(2-5) 由此得到大林算法0000111///////()(1)(1)(1)(1)(1)()(1)(1)(1)T T T T T T T T T T T T T T u k e u k e u k n e e e e k e k K e K e -------=-+-----+⋅----(2-6)3振铃现象和消除方法3.1振铃现象的产生所谓振铃(Ringing )现象,是指数字控制器的输出以二分之一采样频率大幅度衰减的震荡。
这与最少拍有纹波系统中的纹波是不一样的。
纹波是由于控制器输出一直是震荡的,影响到系统的输出一直由纹波。
而振铃现象中的震荡是衰减的。
由于被控对象中的惯性环节的低通特性,使得这种震荡对系统的输出几乎无任何影响。
但是振铃现象却会增加执行机构的磨损,在有交互作用的多参数控制系统中,振铃现象还是会影响到系统的稳定性的。
3.1.1振铃现象的分析系统的输出Y (z )为:(3-1)上式表示了数字控制器的输出与系统输入信号之间的关系,是分析振铃现象的基础。
对于单位阶跃输入函数1-z z =R(z),含有z=1的极点;如果)(z K u 在z 平面的负实轴上有极点,即被控对象)(0z G 含有负实轴上的零点,且与z=-1点相近,则数字控制器的输出序列u(k)中将含有这两种幅值相近的瞬态项,而且这两个瞬态项的符号在不同时刻是不同的。
当两瞬态项符号相同时,数字控制器的控制作用加强;符号相反时,控制作用减弱,从而造成数字控制器的输出序列u(k)的幅值以2T 为周期大幅度波动,这便是振铃现象。
如图3-1所示。
)()()(z R z z U u Φ=故:)()()()()(z K z G z z R z U u =Φ=∴图3-1单位阶跃输出响应(a )带纯滞后的一阶惯性环节被控对象为带纯滞后的一阶惯性环节。
由前面可知脉冲传递函数G(Z)和闭环系统的脉冲传递函数)(z φ,代入(3-1),得)1)(1()1)(1()()(1//1//11----------==z e e K z e e z G z K c c T T T T P T T T T u φ (3-2) 求得极点c T T e /-,显然对于带纯滞后环节的一阶惯性环节,极点z 永远大于零,故可以得出如下结论:在纯滞后一阶惯性环节促组成的系统中,数字控制器输出对输入的脉冲传递函数不存在负实轴上面的极点,这种系统不存在振铃现象。
(b )带纯滞后的二阶惯性环节被控对象为带纯滞后的二阶惯性环节。
将脉冲传递函数G(Z )闭环系统的脉冲传递函数)(z φ,代入(3-1),得)1)(1)(1()1)(1)(1()()(1121//11/1//121---------+-----==z c c z e e c K z e z e e z G z K c c T T T T P T T T T T T u φ (3-3) 上式有两个极点,第一个为c T T e z /-=,不会引起振铃显象;第二个极点在12c c z --=。
因当T 趋近0时,112-=⎪⎪⎭⎫ ⎝⎛-c c 说明可能出现在负实轴上与z=-1相近的极点,这一极点将引起振铃显象。
3.2振铃幅度RA振铃幅度RA 用来衡量振铃强烈的程度。
为描述振铃强烈的程度,应找出数字控制器输出量的最大值Umax 。
由于这一最大值与系统参数的关系难于用解析的式子描述出来,所以常用单位阶跃作用下数字控制器第0次输出量与第1次输出量的差值来衡量振铃现象强烈的程度。
设u K 具有如下形式++++++=----2211221111)(z a z a z b z b z K u (3-4) 在单位阶跃输入函数的作用下,数字控制器输入量的Z 变换是1221122111111)()()(------++++++==z z a z a z b z b z R z K z U u (3-5)++-+=-111)1(1z a b所以,11111)1(1b a z a b RA -=+--=-,对于带纯滞后的二阶惯性环节组成的系统,其振铃幅度为:当T 趋近0时,RA=2。
3.3振铃现象的消除有两种方法可用来消除振铃现象。
第一种方法是先找出D(z)中引起振铃现象的因子(z=1附近的极点),然后令其中的Z=1,根据终值定理,这样处理不影响输出量的稳定值。
下面具体说明这种处理方法。
前面已介绍带纯滞后的二阶惯性环节系统中,数字控制器的D(Z)为)1(/1/1211/1//)1(1)(()1)(1)(1()(21+-------------+---=N T T T T P T T T T T T ze z e z c c K z e z e e z D c c c (3-6) 控制器极点z=c2/c1将引起振铃现象。
令极点因子(121-+z c c )中的Z 为Z=1,就可消除这个振铃极点。
此时)1)(1(21//21T T T T e e c c ----=+ (3-7) 消除振铃极点后,数字控制器的形式为:])1(1)[1)(1()1)(1)(1()()1(/1///1/1//2121+-------------------=N T T T T T T T T P T T T T T T z e z e e e K z e z e e z D c c c (3-8) 3.4Simulink 仿真这里,当K=3 ,T1=0.6 ,N=1,T=0.5S,T 0=0.25S ,如图3-2所示。
图3-2Simulink 仿真程序得到图像如下图3-3单位阶跃响应曲线这种消除振铃现象的方法虽然不影响输出稳态值,但却改变了数字控制器的动态特性,将影响闭环系统的瞬态性能。
第二种方法是从保证闭环系统的特性出发,选择合适的采样周期T及系统闭环时间常数Tc,使得数字控制器的输出避免产生强烈的振铃现象。
从式(6.40)中可以看出,带纯滞后的二阶惯性环节组成的系统中,振铃幅度与被控对象的参数T1,T2,有关,与闭环疏通期望的时间常数Tc,以及采样周期T也有关。
通过适当选择T及Tc,可以把振铃幅度抑制在最低限度以内。
有的情况下,系统闭环时间常数Tc,作为系统的性能指标呗首先确定了,但仍可通过选择采样周期T 来抑制振铃现象。
4一种改进的消除振铃现象的方法上面的大林算法是从修改数字控制器入手,根据它所得到的闭环传递函数很难估计出暂态下系统输出的变化规律。