2. 电流环基础:电流环的作用与数学模型,PI控制器原理,电流采样与PWM生成

好,咱们正式开始聊电流环。

说实话,在伺服驱动里,电流环是离硬件最近的一环。你想想看,位置环、速度环再花哨,最终都得靠电流环去驱动电机转起来。电流环要是没整好,上面两层调得再漂亮也是白搭。我见过不少工程师,一上来就调位置环,结果电机嗡嗡响、抖得跟筛子似的——回头一看,电流环带宽根本不够。

2.1 电流环到底在干什么?

简单说,电流环的任务就一个:让电机绕组里的实际电流,老老实实跟着你给的指令走

你给个5A的指令,它就得在几毫秒内把电流拉到5A,而且不能超调太多,不能震荡。听起来简单?做起来门道不少。

电流环的核心作用:

  • 快速响应:电流环的带宽通常是速度环的5~10倍,位置环的10~20倍。我习惯把电流环带宽做到1~3kHz,具体看电机和驱动器硬件。
  • 抑制反电动势:电机一转起来,绕组里就会产生反电动势。电流环得能对抗这个干扰,否则电流会掉下去。
  • 限制最大电流:保护电机和驱动器不被烧掉。嗯,这个其实很重要,我见过有人把电流限幅设得太高,结果MOS管直接炸了。

2.2 电流环的数学模型

咱们先看电机绕组的电气方程。以永磁同步电机(PMSM)为例,在dq旋转坐标系下,电压方程长这样:

Ud = Rs * Id + Ld * dId/dt - ωe * Lq * Iq
Uq = Rs * Iq + Lq * dIq/dt + ωe * (Ld * Id + ψf)

看着有点复杂?别怕,咱们拆开看。

  • Ud、Uq:d轴和q轴的电压指令,也就是咱们要算的东西。
  • Rs:定子电阻。这个值会随温度变化,我遇到过冬天和夏天电机参数差20%的情况。
  • Ld、Lq:d轴和q轴电感。对于表贴式电机,Ld≈Lq;对于内嵌式,Ld < Lq。
  • ωe:电角速度。电机转得越快,这个值越大。
  • ψf:永磁体磁链。这是个常数,但不同电机差异很大。

你注意看,方程里有个ωe * Lq * Iqωe * (Ld * Id + ψf)。这两项就是交叉耦合项反电动势项。说白了,q轴电流会影响d轴电压,d轴电流和转速会影响q轴电压。这就是为什么电流环不能只做个简单的PI——你得做解耦

我的经验: 在低速时(比如转速低于额定转速的10%),耦合项影响不大,PI直接干就行。但转速一高,不解耦的话,电流环带宽会急剧下降。我曾经在一个高速主轴项目上吃过这个亏,后来加了前馈解耦才搞定。

2.3 PI控制器原理

电流环最常用的就是PI控制器。为什么不用PID?因为微分项对噪声太敏感了,电流采样本身就有纹波,再加D项容易自激振荡。

PI控制器的传递函数:

G(s) = Kp + Ki / s

或者写成更直观的形式:

输出 = Kp * 误差 + Ki * ∫误差 dt

比例项Kp:决定响应速度。Kp越大,电流跟踪越快,但太大就会震荡。我一般先把Kp调到刚好不震荡的临界值,然后乘以0.6~0.8的安全系数。

积分项Ki:消除稳态误差。没有积分项,电流永远到不了目标值。但Ki太大会导致超调,甚至积分饱和。

注意积分饱和: 当电流指令突然变化,或者电机堵转时,积分项会一直累积,导致输出远超PWM的占空比上限。等你需要它降下来时,它还得慢慢退出来——这就是所谓的"积分饱和"。我常用的解决办法是:

  • 限幅积分:给积分项单独设个上限
  • 条件积分:当输出饱和时,停止积分
  • 反计算积分:根据饱和量反向调整积分值

2.4 电流采样

