当前位置:文档之家› 先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问

先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问

先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问
先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问

先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问

因为课题需要,刚开始学习专家控制器matlab仿真,用的是刘金锟先进PID控制及MATLAB仿真。有一些问题想和大家交流,向大家请教。

1、第三章专家PID中,第一条规则应按最大输出。在p96例3-1中输出分别为0.45、0.40、0.1

2、0.01。如果我的输入信号不是阶跃信号,而是从0到1缓慢变化的s形曲线,如v=[1-cos(pi/50*t)]*735。输出还可以设定为0.45、0.40、0.12、0.01吗?

2、专家PID控制中第二条规则当误差处在增大阶段,前面讲的输出为,

而例3-1中rule2输出u(k)=u_1+1.5*kp*x(1)。这与上式为什么不同?我觉得kp*x(2)+ki*x(1)+kd*[x(2)-x2_1]等于u(k)的导数,对不对?它与kp*x(1)相等吗?为什么在例3-1中不用?

3、假设某时刻误差处在变大阶段,且x(1)=0.25。程序执行时首先执行rule1,因为误差大于0.2,则u(k)= 0.12。然后再判断rule2,因为条件也满足,误差值在变大,也大于0.05所以u(k)又变为u_1+1.5*kp*x(1)。这样程序是不是存在二义性?而且在我应用此算法仿真一五阶系统时(详见附件),rule5误差值小于0.001,则输出震荡,而改为0.1,则输出正常。这样,很多时候,只要误差小于0.1,则执行rule1,u(k)先等于0.1,再执行rule2,等于u_1+1.5*kp*x(1),再执行rule5,等于0.4*x(1)+0.475*x(3)。这样,使得rule2、rule4根本就不起作用。我觉得各误差段应既无遗漏又不重叠。不知我的理解对否?

4、本来我对采样时间的理解是采样时间越短,仿真精度越高。但我发现只改变采样时间,其它不变,则输出大不相同,甚至震荡。一开始我以为我的控制器没设计好,后来我找了书上不少例子试了试,例3-1、1-9、1-12都有此现象。这怎么解释?那这样仿真,和其他控制方法比较时还有可信度吗?也必须在相同采样时间下吗?

5、在simulink模型仿真时,怎样设置采样时间?在configuration parameter中,有sample time,但都不能设定具体值。在solver中,当采用固定步长时,不能设置采样时间。当采用变步长ode45时,max step time和min step time又不能设置为相等。难道只有采用默认采样时间?而默认的又是多少呢?

6、input delay和transport delay 、iodelay到底有什么区别啊?带延迟环节的传递函数应该用哪个来表示,还是都可以?

7、在例3-1加入滞后,sys=tf(5.235e005,[1,87.35,1.047e004,0],'inputdelay',76000000);结果输出和不加滞后完全一样,不管滞后有多大。我自己的控制器也是如此。是专家PID抵抗滞后能力强,还是滞后加的不对?

8、例3-2.s.m中最后一句sys=[sys; x(3)];是什么意思?输出为什么是加上x(3)的增广矩阵?

这些问题困扰我好长时间了,百思不得其解,书上也找不到相关的资料。如能解惑,不胜感激。谢谢

我的专家控制器

附:我的专家控制器

%Expert PID Controller

clear all;

close all;

ts=0.001;

sys=tf(158.91e6,[0.7596 133.728 1.405e4 6.237e5 1.015e7 9.015e6]); dsys=c2d(sys,ts,'z');

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

u_1=0.0;u_2=0.0;u_3=0.0;u_4=0.0;u_5=0.0;

y_1=0;y_2=0;y_3=0;y_4=0;y_5=0;

x=[0,0,0]';

x2_1=0;

kp=1.44;

ki=1.28;

kd=0.008;

error_1=0;

for k=1:1:5000

time(k)=k*ts;

rin(k)=1; %Tracing Jieyue Signal

