核心原理与输出差异:它们“是什么”?

在自动控制领域,PID(比例-积分-微分)控制器因其结构简单、性能优越而广受欢迎。根据其输出方式的不同,PID控制器主要分为两种基本形式:位置式PID和增量式PID。理解它们的根本区别,是正确选择和应用的关键。

位置式PID的本质与输出

位置式PID控制器直接计算并输出控制系统的执行机构的“绝对位置”或“绝对值”。它的输出量通常是控制阀门的开度、电机转速的设定值、加热功率的大小等,是与被控量直接对应的、具体的物理量。

其离散化计算公式通常表示为:

U(k) = Kp * e(k) + Ki * Σe(i) + Kd * [e(k) - e(k-1)]

  • U(k):第k次采样时刻的控制器输出,代表当前时刻的控制量。
  • e(k):第k次采样时刻的误差,即设定值与实际测量值之差。
  • Σe(i):从控制器开始工作到第k次采样时刻所有误差的累加和(积分项)。
  • e(k-1):第k-1次采样时刻的误差。
  • KpKiKd:分别为比例、积分、微分系数。

核心特征: 位置式PID的输出U(k)直接是控制量本身,它的值与过去所有的误差累积密切相关。这意味着,如果控制器在某个时刻停止工作或重新启动,其输出会立即跳转到根据当前误差和历史积分计算出的绝对值,这可能导致执行机构的突然大幅度动作。

增量式PID的本质与输出

与位置式PID不同,增量式PID控制器计算并输出的不是控制量的绝对值,而是控制量在本次采样周期内的“增量”或“变化量”。每次输出的这个增量值,需要叠加到上一次的控制量上,才能得到当前的实际控制量。

其离散化计算公式通常表示为:

ΔU(k) = U(k) - U(k-1)

ΔU(k) = Kp * [e(k) - e(k-1)] + Ki * e(k) + Kd * [e(k) - 2e(k-1) + e(k-2)]

实际控制量:U(k) = U(k-1) + ΔU(k)

  • ΔU(k):第k次采样时刻的控制器输出增量,代表本次需要增加或减少的控制量。
  • U(k-1):第k-1次采样时刻的实际控制量。
  • e(k)e(k-1)e(k-2):分别为当前、上一时刻、上上一时刻的误差。
  • KpKiKd:分别为比例、积分、微分系数。

核心特征: 增量式PID的输出是控制量的变化量。这意味着,即使控制器出现故障或复位,其输出增量会立即归零(假设误差稳定),而实际控制量则会保持在上一个有效值,直到下一个有效增量被计算并叠加。这种特性使得系统在异常情况下的行为更加平稳,对执行机构的冲击更小。

设计哲学与选择考量:我们“为什么”选择它们?

选择位置式PID还是增量式PID,往往取决于系统的具体需求、安全考量以及对鲁棒性的要求。

积分饱和问题与解决策略

积分饱和是PID控制中一个常见的问题,尤其当被控量长时间偏离设定值,导致积分项持续累积,使控制器输出超出执行机构的物理限制时。当系统恢复正常后,由于积分项的“超量”累积,会导致执行机构长时间保持在最大或最小输出,产生较大的超调或长时间的震荡。

  • 位置式PID: 由于其输出U(k)直接包含积分项Σe(i),当发生积分饱和时,Σe(i)会累积到一个很大的值。即使误差变为零,积分项的巨大值仍然会导致输出处于限制状态,需要较长时间才能“放空”积分项,才能使控制量回到有效范围内。因此,位置式PID通常需要额外的“抗积分饱和”策略,如输出限幅、积分分离、限幅积分等,来约束积分项的累积。
  • 增量式PID: 增量式PID在一定程度上天然地具有抗积分饱和的优势。它的输出ΔU(k)是控制量的变化量,积分项Ki * e(k)只与当前误差有关,而不是所有历史误差的累积。当控制量达到执行机构的极限值并被限幅时,如果误差仍然存在,计算出的ΔU(k)仍然会被叠加,但由于实际输出被限制,理论上计算出的U(k)可能会继续“虚增”。然而,一旦误差符号反向,ΔU(k)会立即变为负值,使得实际控制量迅速脱离限幅区,响应速度更快,超调更小。这使得增量式PID在处理积分饱和时通常更为简便,或至少其影响更易于管理。

控制器故障与复位的影响

