找回密码
 立即注册
查看: 12|回复: 1

白话说明白PID算法原理

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:25
  • 最近打卡:2025-09-18 11:31:57

35

主题

1127

回帖

2705

积分

荣誉版主

积分
2705
发表于 5 小时前 | 显示全部楼层 |阅读模式
白话说明白PID算法原理

(本文力求用简单的白话来说清楚PID算法的原理,其中有很多内容纯属个人理解,如有误,肯请批评指证)

PID控制器是工业控制中最经典、应用广泛的算法之一。它的名字来源于其三个核心组成部分:
P - 差分
I - 积分
D - 微分

一个PID控制的加热系统框图:
截图202509181154428791.jpg

简单来说,PID控制器通过一个反馈回路,不断地计算目标值实际值之间的误差,
然后根据这个误差积分微分三项的组合来计算出控制输出,从而让系统的实际值稳定地达到目标值。

PID算法详解:

1. P - 差分

首先: 误差 = 目标值 - 实际值。  

差分的控制原理:
. 当误差比较大的时候,控制端加大激励输出,使误差快速减小。
. 当误差比较小的时候,控制端减小激励输出,以避免过冲。
由差分的工作原理可知差分值应该是一个与误差成正比的控制量,
它的公式应表达为:
差分量 P = 误差 * Kp ;  
式中,Kp比例系数,是调参时需要设置的一个常数。

只有差分控制时温升曲线如下图:
截图202509181156186254.jpg

差分控制过程定量分析:
起点A, 实际温度很低,误差很大,由于差分量P = 误差 * Kp, 此时调整量很大,也就是输出激励很强,温度迅速上升。
中点B温升已过半,误差值减少,导到输出激励也同比例减弱,温度上升速率变慢,温度上升线表现为斜率逐渐减小的曲线
稳态点C, 当实际温度进一步上升,误差值减小导致调整量P 减小, 当P减小到正好与耗散功率相等时,温度不再上升,
之后一直保持稳定静态,即C点之后是一条与目标温度平行的直线。


Kp比例系数取值大小对温控曲线的影响:
1. Kp取甚小值时,由P = 误差 * Kp 可知,曲线的整体调整能力不足,导致温度上升缓慢。
并且达到稳态时,实际温度与目标温度有较大的差额,图表上表现为C点之后的平行线与目标线之间的间距。
2. Kp取值恰当时,温度上升迅速,并且也能使稳态线接近目标值。
3. Kp取值非常大时,表现为超调,可理解为一点很小的误差可被放大为超大的调整量,
再加上温度测量值本身具有滞后性,结果导至温度上升时会冲过目标值(过冲),
然后反向调整,温度降落时又会冲至目标值以下(下冲),如此反复循环。

不同的KP值对温升曲线的影响如下图:
截图202509181157281917.jpg



2. I -
引言:朋友们应当已经看出来了,单纯的差分控制有一个明显的缺陷,
温度达到稳态后,仍与目标值有一定的差距。如何解决这个缺陷就成了当下的重中之重。
如何才能消除这种静态误差呢,继续在差分上下功夫肯定是不行的了,
因为当实际值越接近目标值时,误差就会越小,也就是差分的作用越小,当误差趋近于0时,差分已经不能起作用了。
所幸的是,积分项横空出世. 积分项的原理是不断的累积误差值作为调整量,
即便是误差值非常小,经过长时间的累积后,仍可具备相当的调整量。


概念:
I - 代表了从开始到现在所有误差的累积和(即误差关于时间的积分)。
= 误差0 + 误差1 +误差2 +........
积分量: I = * Ki
式中,Ki是积分比例系数,是调参时需要设置的一个常数。

积分量的作用消除稳态误差:只要还有误差,积分项就会不断累积,从而增大控制输出,直到误差被消除为止。

引入积分项以后,差分和积分共同作用,
总的激励 = P + I        
式中 P为差分调整量, I为积分调整量

引入积分量后温升曲线的变化如下图:
截图202509181159094894.jpg

温升曲线图过程详解。
1. 起始阶段,差分P最大,差分起主导作用控制温升快速上升。同时积分项也开始累积误差,并逐步参与控制。

2. 经过一段时间后(B点),温度上升导致差分作用被减少,但此时积分项已经累积到一定程度,
在差分和积分的共同作用下,温度仍旧以较快的速度上升。

3. 当第一次实际温度等于目标温度时(曲线与目标温度第一交叉),定点分析:此时差分量=0
积分量为正(因为积分量体现的是之前的状态的累加和),在积分量的作用下,
温度还会继续上升一段时间。
(请注意一个细节,此点可以证明,在加入积分量以后,必然会引起过冲。
过冲可以想办法减小,但理论上不能被消除。后续会讲到如何减小这种过冲)

4. 当温度超过设定温度以后,此时积分器仍在不断的累积误差,
但是,误差值已变更为负值,正的积分值在不断的累积负的误差值从而使总的积分值不断减小,
(此举可理解为误差值正在修正由滞后积分值带来的过冲)
一段时间后,积分值已被修正,温度到了顶点,停止了上升的趋势。

5. 接下来在在负的差分调整作用下,温度缓慢下降直至再次与设定温度交叉,
与此同时,积分器是持续工作的,积分器又累积了一部分负的差分值,
这个积分值会使温度到达设定温度后会继续下降,造成小量下冲,
然后再次上冲如此循环数周期,最后定格在目标温度上。

