基于MATLAB的串级PID控制系统.docx
《基于MATLAB的串级PID控制系统.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的串级PID控制系统.docx(34页珍藏版)》请在冰点文库上搜索。
基于MATLAB的串级PID控制系统
摘要
本文是用MATLAB编制算法程序的串级PID去实现对上下水箱的液位控制。
首先对水箱进行抽象化,建立其数学模型,通过控制工程的知识求出传递函数,对系统模型和结构的分析设计出MATLAB的控制程序;然后用串级PID控制系统去控制这个经典的水位控制系统,在处理水位的自平衡问题时,用MATLAB作为上位机对系统进行监控和动画仿真,可以直观地知道系统的运行状态,也可以获得实时的运行数据和历史数据以及其曲线图;然后通过调整参数,能使水位在有扰动的情况下能快速、稳定、精确地对其产生响应,从而达到水位的自平衡。
关键词:
MATLAB,PID控制,液位,串级控制
Abstract
ThisarticlewascompiledusingMATLABalgorithmproceduresCascadePIDtorealizerightnexttothewaterlevelcontrol.Firstofwaterabstractandestablishamathematicalmodel,controllingtheknowledgeobtainedtransferfunction,onthesystemandstructureofthemodelanalysistotheMATLABdesigncontrolprocedures;ThenCascadePIDcontrolsystemtocontrolthewaterlevelintheclassicalcontrolsystems,thewaterlevelintheself-balancingissue,UsingMATLABasaPCmonitorandcontrolthesystemsimulationandanimation,canintuitivelyknowthesystemrunning,alsogetreal-timeoperatingdata,andhistoricaldata,aswellasitscurve;thenbyadjustingparameters,makewaterinthecaseofdisturbancescanbefast,stableandaccurateresponsetotheirproduce,andtherebyachievethelevelofself-balanced.
Keywords:
MATLAB,thePIDcontrol,theliquidposition,cascadecontrol
文献综述
目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。
所谓的工业自动化就是在没有人直接参与的情况下,通过自动控制装置或系统,对生产过程、工艺参数、技术指标、产品要求等进行自动的调节与控制,使之达到预定的技术指标。
所以控制理论的发展成为了发展工业自动化化关键。
其中控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。
智能控制的典型实例是模糊全自动洗衣机等。
自动控制系统又可分为开环控制系统和闭环控制系统。
1.开环控制系统
开环控制系统(open-loopcontrolsystem)是指被控对象的输出(被控制量)对控制器(controller)的输出没有影响。
在这种控制系统中,不依赖将被控量反送回来以形成任何闭环回路。
2.闭环控制系统
闭环控制系统(closed-loopcontrolsystem)的特点是系统被控对象的输出(被控制量)会反送回来影响控制器的输出,形成一个或多个闭环。
闭环控制系统有正反馈和负反馈,若反馈信号与系统给定值信号相反,则称为负反馈(NegativeFeedback),若极性相同,则称为正反馈,一般闭环控制系统均采用负反馈,又称负反馈控制系统。
闭环控制系统的例子很多。
比如人就是一个具有负反馈的闭环控制系统,眼睛便是传感器,充当反馈,人体系统能通过不断的修正最后作出各种正确的动作。
如果没有眼睛,就没有了反馈回路,也就成了一个开环控制系统。
另外,当一台真正的全自动洗衣机具有能连续检查衣物是否洗净,并在洗净之后能自动切断电源,它就是一个闭环控制系统。
一个控制系统包括控制器﹑传感器﹑变送器﹑执行机构﹑输入输出接口。
控制器的输出经过输出接口﹑执行机构,加到被控系统上;控制系统的被控量,经过传感器,变送器,通过输入接口送到控制器。
其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。
由于PID控制具有结构简单、容易实现、控制效果好等特点;是目前过程控制中使用最广泛的调节方式;在工业生产的各个领域都有广泛的应用。
如机械制造业、炼铁(刚)、造纸、制药等等。
第一章绪论
1.1串级PID控制的研究现状及意义
目前,控制及其控制器或智能控制器已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的控制器产品,各大公司均开发了具有参数自整定功能的智能调节器(intelligentregulator),其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。
有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。
可编程控制器(PLC)是利用其闭环控制模块来实现PID控制,而可编程控制器(PLC)可以直接与ControlNet相连,如Rockwell的PLC-5等。
还有可以实现PID控制功能的控制器,如Rockwell的Logix产品系列,它可以直接与ControlNet相连,利用网络来实现其远程控制功能。
随着工业生产的发展,生产过程对自动控制要求日益提高,单回路PID控制虽然具有结构简单、容易实现、控制效果好等特点;但系统往往已经不能满足生产工艺的要求,尤其是在复杂的过程控制工业中显得无能为力。
而在常规串级控制系统中,由于串级PID控制系统具备较好的抗干扰能力、快速性、适应性和控制质量,对改善控制品质有独到之处,因而在生产过程控制中,应用变得越来越广泛。
1.2串级PID控制的主要作用
串级PID控制在回路系统上增加了一个副回路,故使性能得到改善;首先,副被控变量检测到扰动的影响,并通过副回路的定值作用及时调节操纵变量,使副回路被控变量回复到副设定值,从而使扰动对主被控变量的影响减少。
即副环回路对扰动进行粗调,主环回路对扰动进行细调。
因此,串级控制系统能够迅速克服进入副环扰动的影响,并使系统余差大大减小,从而是液位快速的回到系统所给定要求的液位状态。
1.3用MATLAB进行PID控制的优点
MATLAB具有强大、丰富的内置函数,以及高度灵活的可编程性,特别适合数据处理以及结果的图形化显示,所以用MATLAB进行PID控制能够数据处理以及结果的图形化显示,能够及实时掌握控制的现场数据。
从而方便观察。
故本课题选用MATLAB进行PID控制。
第二章硬件的设计
本课题要求设计一个MATLAB算法软件编制的串级PID控制系统,该系统框图如图2.1所示;液位传感器将检测到的上下水箱液位信号通过单片机通讯接口传送到计算机,使其与PID系统设定值比较,上位计算机调用MATLAB的PID算法程序,对偏差实现PID运算,运算结果通过与单片机的通讯接口,输出去控制水泵转速,从而调整上下水箱的进水量,达到控制液位的目的,最终实现液位的自动控制。
图2.1系统结构框图
2.1系统的分析与设计方案
当采用单级PID控制时,由于系统迟延较大,在下水箱出现正偏差、降负荷的初级阶段,上水箱中的水位值已经开始下降,但下水箱中的水位继续上升,使系统的动态特性变差;基于上述现象的存在,系统动态特性呈现一种近似等幅振荡状态。
因而系统不宜采用单级PID控制。
经分析,采用串级控制系统可以改善对象的动态特性,提高系统的工作频率;对负荷的变化具有一定的自适应力;适用于非线性对象。
故采用串级控制方案,其控制系统框图如图2.2所示。
图2.2串级PID控制系统原理图
2.2PID控制器特点及其选择
在工业控制领域中,常用的控制算法有多种,如比例-积分-微分控制(proportion-integral-derivative,简称PID,下同)、串级PID控制、模糊控制FPID(FUZZY,模糊控制)控制。
其中应用最为广泛的是PID控制器,也称PID调节器。
PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一;至今仍有90%左右的控制回路具有PID结构。
当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。
即当我们不完全了解一个系统和被控对象或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。
PID控制包括PI和PD控制,它的实质就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制。
2.2.1PID控制器
图2.3PID控制系统原理框图
1、比例(P)控制
纯比例调节器是一种最简单的调节器,它对控制作用和扰动作用的响应都很快。
由于比例调节只有一个参数,所以整定很方便。
但这种调节器的主要缺点是系统有余差,且与比例度近似成正比。
其传递函数为:
(2-1)
式中Kp为比例系数,
为比例带。
2、积分(PI)控制
积分调节器由于加入了积分环节不仅可实现无余差,而且只要调节器的参数δ和Ti选择的合理,也能使系统具有良好的动态性能。
,这种调节器在过程控制中是应用最多的一种调节器。
其传递函数为:
(2-2)
式中T1为积分时间。
3、微分(PD)控制
此调节器由于有微分的超前作用,能增加系统的稳定度,加快系统的调节过程,减小动态和静态误差,但微分抗干扰能力较差,且微分过大,易导致调节阀动作向两端饱和。
因此一般不用于流量和液位控制系统。
PD调节器的传递函数为:
(2-3)
式中TD为微分时间。
4、比例积分微分(PID)调节器
PID是常规调节器中性能最好的一种调节器。
它由比例(P)、积分(I)、微分(D)三个环节组成,它根据给定值r(t)与实际输出值y(t)构成的偏差信号e(t),并将偏差的比例、积分、微分通过线性组合构成控制量,对被控制对象进行控制,故称PID控制器,PID控制器的数学模型可以用下式表示:
(2-4)
式中,e(t)——控制器输入信号,一般为输入信号与反馈信号之差;
u(t)——控制器输出信号,一般为给予受控对象的控制信号;
Kp——控制器放大系数;
Ti——控制器积分时间常数;
Td——控制器微分时间常数;
简单来说,PID控制器各校正环节的主要控制作用如下:
1)比例部分
比例作用的引入是为了及时成比例地反应控制系统的偏差信号,以最快速度产生控制作用,使偏差向减小的趋势变化。
比例部分数学表达式:
Kpe(t).
从比例部分的数学表达式可以知道,比例系数Kp的作用在于加快系统的响应速度,提高系统的调节精度。
Kp越大,系统的响应速度越快,但将产生超调和振荡甚至导致系统不稳定,因此Kp值不能取过大;如果Kp取值较小则会降低调节精度,使响应速度缓慢,从而延长调节时间,是系统、动静特性边坏。
故而比例系Kp,选择必须适当,才能取得过渡时间少、静差小而又稳定。
2)积分部分
积分作用的引入主要是为了保证被控制量在稳定时对设定值的静差跟踪。
积分部分数学表达式为:
从积分部分的数学表达式可以知道,只要存在偏差,则它的控制作用就会不断增加。
只有存在偏差e(t)时,它的积分才会为一个常数,控制作用才是一个不会增大的常数。
可见,积分部分的作用可以消除系统的偏。
积分时间常数Ti对积分部分的作用影响极大。
当Ti较大时,则积分作用较弱,这时系统的过渡过程不易产生振荡,但是消除偏差所需要的时间较长;当Ti较小时,则积分作用较强,这时系统过渡过程中有可能会产生振荡,但消除偏差所需要的时间较短。
3)微分部分
微分作用的引入主要是为了改善闭环系统的稳定性和动态响应的速度。
微分作用使控制作用于被控制量,从而与偏差未来变化趋势形成近似的比例关系。
微分部分的数学表达式:
从积分部分的数学表达式可以知道,微分部分的作用强弱由微分时间常数Td决定。
Td越大,则它抑制e(t)变化的作用越强;Td越小,则它反抗e(t)变化的作用越弱。
它对系统的稳定有很大的影响。
在以微分处理器为核心的控制系统中,由于是以采样周期对输入和输出状态进行差分方程表示:
(2-5)
其中,k-----采样序号,k=0,1,2,…….;
u(k)-------第k次采样时刻的计算机输出值;
e(k)-------第k次采样时刻的输入的偏差值;
e(k-1)-----第(k-1)次采样时刻输入的偏差值;
KI-----积分系数KI=
;
KD-----积分系数KD=
。
为了避免在求取控制量时对偏差求和运算,在实际应用中通常采用增量式,如式(2.6)。
(2-6)
PID突出特点在于:
结构简单、容易实现、控制效果
2.2.2模糊控制(FPID)
所谓FPID控制就是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机控制方法。
模糊控制的突出特点在于:
1.控制系统的设计不要求知道被控对象的精确数学模型,只需要提供现场操作人员的经验知识及操作数据。
2.控制系统的鲁棒性强,适应于解决常规控制难于解决的非线形、时变及纯滞后等问题。
3.以语言变量代替常规的数学变量,易于形成专家的“知识”。
4.控制推理采用“不精确推理”。
推理过程模仿人的思维过程。
但由于介入了人类的经验,因而能够处理复杂甚至“病态”系统
2.2.3串级PID控制器
所谓串级PID控制就是第一级数字PID的输出不直接用来控制执行机构,而是作为下一级数字PID的输入值,并与第二级的给定值进行比较,其偏差作为第二级数字PID的控制量。
串级PID控制是一种复杂控制系统,本课题的串级PID控制器是由两个PID串联连接组成,一个控制器的输出作为另一个控制器的设定值,每一个回路中都有一个属于自己的调节器和控制对象。
主回路中的调节器称为主调节器,作为系统的主被控变量,又称主对象;副回路中的调节器称副调节器,控制对象为副被控变量,又称副对象,它的输出是一个辅助的控制变量。
串级控制回路系统增加了一个副回路,使性能得到改善,表现在以下几个方面:
1.能迅速克服进入副回路扰动的影响。
定性分析:
当扰动进入副回路后,首先,副被控变量检测到扰动的影响,并通过副回路的定值作用及时调节操纵变量,使副被控变量回复到副设定值,从而使扰动对主被控变量的影响减少。
即副环回复对扰动进行粗调,主环回路对扰动进行细调。
因此,串级控制系统能够迅速克服进入副环扰动的影响,并使系统余差大大减小。
2.串级控制系统可以串级控制、主控和副控等多种控制方式,主控方式是切除副回路,以主被控变量作为被控变量的单回路控制;副控方式是切除主回路,以副被控变量作为被控变量的单回路控制。
因此,在串级控制系运行过程中,如果某些部件发生故障.可灵活地进行切换;减少对生产过程的影响
2.3串级PID的选择
在以上几种算法中,由于PID控制具有结构简单、容易实现、控制效果好等特点,且PID算法原理简明,参数物理意义明确,理论分析体系完整。
虽然在精度高方面不如FPID。
但是由于本课题本身对PID控制精度要求也不高,再加上目前FPID系列也不是很成熟。
因此本课题选用串级PID控制器。
串级的PID系统由主回路和副回路组成,它是改善和提高控制品质的一种极为有效的控制方案,与单回路反馈控制系统比较,由于在系统结构上多了一个副回路,所以改善了过程的动态特性、提高了系统工作频率、具有较强的抗扰动能力和一定的自适应能力。
正确合理地设计一个串级控制系统是要其能充分发挥如上所述系统的各种特点。
故在本设计中,拟选用串级PID控制器。
2.4液位系统
2.4液位系统的结构组成图
此系统由控制器、电动调节阀、水泵、上水箱、下水箱、储水箱和液位变送器模块等组成。
电动调节阀用于调节上水箱的进水量的大小,液位变送器用于检测上水箱和下水箱中的液位。
控制器的输出量用于控制电动调节阀的开度。
通过对传感器测量的数据采集,由控制器对采集到的数据进行处理,运算结果通过数据采集,经通讯接口,传递给计算机,由计算机去控制磁力泵,从而达到控制水箱液位控制的作用。
此外要求在有干扰的情况下能快速地回到系统所给定要求的液位状态。
其中水箱的液位变化范围内为h=0~200mm,,通过设计的串级PID控制器后能使需要的液位值能实现稳、准、快地稳定在系统所给定的液位值上。
当系统发生扰动时能在控制器的作用下迅速恢复到系统原来所要求的液位值。
2.5控制系统建模
由于在仿真的过程中需要用到被控对象的数学模型,所以本节来建立水箱的模型。
液位控制系统的执行机构是通过电动调节阀的开度大小来控制水箱的液位。
本文采用开环阶跃响应辩识的方法来获得它的数学模型。
下面介绍其具体的方法。
2.5.1水箱液位的动态数学模型
水箱液位的动态数学模型,如图2.5所示。
图2.5水箱液位的动态数学模型
水箱结构如图2.5,先看水箱1,水不断流入水箱内,同时也有水不断由水箱中流出。
水的流入量Qi由电动调节阀的开度μ加以控制,流出量Qo1由用户根据需要通过负载阀R来改变。
被控量为液位高度H1它反映水的流入和流出量之间的平衡关系。
显然任何时候水位的变化均满足下述物料平衡方程
(2-7)
其中
(2-8)
设液体是不可压缩的,通过阀的液流是湍流,则其流量公式为:
(2-9)
其中A1为水箱的横截面积,μ为调节的开度,Kµ是取决于电动调节阀的阀门特性的系数,可以假定它是常数;k1是与负载阀门开度有关的系数,在负载阀门开度固定不变的情况下,k1看作是一个常数。
将式(2.10)表示成增量形式为
(2-10)
式中,∆Qi、∆Qo1、∆H1分别为偏离某一平衡状态Qi0、QO10、H01的增量,H1为上水箱液位高度。
非线性项
展开成泰勒级数为:
略去高于一次小增量
的项,有:
(2-11)
则式2-9可得:
(2-12)
由于
,
在稳定工作状态时流入水箱的流量与流出水箱的流量是相等的,
即:
所以由2-11式可得:
(2-13)
而
所以
(2-14)
在实际使用中,为简单计算,常略去增量符号,即:
(2-15)
可以看出,此式是最常见的一阶微分方程,将其变为传递函数为
(2-16)
式中,
,
。
从传递函数可以看出,单水箱对象为一阶惯性环节。
它为有自平衡性的对象,即当原有的物料平衡被打破时随着被控变量液位的变化,其不平衡量会越来越小,最后能自动地稳定在新的平衡点上。
现在再看下水箱。
从图2-4可得出下水箱的物料平衡方程:
(2-17)
式中A2为下水箱的底面积,H2为下水箱的液位高度,k2为负载阀1流量特性参数;
,
,
分别为偏离某一平衡状态Q010、Q020、H02的增量,H2为下水箱液位高度。
由式2-11简得:
所以式2-17写成:
(2-18)
当系统稳定时又有:
且
所以由2-18式可得:
(2-19)
在实际使用中,为简单计算,常略去增量符号,即:
从传递函数可以看出,上下水箱的对象均为一阶惯性环节。
它能自动平衡性,即当原有的物料平衡被打破时随着被控制量液位的变化,在通过改变MATLAB算法软件的程序下的参数e(t)(控制器输入信号)、u(t)(控制器输出信号)、Kp(控制器放大系数)、Ti(控制器积分时间常数)、Td(控制器微分时间常数);其会减小不平衡量,最后自动地稳定在新的平衡位置点上。
到达系统设计要求的效果。
2.6液位系统的硬件选型
本课题中的有关液位系统部分直接采用了现有教学仪器。
该液位系统的硬件型号如下表图2.1所示。
表2.1硬件型号选择表
硬件名称
型号
说明
电机
JW5652
功率:
180W,转速:
2800rpm
水泵
16CQ-8
转速:
2800rpm,功率:
0.18kw,流量:
30L/min
压力传感器
LS2188-G2KG214C-1A
电压:
24VDC,输出信号:
5V
电动调节阀
JLQ941F
输入信号:
4-20mA或者1-5VDC
第三章软件设计
3.1MATLAB软件
MATLAB是由美国MathWorks公司推出的用于数值计算和图形处理计算系统环境,除了具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言简捷得多。
MATLAB是国际公认的优秀数学应用软件之一。
MATLAB具有强大、丰富的内置函数,以及高度灵活的可编程性,特别适合数据处理以及结果的图形化显示。
3.1.1MATLAB的主要特点
1.运算符和库函数极其丰富,语言简洁,编程效率高,MATLAB除了提供和C语言一样的运算符号外,还提供广泛的矩阵和向量运算符。
利用其运算符号和库函数可使其程序相当简短,两三行语句就可实现几十行甚至几百行C或FORTRAN的程序功能。
2.既具有结构化的控制语句(如for循环、while循环、break语句、if语句和switch语句),又有面向对象的编程特性。
3.图形功能强大。
它既包括对二维和三维数据可视化、图像处理、动画制作等高层次的绘图命令,也包括可以修改图形及编制完整图形界面的、低层次的绘图命令。
4.功能强大的工具箱。
工具箱可分为两类:
功能性工具箱和学科性工具箱。
功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互的功能。
而学科性工具箱是专业性比较强的,如优化工具箱、统计工具箱、控制工具箱、小波工具箱、图象处理工具箱、通信工具箱等。
5.易于扩充。
除内部函数外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可修改源文件和加入自己的文件,它们可以与库函数一样被调用。
3.1.2MATLAB5.3新增功能
1.在语言上,MATLAB5.3数据类型和面向对象编程技术更加丰富,其中数据类型增加到了6种。
控制流新增了多分支结构switch-case、try-catch结构和警告提示指令error、warning。
在函数方面指令被进一步“柔性化”。
一个指令可以接受任意多个输入宗量,可以产生任意多个输出宗量,以适应不同场合的需要。
2.在工作环境上,MATLAB5.3大量引入图形用户界面,把图形显示窗改造成了交互操作的可编辑图形界面;引入了全方位帮助系统,调试器被图形化,与编辑器集成为一体;只需点动交互窗上的调试图标就可完成对程序的调试;剖析指令的分析报告特别详细,它可以在MATLAB指令窗中“随时”进行安装Notebook,省时灵活;另外环境可运行文件的多样化。
3.在图视系统上,MATLAB5.3高层绘图指令的排版能力、读写图象文件能力、低层指令结构的改变和能力都得到明显的增强。
3.2软件流程图
软件流程图如图3.1所示。