一、电流环PI控制基础

1.1 什么是电流环?

电流环,说白了就是伺服系统最内层的控制环路。它的任务很简单——让电机实际电流快速、准确地跟随你给定的目标电流。

我刚开始接触伺服系统时,总觉得电流环不就是个电流反馈嘛,有什么难的?后来踩了坑才明白,电流环是整个伺服系统的"地基"。地基不稳,上面的速度环、位置环全是空中楼阁。

来看一个典型的电流环结构:

电流环控制结构框图 i* (给定) Σ + PI控制器 Kp + Ki/s PWM逆变器 Udc → Ua,Ub,Uc 永磁同步电机 PMSM 电流采样 ADC/霍尔 电流反馈 ifb 核心思想:给定电流 i* 与反馈电流 ifb 比较 → 误差送入 PI 调节器 → 输出控制 PWM 占空比

你看,这个结构其实不复杂。给定一个电流值,跟实际测到的电流比一比,差多少就调多少。但真正做好,里面的门道可不少。

1.2 为什么需要PI控制?

你可能会问:为什么非要用PI?用P不行吗?用PID不行吗?

嗯,这个问题我当年也纠结过。咱们一个一个说:

  • 纯P控制:简单粗暴,但会有静差。比如你给定10A,实际可能只跑到9.5A就停了。为啥?因为P控制需要误差才能输出,误差小了输出就小,永远追不上目标。
  • PI控制:I项会累积误差,慢慢把静差吃掉。说白了,I项就是个"记仇"的家伙——你一直有误差,它就一直往上加,直到误差消失。
  • PID控制:D项对高频噪声太敏感。电流采样本身就有噪声,再加个微分,搞不好系统就抖起来了。我在一个项目中试过加D,结果电流波形像锯齿一样,果断去掉。
核心结论:电流环用PI控制,是工程实践中的最优解。P保证响应速度,I保证稳态精度,两者配合,刚刚好。

1.3 PI控制的数学表达

PI控制器的传递函数长这样:

G(s) = Kp + Ki/s

时域表达式:
u(t) = Kp * e(t) + Ki * ∫e(t)dt

其中:
  e(t) = i*(t) - i(t)   —— 电流误差
  u(t)                   —— 控制器输出(电压给定)
  Kp                     —— 比例增益
  Ki                     —— 积分增益

离散化之后,我们在单片机里常用的增量式PI是这样的:

/* 增量式PI实现 */
float pi_controller(float target, float actual)
{
    float error = target - actual;
    float proportional = Kp * error;
    
    integral += Ki * error * Ts;  // Ts为采样周期
    
    /* 限幅处理——这个很重要! */
    if(integral > integral_max) integral = integral_max;
    if(integral < integral_min) integral = integral_min;
    
    output = proportional + integral;
    
    /* 输出限幅 */
    if(output > output_max) output = output_max;
    if(output < output_min) output = output_min;
    
    return output;
}
⚠️ 避坑指南:我曾经在一个项目中忘了加积分限幅,结果电机堵转时积分项一直累加,等堵转解除后,积分项已经大到离谱,电机直接飞车。从那以后,我写PI代码第一件事就是加限幅。

1.4 电流环在伺服系统中的地位

伺服系统通常有三环:电流环、速度环、位置环。它们的关系是这样的:

控制环 带宽 响应速度 主要任务
电流环 最高(1-5kHz) 最快 控制电机转矩/电流
速度环 中等(100-500Hz) 中等 控制电机转速
位置环 最低(10-100Hz) 最慢 控制电机位置

你想想看,电流环在最内层,它的带宽最高。这意味着什么?意味着外环(速度环、位置环)的所有指令,最终都要通过电流环来执行。电流环如果响应慢,外环再快也没用。

我打个比方:电流环就像汽车的发动机,速度环是油门踏板,位置环是方向盘。发动机不行,油门踩到底车也跑不快,方向盘打得再准也没意义。

💡 个人经验:调试伺服系统时,我习惯先调好电流环,再调速度环,最后调位置环。电流环调不好,后面全是白费功夫。有一次客户说位置精度不够,我一看,电流环带宽才200Hz,速度环带宽设了300Hz——这明显不合理,电流环带宽必须比速度环高3-5倍才行。

1.5 电流环的关键性能指标

评价一个电流环好不好,主要看这几个指标:

  1. 响应速度:从给定变化到实际电流跟上,需要多长时间。一般要求上升时间在1-2ms以内。
  2. 稳态精度:电流稳定后,跟给定值之间的误差。好的电流环能做到误差小于1%。
  3. 超调量:响应过程中会不会过头。超调太大,电机可能会抖动甚至过流。
  4. 带宽:电流环能跟踪的最高频率。带宽越高,动态响应越好。

这些指标之间其实是互相矛盾的。响应快了,超调可能就大;带宽高了,噪声敏感度就高。怎么平衡?这就是PI参数整定的艺术了。

嗯,说到参数整定,这就是咱们这门课的核心内容了。后面我会详细讲几种实用的自整定方法,包括基于模型的方法、基于规则的方法,还有我项目中用过的几种实用技巧。


公众号:蓝海资料掘金营,微信deep3321