PID(比例-积分-微分)学习记录
2026/9/2 21:08:40 网站建设 项目流程

前言:PID是自动控制领域应用最广泛的控制算法。

1.PID基本了解

PID算法通过比例、积分和微分三种环节的组合可有效地纠正被控制对象的偏差,从而使其达到一个稳定的状态。几乎所有带“恒温”、“恒速”、“恒压”功能,都要用到。

2.比例控制 Kp(当下)

一旦误差(目标值-反馈值)出现,就产生控制作用以减小偏差。输出u(t)与误差e(t)成正比,能迅速反映偏差,从而减小偏差,但不能消除稳态误差。比例系数Kp越小,控制作用越小,系统响应越慢;反之,比例系数Kp越大,控制作用也越强,则系统响应越快。但是,Kp过大会使系统产生较大的超调和振荡,导致系统的稳定性能变差。

后面我产生了疑问。为什么Kp的取值能大于1,目标值-实际值=误差值。Kp大于1,Kp*误差值+实际值不是直接超过目标值了吗?

以下是deepseek解释

核心误解目标值 ≠ 输出值
你潜意识里把 “PID计算出的输出值” 当成了 “物理世界里的目标值”。
• 你的误解:误差=5°C,Kp=10,输出=50°C。这不就冲过头了吗?
• 工程的真相:误差的单位是°C,但PID输出的单位是“控制量”,比如 “加热功率的百分比(%)”、“阀门的开度(%)”或“PWM占空比”。
举个例子:
假设你要把一个100°C的锅炉加热到200°C(目标值)。
当前温度是150°C,那么误差 = 200 - 150 = 50°C。
• 如果我的 Kp = 10,那么 Kp × 误差 = 500。
• 这时候,这个“500”并不是代表“我要加热到500°C”,而是代表:“我要把加热功率开到 500% ?”

物理极限的“限幅”与“归一化”
在实际工程代码中,输出值(Output)是有物理上限的。
• 如果输出代表PWM占空比,范围是 0 ~ 100%(或者0~255的数字)。
• 如果输出代表阀门开度,范围也是 0 ~ 100%。
当你计算出 Kp × 误差 = 500,而最大输出只能是 100 时,控制器会直接把输出强制限制在 100%(这叫输出限幅)。
所以,Kp的作用并不是“直接给出最终结果”,而是“决定响应速度的力度”:
• 如果 Kp=0.5,误差50°C,输出=25%(火开四分之一,升温慢)。
• 如果 Kp=10,误差50°C,计算值=500,输出被限幅到100%(火力全开!升温极快)。
• 当温度升到199°C时,误差=1°C,Kp=10 输出=10%(火开十分之一,小火维持)。
你会发现,Kp 大于1,只是为了用高增益把误差“放大”到控制信号的物理满量程,而不是把误差放大到目标值。

3.积分控制Ki(过去)

用来消除稳态误差,把过去所有误差积累起来。只要误差没消除,积分项就不断累加,直到把误差彻底归零。Ki越大,消除静态误差越快,但容易超调,积分饱和,使系统超过设定值,产生振荡。Ki越小,消除静态误差越慢,但系统更稳定,震荡小。

4.微分控制Kd(未来)

微分是误差对时间的变化率,也就是误差变化快慢。微分不看误差本身大小,看误差涨得快还是跌得快,做预判刹车。Kd越大,有效抑制超调,削弱振荡,但对噪音敏感。Kd越小受噪音干扰小,输出平滑,但抑制效果差。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询