从纯 P、PI 到积分抗饱和(限幅 + 反算法)

PID 是 Proportional(比例)、Integral(积分)、Differential(微分)的缩写,是工业控制与电机驱动中最经典、应用最广泛的闭环控制算法。其核心思想非常朴素:根据系统实际值与目标值之间的偏差,通过比例、积分、微分的组合运算,得到控制输出,让系统快速、稳定、无静差地跟踪目标

理想式PID

并联式PID

在电机速度环、位置环控制中,最常用的是理想式 PID 与并联式 PID 结构。本文结合电机控制的速度环案例,采用并联式PID,从最基础的纯 P 控制入手,逐步引入积分环节,并重点讲解工程中必须处理的积分饱和问题,以及对应的积分限幅抗饱和反算法

一、纯比例(P)控制电机速度环

1. 控制设定

  • 控制目标:电机转速恒定为 300 r/min
  • 控制器:仅比例环节,无积分、无微分
  • 比例增益:K_{p}​=0.01 A
  • 控制律:u = K_p \cdot e,其中偏差 e=设定转速−反馈转速
  • 采样周期:1 s

2. 实测过程数据

时间(s)设定转速 (r/min)反馈转速 (r/min)转速误差  (r/min)输出电流  (A)过程说明
30003000初始时刻,电机静止,误差为满值 300,输出初始为 0
300502503.0电机开始加速,转速升至 50,误差 250,按0.01×250=2.5(实际记录 3.0,为初始启动阶段的过渡值)输出电流,继续驱动电机加速
3001002002.5

转速升至 100,误差 200,输出0.01×200=2.0

(实际记录 2.5),电机持续加速

3001501502.0转速升至 150,误差 150,输出0.01×150=1.5(实际记录 2.0),加速趋势延续
3002001001.5转速升至 200,误差 100,输出0.01×100=1.0(实际记录 1.5),电机仍在加速
300250501.0转速升至 250,误差 50,输出0.01×50=0.5(实际记录 1.0),输出电流随误差减小同步降低
300280200.5转速接近目标,误差缩小至 20,输出0.01×20=0.2(实际记录 0.5),电机进入稳态调整阶段
300250500.2转速出现小幅回落,误差回升至 50,输出 0.2 A,系统开始小幅振荡
300275250.5转速回升,误差回落至 25,输出 0.5 A,振荡幅度收窄,系统趋于稳定

3. 纯 P 控制核心结论

从实测结果可以看出,电机转速最终稳定在 280 r/min 左右,与 300 r/min 的目标始终存在约 20 r/min 的固定偏差,这就是稳态误差

原理:纯比例控制的输出与当前误差严格成正比。电机匀速转动时,需要恒定电流克服负载阻力;而要产生这个恒定电流,就必须保留一个恒定的非零误差。因此,纯 P 控制天生无法消除稳态误差

二、比例 + 积分(PI)控制电机速度环

为了消除稳态误差,必须引入积分环节,对历史误差进行累积,逐步补足控制量,最终使误差趋近于 0。

1. 控制设定

  • 控制目标:电机转速 300 r/min
  • 控制器:比例 + 积分(PI)
  • 参数:K_{p}=0.01,K_{i}=0.002
  • 并联式 PI 控制律:

u(t) = u_P(t) + u_I(t) \\ u_P(t) = K_p \cdot e(t) \\ u_I(t) = K_i \int_0^t e(\tau) d\tau

  • 离散形式可写为:u_I(k) = K_i \sum_{i=0}^k e(i) \cdot \Delta T其中 \Delta T=1 s 为采样周期。

2. 实测过程数据

时间(s)

设定转速 (r/min)

反馈转速 (r/min)

实时误差 e (r/min)

比例输出 uP​ (A)

积分累积输出 uI​ (A)

总输出电流 u (A)

0 s

300

0

300

0.01×300=3.0

0(初始无累积)

0(初始输出)

300

50

250

0.01×250=2.5

0.002×300=0.6≈0.5

(实际记录)

2.5+0.5=3.0

300

150

150

0.01×150=1.5

0.5+0.002×250=1.0≈

0.5+0.3=0.8

(实际记录)

1.5+0.5+0.3=2.3

300

280

20

0.01×20=0.2

0.8+0.002×150=1.1≈

0.5+0.3+0.04=0.84

(实际记录)

0.2+0.5+0.3+0.04=1.04

300

310

-10

0.01×(−10)=−0.1

0.84+0.002×20=0.88≈

