首页 数字PID控制算法仿真

数字PID控制算法仿真

举报
开通vip

数字PID控制算法仿真数字PID控制算法仿真 ,内封面, 题 目: 数字PID控制算法仿真研究 学生姓名: 刘高文 学号: P50614016 院(系): 电子科学与技术学院 专业: 电气工程及其自动化 入学时间: 2006 年 9 月 导师姓名: 刘凯峰 职称/学位: 讲师/硕士 导师所在单位: 安徽大学电子科学与技术学院 数字PID控制算法仿真研究 刘高文 ( P50614016) 安徽大学电子科学与技术学院 2006级电气工程及其自动化专业 指导教师: 刘凯锋 安徽省 合肥市 230601 摘 要 PI...

数字PID控制算法仿真
数字PID控制算法仿真 ,内封面, 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目: 数字PID控制算法仿真研究 学生姓名: 刘高文 学号: P50614016 院(系): 电子科学与技术学院 专业: 电气工程及其自动化 入学时间: 2006 年 9 月 导师姓名: 刘凯峰 职称/学位: 讲师/硕士 导师所在单位: 安徽大学电子科学与技术学院 数字PID控制算法仿真研究 刘高文 ( P50614016) 安徽大学电子科学与技术学院 2006级电气工程及其自动化专业 指导教师: 刘凯锋 安徽省 合肥市 230601 摘 要 PID 控制算法是过程控制中应用最广泛的一种控制 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。PID 控制算法简单应用广泛 , 但 利用 Matlab 可以方便地仿真 , 实现 PID 参数整定。文章首先介绍是其参数整定方法繁杂。 了 PID 控制算法的原理、框图和公式~通过 MATLAB 仿真出普通增量式 PID 控制算法引起系 统输出不稳定的仿真图~并给出引起该系统不稳定的原因~最后~文章研究了现实中应用较为 广泛的BP神经网络PID控制~并与普通PID控制进行了对比研究。 关键词:PID控制;不完全微分;智能控制;神经网络 Simulation Study on Digital PID Control Abstract PID control algorithm is the most widely methods used in process control. PID control algorithm is simple and widely used, but its parameter setting method is multifarious. Matlab simulation can be easily realized PID parameters setting. This paper firstly introduces the principle of PID control algorithm, through the block diagram and formula MATLAB simulation of an ordinary incremental PID control algorithm cause instability of the simulation system, and gives the figure of instability.Finally,the paper studies the BP neural network PID control which has a wide use in reality and then compared with ordinary PID control. Keywords: PID control; Incomplete differential; Intelligent control; Neural network 0、引 言 在模拟控制系统中,系统的控制器是连续模拟环节,亦称模拟调节器.而在数字控制系统中,则用数字控制器来代替模拟调节器,其直接控制过程是首先通过对模拟量输入通道对控制参数进行采样,并将其转换成数字量,然后计算机按一定的控制算法进行运算处理,计算结果由模拟量输出通道输出,并通过执行机构去控制生产过程,已达到预期的效果.这里,计算机执行按某种算法编写的程序,实现对被控制对象的控制和调节,被称为数字控制器。 有了模拟调节器,为什么还要用计算机来实现数字控制呢?这是因为: 1、模拟调节器的调节能力有限,当控制规律较为复杂时,就难以甚至无法实现.而数字控制器能实现复杂控制规律的控制。 2、计算机具有分时控制能力,可实现多回路控制。 3、数字控制器具有灵活性。控制规律可灵活多样,可用一台机计算机对不同的回路实现不同的控制方式,并且,修改控制参数或控制方式一般只改变控制程序 [1]即可,试用起来简单方便,可改善调节品质,提高产品的产量和质量。 4、采用计算机除实现PID数字控制外,还能实现监控、数字显示等其他功能。 在微型计算机控制系统中,使用微型计算机做数字控制器的。下图为一种常用的微型计算机控制系统的原理图。 输入R(t) 输出 C(t) 隗 微型计算机 D/A 被控对象 A/D 图0-1 微型计算机控制系统原理图 生产过程中,在大多数情况下被控对象具有连续的特性,而计算机特性是离散的,由此组成了一个既有连续部分又有离散部分的混合系统。对于这个系统,可以从两个不同的角度来看。一方面,由于被控对象、A\D、微型计算机、D\A构成的组合体的输入和输出都是模拟量,所以,该系统该系统可以看成连续变化的模拟系统,因而可以用拉氏变换来 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 ,系统可以画成图0-2的形式.其中为被控对象的G(s)P 传递函数,D(s)为校正装置的传递函数。另一方面,由于微型计算机与D/A、被控对象、A/D构成的组合体的输入和输出都是数字量,所以,这一系统又有离散系统的特性。因而也可以用Z变换来进行分析,系统可化成图0-3的形式。其中微机校正装置的脉冲传递函数D(z),为零阶保持器的传递函数,和构成了H(s)H(s)G(s)P被控对象的广义传递函数G(s)。 1 图0-2和图0-3提示了数字控制器的两种 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 途径和两类设计方法。一种是在一定条件下,把计算机控制系统近似的看成模拟系统,用连续系统的理论来进行动态的分析和设计,在将设计的结果变成数字计算机的控制算法,这种方法被称为模拟化的设计方法,用连续系统的理论来进行动态的分析和设计,又称间接设计法。另一种方法是,把计算机控制系统经过适当的变换,变成纯粹的离散系统,用Z变换等工具进行分析设计。直接设计出控制算法,该方法为离散设计方法,又叫直接设法。 R(s) C(s) R(s) C(s) D(s) Gp(s) D(Z) H(s) Gp(s) 图0-2 作为连续控制系统的结构图 图0-3 作为离散控制系统的结构图 模拟化设计方法的基础是,当系统的采样频率足够高时,采样系统的特性接近于连续变化的模拟系统,因而可以用采样开关和保持器,将整个系统看成是连续变化的模拟系统,从而用s域的方法设计校正装置,再使用s域的离散化方法求D(s) 的离散传递函数。设计的实质是讲一个模拟调节器离散化,用数字控制器取代D(z) 模拟调节器,然后按一定的对应关系将模拟调节器离散化,得到等价的数字控制器,从而确定计算机的控制算法。 PID 控制算法是过程控制中应用最广泛的一种控制方法。这种控制算法在相当多的控制领域的应用中都取得了比较满意的效果,而由微机、单片机、DSP 等数字芯片实现的数字PID 控制算法, 由于其软件系统的灵活性, 使算法得到了进一步的修正和完善。PID 控制算法的种类很多, 由于应用场合不同,对算法的要求也有所不同。 本文主要通过对主要 PID 算法存在的问题进行分析并对 PID 控制算法进行改进。文章首先介绍了 PID 控制算法的原理、框图和公式,通过 MATLAB 仿真出普通增量式 PID 控制算法引起系统输出不稳定的仿真图,并给出引起该系统不稳定的原因,最后文章简单介绍了现实中应用较多的神经网络PID控制并通MATLAB仿真出其控制效果,同时与普通增量式PID的控制效果作对比。 一、 PID控制简介 按偏差的比例(Proportional)、积分(Integral)和微分(Derivative)进行控制的调节器(简称PID调节器),是连续系统中技术成熟,应用最为广泛的一种调节器。 2 它的结构简单,参数易于调整。实际运行经验及理论分析证明,运用PID调节器在对相当多的工业对象进行控制时能够取得满意的效果。随着计算机技术的发展,采用计算机系统来实现PID控制时,其系统灵活易修改完善的优点得以发挥,所以,PID数字控制器得到越来越广泛的应用。 在模拟调节其中,PID控制算法的模拟表达式为 tdet1() (1-1) utKpetetdtTd(),[(),(),],Tidt0 式中,为调节器的输出信号;为偏差信号,它等于给定量与输出量之差;u(t)e(t)KP为比例系数;为积分时间常数;为微分时间常数。 TTDI 其控制的简化框图如图 R(t) PID u(t) 控制对象 C(s) 图1-1 PID控制系统简化框图 由于计算机系统是一种采样控制系统,他只能根据采样时刻的偏差值计算控制量。因此,为了使计算机能实现式(1-1),必须将其离散化,用离散的差分方程来 代替连续系统的微分方程。 连续时间系统的离散化,即 T,KT (K=0,1,2???n) 积分用累加近似求和得 tKK (1-2) e(t)dt,e(j)T,Te(j),,,,,00jj0 微分用一阶后向差分近似的 e(k),e(k,1)de(t), (1-3) d(t)T 式中,T为采样周期;为系统第k次采样时刻的偏差值;为系统第e(k)e(k,1) 次采样时刻的偏差值;为采样序号,=0,1,2„。 (k,1)kk 将式(1-2)和式(1-3)代入式(1-1),则可得到离散得PID表达式 kTTD (1-4) u(k),Kp{e(k),e(j),[e(k),e(k,1)]},TiT,0j 如果采样周期T取得足够小,该算是可以很好的逼近模拟PID算式,因而式被控过程与连续控制过程十分接近。由于式(1-4)表示得控制算法提供了执行机构的 3 位置,即其输出值与阀门开度的位置一一对应,所以,通常把式(1-4)称为u(k) PID的位置式控制算式或位置式PID控制算法。其控制原理图如图2-2所示 R(t) PID位置算法 被控对象 C(s) 图1-2 PID位置式控制原理图 如果在式(1-4)中,令 KpT Ki=(称为积分系数) Ti KpTd K (称为微分系数) D= T K 则 (1-5) u(k),Ke(k),Ke(j),K[e(k),e(k,1)],PID,0j 此即为离散化的位置式PID控制算法的得编程表达式。当进行控制时,、、KKPI 可现分别求出并放在指定得内存单元中,则可实现式(1-4). KD 由式(1-4)可以看出,每次输出与过去所有状态均有关,要想计算u(k),不仅涉及和,且须将历次e(j)相加,计算复杂,浪费内存。下面,来推导较为简e(k)e(k,1) 单的递推算式。为此,对式(1-4)作如下动作: 考虑到第(k-1)次采样时有 k,1TTD (1-6) u(k,1),K{e(k,1),e(j),[e(k,1),e(k,2)]},PTTj,0I 使式(1-4)两边对应减去(1-6),得 TTD整理u(k),u(k,1),K{e(k),e(k,1),e(k),[e(k),2e(k,1),e(k,2)]}PTTI 得 TTD u(k),u(k,1),K{[e(k),e(k,1)],e(k),[e(k),2e(k,1),e(k,2)}PTTI T2TTTDDD ,u(k,1),K(1,,)e(k),K(1,)e(k,1),Ke(k,2)PPPTTTTI (1-7) ,u(k,1),ae(k),ae(k),ae(k,2)012 4 TTTTDDD式中,,, aKaKaK,(1,2),,(1,,)120PPPTTTTI 式(1-7)就是PID位置式的递推形式,是编程时常用的形式之一。其程序框图 如图1-3所示。其中系数a、a、a可以事先算出。 012 取给定值、反作[ae(k-2)-a2 1 馈值,形成偏e(k-1)]加ae0 差 (k) 取a、e(k)作{[ae(k-2)-ae0 21 作乘法 (k-1)]+ae(k)}}+u0 (k-1) 输出u(k) 、e(k-1)取a1 作乘法 取a、e(k-2)数据传送:u(k)2 作乘法 至u(k-1) 作ae(k-2)减数据传送:e2 ae(k-2) (k-1)至e1 (k-2)至e(k-1) 图1-3 位置式PID控制算法得程序框图 如果令 ,u(k),u(k),u(k,1) 则 (1-8) ,u(k),ae(k),ae(k,1),ae(k,2)012 式中a、a、a同式(1-5)中一样。 012 因为在计算机控制系统中,a、a、a都可事先求出,所以,实际控制时只需获012 得、和e(k,2)三个有限的偏差值即可求出控制增量。由于其控制输出e(k)e(k,1) 对应与执行机构得位置的增量。故式(1-8)通常被称为PID控制的增量式算式。 实际中,当执行机构需要用控制量的增量来进行控制步进电动机时,可按(1-8)式 来计算,在执行机构中常用步进电机来完成位置的累计。PID增量式控制的原理图 如图1-4所示。 5 e(t) ?u(t) u(k) c(t) r(t) PID增量算法 步进电动机 被控对象 图1-4 PID增量式控制原理图 按式(1-8)也即增量式控制算法编程时,a、a、a可以预先存入固定单元,012 设初值e(k-1)=e(k-2)=0。 增量式PID控制算法与位置式PID控制算法相比较,有如下一些优点: 1、位置式算法每次与整个过去的状态有关,算式用到过去偏差的累加值k ,容易产生较大的积累误差。而增量式中只需计算增量,算式中不需要累加, e(j),j,0控制增量的确定仅与最近几次偏差采样值有关,当存在计算误差或精度不足时,对控制量的计算影响较小,而且容易通过加权处理获得比较好的控制效果。 2、由于计算机只输出控制增量,所以误动作时影响较小,且必要时可用逻辑判断的方法去掉,对系统安全运行有利。 3、 手动—自动切换时冲击比较小。 由于上述与优点,增量式PID控制算法得到了广泛应用。 除了上述两种控制算法外,还有一种被称为是速度式的控制算法,它采用位置式的倒数形式,也就是 ,u(k)du(t) = V(t),Tdt ,u(k)即 = V(t)T KTTTTPDDD = (1-9) {[1,,]e(k),[1,2]e(k,1),e(k,2)TTTTTI 由于在一般计算机控制系统中,采样周期T是一个常数,所以,速度式与增式 在算法上没有本质区别。在实际应用中,PID数字控制各种算式形式的选择视执行 器的形式、被控对象的特性而定。若执行机构不带积分部件,其位置和计算机输出 的数字量式一一对应的话(如电液伺服阀),就要采用位置式算式。若执行机构带 积分部件(如步进电机或步进电动机带动阀门或带动多位电位器)时,就可以选用 增量式算式。若执行机构要求速度设定就可选用速度式算式,通常,速度式算式用 的较少。 6 二、PID 控制算法的问题分析以及算法的改进 2.1 PID 控制算法的问题分析 在PID 控制算法应用过程中存在以下几种问题: 1、控制参数不合适导致PID控制器的输出产生大幅度的振荡,从而极大的降低了被控对象的精度、速度。特别是应用在高精度、高速度的直线电机等领域的影响是相当巨大。 图2-1 波形起振的仿真图 2、控制参数不合适导致PID 控制器不能实现很好的跟随。这样会影响整个系统 [2]的总体速度。 7 -2无法实时跟随的仿真图 图2 以上提到的问题主要有以下原因造成的: 1、参数选择不合适。 2、在控制中引入积分环节是为了消除静态误差,提高系统精度。但在启动、结束或大幅度增减设定时,短时间内系统输出有很大的误差,会造成PID运算的积累。 3、在控制中引入微分环节是为了改善系统的动态性能,但也易引进高频干扰,在误差扰动突变是有其显示微分项的不足。 2.2 数字PID控制算法的改进 有很多改进的PID 算法被提出来解决前面提出来的问题,诸如:积分分离PID 控制算法、抗积分饱和PID 控制算法、梯形积分PID 控制算法、变速积分PID 控制算法、带滤波器的PID 控制算法、不完全PID 控制算法、步进式PID 控制算法等。 2.2.1 防止积分整量化误差的方法 KTP在PID增量式算法中,积分项,即。当采样周期T较小时,而积分Ke(k)e(k)IK 时间较大时,很有可能小于计算机的最低有效位,在运算时被计算机取整KKe(k)II 而舍掉,从而产生积分整量化误差。 1T例如,当=1,=100ms,=1s, =0.01s时, =,若八位KTe(k)Ke(k)PII1000 8 1最低有效位对应值为时,计算机只能把它做零对待,于是积分项实际上不起作,256 用。 防止积分整量化误差的方法主要有两种: 1、扩大计算机的字长,提高计算机精度。这种方法的实质是使处理机最低有效位对应的数值两相应减少,提高了计算的分辨率,使得整量化中可能丢掉的部分得以保留。 2、当积分项<时,积分项单独累加,直到产生溢出。将溢出值作为积分Ke(k),I 项的偏差值去进行计算,余数仍然保留下来,作为下一步累加的基数值。 将式(1-7)改写如下: TTD u(k),u(k,1),k(1,)e(k),ae(k,1),ae(k,2),ke(k)pp12TTI =) u(k,1),ae(k),ae(k,1),a(k,2),,e(k)012 = (2-1) m(k),,,e(k) 这样就把积分项分出来了,可进行单独累计计算。 2.2.2 积分饱和及其防止方法 2.2.2.1 积分饱和的原因和影响 在一个实际的控制系统中,控制变量及其变化率因受执行元件的物理和机械性能的约束而限制在一个有限的范围之内,当计算机输出的控制量或其变化率在这个范围之内时,那么控制可以正常进行。一旦超出这个范围时,那么实际执行的控制量或变化率就不再时计算值,而是系统执行机构的饱和临界值,从而引起不希望的效应。 在数字PID控制系统中,当系统开、停或大幅变动给定值时,系统的输出会出现较大的偏差,经过积分项累积后,可能使控制量或,即超过执行u(k),uu(k),umaxmin机构由机械或物理性能所决定的极限。此时,控制量并不能真正取得计算值,而只取得或,从而影响控制效果。由于主要是积分项的存在,引起PID运算的“饱uumaxmin 和”,因此,这种饱和成为“积分饱和”。积分饱和增加了系统的调整时间和超调量,称为“饱和效应”,显然,它对控制系统是不利的。 2.2.2.2 积分饱和的防止方法 积分饱和的防止方法有多种,这里介绍常用的两种方法:积分分离法和遇限削弱积分法 1、积分分离法 将式(1-4)改写为下面的形式 9 K (2-2) u(k),Ke(k),KKe(j),K[e(k),e(k,1)],PLID,0j 式中,=1,当时;=0,当 时。为e(k)的门限值。 ,,Ke(k)Ke(k),,,LL 式(2-2)称为积分分离PID算式。其基本思想是,当偏差大于某个给定的门限值时,k 删除积分作用,以使不至过大。只有当e(k)较小时,方引入积分作用,以e(j),j,0消除静差。这项控制量不易进入饱和区;即使进入了,也能较快退出,所以系统的输出特性得到了改善。 3、遇限削弱积分法 遇限削弱积分法的基本思想是,当控制量进入饱和区后,只执行削弱积分的累加,而不进行增大积分项的累加。即,计算时,先判断是否超过限制范围,u(k,1)u(k) 若已超过,则只累计负偏差;若小于,就只累计正偏差。这种方法也可避免uumaxmin 控制量长时间停留在饱和区。 2.2.3 不完全微分的PID算法 在标准的PID算式中,当有阶跃信号输入时,微分项输出急剧增加,容易引起调节过程的震荡,导致调节品质下降。为了克服这一点,又要使微分作用有效,可采用不完全微分的PID算法。其基本思想是,仿照模拟调节器的实际微分调节器,加入惯性环节,以克服完全微分的缺点。该算法的传递函数的表达式为: TsU(s)1D,K[1,, ] (2-3) PTE(s)TsDI1,sKD 式中,称为微分增益。经推导得,不完全微分的PID增量式算式为: KD TTD ,u(k),K[e(k),e(k,1)],Ke(k),K[e(k),2e(k,1),e(k,2))]DPPPTTIs + (2-4) ,[u(k,1),u(k,2)]DD 2.2.4 存滞后的补偿算法 在许多工业生产过程中,由物料或能量的传输延迟,常常存在着滞后现象。这是,对象的传递函数可以用一阶惯性环节加纯滞后环节来描述 ,,sKpe = G(s)Tps,1 对象的这种纯滞后性质常常使系统产生超调或者震荡,使系统的稳定性降低。为此,史密斯提出了一种纯滞后补偿模型。 2.2.4.1 史密斯纯滞后补偿原理 10 图2-3为单一回路控制系统,其中 ,,s,D(s)为调节器的传递函数, r(t) D(s) Gp(s)e C(t) 图2-3系统对象纯滞后部分的传递函数 ,,s被控对象的传递函数Gp(s)为被控对象中不包含纯滞后部分的传递函数,e为被控 对象纯滞后部分的传递函数。 ,,s 史密斯纯滞后补偿原理是:与并接以补偿环节,用来补偿被D(s)G(s)(1,e)P 控对象中的滞后部分,这个环节称为预估器,如图2-4所示。 整个纯滞后补偿器的传递函数为 r(t) ,,s) Gp(s)e C(t) D(s ,,s e Gp(s) 图2-4 带史密斯预估器的控制系统 D(s)= D'(s),,s1,D(s)Gp(s)(1,e) 经补偿后。系统的闭环传递函数为 ,,sD'(s)Gp(s)e ,(s),',,s1,D(s)Gp(s)e ()()DSGps,,se= (2-5) 1,()()DsGps ,,s式(2-5)表示,e在闭环控制回路之外,不影响系统的稳定性。拉氏变换 ,,s平移定理说明,e近将控制作用在时间坐标轴上推迟了一个时间,控制系统的过, 渡过程及其它性能指标都与对象特性为的完全相同。这样,就消除了纯滞后部G(s)P 分对控制系统的影响。 2.2.5 微分先行PID算法 11 微分先行PID算法是将微分运算放在前面。它有两种结构:一种是对输出量的微分(如图2-5a所示),另一种是对偏差的微分(如图2-5b所示)。 R(s) 1,Tds11 Kp(1+) U(s) Kp(1+) 1,0.1TdsTisTis 1,Tds C(s) 1,0.1Tds 图2-5a 对输出量微分先行 图2-5b 对偏差先行微分 在第一种结构中,只对输出量C(t)进行微分,它是适用于给定量频繁升降 的场合,可以避免升降给定值时所引起超调量过大,阀门动作过分剧烈的震荡。 后一种结构式对偏差值先进性微分,它对于给定值和偏差值都有微分作用适 [4]用于串级控制的副控回路。回路的给定值是由主控调节器给定的,也应该对其 作为分处理,因此,应该在副控回路中采用偏差微分PID控制。 2.2.6 带死区的PID控制 在控制精度要求不太高,控制过程要求尽量平稳的场合。为了避免控制动作过于频繁,消除由此引起的震荡,可以人为地设置一个不灵敏去B,即采用带死区的PID控制。当| e|,B时,,u=0,只有当|e|>B时,才按PID算式计算控制量。 k出k 死区B是一个可调参数。B值太小,调节动作过于频繁,达不到稳定控制的目的; [5]B值太大,又会产生很大的纯滞后,所以应根据实际情况而定。 三、 神经网络PID控制 “神经网络控制”是20世纪80年代以来,人工神经网络研究取得突破性进展后发展起来的自动控制领域的前沿科学之一,已成为“智能控制”的一个新的分支,为解 [6]决复杂的非线性、不确定、不确知系统的控制问题,开辟了一条新的分支。 3.1 BP神经网络PID控制的基本原理 根据实时检测到的系统运行状态,调节 PID控制器的参数,使输出层神经元的输出状态对应于 PID控 制器的三个可调参数Kp,Ki,Kd,通过神经网络的自学习、加权系数调整,使神经网络输出对应于某种最优控制规律下的 PID控制器的参数。 BP神经网络 PID控制是一种有隐含层的3层前馈网络,具有M个输入节点和3个输出节点,通常当输入量有 M个 ,输出有 L个时,该BP神经网络可以看成是从M维欧氏空间到L维欧氏空间的非线性映射,而且可以作为逼近任意非线性的映射 ,从而为非 12 线性系统的辩识和控制提供了一种简单有效的通用方法。BP神经网络PID控制器结构 如图3-1所示。 图3-1 BP神经网络PID控制器结构 3.2 BP算法分析 网络输入层的输人为 (1) O=x(j),( =1,2,„ ,M)( (3-1) j 网络隐含层的输入 、输出为 M(2)(2)(1)(2)(2),,(i=1,2„,Q)。 (3-2) O(k),f(net(k))net(k),wO,iiiijj,0j (2)其中W为隐含层加权系数 ( ij 隐层神经元活化函数取正负对称的 Sigmoid函数 x,xe,ef(x),tanh(x), (3-3) x,xe,e 网络输出层的输入输出为 Q(3)(3)(2)net(k),wO(k) (3-4) ,llii,0i (3)(3)O (l=1,2,3) (3-5) (k),g(net(k))ll (3)(3)(3)其中O(k)=kp,O(k)=ki,O(k)=kd。 312 输出层输出节点分别对应 3个可调参数Kp,Ki,Kd(此时,输出层神经元的活化 函数取非负的Sigmoid函数: x(1,tanh(x))eg(x),, (3-6) x,x2e,e 13 2(()())rink,youtk取性能指标函数为 (3-7) ()Ek,2 按照梯度下降法修正网络的权系数,即按 E(k)对加权系数的负梯度方向搜索调整,并附加一个使搜快速收敛全局极小的惯性项 ,E(k)(3)(3) (3-8) ,w,,,,,,w(k,1)lili(3),wli 式中,为学习速率;为惯性系数。 ,, 由式(3)和式(7),可得到 ,u(k) , (3-9) ,e(k),e(k,1)(3),O(k)1 ,u(k) , (3-10) ,e(k)(3),O(k)2 ,u(k). (3-11) ,e(k),2e(k,1),e(k,2)(3),O(k)3 从而可得到网络输出层权的学习算法为 (3)(3)(3)(2) (3-12) ,W(k),,,W(k,1),,,O(k),lilili ,,,y(k)u(k)(2)(3), (l=1,2,3). (3-13) ,e(k)sgn()g(net(k)),il(3),,,u(k)O(k)l 影响 BP算法的因素很多,归纳起来主要包括学习步长,权重记忆因子、网络,,结构及节点作用函数等( 同理可得到隐含层加权系数的学习算法: (2)(2)(2)(1) i=(1,2,„,Q) ,W(k),,,W(k,1),,,O(k),ijijij 3(2)'(2)(3)(3)其中,,f(net(k)),W(k),式中 g'(,),g(x)(1,g(x)),,iillil,1 2 f'(,),(1,f(x))/2 BP神经网络PID是用学习规则调整各输入量的权重值,相当于变系数的自适应PID调节器,它既有自适应能力,又具备传统 PID控制器的优点(且使系统的动态性能只依赖于其误差信号,而不受或少受对象模型参数的影响 ,同时根据学习所得的结果对相应的积分、比例、微分系数进行在线调整产生自适应控制作用,具有很强的鲁棒[7]性。 14 四、神经网络PID控制与普通PID控制的对比研究 4.1 被控对象数学模型 设被控对象的近似数学模型为 a(k)yout(k,1) (4-1) yout(k),,u(k,1)21,yout(k,1) ,0.1k式中,系数是慢时变的,。 a(k)a(k),1.2(1,0.8e) (1)先采用普通数字PID控制进行系统响应仿真,采样时间为1ms。针对离散 系统的阶跃信号、正弦信号的位置响应,设计离散PID控制器。其中,S为信号选 -1、图4-2所示。择变量,S=1为阶跃跟踪,S=2为正弦跟踪,PID跟踪结果如图4 其仿真程序代码如下: clear all; close all; ts=0.001; u_1=0.0;u_2=0.0;u_3=0.0; y_1=0.0;y_2=0.0;y_3=0.0; x=[0,0,0]'; error_1=0; for k=1:1:1000 time(k)=k*ts; S=1; if S==1; kp=0.12;ki=5.95;kd=0.0005; rin(k)=1; elseif S==2 kp=0.12;ki=5.95;kd=0.0005; rin(k)=0.5*sin(2*2*pi*k*ts); end u(k)=kp*x(1)+kd*x(2)+ki*x(3); if u(k)>=10 u(k)=10; end if u(k)<=-10 u(k)=-10; 15 end a(k)=1.2*(1-0.8*exp(-0.1*k)); yout(k)=a(k)*y_1/(1+y_1^2)+u_1; error(k)=rin(k)-yout(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); x(1)=error(k); x(2)=(error(k)-error_1)/ts; x(3)=x(3)+error(k)*ts; error_1=error(k); end; figure(1); plot(time,rin,'b',time,yout,'r'); xlabel('time(s)'),ylabel('rin,yout'); (2)采用神经网络PID进行系统响应仿真,采样时间为1ms,神经网的结构选 和惯性系数,加权系数初始值取区间[-0.5,0.5]4-5-3,学习速率,,0.28,,0.04 上的随机数。其中,S为信号选择变量,S=1为阶跃跟踪,S=2为正弦跟踪,跟踪结果如图4-3至图4-9所示。其仿真程序代码如下: clear all; close all; xite=0.25; alfa=0.05; S=2; IN=4;H=5;Out=3; if S==1 wi=[-0.6394 -0.2696 -0.3756 -0.7023; -0.8603 -0.2013 -0.5024 -0.2596; -1.7094 0.5543 -1.6820 -0.5437; -0.3625 -0.0724 -0.6463 -0.2859; 0.1425 0.0279 -0.5406 -0.7660]; %wi=0.50*rands(H,IN); wi_1=wi;wi_2=wi;wi_3=wi; wo=[0.7576 0.2616 0.5820 -0.1464 -0.1325; -0.1146 0.2949 0.8352 0.2205 0.4508; 0.7201 0.4566 0.7672 0.4962 0.3632]; %wo=0.50*rands(H,IN); wo_1=wo;wo_2=wo;wo_3=wo; end if S==2 16 wi=[-0.2846 0.2193 -0.5097 -1.0668; -0.7484 -0.1210 -0.4708 0.0988; -0.7176 0.8297 -1.6000 0.2049; -0.0858 0.1925 -0.6346 0.0347; 0.4358 0.2369 -0.4564 -0.1324]; wi_1=wi;wi_2=wi;wi_3=wi; wo=[1.0438 0.5478 0.8682 0.1446 0.1537; 0.1716 0.5811 1.1214 0.5067 0.7370; 1.0063 0.7428 1.0534 0.7824 0.6494]; wo_1=wo;wo_2=wo;wo_3=wo; end x=[0,0,0]; u_1=0;u_2=0;u_3=0;u_4=0;u_5=0; y_1=0;y_2=0;y_3=0; Oh=zeros(H,1); I=Oh; error_2=0; error_1=0; ts=0.001; for k=1:1:6000 time(k)=k*ts; if S==1 rin(k)=1.0; elseif S==2 rin(k)=sin(1*2*pi*k*ts); end a(k)=1.2*(1-0.8*exp(-0.1*k)); yout(k)=a(k)*y_1/(1+y_1^2)+u_1; error(k)=rin(k)-yout(k); xi=[rin(k),yout(k),error(k),1]; x(1)=error(k)-error_1; x(2)=error(k); x(3)=error(k)-2*error_1+error_2; epid=[x(1);x(2);x(3)]; I=xi*wi'; for j=1:1:H Oh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j))); end K=wo*Oh; for l=1:1:Out K(l)=exp(K(l))/(exp(K(l))+exp(-K(l))); end kp(k)=K(1);ki(k)=K(2);kd(k)=K(3); Kpid=[kp(k),ki(k),kd(k)]; du(k)=Kpid*epid; 17 u(k)=u_1+du(k); if u(k)>=10 u(k)=10; end if u(k)<=-10 u(k)=-10; end dyu(k)=sign((yout(k)-y_1)/(u(k)-u_1+0.0000001)); for j=1:1:Out dK(j)=2/(exp(K(j))+exp(-K(j)))^2; end for l=1:1:Out; delta3(l)=error(k)*dyu(k)*epid(l)*dK(l); end for l=1:1:Out for i=1:1:H d_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2); end end wo=wo_1+d_wo+alfa*(wo_1-wo_2); for i=1:1:H do(i)=4/(exp(I(i))+exp(-I(i)))^2; end segma=delta3*wo; for i=1:1:H delta2(i)=do(i)*segma(i); end d_wi=xite*delta2'*xi; wi=wi_1+d_wi+alfa*(wi_1-wi_2); u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k); y_2=y_1;y_1=yout(k); wo_3=wo_2; wo_2=wo_1; wo_1=wo; wi_3=wi_2; wi_2=wi_1; wi_1=wi; error_2=error_1; error_1=error(k); end figure(1); plot(time,rin,'r',time,yout,'b'); xlabel('time(s)');ylabel('rin,yout'); figure(2); plot(time,error,'r'); 18 xlabel('time(s)');ylabel('error'); figure(3); plot(time,u,'r'); xlabel('time(s)');ylabel('u'); figure(4); subplot(311); plot(time,kp,'r'); xlabel('time(s)');ylabel('kp'); subplot(312); plot(time,ki,'g'); xlabel('time(s)');ylabel('ki'); subplot(313); plot(time,kd,'b'); xlabel('time(s)');ylabel('kd'); 4.2 程序仿真及结果分析 运行仿真程序,在MATLAB7.0中的响应结果如图4-1至4-9所示。其中图4-1、图4-2为采用普通数字PID控制进行阶跃响应仿真的结果,而图4-3至4-9采用神经网络PID控制进行阶跃响应仿真的结果。 图4-1 普通数字PID控制阶跃跟踪曲线 19 图4-2 普通PID控制正弦跟踪曲线 图4-3 神经网络PID控制阶跃跟踪曲线 图4-4 神经网络PID控制阶跃跟踪误差曲线 图4-5 神经网络PID控制阶跃跟踪参数自适应整定曲线 20 图4-6 神经网络PID控制阶跃跟踪控制器输出u 图4-7 神经网络PID控制正弦跟踪曲线 图4-8 神经网络PID控制正弦跟踪参数自适应整定曲线 图4-9 神经网络PID控制正弦跟踪误差曲线 从图中可以看出神经网络PID控制比传统的PID控制具更好的控制特性。基于BP算法神经网络PID控制器算法思想简单,是一种既含有静态特性,又含有动态特性的多层前向神经网络。通过仿真实现可以看出它具有自学习、自适应性等特点,网络的收敛速度快,能够对非线性对象很好的控制,系统的跟踪性能很好。参数设定无需知道被控对象的具体参数及其数学模型,对不同的对象具有适应性,优越于 21 一般的PID控制。 主要参考文献: [1]赖寿红~微型计算机控制技术~机械工业出版社~2000.5 [2]刘金坤~先进PID控制及其MATLAB仿真~电子工业出版社~2003 [3]王炎~MATLAB语言与自动控制系统设计~机械工业出版社~2004.8 [4]潘薇~MATLAB 7辅助控制系统设计与仿真~电子工业出版社~2005.3 [5]戴梅萼~微型计算机技术及应用~清华大学出版社~1991 [6]蔡自兴~智能控制~电子工业出版社~1990 [7]王耀南~智能控制系统~湖南大学出版社~1996 致 谢 本文是在我的导师刘凯峰老师的悉心指导下完成的。在 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 的选题、撰写和修改的过程中,刘老师严谨治学、实事求是的工作态度,让我受益匪浅,对我未来的工作和学习将产生深远的影响。在此对刘老师表示最衷心的感谢~ 向多年来为我的学业提供无私支持的父母、亲人、朋友们表示最诚挚的谢意。最后感谢答辩委员会各位老师在百忙之中对本文的评阅和指正。 22
本文档为【数字PID控制算法仿真】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_574951
暂无简介~
格式:doc
大小:180KB
软件:Word
页数:32
分类:企业经营
上传时间:2017-10-17
浏览量:26