电流环原理:电流环的作用与重要性,PI控制器在电流环中的应用,电流采样与PWM调制的关系
做三环控制这么多年,我始终觉得电流环是整个系统的基石。你想想看,速度环和位置环再精准,如果电流环响应慢半拍,那一切都是空谈。说白了,电流环就是电机控制的"肌肉",它直接决定了力矩输出的品质。
电流环到底在干什么?
电流环的核心任务只有一个:让电机绕组的实际电流,快速且准确地跟踪你给定的目标电流。听起来简单,但做起来门道不少。
我习惯把电流环比作一个"勤快的快递员"——你告诉它要送多少电流(目标值),它就得想办法让电机绕组里的电流(实际值)尽快达到这个数。如果送多了或者送慢了,电机就会抖、会响,甚至发热严重。
电流环的三个关键作用:
- 力矩控制:电机输出的力矩与电流成正比(对于永磁同步电机,力矩 ≈ Kt × Iq)。控制好电流,就等于控制好了力矩。
- 动态响应:负载突变时,电流环能迅速调整,防止电机失步或过冲。
- 保护机制:限制最大电流,防止过流烧毁驱动器或电机。
我在做伺服驱动器项目时遇到过一个问题:速度环调得再好,一加上负载电机就开始"嘎嘎"响。查了半天,发现是电流环带宽不够,电流跟不上速度环的指令。嗯,从那以后我调参都是先锁死电流环,再动速度环。
PI控制器在电流环中的应用
电流环最常用的控制器就是PI(比例-积分)。为什么不用PID?因为微分项对高频噪声太敏感,而电流采样本身就有纹波和噪声,加上D项反而容易把系统搞震荡。
PI控制器的表达式很简单:
u(t) = Kp × e(t) + Ki × ∫e(t)dt
其中 e(t) = I_ref - I_feedback,也就是电流误差。
这里我分享一个实战经验:Kp决定响应速度,Ki决定稳态精度。但两者互相牵制——Kp太大,电流会超调甚至震荡;Ki太大,积分饱和会让你在启动时"冲过头"。
我的调参小技巧:
- 先把Ki设为0,只调Kp,让电流响应不震荡为止。
- 然后慢慢加Ki,消除稳态误差。
- 如果启动时有过冲,考虑加积分限幅或者抗积分饱和(Anti-windup)。
我曾经在一个大惯量负载项目上吃过亏——Ki给大了,每次启动电流都冲到限幅值,电机"嗡"的一声巨响。后来加了积分分离,只在误差小的时候才启用积分项,问题才解决。
电流采样与PWM调制的关系
这部分是很多初学者容易搞混的地方。我直接说结论:电流采样和PWM调制是"同频不同相"的关系。
PWM调制决定了什么时候给绕组通电,而电流采样则要选对时机去"读取"绕组的真实电流。如果采样点选错了,你采到的可能是开关噪声,而不是真实的电流值。
常见的采样方式有两种:
| 采样方式 | 原理 | 优缺点 |
|---|---|---|
| 单电阻采样 | 在直流母线上用一个电阻采样 | 成本低,但需要重构三相电流,算法复杂 |
| 双/三电阻采样 | 在下桥臂MOSFET源极串电阻 | 直接得到相电流,精度高,但成本稍高 |
不管哪种方式,采样时机都必须在PWM的中点时刻。为什么?因为此时上下桥臂都处于关断状态,电流通过续流二极管形成回路,采样到的值最稳定。
注意:如果PWM占空比接近0%或100%,采样窗口会变得非常窄,甚至无法采样。这时候需要做"移相采样"或"最小脉宽限制"。我见过有人没注意这个,电机低速运行时电流波形全是毛刺,还以为传感器坏了。
下面这张图能帮你理清电流环的整体逻辑:
从图上你能看到,整个电流环就是一个典型的闭环负反馈系统。目标电流和反馈电流做差,误差送给PI控制器,PI输出决定PWM占空比,PWM驱动电机,采样电路再把实际电流反馈回来。这个循环每几十微秒就跑一次(通常10kHz-20kHz),所以电流环的响应速度非常快。
采样与调制的同步问题
这里有个坑我必须提一下:PWM更新时刻和采样时刻必须对齐。
我习惯的做法是:在PWM定时器的"下溢中断"(即计数器归零时)触发ADC采样,同时更新PI计算出的新占空比。这样能保证采样到的电流是上一个PWM周期的真实值,而新计算的占空比会在下一个周期生效。
推荐时序:
- PWM周期开始 → 计数器从0开始增加
- 计数器达到中点 → 触发ADC采样(此时开关噪声最小)
- 计数器归零 → 触发中断,读取ADC结果,运行PI算法,更新占空比
如果你用的是单电阻采样,还需要注意"重构"三相电流的算法。因为单电阻一次只能采到一相电流,需要结合PWM状态才能算出另外两相。这部分算法我建议用查表法,比实时计算快得多。
好了,电流环的原理就聊到这儿。记住一句话:电流环调好了,后面的速度和位置环才有发挥空间。别急着往上堆算法,先把电流环的PI参数和采样时序吃透,这是所有控制精度的根基。