u(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controller

%Expert control rule

if abs(x(1))>0.8 %Rule1:Unclosed control firstly

u(k)=0.45;

elseif abs(x(1))>0.40

u(k)=0.30;

elseif abs(x(1))>0.20

u(k)=0.2;

elseif abs(x(1))>0.10

u(k)=0.03;

elseif abs(x(1))<=0.05 %Rule5:Integration separation PI control

u(k)=0.25*x(1)+1.75*x(3);

elseif x(1)*x(2)>0|(x(2)==0) %Rule2

if abs(x(1))>=0.1

u(k)=u_1+1.5*[kp*x(2)+ki*x(1)];

else

u(k)=u_1+0.6*[kp*x(2)+ki*x(1)];

end

elseif x(1)*x(2)<0&x(2)*x2_1<0 %Rule4

if abs(x(1))>=0.1

u(k)=u_1+2*kp*error_1;

else

u(k)=u_1+0.4*kp*error_1;

end

end

if (x(1)*x(2)<0&x(2)*x2_1>0)|(x(1)==0) %Rule3

u(k)=u(k);

end

%Restricting the output of controller

if u(k)>=2

u(k)=2;

end

if u(k)<=0

u(k)=0;

end

%Linear model

yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3-den(5)*y_4-den(6)*y_5+num(2 )*u_1+num(3)*u_2+num(4)*u_3+num(5)*u_4+num(6)*u_5;

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

%----------Return of PID parameters------------%

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

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

x(1)=error(k); % Calculating P

x2_1=x(2);

x(2)=(error(k)-error_1)/ts; % Calculating D

x(3)=x(3)+error(k)*ts; % Calculating I

error_1=error(k);

end

figure(1);

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

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

grid on;

刚学PID的一点想法

PID

这几天稍微看了一点点的PID,今天有了小小头绪,于是,就想把自己的想法写出来,欢迎拍砖。

最开始的时候,是先了解什么是PID。PID实指“比例proportional”、“积分integral”、“微分derivative”,如果我们要求被控制的对象最终趋于一个稳定的结果,一般就可以使用PID算法。假设说,有一辆速度为1m/s的小车,我们要求他的速度改变为5m/s,要完成这样的一件事,我们必须要有,1.小车驱动装置(用程序控制它输出多大的电压,电压决定驱动的马力),2.被驱动器控制的部分(即小车),3.检测当前速度的装置(当前速度与目标速度的差称为误差)。本来,我们可以给小车一个驱动力让小车加速,直到检测到小车速度达到5m/s,撤去驱动力。然而,这样做会带来几个问题。1,当小车速度达到5m/s 时,从装置检测到这个速度,通知控制器,让控制器改变输出的电压,这一个过程需要耗费一定时间,在这个时间里面,小车速度可能增加了不少。2,撤去驱动力后,外界条件如摩擦会让小车速度进一步改变。PID算法可以在一定误差内解决这些问题。

使用PID算法时,大致是这样的。每一个采样周期,通过速度检测装置获得当前速度,传入程序,通过程序计算得到电压控制小车得到新速度。下一个采样周期又把新速度传入,获得新电压,再传入速度,再获得电压,如此反复。

PID算法的关键,是如何根据当前得到的速度值,输出一个“恰当”的电压,以致小车最终能够趋于稳定。

PID算法采用比例,积分,微分三种方法进行控制。三种方法都有自己对应的一个常量(pconst,iconst,dconst)。这三个变量都需要在实验中多次尝试得出。

一般地,先把与算法相关的量放入一个结构体,方便调用。

srtuct PID

{

double pconst, //比例控制常量

iconst, //积分控制常量

dconst; //微分控制常量

double ErrorSum; //误差累计

double iMax,iMin; //积分上下限

double Vnew; //当前速度

};

比例:

Vnew = GetV(); //获得当前速度

error = aim - Vnew; //误差=目标速度- 当前速度

pTerm = error*pconst; //比例项的值就是误差乘上比例常量

Motor(pTerm); //让电机根据得出的值工作

有时候,我们增大比例常数可以让小车更快的到达目标速度,但是过大的比例常数又容易产生过冲,即速度超过目标速度5m/s,然后再减速,再加速,在减速。这样,系统产生振荡,然而,振荡的结果不一定能趋于稳定。

积分:

Vnew = GetV(); //获得当前速度

ErrorSum += (aim - Vnew); //每一次的误差累计起来

if(ErrorSum > iMax)ErrorSum = iMax;

else if(ErrorSum < iMin)ErrorSum = iMin;

iTerm = ErrorSum *iconst; //误差和乘上积分常量

Motor(iTerm); //让电机根据得出的值工作

一般我们都让比例配合积分一起使用,即PI算法,类似上面的程序,得出pTerm和iTerm,然后Motor(pTerm+iTerm)。PI控制一般会比纯比例控制花费更少时间使小车到达目标值,但是我们必须避免积分饱和,通常的做法是像上面程序一样设定iMax和iMin。它们和积分常量的大小相关。

微分:

我们用比例控制或者PI控制,都不能保证任何系统一定能趋于稳定。比例控制根据现在来控制。积分控制根据过去来控制。而微分能够根据将来来控制,非常强大,能使被控设备更好地趋于稳定。

Vnew = GetV(); //获得当前速度

dTerm = (Vnew - Vlast)*dconst; //当前速度- 上次速度,再乘微分常数

Vlast = Vnew ; //保留本次速度,下次当成上次速度使用

Motor(dTerm); //让电机根据得出的值工作

同样,微分控制也是与比例,积分一起使用,形成PID算法,Motor(pTerm+iTerm+dTerm)。

微分控制相当强大,然而也很容易出问题。具体调控和整定我想等到实际应用时再学习。

PID控制是工程控制中最常用的控制算法,最简单的PID控制就是

其实质就是一个关于比例,积分,微分控制公式

注:上式中第一个Td应改为Ti,为笔误.

其传递函数为G(s)=U(s)/error(s)=Kp*[1+(1/Ti*s +Td*s)}

当反馈中有误差存在时,

(1)比例坏节第一时间对误差进行放大送给控制器,

(2)而积分环节扮演的角色就是当有误差时误差随着时间的增加就会越来越大,

(3)而微分环节所扮演的角色就是当误差变化向减小方向时(即(e (t)-e(t-1)<0)),微分的作用就是负方向的,而当误差变化向较大方向变化时(即e(t)-e(t-1)>0),微分作用就是正方向的且误差变化(e(t)-e(t-1)的值)越快那么微分作用就越大。

从以上三条中我们可以得到一个很有效的信息那就是比例积分对误差的作用都是正作用的,但是微分却不同,微分与误差没有关系只与系统加速与减速有关,若系统在加速那么微分作用为正,若系统为减速那么微分作用为负向,它可以有效地对系统进行动态的调节,对系统的惯性进行有效的抑制。

PID参数整定 [原创 2011-05-04 15:19:47]

字号:大中小

上一章简单介绍了自动调节的发展历程。搞自动的人,许多人对如何整定PID参数感到比较迷茫。课本上说:整定参数的方法有理论计算法和经验试凑法两种。

理论计算法需要大量的计算,对于初学者和数学底子薄弱的人会望而却步,并且计算效果还需要进一步的修改整定,至今还有人在研究理论确认调节参数地方法。所以,在实际应用过程中,理论计算法比较少。

经验试凑法最广为人知的就是第一章提到的整定口诀了。该方法提供了一个大致整定的方向形性思路。当时整定参数,需要两只眼睛盯着数据看,不断地思考琢磨。上世纪90年代的时候,我就曾经面对着I型和II型仪表,就这么琢磨。如果是调节周期长的系统,比如汽温控制,需要耗费大量的时间。

科学发展到了今天,DCS应用极其普遍,趋势图收集极其方便。对于单个仪表,也大都有趋势显示功能。所以,我们完全可以借助趋势图功能,进行参数整定。

我们可以依靠分析比例、积分、微分的基本性质,判读趋势图中,比例、积分、微分的基本曲线特征,从而对PID参数进行整定。这个方法虽然基本等同于经验试凑法,但是它又比传统的经验试凑法更快速更直观的,更容易整定。因而,我把这种依靠对趋势图的判读,整定参数的办法,称之为:

趋势读定法。

趋势读定法三要素:

设定值、被调量、输出。三个曲线缺一不可。串级系统参照这个执行。

这个所谓的趋势读定法,其实早就被广大的自动维护人员所掌握,只是有些人的思考还不够深入,方法还不够纯熟。这里我把它总结起来,大家一起思考。

这个东西看着新鲜,其实一点都不高深,上过初中的人,只要受过严格训练,都可以成为整定参数的好手。什么?初中生理解积分微分的原理么?恩,初中生没有学过微积分,可是一旦你给他讲清楚微积分的物理意义,然后认真训练判断曲线的习惯和能力,完全可以掌握好PID的参数整定。苦功夫还要花的。必须要经过比较严格的训练。

怎么才算受过严格训练呢?我不了解别人是怎么训练的,我只根据我自己理解的情况,把我认为正确的理解给大家讲述一下。咱既然说了,初中生都可以理解,那么咱依旧避免繁琐的公式推导,只对其进行物理意义分析。

提前声明:这些物理意义的分析,非常简单,非常容易掌握,但是你必须要把下面一些推导结论的描述弄熟弄透,然后才能够进行参数整定。很简单的哦。

在介绍PID参数整定之前,先介绍几个基本概念:

2-1 几个基本概念

单回路:就是只有一个PID的调节系统。

串级:一个PID不够用怎么办?把两个PID串接起来,形成一个串级调节系统。又叫双回路调节系统。在第三章里面,咱们还会更详细的讲解串级调节系统。在此先不作过多介绍。主调:串级系统中,要调节被调量的那个PID叫做主调。

副调:串级系统中,输出直接去指挥执行器动作的那个PID叫做副调。主调的输出进入副调作为副调的设定值。一般来说,主调为了调节被调量,副调为了消除干扰。

正作用:比方说一个水池有一个进水口和一个出水口,进水量固定不变,依靠调节出水口的水量调节水池水位。那么水位如果高了,就需要调节出水量增大,对于PID调节器来说,输出随着被调量增高而增高,降低而降低的作用,叫做正作用。

负作用:还是这个水池,我们把出水量固定不变,而依靠调节进水量来调节水池水位。那么如果水池水位增高,就需要关小进水量。对于PID调节器来说,输出随着被调量的增高而降低的作用叫做负作用。

动态偏差:在调节过程中,被调量和设定值之间的偏差随时改变,任意时刻两者之间的偏差叫做动态偏差。简称动差。

静态偏差:调解趋于稳定之后,被调量和设定值之间还存在的偏差叫做静态偏差。简称静差。

回调:调节器调节作用显现,使得被调量开始由上升变为下降,或者由下降变为上升。

阶跃:被观察的曲线呈垂直上升或者下降,这种情况在异常情况下是存在的,比如人为修改数值,或者短路开路。

2-2 P ——纯比例作用趋势图的特征分析

前面说过,所谓的P,就是比例作用,就是把调节器的输入偏差乘以一个系数,作为调节器的输出。

温习一下:调节器的输入偏差就是被调量减去设定值的差值。

一般来说,设定值不会经常改变,那就是说:当设定值不变的时候,调节器的输出只与被调量的波动有关。那么我们可以基本上得出如下一个概念性公式:

输出波动=被调量波动*比例增益

注意,这只是一个概念性公式,而不是真正的计算公式。咱们弄个概念性公式的目的在于:像你我这样的聪明人,不屑于把精力用在考证那些繁琐的公式上面,我们关注什么呢?我们关注的是公式内部的深层含义。呵呵。我们就来努力挖掘它的深层含义。

通过概念性公式,我们可以得到如下结论,对于一个单回路调节系统,单纯的比例作用下:输出的波形与被调量的波形完全相似。

纯比例作用的曲线判断其实就这么一个标准。一句话简述:被调量变化多少,输出乘以比例系数的积就变化多少。或者说:被调量与输出的波形完全相似

为了让大家更深刻理解这个标准,咱们弄几个输出曲线和被调量曲线的推论:

1、对于正作用的调节系统,顶点、谷底均发生在同一时刻。

2、对于负作用的调节系统,被调量的顶点就是输出的谷底,谷底就是输出的顶点。

3、对于正作用的调节系统,被调量的曲线上升,输出曲线就上升;被调量曲线下降,输出曲线就下降。两者趋势完全一样。

4、对于负作用的调节系统,被调量曲线和输出曲线相对。

5、波动周期完全一致。

6、只要被调量变化,输出就变化;被调量不变化,不管静态偏差有多大,输出也不会变化。上面6条推论很重要,请大家牢牢记住。记住不记住其实没有关系,只要你能把它溶化在你的思想里也行。

溶化了么?那我出个思考题:

1、被调量回调的时候,输出必然回调么?

2、被调量不动,设定值改变,输出怎么办?

3、存在单纯的比例调节系统么?

4、纯比例调节系统会消除静差么?

第一条回答:是。

第二条回答:相当于被调量朝相反方向改变。你想啊,调节器的输出等于输入偏差乘以一个系数,设定值改变就相当于设定值不变被调量突变。对吧?

第三条回答:是。在电脑出现之前,还没有DCS,也没有集中控制系统。为了节省空间和金钱,对于一些最简单的有自平衡能力的调节系统,比如水池水位,就用一个单纯的比例调节系统完成调节。

第四条回答:否。单纯的比例调节系统可以让系统稳定,可是他没有办法消除静态偏差。那么怎么才能消除静态偏差呢?依靠积分调节作用。

为了便于理解,咱们把趋势图画出来分析。见图2:

图2:比例作用下的调节曲线

假设被调量偏高时,调门应关小,即PID为负作用。在定值有一阶跃扰动时,调节器输入偏差为-△e。此时T out 也应有一阶跃量△e ·(1 / δ),然后被调量不变。经过一个滞后期t2,被调量开始响应T out。因为被调量增加,T out也开始降低。一直到t4时刻,被调量开始回复时,T out才开始升高。两曲线虽然波动相反,但是图形如果反转,就可以看出是相似形。

一般来说,积分作用往往被初学者过度重视。因为积分作用造成的超调往往被误读为比例作用的不当。

而对于一个很有经验的整定高手来说,在一些特殊情况况下,积分作用往往又被过度漠视。因为按照常理,有经验的人往往充分理解积分作用对静态偏差的作用,可是对于积分作用特殊情况下的灵活运用,却反而不容易变通。

以前看史书,毛泽东曾指着邓小平对一个苏联人说:瞧见那个小个子了没有?这个人很了不起,既有原则性,又有灵活性。

瞧见没有,最高明的政治家们都注重原则性和灵活性之间的微妙的关系,咱们搞自动的,实际上也离不开原则性和灵活性啊。

当然了,对于一般的初学者,还不到感悟灵活性的时候。初学者只有老老实实先把原则掌握再说。灵活性是建立在原则的基础之上的。就如同现实生活中一样,没有原则的灵活是什么?老滑头。

什么时候才可以灵活?等你能够彻底解读调节曲线,并能够迅速判断参数大小的时候,才可以稍微尝试了解灵活性。千万不要耍滑头哦。

2-6 比例积分微分作用的特征曲线分析

2-7 整定参数的几个原则

大家看过百家讲坛里面王广雄教授讲自动调节系统么?我没有看过,很遗憾。不过我听别人说王教授这么说自动调节系统:她里面处处闪烁着哲学的光辉。这个光辉我也经常感觉得到。并且我觉得,似乎它不仅仅是一门技术,而且还是一门艺术。因为对于一个复杂的自动调节系统,你永远不能确定哪个参数是最好的。只要你愿意下功夫去整定,似乎总有更适合的参数等着你。而等到一个系统遇到了很复杂的大干扰的时候,一般情况下,你总想修改已经极其膨胀了的控制策略,效果虽有好转,可总是难以适应各种工况,参数愈来愈多,整定愈来愈复杂。可是等到你某一天突然灵光一闪,想到一个新鲜思路的时候,你激动得恨不得马上从床上爬下来要去应用,第二天你发现既不需要修改控制策略,应用效果又出奇的好的时候,你会感到一种艺术的成就感和满足感。

这就是自动调节系统的魅力。它需要你在各个问题、各个参数之间反复权衡,在灵活性和原则性之间思想游走,在全面和孤立之间合并分解。

机械与权衡的变通、灵活性和原则性的关系前面已经说过了。下面还要说说全面和孤立的关系。对于一个复杂调节系统,既要全面看待一个系统,又要学会孤立看待一个系统。原则与灵活,全面与孤立,都是个辩证的问题。

其实谁都知道要全面看待问题这个说法。要全面了解整个调节系统,要对工艺流程、测量回路、数据处理DCS或者PLC、控制调节过程、PID各个参数、操作器、伺服放大器、执行器、位置反馈、阀门线形等各个环节都要了解,出了问题才能够快速准确的判断。

可是孤立分析问题这个提法,是不似有点新鲜?怎样才算孤立看待问题?

我们首先要把复杂的问题简单化,简单化有利于思路清晰。那么怎样孤立简化呢?

1、把串级调节系统孤立成两个单回路。把主、副调隔离开来,先整定一个回路,再全面考虑;

2、至于先整定内回路还是先整定外回路,因系统而异。一般来说,对于调节周期长的系统可以先整定内回路。我们还可以手动调整系统稳定后,投入自动,先整定内回路;

3、把相互耦合的系统解耦为几个独立的系统,在稳态下,进行参数判断。让各个系统之间互不干扰,然后再考虑耦合;

4、把P、I、D隔离开来。先去掉积分、微分作用,让系统变为纯比例调节方式。然后再考虑积分,然后再考虑微分。

在学习观察曲线的时候,要学会把问题简单化,孤立看待系统;在分析问题的时候,要既能够全面看待问题,也能够孤立逐个分析。咱们下面讨论如何整定参数的时候,也是先要把参数孤立起来看待的。

以前曾经有一个化工的朋友说:自动调节系统哪有这么复杂?无非是一个PID,对其参数进行整定一番就可以了。我对他说:很不幸,你工作在一个简单调节系统的环境下,你没有真正接触过复杂的自动调节系统。

是的,火电厂自动调节系统要复杂些。可惜我没有机会接触更为复杂的自动调节系统,深为遗憾!至今为止,我所接触到最复杂的自动调节系统,无非是火电厂的蒸汽温度、汽包水位、蒸汽压力,还有一个大杂烩——协调。至于脱硫方面的,都交给运行自行调节,懒得去管。2-8 整定比例带

有人说:很麻烦,我的调节系统不容易看到调节周期。哦,恭喜你,你的系统整定工作做得很好。

不管是被调量还是调节输出,其曲线都不应该有强烈的周期特征。

曾经有个人跟我说:你看我的调节系统整定得多好,被调量的曲线简直跟正弦波一样好看。我回答说:不用问,调节输出也跟正弦波一样吧?他说是。那你的执行机构还不跟正弦波一样不能歇着啊?这样的调节系统的整定工作是不够好的,还有优化空间的。

自动调节的困难还在于:即使是很老练很在行的整定者,也不见得整定效果就很好。近两年我见了一些自动调节的论文,有的论文中附有调节效果曲线。根据我的分析,有一些论文所表现的调节质量并不够好,还有很大的参数优化空间。。

有许多人看系统难以稳定,就认为是控制策略的问题,就去修改控制策略。最终使得控制策略庞大臃肿。控制策略臃肿的不利后果有三个:

1、不利于检查问题和整定参数,程序越复杂越不利;

2、容易出现编程错误甚至前后矛盾;

3、增加了系统负担。DCS系统要求单机负荷率要低。DCS中,影响负荷率的最大因素就是模拟量运算。自动调节系统的模拟量运算最大。所以,臃肿的调节系统增加了系统负荷率。具体的论文就不说了。只说最近论坛上经常对给水三冲量调节系统发表质疑。我个人认为:给水三冲量自动调节系统是很完善很完美的,你之所以觉得不够好,是因为你没有把参数整

定好。如果你不认可,我给你整定,保证能让你的系统在经典的三冲量调节系统下,运行得很好。

所以能够通过整定参数解决的问题,最好不通过控制策略来解决。所以,就要求我们广大的自动调节工作者,在整定参数方面打好基本功。

我说过,我感到整定参数不仅仅是一门技术,而且像一门艺术。因为“艺无止境”。

2-9 整定积分时间

前面咱们已经说过,积分作用最容易被人误解。一个初学者往往过分注重积分作用,一个整定好手往往又漠视积分作用。咱们先对初学者说怎么认识积分作用。

对于主调来说,主调的目的就是为了消除静态偏差。如果能够消除静态偏差,积分作用就可以尽量的小。

在整定比例作用的时候,积分作用先取消。比例作用整定好的时候,就需要逐渐加强积分作用,直到消除静差为止。

我们需要注意的是:一般情况下,如果比例参数设置不合理,那么静差也往往难以消除。在没有设置好比例作用的时候,初学者往往以为是积分作用不够强,就一再加强比例作用,结果造成了积分的干扰。

那么积分作用设置多少合理?咱们还要拐回头,看第2-5节。为了查看方便,我重新把图5粘贴过来。

这个区域叫做积分拐点。

积分拐点这个概念很重要,输出的拐点不能比积分拐点更靠后

为什么积分要这么弱?

当被调量回调的时候(t5时刻),说明调节器让执行机构发挥了调节作用,此时调节机构的开度足以控制被调量不会偏差更大,为了消除静态偏差,可以保持这个开度,或者让执行机构稍微继续动作一点即可。如果此时被调量回调迅速,则说明执行机构的调节已经过量,那么必须也要让执行机构回调,执行机构的回调是怎样产生的?是比例作用克服了积分作用而产生的,是比例和积分的叠加:Tout(δ)+Tout(i)。而此时Tout(δ)和Tout(i)所调节的方向是不一样的,一个为正,一个为负。

从上面的叙述,我们还可以验证前面的一个推理:积分作用和比例作用是相对的。当比例作用强的时候,积分也可以随之增强;比例作用弱的时候,积分也必须随之下调。积分作用只是辅助比例作用进行调节,它仅仅是为了消除静态偏差。

还是那句话:搞自动的要善于灵活处理问题,一方面要把握原则,一方面要有灵活性。切不可因为刚才调好了积分作用,就把积分参数固定死再也不变了。积分作用设置的关键在于t6的位置,要记住:不能超过积分拐点。

对于积分作用在特殊情况下的妙用,下一章会提到。咱现在还是牢牢掌握原则吧。

2-10 整定微分作用

微分作用比较容易判断,那就是PID输出“毛刺”过多。

一般来说,微分作用包含两个参数:微分增益和微分时间。实际微分环节在前面已经说过。图4就是实际应用中的微分环节。

其实理想的微分环节并不是这样的。当阶跃扰动来临的时候,理想微分环节带来的调节输出是无穷大的。如下图所示:

理想微分环节

为了工程应用方便,人们设计了实际微分环节。微分的目的许多人都知道:它具有超前调节的功能。

微分为什么具有超前调节作用?

1、波动来临时,不管波动的幅度有多大,只要波动的速度够大,调节器就会令输出大幅度调整。也就是说,波动即将来临的时候,波动的征兆就是被调量的曲线开始上升。对于比例和积分作用来说,开始上升不意味着大幅度调节;对于微分作用来说,开始上升就意味着调节进行了,因为“开始”的时候,如果速度上去了,输出就可以有一个大幅度的调整。这是超前调节的作用之一。见图6的T8时刻。

2、波动结束后,如果调节器调节合理,一般被调量经过一个静止期后,还会稍微回调一点。在被调量处于静止期间,因为微分时间的作用,不等被调量回调,调节器首先回调。这是微分的超前作用之二。见图6的T7时刻。

在微分增益增大的时候,一定要考虑到微分时间的调整。否则调节曲线上会有很多毛刺。毛刺直接影响到执行机构的频繁动作,一般来说,它是有害的。

好的调节效果,往往在调节曲线上是看不到毛刺的。只可以在输出曲线上看到一个突出的陡升或者陡降。

要合理利用微粉增益和微分时间的搭配,会取得很好的调节效果。

有许多人牢牢记住了“微分的超前调节作用”,只要觉得系统不够快,就会加微分。这是一种懒人的思维。系统快不快不能看表面现象,有许多系统往往是参数整定不好造成的震荡。震荡发生的时候,往往急得初学者恨不得马上让系统回调,不能马上回调,就想到了微分。要记住:震荡的产生可能与三个参数都有关。一定要认真判读震荡曲线的特征,分辨是那个因素造成的,然后对症下药才能够抑制震荡。

还有一些人不管三七二十一,把所有的系统都使用比例积分微分。比例积分可以都使用,但有些系统使用微分是不恰当的。

微分的使用条件有:

1、被调量是水位、气压、风压的调节系统不宜使用微分。它们本身的数值容易受各种因素影响,即使稳定的系统,被调量也很难稳定在一个数值。微分作用会因为被调量的小波动,使得输出大幅度来回动作,形成干扰,而且对执行机构也不利;

2、被调量有微小扰动的时候,要先消除扰动再使用微分。

3、系统有大迟延的情况下应使用微分。

微分作用是最容易判断的。但是对于一个熟练整定PID参数的人来说,怎样充分发挥微分参数的“超前调节”作用,并且不增加对系统有害的干扰,仍旧是一个需要长久思考的问题。有的系统把微分作用分出调节器以外。比如火电厂主汽温度控制,许多厂家用了“微分导前调节”。所谓的“微分导前”,就是把微分分出调节器,专门对温度前馈量进行微分运算,然后把运算的结果叠加到PID的输出,去控制执行机构。

使用微分导前而不使用串级调节系统,有它特殊的地方。目前,许多人对于到底是用微分导前还是串级很迷惑,这个问题在下一章我们会讲到。这里暂略不表。

2-11 比例积分微分综合整定

一个精通参数整定的人,在具体草整定参数的时候,要熟悉系统工艺原理,更要熟悉系统操作。对待一个复杂系统如何操作的问题,整定参数的人甚至比专业的运行操作员更知道怎么操作,比他们更熟练的进行手工干扰。因为只有我们知道怎样操作是正确的,才能够知道PID发出的指令是否正确的,才能够知道怎样修改PID参数。另外,运行操作员往往抱着一种急切的心理,看到被调量偏差大,恨不得一下子调正常。心情可以理解,往往偏离了正常的调节方法。我们除了要整定参数外,有时候还要担负运行操作讲解员的责任。虽然在整体系统上我们不如他们,但是具体操作上,我们的理解有比他们强的地方。互相沟通才能共同进步,才能搞好系统。

同时,对于系统工艺操作的理解,对于实际发生的各种干扰问题,运行操作员又比我们更熟悉。所以,我们还要虚心向他们请教。系统发生了波动,到底是什么原因造成的?什么因素之干扰的主要因素?怎样操作弥补?了解清楚之后,再加上我们的分析,才能得到最真实的资料。

我们要记住:沟通是双向的。

切入正题,说说综合整定。

假设有一个水池,上面一个进水管下面一个排水管。进水管的流量不大确定,有时候稳定,有时候有波动。我们要调节排水阀的开度来调整水池水位。

如果水位高,我们要开排水阀放水。如果我们想要迅速平抑水位,那就要大开排水阀。大开排水阀造成水位急剧降低,这时候我们该怎么办?水位急剧降低表明排水阀开过度了,也就

是比例带过小,水位急剧降低需要我们稍微关闭排水阀,否则水位按照目前降低的速度来看,有可能造成水位过低。那么,关闭排水阀属于比例带的调节作用。为什么?我们还记得么?比例作用趋势图的特征是:输出曲线和被调量是相似形。我们这里调节器是正作用,那么水位急剧降低,我们的排水阀也应该急剧关闭。

比例先生比较规矩,干事情循规蹈矩,他的行为准则是一切跟着偏差走。他总是看偏差的脸色行事,设定值不变的情况下,也就是看被调量的脸色了。被调量怎样走,他就怎样走,一点都不知道变通。太不浪漫了。

我们这个系统还有积分作用存在。积分女士比较自私,眼光也短,比例作用总说她不顾全大局。她说:我不管你什么大局小节,只要偏差存在我就要一直积下去。

问题出来了:水位急剧降低,需要稍微关闭排水阀才能抑制水位降低的速度,可是积分女士这时候因为偏差大,反而更加起劲的要开排水阀。头疼!

作为调节器统揽全局的你该怎么办?你要权衡两者的作用。水位急剧降低,说明了比例过强,你要批评比例先生,让他再谨慎点,让比例带大点。积分小姐也别得意,你也有问题。你的问题在于不顾大局,水位都恁低了你还要开,你的积分时间也要大点。

比例先生和积分小姐的意见一综合叠加,决定:如果水位下降太慢,积分就再开点也无妨;如果下降得快,比例先生可要发挥作用;如果不算快也不算慢,两个意见相加的结果抵消,喔,我也不知道该咋办了,等形势明朗了再决定,现在静观待变。

水位急剧下降,你决定让排水阀稍微关闭,水位下降势头得到抑制,水位保持在低于设定值的位置不变了,迟迟看不到水位变化,怎么办?

积分小姐,别矜持了,逐渐关闭些,一直等到水位达到目标才行。如果积分增益太小,你就需要增加积分增益了。

增量式PID控制算法的MATLAB仿真

增量式PID 控制算法的MATLAB 仿真 PID 控制的原理 在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID 控制,又称PID 调节。PID 控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID 控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID 控制技术。PID 控制,实际中也有PI 和PD 控制。PID 控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。 一、 题目:用增量式PID 控制传递函数为G(s)的被控对象 G (s )=5/(s^2+2s+10), 用增量式PID 控制算法编写仿真程序(输入分别为单位阶跃、正弦信号,采样时间为1ms ,控制器输出限幅:[-5,5],仿真曲线包括系统输出及误差曲线,并加上注释、图例)。程序如下 二、 增量式PID 原理 { U(k)= ?u(k)+ U(k-1) 或 { U(k)= ?u(k)+ U(k-1) 注:U(k)才是PID 控制器的输出 三、 分析过程 1、对G(s)进行离散化即进行Z 变换得到Z 传递函数G(Z); 2、分子分母除以z 的最高次数即除以z 的最高次得到; )]}2()1(2)([)()]1()({[)(-+--++ --=?n n n T T n T T n n K n U D I P O εεεεεε)] 2()1(2)([)(i )]1()([)(-+--++--=?n n n Kd n K n n K n U P O εεεεεε

基于MATLAB的PID控制器参数整定及仿真

基于MATLAB的PID控制器参数整定及仿真 摘要: PID控制器结构和算法简单应用广泛,但参数整定方法复杂,通常用 凑试法来确定。文中探讨利用MATLAB实现PID参数整定及仿真的方法,并分析、比较比例控制、比例积分控制和比例微分控制,探讨了Kp, Ti, Td 3个参数对PID 控制规律的影响。 关镇词: MATLAB ; PID控制器;参数整定;仿真 Parameter tuning and emulation of PID controller based on MATLAB Ahstratct; The control structure and algorithm of PID is easy and widely applicable,but its setting meth-ods of parameter are multifarious. Generally utilize guessing and trying to fix. This artical is convenient to tune PID parameters and emulate through MATLAB experiment. Analyze and compare the proportion control, the proportion integral control and the proportion differential control. Discuss the influence of three parameters KP ,Ti and Td to the PID control rules. Key words ; MATLAB;PID controller; parameter tuning; emulation 引言 PID控制器又称为PID调节器,是按偏差的比例P( Proportional )、积分I(Integxal)、微分D ( Differential orDerivative)进行控制的调节器的简称,它主要针对控制对象来进行参数调节。PID控制器问世至今,控制理论的发展经历了古典控制理论、现代控制理论和智能控制理论3个阶段。在工业控制系统和工程实践中,传统的PID控制策略依然被广泛采用。因为它算法简单、稳定性好、工作可靠、鲁棒性好,在工程上易于实现。但PID控制器的参数整定方法复杂,通常采用PID归一参数整定法和试凑法来确定,费时、费力,且不能得到最优的整定参数。针对这一问题,文中探讨用MATLAB实现PID参数整定及仿真的方法及控制参数对PTD控制规律的影响。利用MATLAB强大的计算仿真能力,解决了利用试凑法来整定参数十分浩繁的工作,可以方便、快速地找到使系统达到满意性能指标的参数。 PID控制器的原理与算法 当被控对象的结构和参数不能被完全掌握,或得不到精确的数学模型时,应用PID控制技术最为方便。PID控制器就是根据设定值与实际值的误差,利用比例(P)、积分(I)、微分(D)等基本控制规律,或者把它们 适当配合形成有PI , PD和PID等的复合控制规律,使控制系统满足性能指标要求。 控制系统大多都有储能元件,这就使系统对外界的响应有一定的惯性,且能量和信息在传输和转化的过 程中,由于管道、距离等原因也会造成时间上的延迟,所以,按偏差进行比例调

数字PID控制器的MATLAB仿真

数字PID控制器的MATLAB仿真 江苏科技大学 电子信息学院 实验报告 评定成绩指导教师实验课程:计算机控制技术 宋英磊实验名称:数字PID控制器的MATLAB仿真 学号: 1345733203 姓名: 胡文千班级: 13457332 完成日期: 2015年 11 月16日 一、实验目的 (1)掌握用SIMULINK对系统进行仿真的基本方法。 (2)对PID数字控制器进行仿真。 二、实验内容 1、基本的PID控制 在模拟控制系统中,控制器最常用的控制规律是PID控制。模拟PID控制系统原理 框图如图1-1所示。 比例y(t)r(t)+e(t)u(t)微分被控对象 +-积分 图1-1 模拟PID控制系统原理框图 PID控制规律为: t,,1de(t),,u(t),ke(t),e(t)dt,T pD,,,0TdtI,, ,,()1Us,,()1Gs,,k,,Ts或写成传递函数的形式 pD,,E(s)TsI,,

133仿真1 以二阶线性传递函数为被控对象,进行模拟PID控制。输入信号 2s,25s k,60,k,1,k,3,仿真时取,采用ODE45迭代方法,仿真时间 r(t),sin(2,*0.2t)pid 10s。 仿真方法:在Simulink下进行仿真,PID控制由Simulink Extras节点中的PID Controller 提供。 仿真程序:ex1_1.mdl,如图1-2所示。 图1-2 连续系统PID的Simulink仿真程序 将该连续系统的模拟PID控制正弦响应结果截图后至于下面的空白处: 连续系统的模拟PID控制正弦响应如图1-3所示。

图1-3 连续系统的模拟PID控制正弦响应 2、连续系统的数字PID控制仿真 计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此 连续PID控制算法不能直接使用,需要采用离散化方法。在计算机PID控制中,使 用的是数字PID控制器。 按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数 值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID位置式表达式: k,,TTD,,ukkekejekek(),(),(),((),(,1)),p,,TT,0jI,, kekek(),(,1)kekkejTk,(),(),,pidT,0j kpk,,k,kT式中,,e为误差信号(即PID控制器的输入),u为控制信号(即控 制idpDTI 器的输出)。 在仿真过程中,可根据实际情况,对控制器的输出进行限幅。连续系统的数字PID控制 可实现D/A及A/D的功能,符合数字实时控制的真实情况,计算机及DSP的实 时PID控制 都属于这种情况。 1Gs, 仿真2 设被控对象为一个电机模型传递函数,式中J=0.0067,B=0.1。输()2Js,Bs入信号为,采用PID控制,其中。采用ODE45方法求解连 k,20,k,0.50.5sin(2,t)pd续被控对象方程。 2dydyYs()1仿真方法: 因为,所以J,B,u,另Gs,,()22dtdtUsJs,Bs() ,y,y,,12,,则,因此连续对象微分方程函数ex3f.m如下 y1,y,y2,y,, y2,,(B/J)y,(1/J)*u,2, function dy = ex3f(t,y,flag,para)

PID控制算法的matlab仿真

PID 控制算法的matlab 仿真 PID 控制算法就是实际工业控制中应用最为广泛的控制算法,它具有控制器设计简单,控制效果好等优点。PID 控制器参数的设置就是否合适对其控制效果具有很大的影响,在本课程设计中一具有较大惯性时间常数与纯滞后的一阶惯性环节作为被控对象的模型对PID 控制算法进行研究。被控对象的传递函数如下: ()1d s f Ke G s T s τ-= + 其中各参数分别为30,630,60f d K T τ===。MATLAB 仿真框图如图1所示。 图1 2 具体内容及实现功能 2、1 PID 参数整定 PID 控制器的控制参数对其控制效果起着决定性的作用,合理设置控制参数就是取得较好的控制效果的先决条件。常用的PID 参数整定方法有理论整定法与实验整定法两类,其中常用的实验整定法由扩充临界比例度法、试凑法等。在此处选用扩充临界比例度法对PID 进行整定,其过程如下: 1) 选择采样周期 由于被控对象中含有纯滞后,且其滞后时间常数为 60d τ=,故可选择采样周期1s T =。 2) 令积分时间常数i T =∞,微分时间常数0d T =,从小到大调节比例系数K , 使得系统发生等幅震荡,记下此时的比例系数k K 与振荡周期k T 。 3) 选择控制度为 1.05Q =,按下面公式计算各参数:

0.630.490.140.014p k i k d k s k K K T T T T T T ==== 通过仿真可得在1s T =时,0.567,233k k K T ==,故可得: 0.357,114.17,32.62, 3.262p i d s K T T T ==== 0.0053.57 p s i i p d d s K T K T K T K T === = 按此组控制参数得到的系统阶跃响应曲线如图2所示。 01002003004005006007008009001000 0.20.40.60.811.21.41.6 1.8 图2 由响应曲线可知,此时系统虽然稳定,但就是暂态性能较差,超调量过大,且响应曲线不平滑。根据以下原则对控制器参数进行调整以改善系统的暂态过程: 1) 通过减小采样周期,使响应曲线平滑。 2) 减小采样周期后,通过增大积分时间常数来保证系统稳定。 3) 减小比例系数与微分时间常数,以减小系统的超调。 改变控制器参数后得到系统的阶跃响应曲线如图3所示,系统的暂态性能得到明显改善、

基于MATLAB的PID控制器设计说明

基于MATLAB的PID 控制器设计

基于MATLAB的PID 控制器设计 一、PID控制简介 PID控制是最早发展起来的经典控制策略, 是用于过程控制最有效的策略之一。由于其原理简单、技术成,在实际应用中较易于整定, 在工业控制中得到了广泛的应用。它最大的优点是不需了解被控对象精确的数学模型,只需在线根据系统误差及误差的变化率等简单参数, 经过经验进行调节器参数在线整定, 即可取得满意的结果, 具有很大的适应性和灵活性。 积分作用:可以减少稳态误差, 但另一方面也容易导致积分饱和, 使系统的超调量增大。 微分作用:可提高系统的响应速度, 但其对高频干扰特别敏感, 甚至会导致系统失稳。 所以, 正确计算控制器的参数, 有效合理地实现 PID控制器的设计,对于PID 控制器在过程控制中的广泛应用具有重要的理论和现实意义。 在PID控制系统中, PID控制器分别对误差信号e(t)进行比例、积分与微分运算, 其结果的加权和构成系统的控制信号u(t),送给对象模型加以控制。 PID控制器的数学描述为 其传递函数可表示为: 从根本上讲, 设计PID控制器也就是确定其比例系数Kp、积分系数T i 和微分系数T d , 这三个系数取值的不同, 决定了比例、积分和微分作用的强弱。控制系统的整定就是在控制系统的结构已经确定、控制仪表和控制对象等处在正常状态的情况下, 适当选择控制器参数使控制仪表的特性和控制对象的特性相配合, 从而使控制系统的运行达到最佳状态, 取得最好的控制效果。 二、MATLAB的 Ziegler-Nichols算法PID控制器设计。 1、PID控制器的Ziegler-Nichols参数整定 在实际的过程控制系统中, 有大量的对象模型可以近似地由一阶模型 来表示。这个对象模型可以表示为 sL - e sT 1 K G(s) + = 如果不能建立起系统的物理模型, 可通过试验测取对象模型的阶跃响应, 从而得到模型参数。当然, 我们也可在已知对象模型的情况下, 利用MATLAB,通过使用step ( ) 函数得到对象模型的开环阶跃响应曲线。在被控对象的阶跃响应中, 可获取K 、L 和T参数, 也可在MATLAB中由dcgain ( ) 函数求取 K值。