Ki比例系数取值大小对温控曲线的影响:
1. 较小的积分系数使积分量调整不足,直接的理解是就是需要很长的时间积累才能获取相当的调整量。
对曲线的直观影响是积分调整周期变长了,很长时间系统才能稳定,这显然是我们不想得到的结果。

2. 较大的积分项会使过冲的幅度增大。在实际运用中,总是在这两点中找一个平衡点。



3. D -
建设中。。。。。

4. Kp Ki Kd 调参综合。
建设中。。。。。

5.  PID算法变种
建议中.....
回复

使用道具 举报 送花

3

主题

1967

回帖

782

积分

等待验证会员

积分
782
发表于 5 小时前 | 显示全部楼层
白话说明白PID算法原理

(本文力求用简单的白话来说清楚PID算法的原理,其中有很多内容纯属个人理解,如有误,肯请批评指证)

PID控制器是工业控制中最经典、应用广泛的算法之一。它的名字来源于其三个核心组成部分:

P - 比例(Proportional)  
I - 积分(Integral)  
D - 微分(Derivative)

这三个部分共同作用,帮助系统快速、稳定、准确地达到目标值。下面我们逐一解释它们的作用,以及它们是如何协同工作的。

一、什么是PID控制?

PID控制是一种闭环反馈控制算法,它的目标是让系统的输出值(例如温度、速度、位置等)尽可能接近设定的目标值(设定点,SP)。

举个简单的例子:你正在控制一个加热系统,希望温度保持在100℃。实际温度是80℃,这时候系统需要加热;当温度接近100℃时,加热强度要减小;如果温度超过100℃,甚至需要降温。这个过程就是PID控制器在背后进行调节。

二、三个部分的含义和作用

1. P(比例)——“现在差多少?”

比例项是根据当前误差来调整输出的。

误差 = 设定值 - 实际值

例如,设定温度是100℃,实际温度是80℃,那么误差就是20℃。比例项的输出就是误差乘以一个系数Kp:

P = Kp × 误差

Kp越大,控制器对误差的反应越强烈,系统响应越快,但太大会导致震荡或不稳定。

类比:你开车,看到离目标还有很远,就猛踩油门。

2. I(积分)——“过去累计了多少误差?”

积分项是对历史误差的累积进行响应,它的作用是消除系统的稳态误差(即长期存在但不为零的误差)。

I = Ki × ∫误差 dt

积分项的值会随着时间增长而累积,直到误差为零为止。Ki越大,积分作用越强,但过大会导致超调甚至系统不稳定。

类比:你开车发现一直没到目标,心里着急,越踩越狠。

3. D(微分)——“误差变化有多快?”

微分项是对误差的变化率进行响应,它能预测误差未来的趋势,从而提前做出调整,减少超调和震荡。

D = Kd × d(误差)/dt

Kd越大,系统越“敏感”,能更快地抑制误差的变化,但过大也会引起噪声放大和不稳定。

类比:你看到快到目标了,赶紧松油门,防止冲过头。

三、PID公式总结

PID控制器的最终输出是这三个部分的加权和:

Output = Kp × e(t) + Ki × ∫e(t)dt + Kd × de(t)/dt

其中,e(t)是当前时刻的误差。

四、PID控制器的工作流程

1. 获取设定值(目标值)
2. 读取传感器反馈的实际值
3. 计算当前误差
4. 分别计算P、I、D三部分的贡献
5. 加总得到控制输出
6. 将控制输出作用于执行器(如电机、阀门、加热器等)
7. 重复上述过程,形成闭环控制

五、参数整定(调参)技巧

调PID参数是使用PID控制器的关键步骤。常用的方法有:
试凑法:手动调整Kp、Ki、Kd,观察系统响应,逐步优化。
Ziegler-Nichols法:一种经验整定法,先找到系统震荡的临界增益和周期,再根据公式计算参数。
自动整定:现代控制系统中常采用自整定算法自动优化参数。

一般调参顺序为:先调P,再加入I,最后加入D。

六、应用场景举例

1. 温度控制:如恒温箱、热水器、空调等。
2. 电机转速控制:如电动车、工业电机。
3. 位置控制:如机械臂、无人机、自动门等。
4. 液位控制:如水塔、化工罐体的液位调节。

七、PID的优缺点

优点:
原理清晰,实现简单。
适用于线性系统和部分非线性系统。
能够有效抑制扰动,提高控制精度。

缺点:
对非线性、时变系统效果有限。
参数整定较复杂。
容易受到噪声影响(尤其是D项)。

八、总结

PID控制算法虽然已有百年历史,但它依然在现代控制系统中占据重要地位。它通过比例、积分、微分三个部分的协同作用,实现了对系统误差的精确控制。

理解PID的关键在于:
P是“反应速度”
I是“消除误差”
D是“防止超调”

掌握这三者的平衡,就能让系统既快又稳地达到目标。

希望这篇“白话文”能帮你真正理解PID的原理。如有不准确之处,欢迎批评指正!

[本文内容由国芯人工智能辅助生成,仅供参考]
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-9-18 17:35 , Processed in 0.112423 second(s), 54 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表