数字PID控制算法的研究.docx

上传人:b****6 文档编号:4783150 上传时间:2022-12-08 格式:DOCX 页数:20 大小:311.63KB
下载 相关 举报
数字PID控制算法的研究.docx_第1页
第1页 / 共20页
数字PID控制算法的研究.docx_第2页
第2页 / 共20页
数字PID控制算法的研究.docx_第3页
第3页 / 共20页
数字PID控制算法的研究.docx_第4页
第4页 / 共20页
数字PID控制算法的研究.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

数字PID控制算法的研究.docx

《数字PID控制算法的研究.docx》由会员分享,可在线阅读,更多相关《数字PID控制算法的研究.docx(20页珍藏版)》请在冰豆网上搜索。

数字PID控制算法的研究.docx

数字PID控制算法的研究

数字PID控制算法的研究

**

(*******大学电力与电气工程学院,****************)

摘要:

PID控制器具有结构简单、容易实现、控制效果好、鲁棒性强等特点,是迄今为止最稳定的控制方法。

它所涉及的参数物理意义明确,理论分析体系完整,因而在工业过程控制中得到了广泛应用。

本文介绍了PID控制技术的发展历史和研究进展。

文章首先介绍了PID控制算法的原理、框图和公式,从而引出了PID控制算法的分类,然后分析了普通PID系统不稳定的原因,引出了数字PID控制算法的优势,最后着重介绍并分析了两种改进型改进型——变速积分PID和积分分离PID控制算法,并给出了matlab程序和仿真。

关键词:

PID;控制算法;积分比例选择;控制系统;偏差;调节器

PID调节是连续系统中技术最成熟、应用最广泛的一种调节方式,其调节的实质是根据输入的偏差值,按比例、积分、微分的函数关系进行运算,其运算结果用于输出控制。

PID控制算法在相当多的控制领域的应用中都取得了比较满意的效果,而由微机、单片机、DSP等数字芯片实现的数字PID控制算法,由于其软件系统的灵活性,使算法得到了进一步的修正和完善。

PID控制算法的种类很多,由于应用场合不同,对算法的要求也有所不同。

本文主要通过对主要PID算法存在的问题进行分析并对PID控制算法进行改进。

数字PID调节是连续系统控制中广泛应用的一种控制方法。

数字PID控制系统是时间的离散系统,计算机对生产过程的控制是断续的过程。

即在每一个采样周期内,传感器将所测数据转换成统一的标准信号后输入给调节器,在调节器中与设定值进行比较得出偏差值,经PID运算得出本次的控制量,输出到执行器后才完成了本次的调节任务。

在PID调节中,由于PID算式选择的不同会得到不同的控制效果,特别是当算法中某些参数选择的不妥时,会引起控制系统的超调或振荡,这对某些生产过程是十分有害的.为了避免这种有害现象的发生,分析和研究PID算法,确定合理的PID参数是必要的,同时对PID控制技术的广泛应用具有重要的意义。

今天熟知的PID控制器产生并发展于1915-1940年期间。

在工业过程控制中PID控制器及其改进型的控制器占90%。

在1942年和1943年,泰勒仪器公司的zieiger和Nichols等人分别在开环和闭环的情况下,用实验的方法分别研究了比例、积分和微分这三部分在控制中的作用,首次提出了PID控制器参数整定的问题。

随后有许多公司和专家投入到这方面的研究。

经过50多年的努力,在PID控制器的参数调整方面取得了很多成果。

诸如预估PID控制(PredictivePID)、自适应PID控制(adaptivePID)、自校正PID控制(self-tuningPID)、模糊PID控制(FuzzyPID)、神经网络HD控制(NeuraPID)、非线性PID控制(NonlinearPID)等高级控制策略来调整和优化PID参数。

日本的Inoue提出一种重复控制,用于伺服重复轨迹的高精度控制,它原理来源于内模原理,加到被控对象的输入信号处偏差外,还叠加一个“过去的偏差”,把过去的偏差反映到现在,和“现在的偏差”一起加到被控对象的控制,偏差重复利用,这种控制方法不仅适用于跟踪周期性输入信号,也可抑制周期性干扰。

在美国Michigan大学的Holland教授提出的遗传算法中,他提出了模拟自然界遗传机制和生物进化论而形成的一种并行随机搜索最优化方法。

它将优胜劣汰,适者生存的进化论原理引入优化参数形成的编码串联群体中,按所选择的适配值函数通过遗传中的复制,交叉及变异对个体进行筛选,使适配值高的的个体被保留下来,组成新群体,新群体有继承上一代信息,优于上一代,周而复始知道得到满意值,这种算法简单,可并行处理,得到全局最优解。

