一、三环控制概述:从原理到实战

各位同学,欢迎来到《三环控制电机实战全流程》的第一章。

说实话,我最早接触三环控制是在做机器人关节模组的时候。那时候刚毕业,看着示波器上三个环的波形,完全不知道它们在干什么。后来踩了不少坑,才慢慢摸清楚这里面的门道。

这一章,咱们就把三环控制这件事彻底讲透。你不需要有很深的理论基础,跟着我的思路走就行。

1.1 什么是三环控制?

三环控制,说白了就是三个闭环控制系统嵌套在一起。从内到外分别是:电流环、速度环、位置环。

我习惯用一个比喻来解释:

  • 电流环——就像汽车的油门。你踩多深,发动机就给多少力。它控制的是电机的转矩(力矩)。
  • 速度环——就像定速巡航。你设定120km/h,它自动调节油门,让车速稳定在120。
  • 位置环——就像导航。告诉你目标在哪儿,然后规划路径,指挥速度和方向。

这三个环,内环响应最快,外环响应最慢。电流环的带宽通常在1kHz~10kHz,速度环在100Hz~1kHz,位置环在10Hz~100Hz。为什么会这样?因为内环要处理最基础的物理量,必须快;外环处理的是宏观运动,可以慢一些。

核心要点:三环控制本质上是一个级联控制结构。外环的输出作为内环的给定,内环的输出直接驱动电机。每一层都在解决不同的问题。

1.2 三环控制在哪些场景里用?

你可能觉得三环控制就是个教科书概念。其实不然,我这些年做过的项目里,几乎每个高性能运动控制场景都离不开它。

应用场景 核心需求 三环的作用
工业机器人 高精度轨迹跟踪、抗负载扰动 位置环保证末端精度,速度环平滑运动,电流环抑制抖动
伺服驱动器 快速启停、定位准确 电流环提供大转矩,速度环防止超调,位置环锁定目标
无人机云台 抗风扰、稳像 位置环保持姿态,速度环补偿角速度,电流环响应瞬时扰动
数控机床 高刚性、低跟随误差 三环协同实现微米级定位

举个例子。我在做六轴协作机器人时,遇到过一个问题:手臂在低速运行时抖动得厉害。查了半天,发现是电流环的PI参数太激进,导致转矩波动被放大了。后来把电流环带宽降下来,速度环加了个低通滤波,问题就解决了。你看,不懂三环的配合,连问题都找不到。

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

下面这张图,是我自己画的三环控制信号流。你仔细看一遍,后面所有的内容都围绕它展开。

三环控制信号流架构图 位置环控制器 P / PI / PID 速度环控制器 PI / PID 电流环控制器 PI + 前馈 电机 PMSM/BLDC 速度给定 电流给定 PWM 位置传感器 编码器/磁编码器 速度估算 M法/T法/观测器 电流采样 ADC/霍尔/分流器 位置给定 信号流说明: ① 位置给定进入位置环,与位置反馈比较后输出速度给定 ② 速度给定进入速度环,与速度反馈比较后输出电流给定 ③ 电流给定进入电流环,与电流反馈比较后输出PWM驱动电机

这张图你看懂了吗?我带你走一遍信号流:

  1. 位置给定(比如让机器人手臂转到30°)进入位置环控制器。
  2. 位置环比较给定位置和实际位置(来自编码器),算出速度给定。
  3. 速度环拿到这个速度给定,再和实际速度(由位置微分或观测器得到)比较,算出电流给定(也就是转矩指令)。
  4. 电流环拿到电流给定,和实际相电流(ADC采样)比较,输出PWM占空比给电机。
  5. 电机转起来,位置变了,传感器把新位置反馈回去,形成闭环。

嗯,这里要注意:电流环是三个环里最关键的。我见过很多工程师把速度环和位置环调得很好,但电流环没调好,电机一加载就抖。电流环的响应速度直接决定了整个系统的性能上限。

实战小技巧:调试三环时,一定要从内到外逐个调试。先调电流环,再调速度环,最后调位置环。内环没调好,外环怎么调都是白费功夫。我曾经在一个伺服项目里,因为电流环的采样频率没设对,速度环怎么调都振荡,折腾了两天才发现是内环的问题。

1.4 三个环各自的任务

咱们把每个环拆开来看,它们各自负责什么。

控制环 输入 输出 控制目标 典型带宽
电流环 电流给定(Iq* / Id*) PWM占空比 实际电流快速跟踪给定,抑制反电动势扰动 1kHz ~ 10kHz
速度环 速度给定(ω*) 电流给定(Iq*) 速度无静差,抗负载转矩扰动 100Hz ~ 1kHz
位置环 位置给定(θ*) 速度给定(ω*) 位置精确到位,轨迹跟踪误差小 10Hz ~ 100Hz

你可能会问:为什么电流环的带宽要设这么高?

因为电流环要对抗的是电机反电动势和母线电压波动。这些扰动变化很快,如果电流环响应慢了,电机转矩就会忽大忽小,表现出来就是抖动和噪音。我在做无人机云台电机时,电流环带宽设到8kHz,云台在高速旋转时才能稳住画面。

注意:带宽不是越高越好。电流环带宽受限于PWM开关频率和ADC采样率。一般建议电流环带宽不超过PWM频率的1/10。比如PWM频率20kHz,电流环带宽设到2kHz左右比较稳妥。设太高了,系统容易不稳定,甚至烧管子。

1.5 三环控制的数学本质

我知道有些同学看到数学就头疼。但这里我只讲最核心的,不讲推导。

三环控制的本质,就是三个PID控制器串联。每个环都在做同一件事:

  • 测量当前值(反馈)
  • 和目标值(给定)做差,得到误差
  • 用PID算法算出控制量,送给下一级

用公式表达就是:

位置环:ω* = Kp_p * (θ* - θ) + Ki_p * ∫(θ* - θ)dt
速度环:Iq* = Kp_s * (ω* - ω) + Ki_s * ∫(ω* - ω)dt
电流环:Vq* = Kp_c * (Iq* - Iq) + Ki_c * ∫(Iq* - Iq)dt

你看,结构完全一样,只是参数不同。电流环的Kp和Ki最大,速度环次之,位置环最小。这也是调试时的规律——内环增益大,外环增益小。

我个人的习惯是,先把电流环调成纯比例(Ki=0),让电流响应不振荡。然后加积分项消除静差。速度环和位置环同理。这样一步步来,不容易出问题。

1.6 这一章你该记住什么

好,第一章的内容就这些。我不喜欢讲太多理论,咱们后面有的是实战。你只要记住三点:

  1. 三环是级联结构:外环输出给内环,内环直接驱动电机。
  2. 调试顺序不能乱:电流环→速度环→位置环,从内到外。
  3. 每个环都有自己的带宽:电流环最快,速度环居中,位置环最慢。