PID自适应控制学习与Matlab仿真

PID自适应控制学习与Matlab仿真 0 引言 在P ID控制中,一个关键的问题便是P I D参数整定。传统的方法是在获取对象数学模型的基础上,根据某一整定原则来确定PID参数。然而实际的工业过程往往难以用简单的一阶或二阶系统来描述,且由于噪声、负载扰动等因素的干扰,还可以引起对象模型参数的变化甚至模型结构的政变。这就要求在P I D 控制中。不仅PID参数的整定不依赖于对象数学模型,而PID参数能在线阐整,以满足实时控制的要求。 1 自适应控制的概念及分类 控制系统在设计和实现中普通存在着不确定性,主要表现在:①系统数学模型与实际系统间总是存在着差别,即所谓系统具有末建模的动态特性;②系统本身结构和参数是未知的或时变的;③作用在系统上的扰动往往是随机的,且不可量测;④系统运行中,控制对象的特性随时间或工作环境改变而变化,且变化规律往往难以事先知晓。 为了解决控制对象参数在大范围变化时,一般反馈控制、一般优控制和采用经典校正方法不能解决的控制问题。参照在日常生活中生物能够遏过自觉调整本身参数改变自己的习性,以适应新的环境特性。为此,提出自适应控制思想。 自适应控制的概念 所谓自适应控制是指对于控制对象的动态信息了解得不够充分对周围环境变化尚掌握不够明确的情况下控制系统对控制器的参数进行积极的自动调节。 自适应控制方法应该做到:在系统远行中,依靠不断采集控制过程信息,确定被控对象的当前实际工作状态,优化性能准则,产生自适应控制规律,从而实时地调整控制器结构或参数,使系统始终自动地工作在最优或次最优的运行状态下。 作为较完善的自适应控制应该具有以下三方面功能: (1)系统本身可以不断地检测和处理理信息,了解系统当前状态。 (2)进行性能准则优化,产生自适应校制规律。 (3)调整可调环节(控制器),使整个系统始终自动运行在最优或次最优工作状态。 自适应控制是现代控制的重要组成部分,它同一般反馈控制相比较有如下突出特点: (1) 一般反馈控制主要适用于确定性对象或事先确知的对象,而自适应控制主要研究不确定对象或事先难以确知的对象。 (2) 一般反馈控制具有强烈抗干扰能力,即它能够消除状态扰动引起的系统误差,而自适应控制因为有辨识对象和在线修改参数的能力,因而能消除状态扰动引起的系统误差,而且还能消除系统结构扰动引起的系统误差。 (3) 一般反馈控制系统的设计必须事先掌握描述系统特性的数学模型及其环境变化状况,而自适应控制系统设计则很少依赖数学模型全部,仅需要较少的验前知识,但必须设计一套自适应算法,因而将更多地依靠计算机技术实现。 (4) 自适应控制是更复杂的反馈控制,它在一般反调控制的基础上增加了自适应控制机构或辨识器,还附加一个可调系统。 自适应控制系统的基本结构与分类 通常,自适应控制系统的基本结构有两种形式,即前馈自适应控制和反馈自适应控制。 1.2.1 前馈自适应控制结构 前馈自适应控制亦称开环自适应控制,它借助对作用于过程信号的测量。并通过自适应机构按照这些测量信号改变控制器的状态,从而达到改变系统特性的目的。没有“内”闭

