PID 控制算法通俗讲解
嵌入式开发2026-01-2510 分钟智辉

PID 控制算法通俗讲解


前言


PID 是工业控制中最经典的算法。本文将用通俗易懂的方式讲解 PID 控制原理。

PID 是什么


PID = Proportional(比例)+ Integral(积分)+ Derivative(微分)

#

生活例子


想象你在调节淋浴水温:

- P(比例):水温低了就开大热水,水温高了就关小
- I(积分):如果一直偏冷,就慢慢再开大一点
- D(微分):如果水温变化很快,就提前调节

数学公式


``
output = Kp×error + Ki×∫error dt + Kd×d(error)/dt
`

- Kp:比例系数,决定响应速度
- Ki:积分系数,消除稳态误差
- Kd:微分系数,抑制超调

代码实现


`c
typedef struct {
float Kp, Ki, Kd;
float integral;
float last_error;
} PID_TypeDef;

float PID_Calculate(PID_TypeDef *pid, float error, float dt) {
// 比例项
float p = pid->Kp * error;

// 积分项
pid->integral += error * dt;
float i = pid->Ki * pid->integral;

// 微分项
float d = pid->Kd * (error - pid->last_error) / dt;
pid->last_error = error;

return p + i + d;
}
``

参数整定


#

试凑法


1. 只加 P,调到有振荡
2. 加 D 抑制振荡
3. 加 I 消除静差

#

Ziegler-Nichols 法


更系统的整定方法,适合要求高的场合。

实际应用


#

1. 温度控制


PID 可以精确控制加热功率,保持恒温。

#

2. 电机调速


通过 PID 控制 PWM 占空比,实现精确调速。

#

3. 平衡小车


PID 是平衡小车的核心算法,保持车身直立。

总结


PID 算法简单但强大,是嵌入式工程师的必备技能。多实践才能掌握参数整定的技巧。

声明:本文为个人原创技术笔记,仅供学习和交流使用,非商业用途。如需转载或引用,请注明出处。