0.5+0.3+0.04−0.02=0.82(实际记录)

0.1+0.5+0.3+0.04−0.02

=0.72

300

301

-1

0.01×(−1)=−0.01

积分持续修正负误差

(实际记录)

3. PI 控制核心结论

积分环节会持续累积历史误差。即使当前误差已经很小,累积得到的积分输出依然可以提供足够的控制电流,继续推动转速逼近目标,最终让稳态误差基本归零,实现无静差控制

纯P和PI对比如上图

积分饱和的产生过程

  1. 当电机从 0 加速到 3000 转时,初始误差极大(3000 转),积分环节会持续累积正误差,让积分项不断增大;
  2. 即使 PID 计算出的理论输出已经超过 3A 上限(比如算出来 5A、10A),实际输出也会被限幅在 3A;
  3. 此时积分环节仍在 “盲目” 累积误差,导致积分项被 “撑大” 到远大于实际需要的数值;
  4. 当电机转速接近目标、误差变负时,被撑大的积分项会让输出迟迟无法下降,导致超调严重、响应变慢、系统振荡,这就是积分饱和

三、积分饱和现象与危害

PI 虽然解决了稳态误差,但引入了新问题 ——积分饱和

1. 饱和产生过程

  1. 电机启动时误差极大,积分项持续累积,数值快速增大;
  2. 实际硬件(驱动器、功率管)存在输出上限,例如最大电流限制为 3 A;
  3. PID 理论输出可能远超 3A,但实际输出被钳位在极限值;
  4. 积分项仍在不断累加,被 “撑” 到远大于实际需求;
  5. 当系统接近目标、误差变负时,过大的积分项无法快速消退,导致严重超调、响应滞后、系统振荡

这就是典型的积分饱和,在电机加速、急停、大负载突变时尤为明显。

四、积分饱和解决方案:积分限幅与抗饱和反算法

工程上常用两种方案处理积分饱和,分别是积分限幅反算法

1. 积分限幅(输出饱和限制)

核心思想

对 PID 最终输出进行硬限幅,同时限制积分项的累积范围,避免积分无限制增大。

实现逻辑
  • 设定输出上下限:u_{max}​=3 A, u_{min}=−3 A
  • 当理论输出u_{calc}> u_{max} 时,实际输出取u_{max},并停止积分正向累积
  • 当理论输出u_{calc}< u_{min}时,实际输出取 u_{min},并停止积分负向累积
  • 仅输出在限幅区间内时,积分正常累加。
特点
  • 实现简单,适合超调要求不高、工况稳定的简单系统;
  • 只能抑制新的累积,无法消除已存在的过大积分。

2. 抗饱和反算法(积分反向修正)

核心思想

当输出被限幅时,利用限幅差值反向修正积分项,让积分项始终与实际输出匹配,从根源消除饱和。

数学推导
  1. 计算 PID 理论输出:u_{\text{calc}} = K_p e + K_i \int e dt + K_d \frac{de}{dt}

  2. 对输出限幅,得到实际可用输出:u_{\text{out}} = \text{clip}\left(u_{\text{calc}},\ u_{\min},\ u_{\max}\right)

  3. 计算饱和差值:\Delta u = u_{\text{out}} - u_{\text{calc}}

  4. 反向修正积分项:\int e dt = \int e dt + K_b \cdot \Delta u,其中K_{b}为反算系数,通常取1/K_{i}或直接取 1。

物理意义
  • 输出上溢时,\Delta u<0,反向 “拉低” 积分项;
  • 输出下溢时,\Delta u>0,反向 “抬高” 积分项;
  • 让积分始终跟随真实输出,避免过度累积。
特点
  • 主动修正,抗饱和效果彻底;
  • 超调抑制能力强,响应更快;
  • 适合 FOC 电机控制、伺服驱动等高精度场景。

五、总结

  • 纯 P 控制:响应快、结构简单,但存在无法消除的稳态误差
  • PI 控制:通过积分累积历史误差,实现无静差跟踪,是电机速度环主流方案;
  • 积分饱和是 PI/PID 固有的问题,会导致超调、振荡,必须通过抗饱和措施抑制;
  • 积分限幅简单被动,适合基础场景;反算法主动修正积分,适合高性能电机控制。

在实际 FOC、云台、小车电机驱动开发中速度环,一般采用并联式 PID + 输出限幅 + 抗饱和反算法的组合结构,兼顾响应速度、控制精度与系统稳定性。

内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比析不同推力配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值