1.2选题背景和意义

对于PID这样简单的控制器,能够适用于广泛的工业与民用对象,并仍以很高的性价比在市场中占据着重要地位,充分地反映了PID控制器的良好品质。

概括地讲,PID控制的优点主要体现在以下两个方面:

原理简单、结构简明、实现方便,是一种能够满足大多数实际需要的基本控制器;控制器适用于多种截然不同的对象,算法在结构上具有较强的鲁棒性,确切地说,在很多情况下其控制品质对被控对象的结构或参数摄动不敏感。

但从另一方面来讲,控制算法的普及性也反映了PID控制器在控制品质上的局限性。

具体分析,其局限性主要来自以下几个方面:

算法结构的简单性决定了PID控制比较适用于单输入单输出最小相位系统,在处理大时滞、开环不稳定过程等受控对象时,需要通过多个PID控制器或与其他控制器的组合,才能得到较好的控制效果;算法结构的简单性同时决定了PID控制只能确定闭环系统的少数主要零极点,闭环特性从根本上只是基于动态特性的低阶近似假定的;出于同样的原因,决定了单一PID控制器无法同时满足对假定设定值控制和伺服跟踪控制的不同性能要求。

针对常规PID控制存在的问题,将PID控制器与其他的算法相结合,对PID控制器进行改进,得到了改进型PID控制器。

2PID控制的基本原理

2.1PID控制的基本组成

PID控制由反馈系统偏差的比例(P)、积分(I)和微分(D)的线性组合而成,这3种基本控制规律各具特点。

P比例控制:

比例控制器在控制输入信号e(t)变化时,只改变信号的幅值而不改变信号的相位,采用比例控制可以提高系统的开环增益。

该控制为主要控制部分。

D微分控制:

微分控制器对输入信号取微分或差分,微分反映的是系统的变化率,因此微分控制是一种超前预测性调节,可以预测系统的变化,增大系统的阻尼,提高相角裕度起到改善系统性能的作用。

但是,微分对干扰也有很大的放大作用,过大的微分会使系统震荡加剧。

I积分控制:

积分是一种累加作用,它记录了系统变化的历史,因此,积分控制反映的是控制中历史对当前系统的作用。

积分控制往系统中加入了零极点,可以提高系统的型别(控制系统型别即为开环传递函数的零极点的重数,它表争了系统跟随输入信号的能力),消除静差,提高系统的无差度,但会使系统的震荡加剧,超调增大,动态性能降低,故一般不单独使用,而是与PD控制相结合。

PID的复合控制:

综合以上几种控制规律的优点,使系统同时获得很好的动态和稳态性能。

PID控制规律的基本输入/输出关系可用微分方程表示:

(1)

式中,e(t)为控制器的输入偏差信号;

为比例控制增益;

为积分时间常数;

为微分时间常数。

相应的传递函数为:

(2)

则式

(2)还可以写成

(3)

式中

由式(3)可见,PID控制器向原系统增加了一个零极点,从而使系统从0型提高到1型,还提供两个负实零点,同时提高系统稳态性能和动态性能。

PID控制器可由模拟执行元件或具有运算功能的数字器件实现。

数字PID的实现需要式

(1)进行离散化,取采样周期为T,改写式(3),得

(4)

式中,

为控制器输出的控制量,式中(4)即为数字PID控制器的直接算法。

也可取其递推算法;

(5)

式中,

的选取一般取决于经验以及实验现场的调整。

2.2PID控制中的主要技术指标分析

1)动态指标

超调δ%,单位阶跃响应的最大值

,超过稳态值h(∞)的百分比,即

(6)

则响应无超调。

超调量反映的是系统的振荡性.

调节时间、单位阶跃响应h(t)与稳态值h(∞)之间的偏差达到规定的允许范围(±2%或±5%),且以后不再超出此范围的最短时间。

调节时间描述系统响应的快慢。

一个好的控制系统应该有尽可能小的超调和尽可能短的调节时间,且超调量与调节时间在很多情况下是矛盾的:

小的超调量要求系统有大的阻尼系数,而阻尼系数过大又会使响应速度下降。

不同的系统对两个指标的要求有所不同。

通过选择适当的控制方法可以使这两个指标达到平衡,使系统的整体性能达到最优。

在PID控制中,加入微分项就是为了增大系统的阻尼,同时由于微分控制是一种超前控制,因此,会加快响应速度。

2)稳态误差

稳态误差由系统的结构、输入作用类型决定。

定义

为系统的稳态误差。

为了提高系统的无差度,可以提高系统的型别(加入积分项)和增大系统的开环放大系数的措施。

