网友提问:
PID控制原理是什么?
优质回答:
PID是一种控制算法,它的中文名称是比例积分微分控制。
这种控制的基本思路是根据偏差的大小运用比例、积分、微分计算出一个控制量,将这个控制量输入被控制的系统,系统接收到该输入量后会输出一个相应的输出量,PID控制器再检测该输出量,并再计算偏差,然后再循环以上过程,以下就是控制框图。这里P,I,D并不是都要加上去的,有时只用P或者只用PI。
上面的描述对初学者可能比较不好理解,下面用一个例子在结合上面的控制框图做一下说明,可能会对理解有帮助。
这个例子的场景是: 你在用煤气灶烧一壶水,但是让人蛋疼的不是让你把水烧开,而是要你把水加热到50度,并一直保持在50度。这个场景中给你配了温度计,你能看到水温是多少度。你可以控制的只有煤气灶的阀门开度,从而控制火的大小,并且每隔一定的时间——如一分钟——调一次阀门开度。
结合上面的控制框图,把水温控制在50度,即框图中的设定值Set point value就是50度;通过温度计测到的水温就是被控系统的输出,即图中的y(t);Set point value-y(t)就是偏差e(t);你的大脑现在就是PID控制器;你调节的煤气灶阀门开度就是被控系统的输入量,即u(t);调节阀门开度的间隔为控制器的采样时间;
比例控制作用
刚开始是你发现水温接近0度,这时我想你会把阀门开到最大,以便快速的升温,当水温慢慢接近50度,阀门的开度也响应的慢慢关小,当水温达到50度或以上时就把火关了。当火关了后水温可能就很快又降下来,然后你又打开煤气灶,如此反复操作,水温在50度上下波动。如果操作的间隔过大,温度的波动就哎,好累啊,这就是比例控制的作用。
微分控制作用
上面的控制法中,你发现虽然水温可以控制在50度附近,但是温度在50度上下波动。为了不让温度超过50度太多,即不要超调太多,你可能会考虑关注水温的上升斜率,如果升温上升的太快,你可能会相应的调小阀门开度,让火稍小一点,这样处理的结果可能是水温超过50度不是很多,但相应的水温上升时间变长了。这个就是微分控制的作用。
积分控制作用
有时有通过以上两种控制后可能会出现水温已经稳定了,但精度不是很高,比如稳定在49度或者52度。积分控制的作用是提高控制,积分控制的输出与偏差的累积和有关,当水温稳定为50后偏差为零时,积分控制的输出是一个常数,而比例控制和微分控制的输出为零。
这些就是我对PID控制的理解
口口木的笔记 2019-5-19
其他网友回答
PID控制器由比例调节、积分调节、微分调节三部分组成。比例调节根据偏差的大小调节输出,积分调节根据偏差进行积分累计来调节输出,微分调节根据偏差的微分来调节输出。PI控制器的表达式为:u(t) = Kp*e(t) + Ki*∫e(t) dt+Kd*de(t)/dt
对于一个控制系统,我们期望的响应结果是稳(系统稳定不震荡不发散)、快(系统响应快速)、准(系统静态误差小)。对PID控制器的调节结果评价也是如此。
比例系数Kp:
三个参数中的绝对主力,不可或缺。Kp增大可以加快系统响应,减小静差,但系统超调量会加大,稳定性变差。比例控制是一种立即控制,只要有偏差,就立即输出控制量。大部分系统只需要P控制即可实现基本的稳快准需求。
积分系数Ki:
三个参数中的一般主力,用于消除静差、Ki减小可以降低超调量,使系统的稳定性增强。积分控制是一种修复控制,只要有偏差,就会逐渐去往消除偏差的方向去控制。
微分系数Kd:
三个参数中的预备人员,一般不用,在反馈量噪声比较大时可能会使系统震荡。Kd增大可以加快系统响应,减小超调量,适用于迟滞系统或无阻尼系统。微分控制是一种提前控制,以偏差的变化率为基准进行控制。
基本调试方法:先比例(从中间到两边)、后积分(从0到大)、再微分(从0到大)。
下面将以电机的转速PID控制为例,进行仿真调试,来具体理解这个调试过程。
PID控制器模型
基于上面的公式,PID控制器Simulink模型可表示为下图:
直流电机模型
我们需要一个被控对象模型,这里选择一个12V直流电机作为被控对象。直流电机的数学表达式为:
U=I*R+Ke*φ*w+L*dI/dt
Te=Kt*φ*I
Te-TL=J*dw/dt+B*w
基于上述表达式,直流电机的Simulink模型可表示为下图所示:
仿真调试
把以上的控制器模型和直流电机模型组合起来,一个通过PI控制器控制电机转速的仿真模型可表示如下(目标转速1000rpm):
电机参数设置如下:
准备工作完成,开始调试。
第一步:先比例,从中间到两边。
其实可以先定量计算中间值取多少。
把电机稳定控制在1000rpm(104.7rad/s)±50rpm所对应的电机扭矩:
Te=W*B+TL=104.7*0.01+1=2.047 Nm
电机电流:
I=Te/Kt/φ=2.047/0.9529/0.1=21.482A
电机电压:
U=I*R+Ke*φ*w=21.482*0.1+0.1*0.1*104.7=3.1952V
比例系数Kp:
Kp=U/e=3.1952/50=0.0639
用Kp=0.0639,Ki=0,Kd=0,仿真结果如下图,稳态偏差刚好50rpm左右,符合期望。
以Kp=0.06为中间,向两边缩小或放大3倍左右观察。所以我们分别给定Kp=0.02、0.06、0.2,看看仿真结果如下图:kp为0.02时,虽然稳态误差较大,但是超调量较小,响应速度不慢,综合效果最好。kp太大时超调量偏大且响应速度也没有明显提高。所以Kp暂定为0.02左右(如果系统不太在意超调量大小,Kp取0.06也可,这个取决于你对控制系统的要求,即对稳、快、准的需求有优先级)。
第二步:后积分,从0到大。
我们取Ki=0、0.006、0.02、0.06,仿真观察。随着Ki的增大,系统达到稳定时间越来越短,所以我们可以暂定Ki=0.06。
第三步,再微分,从0到大。
我们取Kd=0、0.0001、0.001、0.01,仿真观察。随着Kd的增大,系统稳定性先变好再变差,Kd为0.001时效果最好,所以我们定Kd=0.001。
到这里,三个参数都有了,分别是Kp=0.02,Ki=0.06,Kd=0.001,系统响应曲线如下图,感觉还可以。
但是,实际的反馈信号往往有噪声,微分控制有失稳的风险,所以用微分时一定要慎重。
一般实际工程控制中,微分控制使用确实较少。假如我们不能加微分调节,还有没有其他办法能让响应曲线更好呢?答案肯定是有的,先介绍其中一种。
把目标转速1000rpm进行一个低通滤波后,再给到PID控制器,选取Kp=0.005,Ki=0.015(参数调试过程同上),仿真结果如下图,响应虽不及PID控制快速,但是与PI控制器相比,超调量大大减小,稳定性有所提高。
以上,就是个人对PI控制参数调节的部分经验,下次可以接着继续聊。
欢迎关注微信公众号”新能源汽车控制”,了解更多内容。
以上就是小编关于【PID控制原理是什么?】的分享,希望对你有用。