一、基础概念先搞懂
1. 什么是 "三环"?
电机控制系统里,从外到内一共 3 层闭环,层层嵌套:
- 位置环(最外层)
- 速度环(中间层)
- 电流环(最内层)
2. 为什么要分三环?
- 电流响应最快,直接控制转矩
- 速度次之,控制转速平稳
- 位置最慢,控制精准到位内层响应速度必须远快于外层,系统才稳定。
3. 三环通用结构
所有电机控制(直流无刷、伺服、FOC)基本都长这样:
位置指令 → 位置环 → 速度指令 → 速度环 → 电流指令 → 电流环 → PWM → 电机
二、三环核心信息总表
| 环名称 | 英文 | 层级 | 控制目标 | 输入量 | 输出量 | 响应速度 | 核心作用 |
|---|---|---|---|---|---|---|---|
| 位置环 | Position Loop | 外层 | 转到指定角度 | 目标位置、实际位置 | 目标速度 | 最慢 | 精准定位、轨迹控制 |
| 速度环 | Speed Loop | 中层 | 转速稳定 | 目标速度、实际速度 | 目标电流 / 转矩 | 中速 | 稳速、抗负载扰动 |
| 电流环 | Current Loop | 内层 | 电流精准 | 目标电流、实际电流 | PWM 占空比 | 最快 | 控制转矩、快速响应 |
三、逐个环精讲
1. 电流环(最内层,基石)
一句话:控制电机电流 = 控制电机转矩
- 控制对象:电机相电流 、(FOC)
- 运行频率:最高 ,一般和 PWM 同频你代码里:20kHz,每 50us 一次
- 输入:电流指令(来自速度环)
- 输出:PWM 占空比
- 意义:
- 转矩线性控制
- 限流保护
- 快速响应负载变化
2. 速度环(中间层,稳定器)
一句话:让电机转速稳在设定值,负载变了也不飘
- 控制对象:电机转速
- 运行频率:低于电流环,常见 1kHz / 2kHz
- 输入:速度指令(来自位置环)
- 输出:电流指令(送给电流环)
- 意义:
- 匀速运行
- 抗干扰、抗抖动
- 限制加减速,防止冲击
3. 位置环(最外层,指挥者)
一句话:让电机转到指定角度,不多不少
- 控制对象:转子角度 / 编码器位置
- 运行频率:最低,常见 200Hz ~ 1kHz
- 输入:上位机 / 指令给定位置
- 输出:速度指令(送给速度环)
- 意义:
- 定位控制
- 轨迹跟踪(插补、点位)
四、三环执行顺序与频率(重点)
标准工业伺服固定规则:
电流环 > 速度环 > 位置环频率从高到低
以你代码为例:
- 电流环:20kHz(PWM 中断里)
- 速度环:2kHz(每 10 次电流环跑一次)
- 位置环:500Hz(每 4 次速度环跑一次)
为什么?
- 内层必须先稳定,外层再慢慢调整
- 防止系统震荡、超调、失控
五、三环与你代码的对应关系
中断:
- 电流采样
- Clark / Park 变换
- 电流环 PID
- 反 Park / SVPWM
然后在定时中断里低速跑:
- 速度环 PID
- 位置环 PID
六、三环控制最简流程图
- 上位机发:目标位置
- 位置环计算 → 输出目标速度
- 速度环计算 → 输出目标电流
- 电流环计算 → 输出 PWM
- PWM 驱动电机
- 编码器 / 霍尔反馈位置、速度
- ADC 反馈电流
- 回到步骤 1,循环
七、必记 4 句口诀
- 位置环管转到哪
- 速度环管转多快
- 电流环管力气多大
- 从外到内层层控,内层频率必须高