系统在运行过程中,控制器可能因各种原因(如电源瞬断、软件故障、重新上电等)导致复位或停止工作。此时,两种PID的表现差异显著。

  • 位置式PID: 当控制器复位后,由于没有历史误差的积累(积分项清零),其输出U(k)会突然跳到一个完全由当前误差决定的新值。如果复位时误差较大,这可能导致执行机构发生剧烈的、不可预测的跳动,对设备造成冲击甚至损坏。在一些对安全性要求高的系统中,这种瞬间的剧烈变化是不可接受的。
  • 增量式PID: 当控制器复位后,其输出增量ΔU(k)会立即从零开始计算,而实际的控制量U(k)则会保持在复位前的最后有效值(或者被设定为初始值)。新的输出增量会叠加在旧的控制量上,使得控制量的变化是渐进的。即使复位,只要新的误差不导致巨大的增量,执行机构的动作也会是平稳的,不会出现跳变,安全性更高。这使得增量式PID在需要高可靠性和安全性的场合更受青睐。

稳态精度与动态响应的权衡

两种PID的数学模型本质上是等效的,因此在理想情况下,它们都能达到相同的稳态精度和动态响应。然而,在实际离散化实现和参数整定中,其特性可能会略有不同。

  • 参数整定: 对于位置式PID,其参数直接影响控制量的绝对值。对于增量式PID,参数影响的是控制量的变化率。有时,工程师会觉得增量式PID的参数调整更加直观,因为它可以直接观察每次控制量的“微调”效果。但这并非绝对,更多取决于工程师的经验和习惯。
  • 数字实现误差: 在数字系统中,由于浮点数精度和采样周期的限制,两种形式的PID都可能存在累计误差。但增量式PID每次计算的是增量,避免了对历史积分值的直接依赖,某种程度上降低了误差累积对最终控制量绝对值的直接影响。

典型应用场景:“在哪里”应用它们?

理解了两种PID的特性,我们就能更好地判断它们各自最适合的“用武之地”。

位置式PID的典型应用

位置式PID更适合那些控制量需要有明确的绝对参考点,且对启动、复位时的冲击有较强承受能力或有其他安全保障机制的系统。它在以下领域应用广泛:

  • 恒温控制系统: 如空调、电炉的温度控制。控制器的输出是加热器功率或阀门开度,这些量是绝对的。即使控制器重启,温度也不会瞬间失控。
  • 简单的速度或流量控制: 如水泵的转速控制、流量阀门的开度控制。控制器的输出直接对应速度或流量的设定值。
  • 电机位置控制(某些情况): 当电机需要精确停留在某个绝对位置时,位置式PID可以直接输出目标位置或与位置误差对应的电压/电流。
  • 过程控制(Setpoint Tracking): 大多数传统工业过程控制系统,例如压力、液位控制,其控制输出通常需要一个明确的物理值。

增量式PID的典型应用

增量式PID因其输出的平稳性和对控制器异常的鲁棒性,更适合那些对系统启动、复位时的冲击敏感,或控制执行机构不允许突然跳变的系统

  • 机器人关节控制: 机器人关节电机需要平稳、精确的动作,任何突然的跳变都可能导致机械损坏或人身安全问题。增量式PID可以确保每次控制量变化是渐进的。
  • 阀门位置控制(特别是大型阀门): 大型水阀、气阀或液压阀门的突然全开或全关可能对管道系统造成巨大冲击。增量式PID每次只发出小幅度的开度调整指令,确保平稳过渡。
  • 变频器调速: 变频器驱动电机时,如果速度设定值突然变化过大,可能导致电机电流过冲或机械应力。增量式PID输出的频率增量可以实现平滑调速。
  • 对控制器安全性要求高的场合: 如航空航天、医疗设备等,任何控制器的意外复位或停机都不能引起系统剧烈震荡,增量式PID能提供更好的故障容错性。
  • 步进电机控制: 步进电机本身就是根据脉冲数(增量)来转动固定角度的,增量式PID天然契合其工作原理。

实现细节与注意事项:“如何”进行实现与选择?

在实际工程中,无论是位置式还是增量式PID,都需要进行离散化处理并在数字控制器中实现。正确的实现方式和参数整定至关重要。

离散化实现

数字控制器通过周期性采样和计算来实现PID算法。离散化是关键一步,它将连续时间域的PID方程转换为可在数字处理器上执行的差分方程。

  • 位置式PID的离散化:
    • 比例项:Kp * e(k)
    • 积分项:Ki * T * Σe(i) (其中T是采样周期,Σe(i)表示从零开始的误差累积)
    • 微分项:Kd / T * [e(k) - e(k-1)]

    需要存储上一次的误差e(k-1)和积分项的历史累积值Σe(i)

  • 增量式PID的离散化:
    • 比例项:Kp * [e(k) - e(k-1)]
    • 积分项:Ki * T * e(k)
    • 微分项:Kd / T * [e(k) - 2e(k-1) + e(k-2)]

    需要存储前两次的误差e(k-1)e(k-2)。实际控制量U(k)是上一次控制量U(k-1)与本次增量ΔU(k)的累加。

