
嵌入式开发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 算法简单但强大,是嵌入式工程师的必备技能。多实践才能掌握参数整定的技巧。