需要注意的是:

积分级数太多和开环放大系数过大都会造成系统不稳定,因此,要合理选择。

图1和图2、图3、图4、图5为理想情况和实际情况下常遇到的PID控制的阶跃响应曲线

图1理想响应曲线图2无超调量

图3超调量偏大图4积分时间太长

图5超调量偏大积分时间偏小

3PID控制算法的分类及其改进

模拟PID控制系统结构图如图6所示。

它主要由PID控制器和被控对象所组成。

而PID控制器则由比例、积分、微分三个环节组成。

它的数学描述为:

(7)

(8)

式中,

为比例系数;

为积分时间常数;

为微分时间常数.

PID控制器各校正环节的主要控制作用如下:

(l)比例环节及时成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。

比例系数Kp的作用在于加快系统的响应速度,提高系统调节精度。

Kp越大,系统的响应速度越快,系统的调节精度越高,也就是对偏差的分辨率(重视程度)越高,但将产生超调,甚至导致系统不稳定。

Kp取值过小,则会降低调节精度,尤其是使响应速度缓慢,从而延长调节时间,使系统静态、动态特性变坏。

(2)积分环节主要用于消除静差,提高系统的无差度。

积分作用的强弱取决于积分时间常数τ,τ越大,积分作用越弱,反之则越强。

积分作用系数越大,系统静态误差消除越大,但积分作用过大,在响应过程的初期会产生积分饱和现象,从而引起响应过程的较大超调。

若积分作用系数过小,将使系统静差难以消除,影响系统的调节精度。

(3)微分环节能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。

在计算机控制系统中,使用的是数字PID控制器,数字PID控制算法通常又分为位置式PID控制算法和增量式PID控制算法。

3.2.1位置式PID控制算法

由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,故对式(7)中的积分和微分项不能直接使用,需要进行离散化处理。

按模拟PID控制算法的算式(7),现以一系列的采样时刻点kT代表连续时间t,以和式代替积分,以增量代替微分,则可以作如下的近似变换:

(9)

显然,上述离散化过程中,采样周期T必须足够短,才能保证有足够的精度。

为了书写方便,将e(kT)简化表示成e(k)等,即省去T。

将式(9)代入式(7),可以得到离散的PID表达式为:

(10)式中:

k—采样序列号;

u(k)—第k次采样时刻的计算机输出值;

e(k)—第k次采样时刻输入的偏差值;

e(k-1)—第k-1次采样时刻输入的偏差值;

Ki—积分系数,Ki=KpT/Ti;

Kd—微分系数,Kd=KpTd/T。

我们常称式(10)为位置式PID控制算法。

对于位置式PID控制算法来说,位置式PID控制算法示意图如图7所示,由于全量输出,所以每次输出均与过去的状态有关,计算时要对误差进行累加,所以运算工作量大。

而且如果执行器(计算机)出现故障,则会引起执行机构位置的大幅度变化,而这种情况在生产场合不允许的,因而产生了增量式PID控制算法。

3.2.2增量式PID控制算法

所谓增量式PID是指数字控制器的输出只是控制量的增量Δ(k)。

增量式PID控制系

统框图如图8所示。

当执行机构需要的是控制量的增量时,可以由式(4)导出提供增量的PID控制算式。

根据递推原理可得:

(11)

用式(10)减去式(11),可得:

(12)

式(12)称为增量式PID控制算法。

增量式控制算法的优点是误动作小,便于实现无扰动切换。

当计算机出现故障时,可以保持原值,比较容易通过加权处理获得比较好的控制效果。

但是由于其积分截断效应大,有静态误差,溢出影响大。

所以在选择时不可一概而论。

PID控制器参数整定的目的就是按照己定的控制系统,求得控制系统质量最佳的调节性能。

PID参数的整定直接影响到控制效果,合适的PID参数整定可以提高自控投用率,增加装置操作的平稳性。

对于不同的对象,闭环系统控制性能的不同要求,通常需要选择不同的控制方法和控制器结构。

大致上,系统控制规律的选择主要有下面几种情况:

(1)对于一阶惯性的对象,如果负荷变化不大,工艺要求不高可采用比例控制。

(2)对于一阶惯性加纯滞后对象,如果负荷变化不大,控制要求精度较高,可采用比例积分控制。

(3)对于纯滞后时间较大,负荷变化也较大,控制性能要求较高的场合,可采用比例积分微分控制。

(4)对于高阶惯性环节加纯滞后对象,负荷变化较大,控制性能要求较高时,应采用串级控制、前馈一反馈、前馈一串级或纯滞后补偿控制。