计算量: 两种PID在每个采样周期内的基本算术运算次数相近。位置式PID需要累积积分项,而增量式PID需要额外存储前两次的误差。从纯粹的计算资源角度看,差异微乎其微。

抗积分饱和的实现差异

有效的抗积分饱和策略对位置式PID尤为重要。

  • 位置式PID的抗饱和: 最常用的方法是“限幅积分法”或“积分分离法”。
    • 限幅积分: 当控制器输出U(k)达到限幅边界时,积分项停止累积。当U(k)从限幅边界返回时,积分项重新开始累积。
    • 积分分离: 在误差e(k)较大时(例如刚启动或受到较大扰动时),积分项不投入或权重降低,只由比例项和微分项起作用;当误差e(k)减小到一定范围后,再引入积分项以消除静差。
  • 增量式PID的抗饱和: 增量式PID由于其输出是变化量,对积分饱和的应对更为直接。当最终控制量U(k)被限幅时,下次计算的ΔU(k)仍然会被累加到逻辑上的U(k-1)上,但实际输出被钳制。一旦误差反向,ΔU(k)的符号也会反向,很快就能使逻辑上的U(k)脱离饱和区,从而使得实际输出也能迅速调整。通常情况下,对增量式PID只需对最终的累加结果U(k)进行限幅即可。

输出限制与安全考量

无论哪种PID,最终的控制器输出都需要符合执行机构的物理限制。

  • 位置式PID:U(k)进行直接限幅。例如,如果输出是0-100%的阀门开度,那么计算出的U(k)必须被限制在这个范围之内。
  • 增量式PID: 首先对ΔU(k)进行限幅,以防止单次变化过大。然后,将ΔU(k)累加到U(k-1)得到U(k),再对U(k)进行总体的限幅。这种双重限幅可以更好地保证输出的平稳性与安全性。

如何进行参数整定

PID参数整定是控制系统优化的核心环节,无论是位置式还是增量式,其本质都是调整P、I、D三个系数以达到期望的控制效果。

  • 整定方法:
    • 试凑法: 经验丰富的工程师通过反复试验调整参数。通常先调P,再调I,最后调D。
    • Ziegler-Nichols(Z-N)法: 理论与实践结合的经典方法,通过临界比例度法或响应曲线法获得初始参数。
    • 软件仿真与优化: 使用MATLAB/Simulink等工具建立系统模型,通过仿真和优化算法自动寻找最优参数。
  • 差异点: 虽然参数整定方法通用,但由于输出的物理含义不同,调试增量式PID时,KpKiKd对控制量“变化率”的影响可能更为直观。例如,增大增量式PID的Kp会使控制量变化得更快,而不是像位置式PID那样直接增大控制量的绝对值。这使得一些工程师在调试时更容易把握调整方向。

总结与选择指南:“怎么”进行选择?

位置式PID和增量式PID并非孰优孰劣的绝对关系,而是各有侧重,适用于不同的工况和安全要求。

  1. 考虑安全性与平稳性: 如果系统对启动、复位、控制器故障时的行为平稳性要求极高,不允许执行机构出现任何跳变或冲击,那么增量式PID是更优的选择。例如,机器人、精密机械、大型阀门等。
  2. 考虑抗积分饱和: 如果系统容易出现长时间误差,导致控制器输出饱和,并且希望减少抗饱和策略的复杂性,增量式PID由于其“天然”的抗饱和特性,可能会实现起来更简单有效。
  3. 考虑控制量的物理意义: 如果控制器输出的直接物理意义就是执行机构的绝对位置、绝对功率或绝对速度,并且系统的稳健性可以承受控制器复位时的瞬态跳变,那么位置式PID可能更直观,也更符合工程师的常规思维。例如,简单的加热、冷却系统。
  4. 考虑实现复杂度: 在现代微控制器上,两种PID的计算复杂度差异不大。增量式PID需要额外存储前一次和前两次误差,而位置式PID需要累积积分项。两者所需的存储和计算资源都相对较小。
  5. 通用性: 大部分情况下,如果不是对安全性有极高要求,位置式PID配合完善的抗积分饱和策略,也能实现非常好的控制效果。但在一些高风险或高精度场景,增量式PID的固有优势使其更具吸引力。

最终,选择哪种PID形式,需要综合考虑被控对象的特性、控制目标、系统对鲁棒性和安全性的要求、以及工程师的经验和偏好。

增量式pid和位置式pid的区别