基于常规算法的PID控制及其 Matlab仿真.docx
《基于常规算法的PID控制及其 Matlab仿真.docx》由会员分享,可在线阅读,更多相关《基于常规算法的PID控制及其 Matlab仿真.docx(41页珍藏版)》请在冰点文库上搜索。
基于常规算法的PID控制及其Matlab仿真
基于常规算法的PID控制及其Matlab仿真
摘要
常规PID控制具有原理简单,使用方便,鲁棒性好等优点,所以到今天为止,全世界控制领域中84%仍是应用PID控制。
但是其参数整定方法繁杂。
利用Matlab可以方便地仿真,实现PID参数整定。
本课题的主要研究内容是基于常规算法的PID控制理论及其对该算法进行MATLAB仿真实现。
在讨论了常规数字PID控制算法的基础上,进一步论述了串级PID控制、纯滞后系统的大林控制算法和纯滞后系统的Smith控制算法,并对上述算法进行了仿真实现。
将上述讨论的结果应用到锅炉汽包水位控制系统中。
汽包水位控制有单冲量、双冲量、三冲量三种控制系统。
本文主要对三冲量控制系统进行了Simulink仿真,讨论了在相关干扰下的水位控制。
关键词:
常规PIDMATLAB锅炉汽包水位仿真
PIDControlBasicsontheGeneralAlgorithmandtheMATLABSimulink
ABSTRACT
ThecontrolalgorithmofPIDiseasyandwidelyapplicable,Therefore,sofarupto84%ofcontrolalgorithmintheControlengineeringtakePIDastheirfirstchoice,butitssettingmethodsofparameteraremultifarious,whileMATLABiseasytoemulatethesettingofPIDparameter.
ThepaperisPIDcontrolbasicsonthegeneralalgorithmandtheMATLABsimulink.OnthebasicofdiscussingthediscretePIDcontrol,thepaperdiscussestheCascadePIDControl,DanlinarithmeticofthelaggingsystemandSmitharithmeticofthelaggingsystem,thenstudythesimulink.
Applytheresultoftheupwardstothewaterlevelofboilerdrum,ithasthreekindscontrolsystemsincludingsingle-elementcontrolplan,dual-elementcontrolplanandthree-elementcontrolplan.HerewecarriedontheSimulinkmodeltothreeimpulsescontrolsystem.Discussthewaterlevelofboilerdrumonthedisturbancecorrelated.
KeyWords:
generalPID;MATLAB;thewaterlevelofboilerdrum;simulink
第一章绪论
在实际的过程控制与运动控制中,PID类控制占有90%以上。
PID控制器结构简单,各个控制器参数有明显的物理意义,调整方便,很受工程技术人员的喜爱,其与专家系统、模糊逻辑、神经网络、灰色系统理论想结合,派生出各种类型的PID类控制器,形成了庞大的PID家族。
Matlab程序设计语言功能强大,广泛应用在数值计算、数字信号处理、系统识别、自动控制、振动理论、时序分析与建模、优化设计等领域,是强大的建模和仿真工具。
1.1工业生产过程控制
工业生产过程控制(IndustrialProcessControl)是指石油、化工、电力、冶金、纺织、建材、轻工、核能等工业部门生产过程的自动化。
纵观过程控制发展的历史,大致经历下列几个阶段。
第一阶段从20世纪30年代到40年代。
该年代控制理论采用的数学方法是微分方程解析方法,以研究单输入、单输出控制系统为主,被控变量是常用的过程参数。
第二阶段从20世纪40年代到50年代。
该阶段解决定植控制系统的分析和综合等问题。
第三阶段从20世纪50年代到60年代。
这阶段出现了现代控制理论。
一些复杂控制系统得到开发,在实践应用中被证明有良好控制效果。
从20世纪60年代开始,现代控制理论得到应用,并取得成效。
第四阶段从20世纪70年代开始,为解决大规模复杂系统的优化和控制问题,现代控制理论与系统理论相结合,形成大系统控制理论。
第五阶段从20世纪80年代开始,随着计算机技术、显示技术、控制技术、通信技术的发展,工业生产控制也得到飞速发展。
现场总线控制系统和现场总线仪表的诞生和应用不仅推动了过程控制的发展,也对经典的集散控制系统提出了挑战,开辟了控制系统的新纪元。
以微处理器为核心的控制装置已经成为过程控制领域的主流装置,集散控制系统被大量应用于工业生产过程的控制和管理。
工业生产过程控制有简单控制系统、复杂控制系统和先进控制系统。
在生产过程中有各种控制系统,图1-1所示为液位控制系统。
在控制系统中有一个需要控制的变量,图1-1中为液位,这个需要控制的变量被称为被控变量。
为了使被控变量与希望的设定值保持一致,需要有一种控制手段,如图中的出料流量,这种用于调节的变量成为操纵变量。
被控变量偏离设定值的原因是由于过程中存在干扰,如进料量的变化。
图1-1液位控制系统
在控制系统中,检测元件和变送器将被控变量检测并转换为标准信号,当系统受到干扰影响时,检测信号与设定值之间就有偏差,因此,检测变送信号在控制器中与设定值比较,其偏差值按一定的控制规律运算,并输出信号驱动执行机构改变操纵变量,使被控变量回复到设定值。
可见,简单控制系统由检测变送单元、控制器、执行器和被控对象组成。
检测元件和变送器用于检测被控变量,并将检测到的信号转换为标准信号输出。
控制器用于将检测变送单元的输出信号与设定值信号进行比较,按一定的控制规律对其偏差信号进行运算,运算结果输出到执行。
执行器是控制系统环路中的最终元件,直接用于控制操纵变量变化。
被控对象是需要控制的设备,如图中的液位储罐。
图1-2简单控制系统框图
图1-3简单控制系统传递函数描述
图1-2表示上述控制系统的构成。
图1-3是用传递函数描述的图1-2简单控制系统的框图。
这是通用的单输入单输出控制系统的框图。
稳定性是控制系统性能的首要指标。
这表明组成控制系统的闭环极点应位于s左半平面。
准确性是控制系统的重要性能指标。
这表明控制系统的被控变量与参比变量(设定值)之间的偏差,即静态偏差应尽可能小。
快速性也是控制系统的重要性能指标。
当控制系统受到扰动影响时,控制系统应尽快作出响应,改变操纵变量,使被控变量与参比变量之间有偏差的时间尽可能短。
除了上述性能指标外,控制系统的偏离度也是极重要的控制系统性能指标。
它表示在控制系统运行过程中被控变量偏离参比变量的离散程度。
控制系统的控制性能指标可分为时域控制性能可分为时域控制性能和积分控制性能指标。
1.时域控制性能指标是指用阶跃输入信号作用下控制系统输出响应曲线表示的控制性能指标。
时域控制性能指标有衰减比、最大偏差(超调量)、振荡频率和回复时间、偏离度等。
衰减比是控制系统的稳定性能指标。
通常,希望随动控制系统的衰减比为10:
1,定值控制系统的衰减比为4:
1。
超调量和最大动态偏差表征在调节过程中被控变量偏离参比变量的超调程度,也反映了控制系统的稳定性。
余差是控制系统的最终稳态偏差,它也是控制系统的稳态准确性指标。
过渡过程要绝对地达到新稳态值需要无限时间,因此,用被控变量从过渡过程开始到进入稳态值±5%或±2%范围内的时间作为过渡过程的回复时间TS。
回复时间是控制系统的快速性指标。
2.积分控制性能指标是综合性能指标,常用于分析系统的动态响应性能,有误差平方积分鉴定指标ISE,绝对误差积分鉴定指标IAE,时间乘绝对误差积分鉴定指标ITAE。
主要用到IAE。
控制系统正常运行的重要准则有负反馈准则和稳定运行准则。
负反馈准则:
控制系统成为负反馈的条件是该控制系统各开怀增益之积为正。
稳定运行准则:
在扰动或设定变化时,控制系统静态稳定运行条件是控制系统各环节增益之积基本不变;控制系统动态稳定运行条件是控制系统总开怀传递函数的模基本不变。
1.2MATLAB仿真
仿真是以相似性原理、控制论、信息技术及相关领域的有关知识为基础,以计算机和各种专用物理设备为工具,借助系统模型对真实系统进行试验研究的一门综合性技术。
控制系统的计算机辅助设计一直受到控制界的普遍重视,在其发展过程中出现了各种各样的实用工具和理论成果。
MATLAB是集数学运算、图形处理和语言设计于一体的著名数学软件,也是国际控制界应用最广的语言和工具。
MATLAB的数值分析、模拟与运算的功能非常强大,是进行控制系统计算机辅助设计的方便可行的实用工具。
MATLAB中含有极为丰富的专门用于控制工程与系统分析的函数和控制系统工具箱,无论是对于连续的还是离散的系统,在控制系统工具箱中都能用传递函数和状态空间等形式表示,并利用经典或现代控制技术来处理。
MATLAB的“模糊推理系统工具箱”和“神经网络工具箱”更是为研究智能控制系统提供了快捷的手段。
MATLAB有三大特点:
一是功能强大。
它包括了数值、符号、计算结果可视化、数学和文学处理等方面的计算;二是界面友好,语言自然。
MATLAB以复数矩阵为计算单元,指令表达式与标准教科书的数学表达式相近;三是开放性强。
MATLAB有很好的可扩充性,可以把它当作一种高级的语言去使用,用它可以很容易地编写各种通用或专用应用程序。
正是由于MATLAB的这些特点,使它获得了对应用学科(特别是边缘学科和交叉学科)有极强的适应力,并很快成为应用学科计算机辅助分析设计、仿真、教学乃至科学文字处理不可缺少的基础软件。
在生产过程中更加有效地实施先进控制,一直是几十来观察控制算法的效果。
而使用MATLAB等专用仿真工具成为近年来过程控制领域研究的热点。
MATLAB作为自动控制工程师的常用工具软件,在控制系统设计、仿真中具有重要的地位。
构建于MATLAB之上的Simulink,以其方便的图形界面,对各种控制工具包的支持,成为控制工程首选的仿真软件。
1.3本课题设计的主要内容
锅炉是化工、炼油、发电等工业生产过程中不可或缺的重要动力设备。
它所产生的高压蒸汽,既可作为风机、压缩机、大型泵类的驱动透平的动力源,又可作为蒸馏、化学反应、干燥和蒸发等过程的热源。
随着工业生产规模的不断扩大,生产设备的不断革新,作为动力和热源的锅炉,亦向着大容量、高效率发展。
为了确保安全,稳定生产,锅炉设备的自动控制就显得更加重要。
锅炉设备是一个多输入、多输出且相互关联的复杂控制对象,主要的控制系统包括锅炉汽包水位的控制、锅炉燃烧系统的控制、过热蒸汽系统的控制。
其中维持汽包水位在给定范围内是保证锅炉安全运行的必要条件之一,是锅炉正常运行的重要指标。
水位高会导致蒸汽带水进入过热器并在过热管内结垢,影响蒸汽质量及传热效率,严重的将引起过热器爆管;水位过低又将破坏部分水冷壁的水循环,引起水冷壁局部过热而爆管,汽包水位过高过低的后果非常严重,所以必须严格加以控制。
传统的锅炉汽包水位控制策略包括基于PID控制的单冲量、双冲量、三冲量等,目前各种锅炉汽包水位绝大多数采用三冲量控制方案。
本文将常规PID控制算法应用于锅炉汽包水位控制系统中,从仿真曲线中比较各种方案的优缺点。
在锅炉汽包水位控制系统中,有单冲量、双冲量以及三冲量三种控制模式,三冲量水位控制系统用到了串级与基于前馈补偿的PID控制算法。
利用MATLAB仿真软件对三冲量进行简单的PID控制的仿真,再对于给定水位信号、有水流量干扰和蒸汽流量干扰的情况进行仿真分析。
通过得到的仿真曲线比较它们之间的优缺点。
第二章常规数字PID控制算法
计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此,连续PID控制算法不能直接使用,需要采用离散化方法。
在计算机PID控制中,使用的是数字PID控制器。
2.1数字PID控制
图2-1PID控制器结构图
如图2-1所示为PID控制器结构图,比例积分微分控制是工业生产过程中最常用的控制,是历史最久,应用最广,适应性最强的控制。
控制器的模拟控制算法是以模拟量连续控制为基础的控制算法,理想控制算法为:
P作用是基本控制作用;I作用能消除余差,但会使系统稳定性变差,闭环响应变慢,增大Kc使系统振荡加剧;D作用使整个开环频率特性的幅值比增大,改善系统稳定性。
PID控制器又称为PID调节器,是按偏差的比例P(ProPortional)、积分I(Integral)、微分D(DifferentialorDerivative)进行控制的调节器的简称,它主要针对控制对象来进行参数调节。
PID控制器问世至今,控制理论的发展经历了古典控制理论、现代控制理论和智能控制理论3个阶段。
在工业控制系统和工程实践中,传统的PID控制策略依然被广泛采用。
因为它算法简单、稳定性好、工作可靠、鲁棒性好,在工程上易于实现。
但PID控制器的参数整定方法复杂,通常采用PID归一参数整定法和试凑法来确定,费时、费力,且不能得到最优的整定参数。
针对这一问题,文中探讨用MATLAB实现PID参数整定及仿真的方法及控制参数对PID控制规律的影响。
利用MATLAB强大的计算仿真能力,解决了利用试凑法来整定参数十分浩繁的工作,可以方便、快速地找到使系统达到满意性能指标的参数。
连续控制系统中的模拟PID控制规律为
式中,u(t)是控制器的输出,e(t)是系统给定量与输出量的偏差,KP是比例系数,Ti是积分时间常数,TD是微分时间常数。
先进PID控制算法有常规PID控制算法、专家PID控制算法、模糊PID控制算法、神经PID控制算法、基于遗传算法整定的PID控制算法等。
在本论文中,涉及的是常规PID控制算法。
常规PID控制算法又包括:
单回路PID控制算法、串级PID控制算法、纯滞后系统的大林控制算法、纯滞后的Smith控制算法、基于Ziegler-Nichols方法的PID整定。
我用到了其中四种,即单回路PID控制算法、串级PID控制算法、纯滞后系统的大林控制算法、纯滞后的Smith控制算法。
其中单回路PID控制算法有位置式、增量式、与积分相关、与微分相关等几种。
其关系如下图2-2所示
图2-2总体方案分析框图
2.2单回路PID控制算法
1.连续系统的PID控制算法
图2-3位置式PID控制系统
位置式PID控制系统框图如图2-3所示。
根据位置式PID控制算法得到其程序框图如图2-4所示
图2-4位置式PID控制算法程序框图
2.增量式PID控制算法
计算机控制系统中,利用外接矩形法进行数值积分,一阶后向差分进行数值微分,当选定采样周期为T时,有
ui为全量输出,它对应于被控对象的执行机构第i次采样时刻应达到的位置,因此,该式称为PID位置型控制算式,其输出值与过去所有状态有关。
增量型控制算式具有以下优点:
(1)计算机只输出控制增量,即执行机构位置的变化部分,因而误动作影响小;
(2)在i时刻的输出ui,只需用到此时刻的偏差,以及前一时刻,前两时刻的偏差ei-1,ei-2和前一次的输出值ui-1,这大大节约了内存和计算时间;
(3)在进行手动-自动切换时,控制量冲击小,能够较平滑地过渡。
当执行机构需要的是控制量(例如驱动不仅电机)时,应采用增量式PID控制。
根据递推原理可得:
增量式PID控制算法:
3.与积分相关的PID控制算法
(1)积分分离PID控制算法
在普通PID控制中,引入积分环节的目的主要是为了消除静差,提高控制精度。
但在过程的启动、结束或大幅度增减设定时,短时间内系统输出有很大的偏差,会造成PID运算的积分积累,致使控制量超过执行机构可能允许的最大动作范围对应的极限控制量,引起系统较大的超调,甚至引起系统较大的振荡,这在生产中是绝对不允许的。
积分分离控制基本思路是,当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定值时,引入积分控制,以便消除静差,提高控制精度。
其具体实现步骤如下:
1)根据实际情况,人为设定ε>0;
2)当|error(k)|>ε时,采用PD控制,可避免产生过大的超调,又使系统有较快的响应;
3)当|error(k)|<=ε时,采用PID控制,以保证系统的控制精度。
积分分离控制算法可表示为:
图2-5积分分离式PID控制算法程序框图
式中,T为采样时间,β项为积分项的开关系数
根据积分分离式PID控制算法得到其程序框图如图2-5所示。
(2)抗积分饱和PID控制算法
所谓积分饱和现象是指若系统存在一个方向的偏差,PID控制的输出由于积分作用的不断累加而加大,从而导致执行机构达到极限位置xmax,如图2-11所示,若控制器输出u(k)继续增大,阀门开度不可能再增大,此时就称计算机输出控制量超出了正常运行范围而进入了饱和区。
一旦系统出现反向偏差,u(k)逐渐从饱和区退出。
进入饱和区愈深则退出饱和区所需时间愈长。
图2-6执行机构饱和特性
在这段时间内,执行机构仍停留在极限位置而不能随偏差反向立即作出相应的改变,这时系统就像失去控制一样,造成控制性能恶化。
这种现象称为积分饱和现象或积分失控现象。
作为防止积分饱和的方法之一就是抗积分饱和法。
该方法的思路是,在计算u(k)时,首先判断上一时刻的控制量u(k-1)是否已超出限制范围。
若u(k-1)>umax,则只累加负偏差;若u(k-1)这种算法可以避免控制量长时间停留在饱和区。
(3)变速积分PID控制算法
在普通的PID控制算法中,由于积分系数KI是常数,所以在整个控制过程中,积分增量不变。
而系统对积分项的要求是,系统偏差大时积分作用应减弱甚至全无,而在偏差小时则应加强。
积分系数取大了会产生超调,甚至积分饱和,取小了又迟迟不能消除静差。
因此,如何根据系统偏差大小改变积分的速度,对于提高系统品质是很重要的。
变速积分PID可较好地解决这一问题。
变速积分PID的基本思想是,设法改变积分项的累加速度,使其与偏差大小相对应:
偏差越大,积分越慢;反之则越快。
为此,设置系数f(e(k)),它是e(k)的函数。
当|e(k)|增大时,f减小,反之增大。
变速积分PID项表达式为:
系数f与偏差当前值|e(k)|的关系可以是线性的或非线性的,可设为:
变速积分PID算法为:
4.与微分相关的PID控制算法
(1)不完全微分PID控制
在PID控制中,微分信号的引入可改善系统的动态特性,但也易引进高频干扰,在误差扰动突变时尤其显出微分项的不足。
若在控制算法中加入低通滤波器,则可使系统性能得到改善。
克服上述缺点的方法之一是,在PID算法中加入一个一阶惯性环节(低通滤波器)Gf(s)=1/(1+Tfs),可使系统性能得到改善。
不完全微分PID的结构如图2-7(a)(b)所示,其中图(a)是将低通滤波器直接加在微分环节上,图(b)是将低通滤波器加在整个PID控制器之后。
下面以图(a)为例进行仿真说明不完全微分PID如何改进了普通PID的性能。
(a)(b)
图2-7不完全微分算法结构图
对图(a)所示的不完全微分结构,不完全微分算法:
式中,
可见,不完全微分的uD(k)多了一项ɑuD(k-1),而原微分系数由KD降至KD(1-ɑ)。
(2)微分先行PID控制
微分先行PID控制的结构如图2-8所示,其特点是只对输出量yout(k)进行微分,而对给定值rin(k)不进行微分。
这样,在改变给定值时,输出不会改变,而被控量的变化通常是比较缓和的。
这种输出量先行微分控制适用于给定值rin(k)频繁升降的场合,可以避免给定值升降时引起系统振荡,从而明显地改善了系统的动态特性。
图2-8微分先行PID控制结构图
PID控制部分传递函数为:
式中,Ti为积分时间常数。
离散控制律为:
5.带死区的PID控制
在计算机控制系统中,某些系统为了避免控制作用过于频繁,消除由于频繁动作所引起的振荡,可采用带死区的PID控制算法,控制算式为:
式中,e(k)为位置跟踪偏差,e0是一个可调参数,其具体数值可根据实际控制对象由实验确定。
若e0值太小,会使控制动作过于频繁,达不到稳定被控对象的目的;若e0太大,则系统将产生较大的滞后。
带死区的控制系统实际上是一个非线性系统,前者数字调节器输出为零;后者数字输出调节器有PID输出。
带死区的PID控制算法流程图如图2-9所示
图2-9带死区的PID控制算法程序框图
6.基于前馈补偿的PID控制
在高精度伺服控制中,前馈控制可用来提高系统的跟踪性能。
经典控制理论中的前馈控制设计是基于复合控制思想,当闭环系统为连续系统时,使前馈环节与闭环系统的传递函数之积为1,从而实现输出完全复现输入。
图2-10PID前馈控制结构
设计前馈补偿控制器为:
总控制器输出为PID控制输出加前馈控制输出:
写成离散形式为:
2.3常用PID控制算法
2.2.1串级PID控制算法
串级控制系统(CascadeControlSystem)是一种常用的复杂控制系统,它根据系统结构命名。
它由两个或两个以上的控制器串联组成,一个控制器的输出作为另一个控制器的设定值,这类控制系统称为串级控制系统。
图2-11串级控制系统框图
如图2-11所示为串级控制系统框图,系统中有两个PID控制器,GC2(s)称为副调节器传递函数,包围GC2(s)的内环称为副回路。
GC1(s)称为主调节器传递函数,包围GC1(s)的外环称为主回路。
主调节器的输出控制量u1作为副回路的给定量R2(s)。
串级控制系统的计算顺序是先主回路(PID1),后副回路(PID2)。
控制方式有两种:
一种是异步采样控制,即主回路的采样控制周期T1是副回路采样控制周期T2的整数倍。
这是因为一般串级控制系统中主控对象的响应速度较快。
串级控制系统的结构特点如下:
1.由两个或两个以上的控制器串联连接,一个控制器的输出是另一个控制器的设定。
2.由两个或两个以上的控制器器、相应数量的检测变送器和一个执行器组成。
3.主控制回路是定值控制系统。
对于控制器的输出而言,副控制回路是随动控制系统;对进入副回路的扰动而言,副控制回路是定值控制系统。
串级控制的主要优点:
1.将干扰加到副回路中,由副回路控制对其进行抑制;
2.副回路中参数的变化,由副回路给予控制,对被控量的G1的影响大为减弱;
3.副回路的惯性由副回路给予调节,因而提高了整个系统的响应速度。
副回路是串级系统设计的关键。
副回路设计的方式有很多种,下面介绍按预期闭环特性设计副调节器的设计方法。
由副回路框图可得副回路闭环系统的传递函数为:
可得副调节器控制律:
一般选择
式中,n为G2(z)有理多项式分母最高次幂。
串级控制系统的设计准则如下:
(1)应使主要扰动进入副环,使尽量多的扰动进入副环。
(2)应合理选择