电机种类与特性¶
电机是机器人的"肌肉"。不同电机有截然不同的特性,选型直接决定了控制策略。
一、电机大家族¶
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, 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 曲线逐步加速:
步进电机的优缺点
优点:
- 开环精确定位(不需要编码器!)
- 低速力矩大
- 控制简单(脉冲 + 方向)
- 保持力矩(断电能锁住)
缺点:
- 高速力矩急剧下降
- 效率低、发热大
- 存在共振区
- 丢步后无法检测(开环的代价)
四、无刷直流电机(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,从而判断转子位置。
控制方法¶
- 六步换向(方波驱动):根据霍尔传感器或 BEMF 确定转子位置,按六步表切换导通相。简单但力矩有波动。
- FOC(磁场定向控制):更高级的控制方式,见 电机控制系统 章节。
BLDC 的优缺点
优点:高效率(>90%)、长寿命、高速性能好、力矩密度大
缺点:驱动电路复杂、成本较高、需要位置反馈
五、永磁同步电机(PMSM)¶
PMSM vs BLDC¶
PMSM 和 BLDC 结构上非常相似(都是永磁转子 + 三相定子),但有本质区别:
| BLDC | PMSM | |
|---|---|---|
| 反电动势波形 | 梯形波 | 正弦波 |
| 驱动方式 | 方波(六步换向) | 正弦波驱动 |
| 力矩波动 | 较大 | 小(平滑) |
| 控制复杂度 | 较低 | 较高 |
| 效率 | 高 | 更高 |
| 位置检测 | 霍尔(60°分辨率够) | 需要编码器(连续位置) |
为什么 PMSM 更平滑?
BLDC 的梯形波驱动在换相时(每 60° 电角度)会产生力矩波纹。PMSM 用正弦电流驱动,电流与反电动势始终匹配,力矩恒定无波纹。
PMSM 的应用¶
- 机器人关节:需要平滑力矩输出
- 数控机床:高精度伺服
- 电动汽车:高效率大功率
- 无人机:高功率密度
六、舵机(Servo)¶
舵机是一个集成了电机、减速器、位置传感器和控制电路的封装模块。
控制信号¶
标准舵机使用 PWM 信号控制角度:
| PWM 脉宽 | 角度 |
|---|---|
| 0.5 ms | 0° |
| 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 + 减速器 + 编码器 的组合