|
|
|
|
|
|
|
|
|
| | | | | 贴图很麻烦吧 一个一个贴。。。
如果世纪电源网能够支持直接复制黏贴图片就方便多了@世纪电源网工作人员
|
|
|
|
| | | | | | | 你说的这个情况是个问题,不要说贴图了,编辑也很麻烦,应该需要支持全自动WORD导入格式不变的功能。
|
|
|
| | | | | | | | | 是的,我习惯先写成word,复制进来编辑很麻烦,希望有这功能就好了 @admin
|
|
|
| | | | | ●PID控制器的简介 PID控制器,顾名思义就是将比例-积分-微分组合在一起的控制器,它由比例单元 P、积分单元 I 和微分单元 D 组成。 如图(a)所示,误差信号经过比例(P)、积分(I)和微分(D))处理后构成总的控制量,并用这一控制量对被对象进行控制,这样的控制器称为PID控制器。 ●PID控制器的数学模型与控制规律 第一: 任何控制器都有数学模型,PID控制器也不例外,也有自己的数学模型. 式(a)为PID控制器的微分方程也称PID控制器的控制规律, 表示误差信号e(t)分别在比例环节P + 比例积分环节(PI) + 比例微分环节(pd) 的共同作用下得到了控制信号u(t),其中Kp,Ti ,Td 分别表示比例系数,积分系数,与微分系数。 第二:式(a通过拉普拉斯变换又得到了传递函数 PID控制器的传递函数如式(b) 把KP乘入后,令K1=KP, K2=KP/Ti ,k3=kp*Td,得胡版的PID控制器传递函数
,式B与C是一样的意思,都表示PID控制器的传递函数。 第三:在数字控制中,我们需要的是数字化的PID控制器 这里先把PID控制器的两个基本的分方程 位置型PID控制器算式和增量型PID控制器算式晒出来PID控制算式。 如式(g)和(j)。 这两个公式为啥长这样 ,可以看下一页推导, 这里先把两个公式晒出来,后面会进行推导。 ●PID控制器的数字化与程序设计 为了得到数字的PID控制器,我们需要把模拟的PID控制器进行离散化处理, 这里我们直接应用向后差分法得到PID控制器的差分方程(g)和(j), 推导过程如下:先把公式(a)拿下来,
根据递推原理,可写出(k-1)的PID表达式(h)
用式(g)减去式(h),并令Kp*(T/TI)= kI(积分系数), Kp*(TD/T)= KD(微分系数)得式(i)
有式(i)可知,要计算第K次控制器输出值U(k) ,只需要知道E(K)、E(K-1)、E(k-2)以及U(k-1)四个值即可。 显然式(i)比式(g)要简洁的多。在很多控制器中计算误差值我们只需要计算一个增量值即可。 因此,式(i),又转变了式(j)形式,如下截图。 式(j)就是我们要得到的增量型PID控制算式。 为了便于写程序,我们把控制器增量输出信号变成如下形式: ∆u(t)=比例的误差增量值+积分的误差增量值+微分的误差增量值, 把式(j)做如下改变: 比例的误差增量值 ∆up(t)= Kp[E(k)-E(k-1)] 微分的误差增量值 ∆u d(t)= KD[E(k)-2E(k-1)+E(k-2)] PID控制器总误差增量值 ∆u(t)= ∆up(t)+ ∆uI(t)+ ∆ud(t) 下面只介绍下增量式PID式子的流程图,位置式PID流程图可以自己翻书。 增量式PID程序流程图如下: 图1a的流程图只是把公式(j)增量式PID控制算式,用程序流程图形式来表示,目的也只是入门式的理解增量式PID公式(J), 实际程序不是这样的,可能会考虑积分饱和,上下限,抗干扰,电流/电压等等的相关因素. 图1a增量式PID运算的基本流程图 到此我们把PID控制器的基本公式与原理基本介绍完了,我们从增量式PID控制算式(j)中发现, 整个程序中只求这四个值E(k),E(k-1),E(k-2),u(k-1) ,并且都可以通过测量值与基准值做简单的存储减法运算得到。 但是公式(j)中的还有三个系数即KP,KI,KD我们还不知道,然后在实际的PID控制器中,如何合理的给出这三个值? 是PID控制器设计的难点。并要能根据你目标控制的条件去怎么做相应的改变,这些内容将会在PID控制器的设计方法这一节中介绍。 在介绍PID控制器的设计方法之前, 首先分析下PID控制器(比例P、积分I、微分D单独或配合作用下)的输出响应和控制规律。 这将在下节开始介绍。
|
|
|
| | | | | | | ● PID控制器阶跃响应的分析 下面我们通过matlab仿真实验来观察PID控制器的输出响应,分别观察P、I、D单独作用下,系统会有什么样的输出响应与控制规律。 我们知道PID控制器是通过三个参量kp,TI,TD(比例,积分,微分)的值大小来调节目标控制器的控制特性,为了分析PID调节作用,我们给控制器输入阶跃信号,并对其中三个参量kp,TI,TD分别进行单独变化时对系统响应的分析。 (本文所有matlab程序都是通过验证,可以直接复制到matlab的命令窗口中去运行查看输出结果)
例:单闭环的电机调速系统的PID控制器如图1,有结构图直接写出该控制器的传递函数。
P比例作用分析:比例环节的作用是对偏差瞬间作出反应。偏差一旦产生,控制器立即产生控制作用,使控制量向减少偏差的方向变化。控制作用的强弱取决于比例系数,比例系数越大,控制作用越强,则过渡过程越快,控制过程的静态偏差也就越小;但是越大,也越容易产振荡,破坏系统的稳定性。故而,比例系数选择必须恰当,才能过渡时间少,静差小而又稳定的效果。实验结果表明,当比例KP值加大,闭环系统超调量将加大,系统响应速度加快,当KP值继续加大到>=21时,系统变为不稳定。 Matlab实验程序如下 g1=tf(1,[0.015 1]); g2=tf(1,[0.068 0]);g12=feedback(g1*g2,1); g3=tf(36,[0.0016 1 ]);
g4=tf(1,0.2);g=g12*g3*g4; kp=[1:1:5]; for i=1:length(kp) gc=feedback(kp(i)*g,0.01178); step(gc),hold on end axis([0 ,0.2,0,130]); gtext(‘1 kp=1’), gtext(‘2 kp=2’), gtext(‘3 kp=3’), gtext(‘4 kp=4’), gtext(‘5 kp=5’),
图2单比例P系统响应 比例matlab实验输出结果:如图2 不同的KP值,从1变到5,系统输出5条阶跃响应曲线,明显KP越大响应速度越快,但是超调量也加大,当KP值继续加大,加到21以上,系统将出现振荡。
I积分作用分析:积分环节的调节作用虽然会消除静态误差,但也会降低系统的响应速度,增加系统的超调量。积分常数越大,积分的积累作用越弱,这时系统在过渡时不会产生振荡;但是增大积分常数会减慢静态误差的消除过程,消除偏差所需的时间也较长,但可以减少超调量,提高系统的稳定性。当Ti较小时,则积分的作用较强,这时系统过渡时间中有可能产生振荡,不过消除偏差所需的时间较短。所以必须根据实际控制的具体要求来确定Ti。 为了便于分析Ti的作用,我们在程序中给予比例值KP=1,积分值给予Ti=0.03~0.07. 即为PI控制器,因KP=1,所以实验主要观察积分值变化引起的系统响应的影响。 Matlab实验程序如下 g1=tf(1,[0.015 1]); g2=tf(1,[0.068 0]);g12=feedback(g1*g2,1); g3=tf(36,[0.0016 1 ]); g4=tf(1,0.2);g=g12*g3*g4; kp=1; %前面部分程序照抄,从这开始稍作修改, ti=[0.03:0.01:0.07]; %Ti从0.03~0.07,步进值0.1. for i=1:length(ti) %把比例KP改成Ti gc=tf(kp*[ti(i) 1], [ti(i) 0]); gcc=feedback(g*gc,0.01178); step(gcc),hold on end gtext(‘1 Ti=0.01’),gtext(‘2 Ti=0.02’), gtext(‘3 Ti=0.03’),gtext(‘4 Ti=0.04’), 图3 PI作用下的系统响应 PI的实验结果:加入积分后的控制器,即有P变成PI,系统的响应输出固然温柔些了,首先超调明显降低,随着Ti值的加大,超调也逐渐减小, 但系统响应变慢了。 D微分作用分析:实际的控制系统除了希望消除静态误差外,还要求加快调节过程。在偏差出现的瞬间,或在偏差变化的瞬间,不但要对偏差量做出立即响应(比例环节的作用),而且要根据偏差的变化趋势预先给出适当的纠正,为了实现这一作用,可在PI控制器的基础上加入微分环节,形成PID控制器。微分环节的作用使阻止偏差的变化,它是根据偏差的变化趋势(变化速度)进行控制。偏差变化的越快,微分控制器的输出就越大,并能在偏差值变大之前进行修正。另微分作用的引入,将有助于减小超调量,克服振荡,使系统趋于稳定,特别对髙阶系统非常有利,它加快了系统的跟踪速度。但微分的作用对输入信号的噪声很敏感,对那些噪声较大的系统一般不加入微分,或在微分起作用之前先对输入信号进行滤波。实验例程为了弱化P与I值的作用,两个值均设置为0.01,即KP=0.01,Ti =0.01。而微分值给予Td=15,45,95.三个参数,因KP=0.01, Ti =0.01,所以实际主要观察微分值变化引起的系统响应差异的影响。 g1=tf(1,[0.015 1]); g2=tf(1,[0.068 0]); g12=feedback(g1*g2,1); g3=tf(36,[0.0016 1 ]); g4=tf(1,0.2); g=g12*g3*g4; kp=0.01; ti=0.01; td=[15:40:95]; for i=1:length(td) gc=tf(kp*[ti*td(i) ti 1], [ti 0]); gcc=feedback(g*gc,0.01178); step(gcc),hold on end gtext('1 td=15'), gtext('2 td=45'), gtext('3td=95'),
有图4相比其它两条当KD=15时候算想相对合理,但是还是有些过冲,所以TD值有作了修改从6~18实验。如图5,从超调与响应速度来看,显然TD=6~8是最完美的,几乎是没有过冲,但这也只是理论单微分作用下(弱比例,积分)的系统响应结果,只是说明了TD值大小与系统输出响应的关系。 到此单比例P,积分I,微分D在系统作用下的响应输出的实验全部做完,为此我做了以一下总结。 比例P:单比例作用下的分析,实验结果表明,比例KP值加大,闭环系统超调量加大,系统响应速度加快, 当KP值继续加大到>=21时,系统变为不稳定。 积分I: 比例积分作用下的分析,积分值Ti加大,闭环系统超调量变小,系统系统响应稍微变慢。 微分D:比例微分作用下的分析,微分值TD越加大,闭环系统超调量变大,由于单闭环调速系统的参数的特殊性, 在微分环节作用下,响应曲线起始阶段出现尖的波峰,之后曲线呈现衰减震荡。 随着TD加大可见震荡周期也会加长,继而响应速度也变慢.
|
|
|
| | | | | | | | | ●PID控制器的校正设计的方法(PID系数的设定) 主流的校正方法有以下几种: 1动态特性参数ziegler-nichols法 2一般数学模型拟合成带延迟的惯性环节(略) 3 cohen-coon整定公式的PID校正设计 4最优控制(误差积分指标最优)的PID校正设计 5稳定边界法的PID校正设计 6 试凑法 7临界比例法 8经验法 1、动态特性参数法(ziegler-nichols整定公式)的PID校正设计 对于被控对象为带延迟的一阶惯性环节的系统,即传函为 的系统, 可以采用一组经验公式来计算,这种PID控制器的参数值确定方法就叫Z-N法。 *********************************************************************** 动态特性参数(ziegler-Nichols)的PID校正设计 以传递函数为一个带延迟的惯性环节的系统为例子 g(s)=(8/360s+1)e^-180s 然而用Z-N整定公式计算P,PI,PID校正器的参数,并进行阶跃给定响应的仿真 *********************************************************************** Ziegler_Nichos整定公式 kp Ti Td p T/k*tau Pi 0.9*T/k*tau 3.3*tau Pid 1.2*T/k*tau 2.2*tau 0.5*tau *********************************************************************** clear K=8;T=360;tau=180; n1=[K]; d1=[T 1]; G1=tf(n1,d1); [np,dp]=pade(tau,2); Gp=tf(np,dp); [Gc1,Kp1]=zpid(1,[K,T,tau]) [Gc2,Kp2,Ti2]=zpid(2,[K,T,tau]) [Gc3,Kp3,Ti3,Td3]=zpid(3,[K,T,tau]) Gcc1=feedback(G1*Gc1,Gp); set(Gcc1,'td',tau); step(Gcc1);hold on Gcc2=feedback(G1*Gc2,Gp); set(Gcc2,'Td',tau);step(Gcc2); Gcc3=feedback(G1*Gc3,gp); set(Gcc3,'Td',tau);step(Gcc3); gtext('1 p control '), gtext('2 pi control '), gtext('3 p control ') ********************************************************************************* Zpid.m 函数,调用格式[Gc,kp,Ti,Td]=zpid(pid,vars) ,PID=1,为P;PID=2,为PI,PID=3,为PID调节参数 ********************************************************************************* function [Gc,Kp,Ti,Td]=zpid(pid ,vars) K=vars(1);T=vars(2);tau=vars(3); Kp=[];Ti=[];Td=[]; if PID==1, kp=t/(k*tau); elseif pid==2, kp=0.9*t/(k*tau); ti=3.33*tau; elseif pid==3, kp=1.2*t/(k*tau); ti=2*tau;td=tau/2; end switch pid case 1,gc=kp case 2,gc=tf([kp*ti kp],[ti 0]) case 3,nn=[kp*ti*td kp*ti kp]; dd=[ti 0]; gc=tf(nn,dd) **********************************************************************************
有图6 Z-N的P,PI,PID阶跃响应曲线可见, 第一:P与PI的两者响应速度几乎相同,应两者的KP值不同,所以幅值有不同, 另有图可见PI的超调量比P要小的多。 第二:PID的响应速度比P与PID都要快,但是PID超调量比P与PI都要大。 第三:程序运行后分别得到(P.PI.PID的)三个传递函数,从曲线看来PID最好了。
图6 Ziegler_Nichos的P PI PID控制阶跃响应曲线
2、一般数学模型拟合成带延迟的惯性环节(略) 3、 cohen-coon整定公式的PID校正设计 cohen-coon整定公式与传统的ziegler-nichols整定公式类似,但需要知道系统被拟合成带延时惯性环节的 参数K,T与t,就可以根据表一给出的计算公式算出数据,并直接设计出PID校正器。 4 最优控制(误差积分指标最优)的PID校正设计 先复习下稳态误差的概念,什么是稳态误差呢? 稳定误差: 一般指的是一个系统的控制精度度量,说这概念前,先说说什么是误差, 误差: 一般定义期望值与实际值差异。 比如e(t)=r(t)-b(t), e(t)为误差,r(t)为输入值,b(t)为输出值。 稳态误差:是指误差信号e(t)的稳态值,一般包含瞬态分量ets(t)与稳态分量ess(t)。 瞬态分量会随着时间趋向∞ 而变零,而稳态分量会趋向于某一个值,所以时间t趋向无穷大时,剩下的只是稳态分量了。 因此控制系统的稳定误差就是误差信号e(t)的稳态分量ess( ∞),主要一点就是只有在系统稳定情况下研究稳态误差才有意义。 数学表示为 关于稳态误差计算参考《自动控制理论》。 在生产过程控制技术里稳态误差也可以叫余差,或系统偏差。 需要特别关注的是系统偏差的积分性能指标。 随着系统偏差幅值的增大或者时间的延长都会使偏差的积分的值变大,控制过程当然希望此积分值越小越好。 系统偏差积分性能指标是以目标函数表示的,常用有以下几种形式。
然后用误差最优积分的三个特例形式(b)(IAE)、(c)(ISE)、(d)(ITAE),以积分值最小为准则, 可计算PID校正器整定参数的最优值,最优控制的Matlab程序这不再写出来了,有兴趣可以自己去尝试下。 最终用最优控制(误差积分指标最优)得到PID参数的系统matlab实验结果分别是: (I) 单比例P,在单比例情况下有三个不同终了值,IAE最小,ISE最大,ITAE中间值,其中IAE与IATE响应速度与超调值差不多,ISE响应速度最快,但超调量也最大。 (I I) PI 三个终了值一致,IAE与IATE曲线接近重合,响应速度与超调差不多,IAE稍微大点, ISE响应速度最快,超调最大 (III) PID,三个终了值一致,响应速度依次是ISE、IAE、ITAE;超调量也同样是这个顺序,ISE最大。 5 稳定边界法的PID校正设计 稳定边界法,是基于系统的稳定性理论,这个对于不懂控制理论的可能看的是一头雾水, 而对于懂控制理论同学则看起来很爽,个人感觉这个比上面几个用起来要简单要舒服(:。 先来记一下控制理论根轨迹位置与系统稳定性的规则。 (1) 系统闭环特征根(闭环极点)在复平面虚轴左侧时,(即S左半平面)闭环系统稳定. (2) 系统闭环特征根有纯虚根时,系统根轨迹与虚轴相交,其响应为等幅震荡。 (3) 只要有一个闭环极点在复平面虚轴右侧时,(即S右平面)闭环系统不稳定. 设计方法:当置PID调节器的Ti=∞ ,Td=0时,增加Kp值直至系统开始震荡,此时系统闭环极点应在复平面的是jω虚轴上,先确定此点(即系统闭环根轨迹与复平面jω虚轴的焦点),并求出此交点的震荡角频率ωM与系统增益kM,接下来可以参考表2算出kp,Ti,Td系数。
|
|
|
| | | | | | | | | | | 下面通过一个实际例子,来了解下稳定边界法的参数校正方法。 例 已知串级控制系统如图7,其主,副控对象与副调节器传递函数分别为 求出GC1(s)=P_PI_PID校正参数,即用稳定边界法计算出GC1(s)控制器P_PI_PID校正参数向该补偿后的控制器输入阶跃信号并求出系统输出响应的仿真,系统框图,如图7。
图7 串级过程控制系统的结构 例程:稳定边界法的PID校正MATLAB程序 *********************************************************************** 稳定边界法的PID校正设计 使用稳定边界法计算主控制器GC1作为P,PI,PID校正时的参数 并进行阶跃响应的仿真测试。 *********************************************************************** g1=tf (1,[30 1]); g2=tf (1,[3 1]); g3=tf (1,[10 1]); g4=tf (10,[1 2 1]); g=g1*g2*g3*g4;p=4; [gc1,kp1]=wj1(1,g,p) [gc2,kp2,ti2]=wj1(2,g,p) [gc3,kp3,ti3,td3]=wj1(3,g,p) gcc1=feedback(g*gc1,1);step(gcc1);hold on gcc2=feedback(g*gc2,1);step(gcc2); gcc3=feedback(g*gc3,1);step(gcc3); gtext('1 p control'),gtext('2 pi control'), gtext('3 pid control') *********************************************************************** wj1.m函数 *********************************************************************** wj1.m函数,调用格式[gc,kp,ti,td]=wj1(pid,g,p) PID=1,为P;PID=2,为PI,PID=3,为PID调节参数 输入参量:G为已知被校正的系统开环传递函数,P为系统的开环几点的个数(不计重根数) 输出参量:Gc校正器传递函数KP,Ti,TD分别为校正器的比例系数,积分时间常数,微分时间常数 ***************************************************************************** function[gc,kp,ti,td]=wj1(pid,g,p) rlocus(g); [km,pole]=rlocfind(g); keyboard wm=imag(pole(p)); if pid==1, kp=0.5*km; elseif pid==2, kp=0.445*km; ti=0.85*2*pi/wm; elseif pid==3, kp=0.6*km; ti=0.5*2*pi/wm; td=0.125*2*pi/wm; end switch pid case 1,gc=kp; case 2,gc=tf(); case 3,nn=[kp*ti*td kp*ti kp ]; dd=[ti 0];gc=tf(nn,dd); end 图8 ********************************************************************************* 程序就绪后,你需要按照下面几步算出P,PIPID的各系数,按回车后.命令窗口如图8. 第一步:命令窗图8 中跳出一句提示“Select a point in the graphics window”,让你在刚跳出的图形窗口, 如图9.用鼠标左键选一个点,这个点选择要求是在轨迹图与虚轴相交的地方. 第二步: 点击图行窗口如图9产生了两个虚轴与跟轨迹相交的十字点, 并同时在命令窗口已经算出了KM值还可以看到提示符K,如图10。 第三步:在提示符K后输入命令return命令窗口如图10算出P校正器的GC1=KP1=0.4018/ 第四步:继续重复第一步与第三步(两次),分别求出PI校正器和PID校正器的系数。 第五步:最终matlab得出个校正器校正系数如下: P校正器: Gc1=Kp1=0.4018; PI校正器: Gc2= (14.81s+0.4306)/34.39s; Kp2=0.4306; Ti2=34.3862 PID校正器: Gc3= (59.38s^2+11.74s+0.5805)/20.23s; Kp3=0.5805; Ti3=20.2272; Td3=5.0568; 图10命令窗口输出P比例控制器传递函数 Gc1=Kp1=0.4018
图11输出PI控制器GC2传函和PI控制器KP2比例系数和TI2微分系数
图12输出PID控制器GC3传函和PID控制器KP3、Ti3、Td3比例
到此稳定边界法的PID校正设计的Matlab实验全部完成。 从图13稳定边界法计算的P,PI,PID校正阶跃给定响应曲线所示,P和PI上升速度差不多,但PID校正器最快,控制性能也最好, PI与PID超调量都较大,PI开始产生振荡,注意在光标选择虚轴与轨迹交点时候,尽量使极点实部接近0,就刚刚我在点PI与PID时候点都不是很靠近零,所以输出不是很理想。 6 临界比例法 在闭环控制系统里,将调节器置于纯比例作用下,从小到大逐渐改变调节器的比例系数,得到等幅振荡的过渡过程。此时的比例系数称为临界比例系数Ku,相邻两个波峰间的时间间隔,称为临界振荡周期Tu。 临界比例度法步骤: 1 将调节器的积分时间Ti置于最大(Ti=∞),微分时间置零(Td=0),比例系数KP适当,平衡操作一段时间,把系统投入自动运行。 2 将比例系数Kp逐渐增大,得到等幅振荡过程,记下临界比例系数Ku和临界振荡周期Tu值。 3 根据Ku和Tu值,采用经验公式,计算出调节器各个参数,即Kp、Ti和Td的值。 按“先P再I最后D”的操作程序将调节器整定参数调到计算值上。若还不够满意, 可再作进一步调整。 4 临界比例度法整定注意事项: 有的过程控制系统,临界比例系数很大,使系统接近两式控制,调节阀不是全关就是全开, 对控制很不利。 有的过程控制系统,当调节器比例系数Kp调到最大刻度值时,系统仍不产生等幅振荡,对此,就把最大刻度的比例度作为临界比例度Ku进行调节器参数整定。 7试凑法与经验法 其实这两种方法都可以叫经验法,只是有些书似乎分开说,先说说试凑法, 按照先比例(P)、再积分(I)、最后微分(D)的顺序. 置调节器积分时间Ti=∞,微分时间Td=0,在比例系数Kp按经验设置的初值条件下,让系统投入运行,由小到大整定比例系数KP。求得满意的1/4衰减度过渡过程曲线。引入积分作用(此时应将上述比例系数KP设置为5/6KP)。将Ti由大到小进行整定。若需引入微分作用时,则将Td按经验值或按Td=(1/3~1/4)Ti设置,并由小到大加入。 用凑试法确定PID参数需要经过多次反复的实验,为了减少凑试次数,提高工作效率,可以借鉴他人的经验,并根据一定的要求,事先作少量的实验,以得到若干基准参数,然后按照经验公式,用这些基准参数导出PID控制参数,这就是经验法。 临界比例法就是一种经验法。这种方法首先将控制器选为纯比例控制器,并形成闭环,改变比例系数,使系统对阶跃输入的响应达到临界状态,这时记下比例系数Ku、临界振荡周期为Tu,根据Z-N提供的经验公式,就可以由这两个基准参数得到不同类型控制器的参数,如表2-1所示。
这种临界比例法是针对模拟PID控制器,对于数字PID控制器,只要采样周期取的较小,原则上也同样使用。在电动机的控制中,可以先采用临界比例法,然后在采用临界比例法求得结果的基础上,用凑试法进一步完善。 表2的控制参数,实际上是按衰减度为1/4时得到的。通常认为1/4的衰减度能兼顾到稳定性和快速性。如果要求更大的衰减,则必须用凑试法对参数作进一步的调整。
|
|
|
| | | | | | | | | | | | | ●PID控制器采样周期的选择 香农(Shannon)采样定律:为不失真地复现信号的变化,采样频率至少应大于或等于连续信号最高频率分量的二倍。根据采样定律可以确定采样周期的上限值。实际采样周期的选择还要受到多方面因素的影响,不同的系统采样周期应根据具体情况来选择。 采样周期的选择,通常按照过程特性与干扰大小适当来选取采样周期:即对于响应快、(如流量、压力)波动大、易受干扰的过程,应选取较短的采样周期;反之,当过程响应慢(如温度、成份)、滞后大时,可选取较长的采样周期。 采样周期的选取应与PID参数的整定进行综合考虑,采样周期应远小于过程的扰动信号的周期,在执行器的响应速度比较慢时,过小的采样周期将失去意义,因此可适当选大一点;在计算机运算速度允许的条件下,采样周期短,则控制品质好;当过程的纯滞后时间较长时,一般选取采样周期为纯滞后时间的1/4~1/8。
●PID 参数调整规则的总结 主要有以下几点: 1、 在偏差比较大时:为使尽快消除偏差,提高响应速度,同时为了避免系统响应出现超调,Kp取大值,Ki取零;在偏差比较小时:为继续减小偏差,并防止超调过大、产生振荡、稳定性变坏,Kp值要减小,Ki取小值;在偏差很小时:为消除静差,克服超调,使系统尽快稳定,KP值继续减小, ki值不变或稍取大。 2、当偏差与偏差变化率同号时,被控量是朝偏离既定值方向变化。因此,当被控量接近定值时,反号的比列作用阻碍积分作用,避免积分超调及随之而来的振荡,有利于控制;而当被控量远未接近各定值并向定值变化时,则由于这两项反向,将会减慢控制过程。在偏差比较大时,偏差变化率与偏差异号时,Kp值取零或负值,以加快控制的动态过程。Kp 3、偏差变化率的大小表明偏差变化的速率,ek-ek-1越大,Kp取值越小,Ki取值越大,反之亦然。 同时,要结合偏差大小来考虑 4、微分作用可改善系统的动态特性,阻止偏差的变化,有助于减小超调量,消除振荡,缩短调节时间ts,允许加大Kp,使系统稳态误差减小,提高控制精度,达到满意的控制效果。所以,在ek比较大时,Kd取零,实际为PI控制;在ek比较小时,Kd取一正值,实行PID控制。 ●PID控制器的实际例程分析(C语言暂略有空补上,或各位网友自行也可以补上去一起讨论分析)
|
|
|
|
|
|
|
| | | | | | | | | | | 程序有错误,出不来,用高版本的需要把set(Gcc2,'Td',tau);...
set(Gcc3,'Td',tau);这里面的Td改成ioDelay即正确
|
|
|
|
| | | | | | | | | 哪处的D不是微分?或者说应该叫什么?请你直接指出来,你用的着这么激动吗? |
|
|
|
|
| | | | | | | 我PID表示什么,没说清?还是你另有新概念?你来说说?PID表示什么?
|
|
|
|
|
| | | | | | | 技术探讨,请保持互相学习帮助尊敬的交流,为更多工程师带来更好的学习环境,谢谢大家的配合。有问题可以在帖子中提出建议和修改建议。
|
|
|
| | | | | | | 我PID搞不清,你这位“大师”,来表达一个清楚的点,让大伙看看OK?
请问什么是PID表示什么?
|
|
|
|
|
|
| | | | | | | | | | | | | | | 你好好说话我会禁止你发言吗? 挑选,侮辱,诋毁?混淆视听这些事你都干了吧? 首先是你一年书白看了,PID控制器的概念十分混乱,误导他人,后面是脸色蜡黄,懦夫..... 你这是来讨论技术的嘛? 知道我为什么这么反感你吗? 因为你这张贱嘴我去年就领教过,结果非很大劲,让我帮你解释S代表是复数域,而不单纯只有频率的含义。 说真的,你这种人我真不想跟你有任何交集。 跟你扯到最后就是撕B,你有那么多时间,我没有OK. 说你人品有问题是没有冤枉你。你跟几个版主撕B的事我也没有冤枉你。
|
|
|
|
| | | | | | | 非要计较这个叫法嘛 ,大家来看帖子看的是内在用法,不管是比例积分微分,还是比例求原函数求导函数,并不纠结具体怎么叫呀,为的是用到具体工程上能解决实际问题啊 |
|
|
|
|
| | | | | | | 文中部分描述基本上就是错误的?基本上,那是大部分是错误了?还是部分是错误?你不觉得你这句话有毛病吗?到底是哪句话是错的,你可以直接指出来。请你不要阴阳怪气的说话,好好说人话,更不要无中生有,恶意攻击OK?
我在去年奈奎斯特帖子,跟你说的还不够清楚吗?你怎么不长记性?捣乱?你这样恶意攻击别人,有意思吗?
我看你这辈子都学不会了,如何尊重人?你这完全瞎胡闹,瞎捣乱,不过真的,请你离我远一点。
|
|
|
| | | | | | | 可以将正确的放上来 一起交流,学习,大家一起验证就好了,谢谢。
|
|
|
| | | | | 21电源社区希望给大家营造一个良好的交流平台,希望大家要相亲相爱和谐共处,能和谐友好地讨论技术哦~~ |
|
|
|
|
|
|
|
|
|
| | | | | | | | | | | | | | | | | 不知管理员屏蔽本人的发言为何?难道仅仅为了和谐?这种基本概念很有问题的帖子对网友会产生误导。论坛有辩论难道很可怕吗?有辩论很正常,看看老美的总统竞选,两党或者总统候选人争论得死区活来不是很好吗?有争论才能辨别是非,一味和谐适得其反。
|
|
|
| | | | | | | | | | | | | | | | | | | 以下内容请管理员高抬贵手不要轻易给河蟹。这也是对网友的负责,帖子内容正确与否供网友参考,有异议可商讨,学术上的问题没有谁一贯正确,各人有不同理解,有异议、有争论、 辩明是非论坛才有意义,否则论什么谈什么?
针对本帖的一些主要问题做一些探讨,次要问题就搁置不谈了。
1 )PID控制器的“D” 表述什么意思?(此问题已被管理员河蟹掉一次,不知为何?再次提出供大家参考)
PID = A Proportional–Integral–Derivative controller。
Term D is a best estimate of the future trend of the SP − PV error, based on its current rate of change
见: https://en.wikipedia.org/wiki/PID_controller
注意黑体字,D = Derivative,而 Derivative = 导数,是变化率,并非微分,我们的教科书均称 D = 微分,一直没有明白,请高手指点。
导数和微分既有联系又有区别,导数为变化率,而微分为变化量。导数和微分的区别如下表所示。
待续。。。
|
|
|
| | | | | | | | | | | | | | | | | | | | | 嗯嗯 这个我们非常支持,希望大家都可以参与讨论 。总结出好的办法,新的方法给更多工程师 参考学习。
|
|
|
| | | | | | | | | | | | | | | | | | | | | 帖子没有被屏蔽,管理员功德无量。
继续正题。
上一楼的的微分和导数的比较可能会一下子看不明白,没关系,不看也罢,只需记住导数是变化率,微分是变化量即可。
以 s= vt 为例,
s = 距离, v = 速率,t = 时间
于是 ds = v*dt
知道了变化率就可预测多少时间后变化量为多少。这就是 “D” 的作用。
PID是否可以用于非线性系统或多输入多输出系统呢呢?答案是否定的。
我们先看一下专家是怎么说的(注意黑体字):
2.1.1. PID Control
In this section a short abstract about the widely used PID control structure is provided. This control structure is a linear dynamical systems and has several problems with delayed or nonlinear plants。
见文献高亮部分:
PID.pdf
(51.25 KB, 下载次数: 23)
It has been realized that classical PIDcontrollers are effective for linear systems but not suitable fornonlinear and complex systems
见文献高亮部分
Review Classical and Fuzzy PID.pdf
(306.41 KB, 下载次数: 9)
以下资料有兴趣的可下载学习(英文):
Chapter 10 PID Control.pdf
(245.64 KB, 下载次数: 13)
楼主说的什么神经网络PID可以用于非线性系统是怎么一回事呢?简单讲这是虚张声势,楼主根本就没有搞明白。
待续。。。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | 专家都说啦PID控制器只适合线性系统不适合非线性系统,PID控制器只适合单输入单输出不适合多输入多输出系统。其实用得着专家说吗?不用吧,PID的表达式清清楚楚的说明这是线性控制系统(变量的幂=1),由于其增益(Kp,Ki,Kd)为常数决定了不能控制非线性系统。如果非线性信号进入会怎么样呢, 被控对象饱和。
神经网络PID
名字听起来很吓人的,其实这种称呼是不太合适的,PID还是PID,与神经没有任何关系。
由于PID是线性控制器,而现实中有许多非线性系统,怎么办呢?办法之一就是量非线性信号进行一番调理,然后送到PID控制器中,所谓神经网络PID正是这样一种调理器。
如图是神经元
将神经元组成神经网络
神经网络对非线性信号进行一番调理进行线性化然后送到PID控制器中,于是就有了所谓的神经网络PID。神经网络PID对就本人及绝大部分人来说没有任何意义,一辈子都用不上,不必浪费时间研究。
星星还是那颗星星,月亮还是那个月亮。
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | 好的,抽空另开一贴交流,还有些无厘头的问题就不在这里展开了。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | 讨论可以,阐述自己意见也可以但也应该尊重楼主成果。 |
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | 哪里有看到没有尊重楼主的成果?你所指的楼主的成果是什么成果?能否举例说明? |
|
|
|
|
|
|
|
|
| | | | | | | 那个老哥可以把PID控制的相轨迹贴上去?这个一目了然
|
|
|
|
|
|