PID控制算法的matlab仿真.doc

PID 控制算法的 matlab 仿真 PID 控制算法是实际工业控制中应用最为广泛的控制算法,它具有控制器设 计简单,控制效果好等优点。 PID 控制器参数的设置是否合适对其控制效果具有很 大的影响,在本课程设计中一具有较大惯性时间常数和纯滞后的一阶惯性环节作为 被控对象的模型对 PID 控制算法进行研究。被控对象的传递函数如下: G(s) Ke d s 1 T f s 其中各参数分别为 K 30, T f 630, d 60 。MATLAB仿真框图如图1所示。 -K- Kp z 30 -K- (z-1) 630s+1 Step Ki Zero-Order Transport Transfer Fcn Hold Delay Add (z-1) -K- z Kd 图 1 2具体内容及实现功能 2.1 PID 参数整定 PID 控制器的控制参数对其控制效果起着决定性的作用,合理设置控制参 数是取得较好的控制效果的先决条件。常用的 PID 参数整定方法有理论整定法和实 验整定法两类,其中常用的实验整定法由扩充临界比例度法、试凑法等。在此处选用扩充临界比例度法对 PID 进行整定,其过程如下: 1)选择采样周期由于被控对象中含有纯滞后,且其滞后时间常数为 d60 ,故可选择采样周期 T s 1。 2)令积分时间常数T i,微分时间常数T d0 ,从小到大调节比例系数K , 使得系统发生等幅震荡,记下此时的比例系数K k和振荡周期 T k。 1 Out1 3)选择控制度为Q 1.05 ,按下面公式计算各参数:

K p 0.63K k T i 0.49T k T d 0.14T k T s 0.014T k 通过仿真可得在 T s 1时, K k 0.567, T k 233 ,故可得: K p 0.357, T i 114.17, T d 32.62,T s 3.262 K p T s 0.005 K i T i K p T d 3.57 K d T s 按此组控制参数得到的系统阶跃响应曲线如图 2 所示。 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 01002003004005006007008009001000 图 2 由响应曲线可知,此时系统虽然稳定,但是暂态性能较差,超调量过大,且响应曲线不平滑。根据以下原则对控制器参数进行调整以改善系统的暂态过程: 1)通过减小采样周期,使响应曲线平滑。 2)减小采样周期后,通过增大积分时间常数来保证系统稳定。 3)减小比例系数和微分时间常数,以减小系统的超调。 改变控制器参数后得到系统的阶跃响应曲线如图3 所示,系统的暂态性能得到明显改善 .

Matlab仿真PID

建模与仿真 PID 控制器是目前在过程控制中应用最为普遍的控制器,它通常可以采用以下几种形式:比例控制器,0;D I K K ==比例微分控制器,0;I K =比例积分控制器,0; D K =标准控制器。 下面通过一个例子来介绍PID 控制器的设计过程。 假设某弹簧(阻尼系统)如图1所示,1,10/,20/M kg f N s m k N m ==?=。让 我们来设计不同的P 、PD 、PI 、PID 校正装置,构成反馈系统。来比较其优略。 系统需要满足: (1) 较快的上升时间和过渡过程时间; (2) 较小的超调; (3) 无静差。 图1 弹簧阻尼系统 系统的模型可描述如下:

控制系统建模与仿真论文( 2011) ()2()1 ()X s G s F s Ms fs k == ++ (1)、绘制未加入校正装置的系统开环阶跃响应曲线。 根据系统的开环传递函数,程序如下: clear; t=0:0.01:2; num=1; den=[1 10 20]; c=step(num,den,t); plot(t,c); xlabel('Time-Sec'); ylabel('y'); title('Step Response'); grid; 系统的阶跃响应曲线如图2 图2 未加入校正时系统的开环阶跃响应曲线

(2)、加入P 校正装置 我们知道,增加p K 可以降低静态误差,减少上升时间和过渡时间,因此首先选择P 校 正,也就是加入一个比例放大器。此时,系统的闭环传递函数为: 2 ()10(20)p c p K G s s s K =+++ 此时系统的静态误差为 120p p K K - +。所以为了减少静差,可以选择系统的比例增益 为300p K =。这样就可以把静差缩小到0.0625。虽然系统的比例系数越大,静差越小,但是比例系数也不能没有限制地增大,它会受到实际物理条件和放大器实际条件的限制。一般取几十到几百即可。增大比例增益还可以提高系统的快速性。 加入P 校正后,程序如下: clear; t=0:0.01:2; Kp=300; num=[Kp]; den=[1 10 (20+Kp)]; c=step(num,den,t); plot(t,c); xlabel('Time-Sec'); ylabel('y'); title('Step Response'); gird; 加入P 校正后系统的闭环阶跃响应曲线如图3

PID控制算法的matlab仿真

PID控制算法的matlab仿真

PID 控制算法的matlab 仿真 PID 控制算法是实际工业控制中应用最为广泛的控制算法,它具有控制 器设计简单,控制效果好等优点。PID 控制器参数的设置是否合适对其控制效果具有很大的影响,在本课程设计中一具有较大惯性时间常数和纯滞后的一阶惯性环节作为被控对象的模型对PID 控制算法进行研究。被控对象的传递函数如下: ()1d s f Ke G s T s τ-= + 其中各参数分别为30,630,60f d K T τ===。MATLAB 仿真框图如图1所示。 1Out1 Zero-Order Hold Transport Delay 30630s+1Transfer Fcn Step -K-Kp -K-Ki -K-Kd z (z-1) (z-1)z Add 图1 2 具体内容及实现功能 2.1 PID 参数整定 PID 控制器的控制参数对其控制效果起着决定性的作用,合理设置控制 参数是取得较好的控制效果的先决条件。常用的PID 参数整定方法有理论整定法和实验整定法两类,其中常用的实验整定法由扩充临界比例度法、试凑法等。在此处选用扩充临界比例度法对PID 进行整定,其过程如下: 1) 选择采样周期 由于被控对象中含有纯滞后,且其滞后时间常数 为60d τ=,故可选择采样周期1s T =。 2) 令积分时间常数i T =∞,微分时间常数0d T =,从小到大调节比例系数K ,使得系统发生等幅震荡,记下此时的比例系数k K 和振荡周

期k T 。 3) 选择控制度为 1.05Q =,按下面公式计算各参数: 0.630.490.140.014p k i k d k s k K K T T T T T T ==== 通过仿真可得在1s T =时,0.567,233k k K T ==,故可得: 0.357,114.17,32.62, 3.262p i d s K T T T ==== 0.0053.57 p s i i p d d s K T K T K T K T === = 按此组控制参数得到的系统阶跃响应曲线如图2所示。 01002003004005006007008009001000 0.20.40.60.811.21.41.61.8 图2 由响应曲线可知,此时系统虽然稳定,但是暂态性能较差,超调量过大,且响应曲线不平滑。根据以下原则对控制器参数进行调整以改善系统的暂态过

基于MATLAB下的PID控制仿真

基于MATLAB下的PID控制仿真 【摘要】自动化控制的参数的定值控制系统多采用P、I、D的组合控制。本文通过MATLAB软件用于直流伺服电机对单位阶跃信号输入的PID控制进行动态仿真,显示了不同作用组合和不同增益设置时的动态过程,为系统控制规律的选择和参数设定提供了依据。 【关键词】自动化控制仿真直流伺服电机MATLAB PID

【引言】现代自动化控制中,参数的自动控制占有很大的比例,这些控制多采 用P 、I 、D 的组合。通常情况下,对系统的动态过程利用微分方程经拉普拉斯变换导出时间函数,可得到输出量的时间函数,但要得到系统的动态响应曲线,其计算量庞大。因而在一般情况下对控制结果很难得到精确的预见。 矩阵实验室(Matrix laboratory,MATLAB )软件是一个适用于科学计算和工程应用的数学软件系统,历尽20多年的发展,现已是IEEE 组织认可的最优化的科技应用软件。该软件有以下特点:数值运算功能强大;编程环境简单;数据可视化功能强;丰富的程序工具箱;可扩展性能强等。 在本文中以工程控制中常用的直流伺服电机的自动控制为例,演示MATLAB 编程在自动控制系统动态仿真中的应用。 【理论推断】 1.直流伺服电机模型 1.1直流伺服电机的物理模型 图1 直流伺服电机的物理模型 αu ---电枢输入电压(V ) a R ---电枢电阻(Ω) S L ---电枢电感(H ) q u ---感应电动势 (V ) g T ---电机电磁转矩(N m ?) J---转动惯量(2m kg ?) B---粘性阻尼系数(s m N ??) g i ---流过电枢的电流(A ) θ---电机输出的转角(rad ) 本文所采用的直流伺服电机的物理模型和参数如图1所示。 1.2直流电机的数学模型 1.2.1基本方程 根据基尔霍夫定律和牛顿第二定律对图1所示的电机列基本方程: DT D L R i u u i q s +=- ① DT D J T g θ 2= ②

基于MATLAB的数字PID控制器设计及仿真分析资料

