一、三环控制概述:从电流到位置的闭环之旅

大家好,我是老周。做伺服驱动这些年,我见过不少新手一上来就盯着位置环调参数,结果电机嗡嗡响、定位抖得不行。其实啊,三环控制就像盖楼——电流环是地基,速度环是框架,位置环才是装修。地基没打好,上面再漂亮也白搭。

今天这第一讲,咱们先把三环控制的全貌理清楚。说白了,三环就是三个嵌套的PID闭环,从最里层的电流环,到中间的速度环,再到最外层的位置环。每个环都有自己的任务,信号一层层往里传,最终让电机精准地执行你的指令。

1.1 什么是三环控制?

三环控制,全称是“电流环-速度环-位置环”三级串联闭环控制系统。我习惯把它想象成一个三层过滤网:

  • 电流环(最内层):控制电机绕组的电流,直接决定力矩输出。响应最快,周期通常在几十微秒到几百微秒。
  • 速度环(中间层):控制电机的转速,接收位置环的指令,输出给电流环。响应中等,周期一般在几百微秒到几毫秒。
  • 位置环(最外层):控制电机轴的角度或直线位置,输出给速度环。响应最慢,周期通常在几毫秒到几十毫秒。

你想想看,这三个环是串联的:位置环算出一个目标速度,交给速度环;速度环算出一个目标电流,交给电流环;电流环最终驱动功率管,让电机转起来。反过来,编码器测到的位置、速度、电流采样值,又一层层反馈回去。

核心要点:三环控制本质上是一个“串级PID”结构。内环的带宽必须远高于外环,否则系统会振荡。我见过有人把三个环的周期设成一样,结果电机像抽风一样抖——这就是典型的环间耦合没处理好。

1.2 三环控制在伺服系统中的应用场景

三环控制几乎覆盖了所有需要精确运动控制的场合。我挑几个典型的说说:

应用场景 主要用到的环 我的实际经验
数控机床进给轴 位置环 + 速度环 + 电流环 位置环决定加工精度,电流环负责克服切削力波动。我曾经调一台龙门铣,位置环增益高了就振纹,低了就追不上指令,折腾了两天才找到平衡点。
工业机器人关节 速度环 + 电流环(部分用位置环) 机器人关节惯量大、变化快,速度环的带宽必须足够。我记得有个六轴项目,腕部关节的电流环响应慢了,导致抓取时抖动,最后把电流环采样率从10kHz提到20kHz才解决。
AGV/AMR 驱动轮 速度环 + 电流环 AGV通常不需要绝对位置环,但速度环的平滑性很重要。我踩过坑:速度环积分限幅设太小,车子起步像被踹了一脚。
电子凸轮/飞剪 位置环 + 速度环 这种场合对位置同步精度要求极高,位置环的预测算法比PID本身更重要。

小提示:不是所有应用都需要三个环全开。比如简单的调速风机,只用速度环+电流环就够了;力矩控制模式甚至可以只开电流环。别为了“完整”而盲目堆环。

1.3 三环控制的基本架构与信号流

好,咱们来画一张图。这张图我做了十几年,每次给新人培训都先画它——三环控制的信号流,说白了就是“指令→误差→调节→执行→反馈”的嵌套循环。

三环控制信号流架构图 三环控制信号流架构图 位置指令 位置环 PID 速度指令 速度环 PID 电流指令 电流环 PID PWM 输出 电机 + 负载 编码器/传感器 位置反馈 速度反馈(微分或观测器) 电流反馈(采样电阻/霍尔) 电流反馈 速度反馈 位置反馈 说明:实线为前向通路(指令流),虚线为反馈通路(测量流)。内环(电流环)带宽最高,外环(位置环)带宽最低。

这张图你看懂了吗?信号流其实很简单:

  1. 前向通路:位置指令 → 位置环PID → 速度指令 → 速度环PID → 电流指令 → 电流环PID → PWM → 电机 → 负载。
  2. 反馈通路:编码器/传感器同时反馈位置、速度、电流三个信号,分别送到对应的环的输入端,与指令做差产生误差。
  3. 关键点:每个环的反馈信号来源不同。电流环反馈来自采样电阻或霍尔;速度环反馈来自编码器脉冲的微分或专用速度观测器;位置环反馈直接来自编码器计数值。

注意:我曾经在一个项目中犯过错误——把速度反馈和位置反馈的采样时间混用了。速度环需要高更新率,位置环可以慢一些。如果位置环的反馈更新太慢,速度环会“看到”一个阶梯状的位置信号,导致速度估算剧烈跳动。嗯,那次调试我花了整整一个下午才定位到问题。

1.4 三环的时序与带宽关系

做三环控制,时序是命根子。我习惯用一张表来规划每个环的执行周期:

控制环 典型执行周期 带宽范围 我的经验值
电流环 50 µs ~ 200 µs 1 kHz ~ 5 kHz 一般取100 µs(10kHz),力矩响应要求高时取50 µs
速度环 200 µs ~ 2 ms 100 Hz ~ 1 kHz 多数伺服取500 µs(2kHz),大惯量负载取1 ms
位置环 1 ms ~ 10 ms 10 Hz ~ 200 Hz 通用定位取2 ms(500Hz),高精度插补取1 ms

为什么会这样?因为内环的带宽必须比外环高3~5倍,否则外环的调节会“淹没”内环的响应。我举个例子:位置环带宽100Hz,速度环带宽至少300Hz,电流环带宽至少1kHz。如果位置环带宽设到200Hz,速度环就得跟着往上提,但电流环的硬件采样率可能跟不上——这就是瓶颈。

避坑指南:我曾经接手一个项目,前任把三个环的执行周期都设成1ms。结果电流环的PWM频率只有1kHz,电机噪音大得像拖拉机。后来我把电流环提到100µs,速度环500µs,位置环2ms,世界清净了。记住:内环越快越好,但受限于ADC采样时间和PWM载波频率。

1.5 三环控制的工程实现要点

最后,我总结几个实际工程中必须注意的点:

  • 反馈信号的质量:编码器分辨率、电流采样精度、信号滤波都会直接影响控制效果。我习惯在电流反馈上加一个一阶低通滤波器,截止频率设在PWM载波频率的1/10左右。
  • 环间解耦:三个环不是完全独立的。速度环的输出是电流环的输入,位置环的输出是速度环的输入。如果外环的增益太大,内环会饱和。我一般先调内环,再调外环,从里往外一层层锁住。
  • 积分限幅:每个环的积分项都要做限幅,尤其是电流环。我曾经见过有人没限幅,积分项一路飙到饱和,电机直接堵转烧了保险丝。
  • 启动与停止逻辑:三环控制在上电和掉电时要有平滑的过渡。我习惯在位置环里加一个“软启动”斜坡,避免电机一上电就猛冲。