跳转至

电机种类与特性

电机是机器人的"肌肉"。不同电机有截然不同的特性,选型直接决定了控制策略。


一、电机大家族

graph TB
    MOTOR["电机"] --> DC["直流电机 DC"]
    MOTOR --> AC["交流电机 AC"]
    MOTOR --> STEP["步进电机"]
    MOTOR --> SPECIAL["特种电机"]
    DC --> BRUSH["有刷直流电机<br>Brushed DC"]
    DC --> BLDC["无刷直流电机<br>BLDC"]
    DC --> PMSM_DC["永磁同步电机<br>PMSM"]
    AC --> INDUCTION["感应电机<br>异步电机"]
    AC --> SYNC["同步电机"]
    STEP --> S_UNI["单极性步进"]
    STEP --> S_BI["双极性步进"]
    SPECIAL --> SERVO["舵机 Servo"]
    SPECIAL --> LINEAR["直线电机"]
    SPECIAL --> DD["直驱电机"]

    style BRUSH fill:#e1f5fe
    style BLDC fill:#e8f5e9
    style PMSM_DC fill:#fff3e0
    style STEP fill:#f3e5f5

二、有刷直流电机(Brushed DC Motor)

结构与原理

         ┌─── 永磁体(定子)
    ╔════╧════╗
    ║  N    S ║    ← 外壳(定子磁场)
    ║ ┌────┐  ║
    ║ │转子│  ║    ← 线圈绕组(转子)
    ║ │coil│  ║
    ║ └──┬─┘  ║
    ╚════╧════╝
         └─── 电刷 + 换向器(机械换向)
  • 定子:永磁体,提供恒定磁场
  • 转子:绑有线圈,通电后在磁场中受力转动
  • 换向器 + 电刷:机械结构,自动切换电流方向,使转子持续旋转

数学模型

电气方程:

\[ V = R_a i_a + L_a \frac{di_a}{dt} + K_e \omega \]

力矩方程:

\[ T = K_t i_a \]

机械方程:

\[ J\dot{\omega} + B\omega = T - T_L \]
符号 含义
\(V\) 端电压
\(R_a, L_a\) 电枢电阻、电感
\(K_e\) 反电动势常数
\(K_t\) 转矩常数(\(K_t \approx K_e\)
\(\omega\) 角速度
\(J\) 转动惯量
\(B\) 粘滞摩擦系数
\(T_L\) 负载转矩

控制方法

方法 原理 优缺点
PWM 调速 改变平均电压 简单高效,最常用
H 桥驱动 4 个开关管控制正反转 可实现四象限运行
电流控制 通过电流传感器实现电流闭环 精确力矩控制

有刷电机的优缺点

优点:控制简单(一个 PWM 就能转)、成本低、低速力矩好

缺点:电刷磨损(寿命有限)、电磁干扰大、高速效率低、需要定期维护


三、步进电机(Stepper Motor)

结构与原理

步进电机将电脉冲信号转换为精确的角位移。每收到一个脉冲,转子转过一个固定角度(步距角)。

常见步距角:1.8°(200 步/圈)、0.9°(400 步/圈)

graph LR
    PULSE["脉冲信号"] -->|"每个脉冲"| STEP["转过一个步距角"]
    DIR["方向信号"] -->|"高/低电平"| CW_CCW["顺时针/逆时针"]
    PULSE_FREQ["脉冲频率"] -->|"频率越高"| SPEED["转速越快"]

驱动方式

方式 步距角 力矩 平滑度
全步驱动 1.8° 最大 振动大
半步驱动 0.9° 较大 较平滑
微步驱动 1.8°/n (n=4,8,16,32...) 较小 非常平滑

微步驱动原理

通过给两相线圈施加正弦/余弦电流,使转子停在两个全步位置之间的任意点。细分数越高,定位越精细,但每步的保持力矩越小。

控制要点

// 步进电机基本控制:脉冲 + 方向
void stepper_move(int steps, int direction, int delay_us) {
    HAL_GPIO_WritePin(DIR_PORT, DIR_PIN, direction);
    for (int i = 0; i < steps; i++) {
        HAL_GPIO_WritePin(STEP_PORT, STEP_PIN, GPIO_PIN_SET);
        delay_microseconds(delay_us);
        HAL_GPIO_WritePin(STEP_PORT, STEP_PIN, GPIO_PIN_RESET);
        delay_microseconds(delay_us);
    }
}

加减速控制:步进电机不能瞬间从静止到高速(会丢步),必须按梯形加速曲线S 曲线逐步加速:

\[ f(t) = f_0 + \frac{f_{\max} - f_0}{t_{\text{acc}}} \cdot t \quad \text{(线性加速)} \]

步进电机的优缺点

优点

  • 开环精确定位(不需要编码器!)
  • 低速力矩大
  • 控制简单(脉冲 + 方向)
  • 保持力矩(断电能锁住)

缺点

  • 高速力矩急剧下降
  • 效率低、发热大
  • 存在共振区
  • 丢步后无法检测(开环的代价)

四、无刷直流电机(BLDC)

结构与原理

BLDC 可以理解为把有刷电机"翻了个个儿":

有刷 DC BLDC
定子 永磁体 线圈绕组
转子 线圈绕组 永磁体
换向 机械(电刷 + 换向器) 电子(驱动器 + 霍尔传感器)

没有电刷 → 无磨损 → 寿命长 → 效率高

三相六步换向

BLDC 有三相绕组(A、B、C),通过按特定顺序给两相通电、一相悬空来产生旋转磁场:

步骤 A 相 B 相 C 相
1 + 悬空
2 + 悬空
3 悬空 +
4 + 悬空
5 悬空 +
6 悬空 +

每一步转子转过电角度 60°,6 步完成一个电周期(360° 电角度)。

位置检测

方法 原理 精度 成本
霍尔传感器 3 个霍尔元件检测转子磁场 60° 电角度分辨率
反电动势过零检测 检测悬空相的 BEMF 过零点 60° 电角度分辨率 最低(无传感器)
编码器 光电/磁编码器 连续高精度

反电动势(BEMF)

电机旋转时,永磁体运动在定子线圈中产生感应电动势,称为反电动势。它与转速成正比:\(e = K_e \omega\)。未通电的那一相就可以测到这个 BEMF,从而判断转子位置。

控制方法

  1. 六步换向(方波驱动):根据霍尔传感器或 BEMF 确定转子位置,按六步表切换导通相。简单但力矩有波动。
  2. FOC(磁场定向控制):更高级的控制方式,见 电机控制系统 章节。

BLDC 的优缺点

优点:高效率(>90%)、长寿命、高速性能好、力矩密度大

缺点:驱动电路复杂、成本较高、需要位置反馈


五、永磁同步电机(PMSM)

PMSM vs BLDC

PMSM 和 BLDC 结构上非常相似(都是永磁转子 + 三相定子),但有本质区别:

BLDC PMSM
反电动势波形 梯形波 正弦波
驱动方式 方波(六步换向) 正弦波驱动
力矩波动 较大 小(平滑)
控制复杂度 较低 较高
效率 更高
位置检测 霍尔(60°分辨率够) 需要编码器(连续位置)

为什么 PMSM 更平滑?

BLDC 的梯形波驱动在换相时(每 60° 电角度)会产生力矩波纹。PMSM 用正弦电流驱动,电流与反电动势始终匹配,力矩恒定无波纹。

PMSM 的应用

  • 机器人关节:需要平滑力矩输出
  • 数控机床:高精度伺服
  • 电动汽车:高效率大功率
  • 无人机:高功率密度

六、舵机(Servo)

舵机是一个集成了电机、减速器、位置传感器和控制电路的封装模块。

控制信号

标准舵机使用 PWM 信号控制角度:

PWM 脉宽 角度
0.5 ms
1.0 ms 45°
1.5 ms 90°(中位)
2.0 ms 135°
2.5 ms 180°

PWM 周期通常为 20 ms(50 Hz)。

舵机分类

类型 特点 适用场景
模拟舵机 50Hz 更新率,反应较慢 低成本应用
数字舵机 300Hz+ 更新率,反应快 机器人、航模
总线舵机 串行总线通信,可级联 多关节机器人
连续旋转舵机 无角度限制,控制速度而非位置 小型移动机器人

七、选型对比总结

电机类型 控制复杂度 效率 寿命 力矩特性 典型应用
有刷 DC 低速好 玩具、简单驱动
步进 ⭐⭐ 低速好,高速差 3D 打印机、CNC
BLDC ⭐⭐⭐ 全速域好 无人机、电动工具
PMSM ⭐⭐⭐⭐ 最高 全速域平滑 机器人关节、伺服
舵机 取决于内部电机 模型、简单机器人

选型经验

  • 精度优先,开环简单 → 步进电机
  • 高速高效率 → BLDC
  • 平滑力矩,高性能伺服 → PMSM
  • 最简单控制 → 有刷 DC 或舵机
  • 机器人关节大多选择 BLDC/PMSM + 减速器 + 编码器 的组合