对于PID控制来说,虽然它以其控制算法简单、鲁棒性好和可靠性高而在工业控制中被广泛应用,但是PID控制系统是在有精确数学模型的确定性控制系统中建立起来的,而对于实际的工业生产过程来说,往往具有非线性、时变不确定性等,难以建立精确的数学模型,应用常规的PID控制便不能达到理想的控制效果;而且PID控制器由于参数整定困难,在实际应用中往往参数整定不良、性能欠佳,对于运行的工况适应性很差。

随着微处理机技术的发展和数字智能式控制器的实际应用,同时,随着现代控制理论研究应用的发展与深入,为控制复杂的无规则系统开辟了新的途径。

出现了许多改进型PID控制器,对于复杂系统,其控制效果远远超过了常规的PID控制。

在普通PID控制中,引入积分环节的目的主要是为了消除静差,提高控制精度。

但在过程控制的启动、结束或大幅度增减设定时,短时间内系统输出有很大的偏差,会造成PID运算的积分积累,致使控制量超过执行机构可能允许的最大动作范围对应的极限控制量,引起系统较大的超调,甚至引起系统较大的振荡,这在生产中是绝对不允许的。

积分作用虽能消除控制系统的静差,但它也有一个副作用,即会引起积分饱和。

在偏差始终存在的情况下,造成积分过量。

当偏差方向改变后,需经过一段时间后,输出u(n)才脱离饱和区。

这样就造成调节滞后,使系统出现明显的超调,恶化调节品质。

这种由积分项引起的过积分作用称为积分饱和现象。

针对常规PID控制存在的问题,将PID控制器与其他的算法相结合,对PID控制器进行改进,得到了积分项改进型PID控制器。

3.4.1变速积分PID算法

在标准的PID算法中,由于积分系数Ki是常数,所以在整个控制过程中积分增量不变,而系统对积分项的要求是,系统偏差大时积分作用应减弱甚至全无,而在偏差小时则应加强。

积分系数取大了会产生超调,甚至积分饱和;取小了则又延长了消除静差的时间。

根据系统偏差的大小改变积分的速度,即变速积分PID算法能较好地解决上述矛盾。

变速积分PID算法的基本思路是,根据偏差的大小,相应改变积分项累加的速度,偏差越大,积分越慢;偏差越小,则积分越快。

变速积分PID算法的积分项表达形式如下:

(13)

式中:

系数f[e(k)]为e(k)的函数;当|e(k)|增大时,f[e(k)]减小,反之则增大。

3.4.1.1MATLAB编程及仿真

设被控对象为一延迟对象:

采样时间为20s,延迟时间为4个采样时间,即80s,取Kp=0.45,Kd=12,Ki=0.0048,A=0.4,B=0.6。

变速积分PID算法PID的MATLAB仿真程序:

%PIDControllerwithchangingintegrationrate

clearall;

closeall;

%BigtimedelayPlant

ts=20;

sys=tf([1],[60,1],'inputdelay',80);

dsys=c2d(sys,ts,'zoh');

[num,den]=tfdata(dsys,'v');

u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;

y_1=0;y_2=0;y_3=0;

error_1=0;error_2=0;

ei=0;

fork=1:

1:

200

time(k)=k*ts;

rin(k)=1.0;%StepSignal

%Linearmodel

yout(k)=-den

(2)*y_1+num

(2)*u_5;

error(k)=rin(k)-yout(k);

kp=0.45;kd=12;ki=0.0048;

A=0.4;B=0.6;

%Ttypeintegration

ei=ei+(error(k)+error_1)/2*ts;

M=1;

ifM==1%Changingintegrationrate

ifabs(error(k))<=B

f(k)=1;

elseifabs(error(k))>B&abs(error(k))<=A+B

f(k)=(A-abs(error(k))+B)/A;

else

f(k)=0;

end

elseifM==2%Notchangingintegrationrate

f(k)=1;

end

u(k)=kp*error(k)+kd*(error(k)-error_1)/ts+ki*f(k)*ei;

ifu(k)>=10

u(k)=10;

end

ifu(k)<=-10

u(k)=-10;

end

%ReturnofPIDparameters

u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);

y_3=y_2;y_2=y_1;y_1=yout(k);

error_2=error_1;

error_1=error(k);

end

figure

(1);

plot(time,rin,'b',time,yout,'r');

xlabel('time(s)');ylabel('rin,yout');

figure

(2);

plot(time,f,'r');

xlabel('time(s)');ylabel('Integrationratef');

采用普通PID控制的阶跃响应曲线如图9所示,积分速率如图采用变速积分控制的阶跃响应曲线如图10所示。

他们的积分速率分别如图11、图12所示。