电流环再牛,采不到准确的电流也是白搭。常见的采样方式有三种:

采样方式 优点 缺点 适用场景
单电阻采样 成本低,只需一个采样电阻 无法在PWM全占空比下采样,有盲区 低成本、小功率
双电阻采样 可覆盖大部分占空比 需要两个ADC通道 通用伺服,性价比高
三电阻采样 全占空比覆盖,精度最高 成本高,电路复杂 高性能、大功率

我个人最常用的是双电阻采样。成本适中,精度也够。但要注意采样时刻的选择——你得在PWM的"有效矢量"期间采样,否则采到的电流是零。我一般把采样点放在PWM周期的中间点,也就是计数器的峰值或谷值处。

采样滤波: 电流采样信号上通常会有开关噪声。我习惯在硬件上加一阶RC低通滤波,截止频率设在PWM开关频率的1/10左右。比如PWM是10kHz,滤波截止频率就设在1kHz。软件上再做个滑动平均或一阶低通,但要注意滤波会引入延迟,别把带宽拖慢了。

2.5 PWM生成

电流环算出来的Ud和Uq,经过反Park变换和SVPWM(空间矢量脉宽调制),最终变成六路PWM信号去驱动IGBT或MOSFET。

SVPWM的核心思想:用八个基本电压矢量(六个有效矢量+两个零矢量)去合成任意方向的电压矢量。它的优点是:

  • 直流母线电压利用率高:比SPWM高15%左右
  • 谐波小:电流波形更正弦
  • 适合数字化实现:用DSP或MCU算起来很方便

SVPWM的生成步骤大致如下:

  1. 判断目标电压矢量在哪个扇区
  2. 计算相邻两个有效矢量的作用时间
  3. 计算零矢量的作用时间
  4. 分配各相PWM的比较值

这里有个细节:死区时间。上下桥臂不能同时导通,否则会短路。我一般设0.5~2μs的死区,具体看功率管的开关速度。死区会引起电流畸变,尤其是过零点附近。解决办法是加死区补偿——根据电流方向,在PWM比较值上做微调。

电流环整定的关键指标:

  • 带宽:一般做到1~3kHz,越高响应越快
  • 相位裕度:至少45°,最好60°以上
  • 超调量:阶跃响应超调控制在5%以内
  • 稳态误差:满载时电流误差小于1%
电流环知识体系 电流环 核心作用 • 快速跟踪电流指令 • 抑制反电动势干扰 • 限制最大电流保护 数学模型 • dq坐标系电压方程 • 交叉耦合项 • 反电动势项 PI控制器 • 比例项Kp:响应速度 • 积分项Ki:消除稳态误差 • 积分饱和处理 采样与PWM生成 • 单/双/三电阻采样 • SVPWM合成 • 死区时间与补偿 电流环是伺服驱动中最底层的控制环路,直接影响系统的响应速度和稳定性

2.6 实战中的几个坑

最后,分享几个我踩过的坑:

  • 采样电阻的温漂:采样电阻温度升高后阻值会变,导致电流测量不准。我后来改用低温漂的锰铜电阻,问题解决。
  • PWM频率的选择:频率太高,开关损耗大;频率太低,电流纹波大。我一般取10~20kHz,人耳听不到,效率也还行。
  • 电流环带宽不是越高越好:带宽太高,系统容易对噪声敏感。我一般做到速度环带宽的5~8倍就够用了。

特别提醒: 在调试电流环时,一定要先把电流限幅设好。我习惯先设到额定电流的50%,确认系统稳定后再慢慢往上加。千万别一上来就满电流跑——万一震荡了,轻则烧MOS管,重则炸电容。

好了,电流环的基础就聊到这儿。记住一句话:电流环是伺服驱动的根基,根基不牢,地动山摇。下一节咱们会深入讲电流环的整定方法和实操步骤,到时候带上你的示波器,咱们一起调参数。


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