3. 电机与驱动器基础:直流电机、无刷电机、驱动器工作原理、电流环与速度环
聊力矩控制,绕不开电机和驱动器。这俩是执行层面的核心。我见过不少新手,算法写得漂亮,一上电机就抖成筛子,或者干脆转不动。说白了,就是没搞懂底层的脾气。
这一章,我们就把直流电机、无刷电机、驱动器的工作原理,以及电流环、速度环这些概念,掰开揉碎了讲清楚。嗯,都是后面做力矩控制的硬基础。
3.1 直流电机:最朴素的力矩执行器
直流电机(DC Motor)结构简单,控制也直观。你给它通个电,它就转。力矩和电流基本成正比——这是它最可爱的地方。
核心公式: T = Kt × I
其中 T 是电磁力矩,Kt 是力矩常数(电机固有参数),I 是电枢电流。
所以,控制直流电机的力矩,本质上就是控制它的电流。
我在项目里用过一款 Maxon 的直流有刷电机,配上减速器做机器人关节。当时遇到一个问题:电机低速爬行时一顿一顿的。查了半天,发现是电刷和换向器之间的摩擦不均匀导致的。后来换了更高精度的减速器,并且在软件里加了一段死区补偿,才算搞定。
注意: 直流有刷电机因为有电刷和换向器,存在机械磨损和火花问题。不适合高速、高粉尘或需要长期免维护的场景。但它的控制简单、成本低,在入门学习和一些低端应用中仍然很常见。
3.2 无刷电机:现代机器人的主流选择
无刷直流电机(BLDC / PMSM)去掉了电刷,用电子换向器代替机械换向。效率更高、寿命更长、噪音更小。现在绝大多数协作机器人、无人机、电动车的驱动电机,都是无刷的。
无刷电机的控制比有刷复杂。因为它需要知道转子的位置,才能决定什么时候给哪一相通电。这个位置信息通常由霍尔传感器或编码器提供。
我个人习惯把无刷电机分为两类:
- BLDC(方波驱动): 控制简单,力矩脉动大,适合对平顺性要求不高的场合(比如风扇、泵)。
- PMSM(正弦波驱动 / 永磁同步电机): 控制复杂,力矩平滑,噪音低,是机器人关节的首选。
你想想看,机器人末端要精确地夹起一个鸡蛋,如果电机力矩一顿一顿的,鸡蛋早就碎了。所以机器人里用的基本都是 PMSM。
3.3 驱动器工作原理:从指令到动作的桥梁
驱动器(Driver / Servo Drive)是电机的大脑和肌肉。它接收控制器的指令(比如“输出 1Nm 的力矩”),然后通过功率电路驱动电机转动。
一个典型的驱动器内部包含三大块:
- 功率电路: 主要是 H 桥或三相逆变桥,把直流电转换成电机需要的交流电(对于无刷电机)。
- 控制电路: 包含 DSP 或 MCU,运行控制算法(电流环、速度环、位置环)。
- 反馈电路: 采集电流、速度、位置信号,送给控制电路做闭环。
我曾经调试过一个国产驱动器,上电后电机嗡嗡响,就是不转。用示波器一看,PWM 波形正常,但电流反馈信号上叠加了一个 50Hz 的工频噪声。后来在采样电路前端加了一个低通滤波器,问题解决。嗯,这种坑,不亲自踩一次很难记住。
经验之谈: 选驱动器时,除了看额定电流和峰值电流,还要关注它的 PWM 开关频率。频率越高,电流纹波越小,但开关损耗也越大。一般机器人关节驱动器用 20kHz 到 40kHz 比较常见。
3.4 电流环与速度环:力矩控制的基石
这是本章的重点。力矩控制,说白了就是电流控制。而电流环和速度环,是伺服驱动器里最核心的两个闭环。
先看一张图,理清它们的关系:
从图上可以看得很清楚:电流环在最里面,是响应最快的环。速度环包着电流环,位置环又包着速度环。外环的输出,就是内环的给定。
3.4.1 电流环
电流环的目标是让电机的实际电流快速、准确地跟随给定电流。它的输入是电流指令(比如“给我 2A”),输出是 PWM 占空比,控制功率管导通。
电流环的带宽通常最高,可以达到几千赫兹。为什么?因为电流变化快,响应慢了电机就会“发飘”。
我记得有一次调试一个六轴机器人,末端抖动得厉害。用上位机看电流波形,发现电流环的 PI 参数调得太软,导致电流跟踪有滞后。把比例增益加大后,抖动立刻消失。嗯,电流环调好了,力矩控制就稳了一半。
电流环调试口诀:
- 比例增益(Kp)决定响应速度,太大容易振荡。
- 积分增益(Ki)消除稳态误差,太大容易超调。
- 先调 Kp 到临界振荡,再慢慢加 Ki。
3.4.2 速度环
速度环的目标是让电机的实际速度跟随给定速度。它的输入是速度指令,输出是电流指令(送给电流环)。
速度环的带宽比电流环低,一般在几百赫兹。因为速度信号通常来自编码器,有量化噪声,带宽太高会把噪声放大。
这里有个常见的坑:速度环的积分饱和。当电机被外力堵住时,速度误差一直很大,积分项会一直累加,导致电流指令变得非常大。一旦外力消失,电机会猛地冲出去,非常危险。
避坑指南: 我曾经在调试一个 AGV 的驱动轮时,遇到过积分饱和导致电机飞车的情况。后来在速度环里加了抗积分饱和(Anti-Windup)逻辑,当输出超过限幅时,停止积分累加。这个一定要加,尤其是做力矩控制时,电流指令的限幅是最后一道防线。
3.5 力矩控制模式 vs 速度控制模式 vs 位置控制模式
这三种模式,本质上是把哪个环作为最外层。
| 控制模式 | 最外层环 | 给定信号 | 典型应用 |
|---|---|---|---|
| 位置模式 | 位置环 | 目标位置(角度/位移) | 点对点定位、数控机床 |
| 速度模式 | 速度环 | 目标速度(rpm) | 传送带、恒速运行 |
| 力矩模式 | 电流环 | 目标电流/力矩 | 力控打磨、柔顺装配、协作机器人 |
做力矩控制时,我们直接给电流环发指令。驱动器内部只跑电流环,速度环和位置环被旁路掉。这样,电机的输出力矩就只由你给的电流指令决定,不受速度和位置的影响。
你想想看,在力控打磨场景里,机器人要贴着工件表面恒力打磨。如果工件表面有起伏,机器人需要被动地跟随,而不是硬顶着。这时候如果用位置模式,机器人会拼命往目标位置跑,要么把工件压坏,要么电机过载。而力矩模式下,机器人只输出恒定的力,工件怎么动,它就怎么跟。
一个小技巧: 很多商用驱动器支持“力矩-速度”混合模式。比如,设定一个最大速度限制,在力矩模式下,如果电机转速超过这个限制,就自动切换到速度环。这可以防止电机在空载时飞车。我个人习惯在力矩控制项目中,始终开启这个保护功能。
3.6 本章小结
这一章我们聊了直流电机和无刷电机的区别,了解了驱动器内部的三环结构。核心就一句话:力矩控制 = 电流控制。电流环是基础,调好了它,后面的速度环和位置环才能站得稳。