图9普通PID的阶跃响应曲线图10变速积分PID的阶跃响应曲线

由图9图10仿真结果可以看出,变速积分使得系统的调节时间有所减小,稳定精度有所提高,对解决积分系数取大会产生超调,甚至积分饱和;取小了则延长了消除静差的时间的矛盾有一定帮助。

图11普通pid积分速率图12变速积分pid积分速率

由图11,图12的仿真结果可看出,变速积分pid积分速率与偏差大小相对应:

偏差越大,积分越慢;反之则越快,有利于提高系统品质,而普通pid积分显然没有这个功能。

积分分离PID控制算法的基本思路是:

当系统的被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使系统的稳定性降低,超调量增大;当被控量直至偏差接近或小于给定值以后,才引入积分控制,以便消除系统的静差,提高系统的控制精度。

其具体实现步骤如下:

根据实际情况,人为设定阈值ε>0。

(l)当|e(k)|>ε时,采用PD控制,可避免产生过大的超调,又使系统有较快的响应。

(2)当|e(k)|<ε时,采用PID控制,以保证系统的控制精度。

采用积分分离方法,控制效果有很大的改善。

该算的优点是:

当偏差值较小时,采用PID控制,可保证系统的控制精度;当差值较大时,采用PD控制,可使超调量大幅度降低。

图11积分分离式PID控制算法原理图12积分分离式PID控制算法程序框图

积分分离PID控制算法的表达式为

(14)

式中

—采样周期;

—积分分离的开关系数,

值的确定要根据实际系统来定。

值过大,则达不到积分分离的目的;若

值过小,则会导致系统无法进入积分区,会使系统出现余差。

积分分离式PID控制系统框图如图11所示

图13积分分离式PID控制系统

2.4.3.1MATLAB编程及仿真

为了更好地观察采用积分分离式PID控制的优点,可对普通PID控制和积分分离式PID控制分别采用MATLAB仿真。

设被控对象为一延迟对象,

采样时间20ms,延迟时间为4个采样时间,即80ms,指令信号rin(k)=40,分别采用普通PID控制和积分分离式PID控制,其阶跃跟踪结果分别如图13、图14所示。

在此基础上,通过对积分分离式PID控制算法进行改进,采用分段积分分离的方式,即根据误差绝对值的不同,采用不同的积分强度,可得到更加令人满意的控制效果。

2.4.3.2程序参数的整定

在实际应用中,PID参数进行整定时更多的是用凑试法。

增大比例系数P一般将加快系统的相应,在有静差的情况下有利于减少静差,但是过大的比例系数会使系统有比较大的超调,并产生震荡,使稳定性变坏。

增大积分时间I有利于减小超调,减小震荡,使系统的稳定性增加,但是系统静差消除时间变长。

增大微分时间D有利于增加系统的响应速度,使系统超调量减小,稳定性增加,但系统对扰动的抑制能力减弱。

在调试时,应该参考以上法则对参数实行现比例,后积分,再微分的整定步骤。

我在这个程序中用就是常用的凑试法,首先整定的是比例部分,将比例参数Kp由小变大,并观察相应的系统响应,直至得到响应快,超调小的响应曲线。

然后再加入积分环节,在整定时先将积分时间设定到一个比较大的值,然后将已经调节好的比例系数略为缩小,然后减小积分时间,使得系统自保持良好的动态性能下,静差大致得到消除,最后加入微分环节首先把微分时间D设为0,然后逐渐增加微分时间,同时相应的改变比例系数和积分时间,逐步调试,直至得到满意结果。

最后经过反复凑适和比较,得出了比较理想的参数如下:

kp=0.93;ki=0.008;kd=6.18。

积分分离式PID的MATLAB仿真程序

%积分分离式PID

%采样时间

ts=20;

%被控对象离散化

sys=tf([1],[60,1],'inputdelay',80);

dsys=c2d(sys,ts,'zoh');

[num,den]=tfdata(dsys,'v');

u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;

y_1=0;y_2=0;y_3=0;

error_1=0;error_2=0;

ei=0;

fork=1:

1:

200

time(k)=k*ts;

%离散化对象

yout(k)=-den

(2)*y_1+num

(2)*u_5;

%Iseparation

rin(k)=40;

error(k)=rin(k)-yout(k);

ei=ei+error(k)*ts;

M=1;%通过在此处改变M取值来选择是用普通PID或积分分离PID

ifM==1%采用分段积分分离方式

ifabs(error(k))>=30&abs(error(k))<=40

beta=0.3;

elseifabs(error(k))>=20&abs(error(k))<=30

beta=0.6;

elseifabs(error(k))>=10&abs(error(k))

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1