PID算法三个参数的控制作用

发布时间:2023-09-14  

看起来PID高大尚,先被别人唬住,后被公式唬住,由于大多数人高数一点都不会或者遗忘,所以再一看公式,简直吓死。


直接从网上找了PID相关公式截图如下。

24b75982-e307-11ed-ab56-dac502259ad0.png

了解了很浅的原理后,结果公式看不懂,不懂含义,所以最终没有透彻。我这里先对公式进行剖析,公式理解明白了,结合网上的一些PID讲述的例子,就明白了。


先对PID这三个系数的含义进行简单扫盲。同时也防止自己遗忘。P是比例系数,I是积分系数、D是微分系数。


下面对PID这三个系数进行详细说明:演示PID三个参数的控制作用。


▎比例系数P

比例系数P是干什么用,其实如果现在你是初中生的话,你一下子就懂了,比例系数就是用在穿过(0,0)这个坐标点直线的放大倍数k,k越大,直线的斜率越大,所以是用在y = k * x中的,其中的k就是比例系数p,大家都简称为kp,所以就变成了y = Kp * x。

x就是当前值currentValue和目标值totalValue的差值,简称误差err,则err = currentValue - totalValue。y就是执行器对应的输出值U,所以执行器对应的输出值U = Kp * ( currentValue - totalValue ) 。


所以,如果说是使用比例进行调节。

则当前第1次调节时执行器对应的输出值为:

U1 = Kp * ( curentValue1 - totalValue1 )

第2次调节时执行器对应的输出值为:

U2 = Kp * ( currentValue2 - totalValue2 )

这就是比例系数P的应用,也就是大家说的比例调节。比例调节就是根据当前的值与目标值的差值,乘以了一个Kp的系数,来得到一个输出值,这输出值直接影响了下次当前值的变化。如果只有比例调节的话,系统会震荡的比较厉害。比如你的汽车现在运行的速度是60km/h,现在你想通过你的执行器去控制这个汽车达到恒定的50km/h,如果你只用kp进行比例调节话。U = Kp * ( 60 - 50 ),假设Kp取值为1,此时得到U执行器的输出值是10,结果当你执行器输出后,发现汽车一下变成了35Km/h,此时U2 = Kp * (35 - 50),此时得到U执行器的输出值是-15,结果当你执行器输出后,发现汽车变成了55Km/h,由于惯性和不可预知的误差因素,你的汽车始终无法达到恒定的50km/h。始终在晃动,相信如果你在车上,你一定吐的很厉害。所以光有比例系数进行调节,在有些场合是没有办法将系统调稳定的。所以可以为了减缓震荡的厉害,则会结合使用比例P和微分D。


▎微分系数D

微分,实际上是对误差进行微分。加入误差1是err(1)。误差2是err(2)。则误差err的微分是 (err2 - err1)。乘上微分系数D,大家叫做KD,则当执行器第1次调节后有了第1次的误差,第2次调节后有了第2次的误差,则结合P系数。就有了PD结合,根据每次调节时,误差的值的经验推算,你就能选取出D的系数。假如误差是越来越小的,那么微分后肯定是一个负值。负值在乘以了一个D系数 加上了比例调节的值后肯定值要比单纯使用比例调节的值要小,所以就启到了阻尼的作用。有了阻尼的作用就会使得系统区域稳定。

PD结合的公式经过上面的分析后为:

U(t) = Kp * err(t) + Kd * derr(t)/dt


▎积分系数I

积分,实际上是对误差的积分,也就是误差的无限和。如何理解积分系数I,这里引用网上的例子

以热水为例。假如有个人把我们的加热装置带到了非常冷的地方,开始烧水了。需要烧到50℃。

在P的作用下,水温慢慢升高。直到升高到45℃时,他发现了一个不好的事情:天气太冷,水散热的速度,和P控制的加热的速度相等了。

这可怎么办?

P兄这样想:我和目标已经很近了,只需要轻轻加热就可以了。

D兄这样想:加热和散热相等,温度没有波动,我好像不用调整什么。

于是,水温永远地停留在45℃,永远到不了50℃。

根据常识,我们知道,应该进一步增加加热的功率。可是增加多少该如何计算呢?
前辈科学家们想到的方法是真的巧妙。

设置一个积分量。只要偏差存在,就不断地对偏差进行积分(累加),并反应在调节力度上。

这样一来,即使45℃和50℃相差不太大,但是随着时间的推移,只要没达到目标温度,这个积分量就不断增加。系统就会慢慢意识到:还没有到达目标温度,该增加功率啦!

到了目标温度后,假设温度没有波动,积分值就不会再变动。这时,加热功率仍然等于散热功率。但是,温度是稳稳的50℃。

kI的值越大,积分时乘的系数就越大,积分效果越明显。

所以,I的作用就是,减小静态情况下的误差,让受控物理量尽可能接近目标值。

I在使用时还有个问题:需要设定积分限制。防止在刚开始加热时,就把积分量积得太大,难以控制。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    一文详解无传感器PMSM 马达FOC控制算法详解;      PMSM应用 高效率和高可靠性 设计用于高性能伺服应用 可实现有1无位置编码器的运行方式 比ACIM体积更小、效率更高、重量更轻 采用......
    讲明白讲透彻。 谐波算法详解(附实验数据) 各位Fluke 430系列产品的福粉们发现了吗?福禄克公司十年磨一剑,推出的新一代电能质量分析仪Fluke 1770系列,仪器界面新给出了一个谐波算法......
    机器视觉边缘检测算法详解;边缘检测相关算法的步骤如下: 1、滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要......
    三极管放大电路参数计算方法详解; 有时候去面试,偶尔会遇到一些考官喜欢考一些基础性的知识,其中三极管放大电路参数计算,是他们津津乐道的题目。在实际设计中,很少......
    可以推荐一下网上一个非常不错的教程《SVPWM的原理及法则推导和控制算法详解第五修改版》,本文将如何实现SVPWM进行简单的介绍。 IQMATH TI的片子很香,控制方面,TI无疑是做的最好的方案之一,相对......
    算法,自动通过输出的作用使过程反馈值跟随给定值变化,并保持稳定。这是一个自动的闭环控制系统。现场操作人员可以根据现场工艺的要求,改变设定值的值。 PID 控制......
    到Vα和Vβ之后,需要通过SVPWM算法计算Va,Vb,Vc,关于SVPWM算法,网上有篇文章讲解的非常好,叫做《SVPWM的原理及法则推导和控制算法详解》,详细的内容可以去看这篇文章,下面......
    详细图文剖析STM32单片机串口一键下载电路与操作方法;在此介绍STM32单片机串口一键下载电路与操作方法详解。 STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户......
    使用STM32定时器测量程序执行时间的方法详解;1.1 背景 在单片机的固件开发过程中,有的时候需要评估固件代码的执行性能,会对部分关键程序代码的执行时间进行测量。通常......
    到Vα和Vβ之后,需要通过SVPWM算法计算Va,Vb,Vc,关于SVPWM算法,网上有篇文章讲解的非常好,叫做《SVPWM的原理及法则推导和控制算法详解》,详细的内容可以去看这篇文章,下面......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>