基于MATLAB的数字PID控制器设计及仿真分析 摘要 PID控制作为历史最为悠久,生命力最强的控制方式一直在生产过程自动化控制中发挥着巨大的作用。PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛用于过程控制和运动控制中。数字PID控制算法是将模拟PID离散化而得到的,各参数有着明显的物理意义,而且调整方便,所以PID控制器很受工程技术人员的喜爱。 本论文主要实现基于MATLAB的数字PID控制器设计及仿真。首先介绍了传统的模拟PID控制方法,包括比例控制方法、比例积分控制方法、比例积分微分控制方法等。接下来,介绍了数字PID控制。随着时代的发展,科技的进步,传统的模拟PID控制方法不能满足人们的需求,数字PID控制的改进算法也便随之而来。本文最后,应用MATLAB软件,在实验的环境下实现了其设计及仿真。 本次毕业设计用来完成数字PID控制器的设计,并通过MATLAB实现其仿真同时加以分析。通过查阅文献得知,与传统模拟PID控制器相比较,该控制器具有良好的灵活性,而且可得到精确的数学模型。另外,基于MATLAB的数字PID 控制器设计及仿真,充分的利用了MATLAB的实验环境,整个设计验证了数字PID的广泛可实现性及准确性。 关键词:PID控制;模拟PID控制器;数字PID控制器;MATLAB仿真; Design and simulation analysis of Digital PID Controller MATLAB-based Abstract As the most age-old and powerful control mode, PID control always has had a great effect on the automatic control of the production process. PID control is one of the first developed control strategy, because of the

大作业-基于matlab的PID控制算法仿真-深圳大学

基于matlab的PID控制算法仿真 要求: (1)用Matlab的仿真工具Simulink分别做出数字PID控制器的两种算法(位置式和增量式)进行仿真 (2)被控对象为一阶惯性环节D(s) = 1 / (5s+1) (3)采样周期T = 1 s (4)仿真结果:确定PID相关参数,使得系统的输出能够很快的跟随给定值的变化,给出例证,输入输出波形,程序清单及必要的分析。 首先,D(s) = 1 / (5s+1) 建立Simulink模型如下: 准备工作: (1)双击step,将sample time设置为1以符合采样周期T = 1 s 的要求 (2)选定仿真时间为500 图中" Integrator" 为积分器,"Derivative" 为微分器, "Kp" 为比例系数。"T i"为积分时间常数, " Td" 为积分时间常数。 进行P控制器参数整定时,微分器和积分器的输出与系统断开,在Smulink中,吧微分器与积分器的输出连线断开即可。同理,进行PI控制器参数整定的时候,断开微分器的输出连线即可。 第一步是先获取开环系统的单位阶跃响应,在Simulink中,把反馈连线、微分器、积分器的输出连线都断开,并将’Kp’的值置为1,连线如下图

(下载后,图片可调节变大) 仿真运行完毕,双击“scope”得到下图 将Kp的值置为2,并连上反馈连线,得下图: 上图即为P控制时系统的单仲阶跃响应。

接下来对PI控制整定,比例放大系数仍为Kp=2,经多次输入Ti的值,发现Ti=2,即1/Ti=0.5时,系统的输出最理想,如下图 (下载后,图片可调节变大) 选定仿真时间,仿真运行,运行元毕后. 双击" Scope " 得到以下结果 当响应曲线有一定超调量,当由于积分时间太长导致系统响应无法平稳的时候,应该减小积分的时间。反之如果超调量过大,则应该增大积分时间,最后选定 Ti=2. 最后,连上微分器,经多次输入调试,Td的值置为2时,系统能最快地趋向稳定。如下图

PI、PD、PID控制器系统的Matlab仿真及特点分析

自动控制原理课外作业 PI、PD、PID控制器系统的Matlab仿真及特点分析 上海大学机自学院自动化系 电气工程及其自动化专业 姓名:王文涛 学号:12123405 2015年1月13日

PID控制器系统的Matlab仿真及特点分析 姓名:王文涛学号:12123405 摘要:比例、积分、微分控制简称PID(Propotional-Integrate-Differential)控制,它是工业生产过程中最常用的控制算法,在工业生产过程控制中,PID控制占了85%~90%,随着科学技术的发展,特别是计算机的发展,许多先进的PID 控制涌现出来得到了广泛的应用。那么这次我们就用matlab来对带有PID控制器的系统进行仿真来研究分析PID控制器的特点。 关键词:PID控制器;matlab仿真;控制系统 一、概述 PID控制器又称为PID调节器,是按偏差的比例P、积分I、微分进行控制的调节器的简称,它主要针对控制对象来进行参数调节。PID控制分为模拟式PID 控制和数字式PID控制。模拟式PID控制是以模拟的连续控制为基础的,理想的模拟式PID控制算法为: u(t)=K p[e(t)+1 T I ∫e(t)dt+T D de(t) dt 1 ] 式中K p——比例放大系数;T1——积分时间常数;T D——微分时间常数。另外,e(t)=r(t)?y(t)为系统输入和输出在t时刻的偏差值。 理想PID控制器的传递函数为: G(s)=U(s) () =K p[1+ 1 I +T D s] P作用的输出与偏差成比例,成为比例控制作用;I作用的输出与偏差的积分成比例,成为积分控制作用;D作用的输出与偏差的微分成比例,称为微分控制作用。控制流程图为

数字PID控制器的MATLAB仿真

江苏科技大学 电子信息学院 实验报告 实验名称:数字PID控制器的MATLAB仿真 学号:1345733203 姓名:胡文千班级:13457332 完成日期:2015年11 月16日

一、 实验目的 (1)掌握用SIMULINK 对系统进行仿真的基本方法。 (2)对PID 数字控制器进行仿真。 二、 实验内容 1、基本的PID 控制 在模拟控制系统中,控制器最常用的控制规律是PID 控制。模拟PID 控制系统原理 框图如图1-1所示。 图1-1 模拟PID 控制系统原理框图 PID 控制规律为: ??? ? ? ?++=? dt t de T dt t e T t e k t u D t I p )()(1 )()(0 或写成传递函数的形式??? ? ??++== s T s T k s E s U s G D I p 1 1)()()( 仿真1 以二阶线性传递函数 s s 25133 2+为被控对象,进行模拟PID 控制。输入信号 )2.0*2sin()(t t r π=,仿真时取3,1, 60===d i p k k k ,采用ODE45迭代方法,仿真时间 10s 。 仿真方法:在Simulink 下进行仿真,PID 控制由Simulink Extras 节点中的PID Controller 提供。 仿真程序:ex1_1.mdl ,如图1-2所示。 图1-2 连续系统PID 的Simulink 仿真程序

将该连续系统的模拟PID 控制正弦响应结果截图后至于下面的空白处: 连续系统的模拟PID 控制正弦响应如图1-3所示。 图1-3 连续系统的模拟PID 控制正弦响应 2、连续系统的数字PID 控制仿真 计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此连续PID 控制算法不能直接使用,需要采用离散化方法。在计算机PID 控制中,使用的是数字PID 控制器。 按模拟PID 控制算法,以一系列的采样时刻点kT 代表连续时间t ,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID 位置式表达式: ∑∑==--++=???? ? ?--+ +=k j d i p k j D I p T k e k e k T j e k k e k k e k e T T j e T T k e k k u 0 ) 1()()()())1()(()()()( 式中,D p d I p i T k k T k k == ,,e 为误差信号(即PID 控制器的输入) ,u 为控制信号(即控制器的输出)。

PID控制系统的Simulink仿真分析

实验报告 课程名称:MATLAB语言与控制系统仿真 实验项目:fID控制系统的Simulink仿真分析—专业班级:学号: 姓名: 指导教师: 日期: 机械工程实验教学中心

注:1、请实验学生及指导教师实验前做实验仪器设备使用登记; 2 、请各位学生大致按照以下提纲撰写实验报告,可续页; 3 、请指导教师按五分制(优、良、中、及格、不及格)给出报告成绩; 4 、课程结束后,请将该实验报告上交机械工程实验教学中心存档。 、实验目的和任务 1 .掌握PID 控制规律及控制器实现。 2?掌握用Simulink 建立PID 控制器及构建系统模型与仿真方法。 、实验原理和方法 种线性控制器,它根据给定值与实际输出值构成控制偏差。 PID 控制规律写成传递 函数的形式为 K 式中,K P 为比例系数;K i 为积分系数;K d 为微分系数;T i -为积分时间常数; K i K T d 」为微分时间常数;简单来说,PID 控制各校正环节的作用如下: K p (1) 比例环节:成比例地反映控制系统的偏差信号, 偏差一旦产生,控制器立即产 生 控制作用,以减少偏差。 (2) 积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积 分时 间常数T ,T i 越大,积分作用越弱,反之则越强。 (3) 微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大 之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调 在模拟控制系统中,控制器中最常用的控制规律是 PID 控制。PID 控制器是 G(s) E(s) U(s) K p (1 1 T i S T d S) K p Ki s

相关主题
相关文档 最新文档