SG90 微型舵机全攻略:参数、选型、Arduino 驱动与机器人应用实战
SG90 是全球最普及的 9 g 级微型模拟舵机,凭借极低成本 (约 $1.5)、标准三线接口、180° 行程与 1.8 kg·cm 扭矩,成为 Arduino/Raspberry Pi 入门、桌面机械臂、RC 模型、STEAM 教学的首选执行器。本文涵盖规格书级参数、选型决策树、驱动电路、代码实战与进阶避坑指南。
SG90 核心规格参数
| 参数 | 典型值 | 备注 |
|---|---|---|
| 重量 | 9 g | 不含舵盘/螺丝 |
| 尺寸 | 31 × 11.8 × 22.2 mm | L×W×H |
| 工作电压 | 4.8 ~ 6.0 V (典型 5 V) | 超过 6 V 易烧毁电机/电位器 |
| 静止电流 | ~8 mA | 无负载 |
| 堵转电流 | 650~850 mA | 启动/堵转瞬间,电源需 ≥1 A 余量 |
| 扭矩 (4.8 V) | 1.8 kg·cm = 0.176 N·m | 6 V 下约 2.2 kg·cm |
| 速度 (4.8 V) | 0.10 s/60° | 6 V 下约 0.08 s/60° |
| 死区宽度 | 10 µs | 脉宽分辨率约 0.5° |
| 行程 | 0~180° (脉宽 500~2500 µs) | 实际有效约 160°~170° |
| 工作温度 | 0 ~ 55 °C | 非工业级 |
| 齿轮材质 | 尼龙/POM 塑料齿轮 | 金属齿轮版见 MG90S |
| 寿命 | ~10⁵ 次循环 | 受限于电位器磨损与齿轮疲劳 |
三线接口定义
| 线序 | 颜色 | 信号 | 连接目标 |
|---|---|---|---|
| 1 | 棕/黑 | GND | 系统地 (共地) |
| 2 | 红 | VCC (5 V) | 独立供电或板载 5V (单舵机可) |
| 3 | 橙/黄/白 | PWM 信号 | MCU GPIO (需 3.3/5 V 兼容) |
(SG90 三线接口实物图)
舵机选型决策树:如何挑选适合项目的舵机?
- 需要更大扭矩? → 升级供电至 6 V (扭矩 +20%),或选 MG995 (金属齿、10 kg·cm)、DS3218 (全金属、20 kg·cm);
- 需要 360° 连续旋转? → 购买“360° 连续旋转舵机”(内部电位器断开/固定),PWM 控制转速/方向而非角度;
- 长寿命/抗冲击? → 金属齿轮版 (MG90S, MG996R) 或无刷舵机;
- 大负载/长力臂? → 计算力矩 M = F × L,选型扭矩 ≥2× 计算值,考虑启动冲击;
- 多舵机协同? → 必须外接独立供电 (5 V/3A+),共地,避免单片机稳压器过热复位。
(常见舵机对比:SG90 vs MG995)
Arduino 驱动 SG90 实战
硬件清单
- Arduino UNO / Nano ×1
- SG90 舵机 ×1 (多舵机需外接 5 V/2A+ 电源)
- 面包板、跳线、100 µF 电解电容 (跨接舵机电源正负极,抑制纹波)
接线图
(SG90 与 Arduino 接线示意)
- 信号线 → D8 (或任意 PWM/数字引脚)
- VCC → 外接 5 V 电源正极 (或 UNO 5V 引脚,单舵机)
- GND → 外接电源负极 & Arduino GND (必须共地)
(实物接线参考)
核心代码 (标准 Servo 库)
#include <Servo.h>
Servo myservo;
const uint8_t PIN = 8;
void setup() {
myservo.attach(PIN, 500, 2500); // 脉宽范围匹配 SG90
myservo.write(90); // 中位
delay(1000);
}
void loop() {
for (int pos = 0; pos <= 180; pos += 5) {
myservo.write(pos);
delay(30);
}
for (int pos = 180; pos >= 0; pos -= 5) {
myservo.write(pos);
delay(30);
}
}
进阶技巧
- 平滑运动:使用 `VarSpeedServo` 或自写缓动算法 (EaseInOut) 实现缓启停,减少机械冲击;
- 多舵机同步:PCA9685 16 路 PWM 驱动板 (I²C 控制) 卸载 MCU,支持 50 Hz 精准同步;
- 掉电保持位置:标准舵机断电失保持,需机械自锁结构或改用带编码器的智能舵机 (如 STS3215);
- 噪声抑制:舵机电源并联 100 µF 电解 + 0.1 µF 陶瓷,信号线串联 1 kΩ 电阻抑制反射。
典型应用场景
- 机器人关节:六足/四足/双足机器人、机械臂 (1~4 DOF 桌面级);
- RC 模型:飞机舵面、车辆转向、船舶舵机;
- 开环位置控制:摄像头云台、太阳能跟踪器、自动喂食器、智能窗帘;
- 多自由度人形机器人:轻量化优势显著,17~25 DOF 整机重量 <1 kg。
常见故障与排查
| 现象 | 可能原因 | 对策 |
|---|---|---|
| 舵机抖动/乱动 | 供电纹波大 / 共地缺失 / PWM 抖动 | 加大容电容、确保共地、用硬件 PWM 引脚 |
| 转不到 0°/180° | 机械限位 / 脉宽范围不匹配 | 调整 `attach(min,max)` 参数、修剪舵盘 |
| 发热严重/烧毁 | 堵转过久 / 电压过高 / 齿轮卡死 | 限制堵转时间、加装限位开关、降压供电 |
| 角度回中偏移 | 电位器磨损 / 内部齿轮跳齿 | 软件校偏 / 更换舵机 |
结语
SG90 以“极致性价比”定义了入门级舵机标准。掌握“独立供电、共地、硬件 PWM、脉宽校准、平滑控制”五要素,即可驾驭 90% 桌面级机器人与自动化项目。进阶需求可转向金属齿轮、总线舵机 (TTL/RS485)、力控舵机或无框力矩电机。如需批量选型、驱动板设计或协议开发支持,欢迎联系我们工程团队。
工业技术
- 舵机驱动避障机器人:基于 Arduino 与 HC-SR04 构建
- Arduino Nano + 摇杆控制双步进电机:Visuino 图形化教程
- 蓝牙控制多路舵机:Arduino + Android App 实现
- 废旧 DVD 光驱改装迷你 CNC 2D 绘图机 —— 基于 L293D 电机扩展板
- IQ Motion Control推出高性价比伺服电机,面向机器人与工业应用
- 齿轮箱与伺服电机完美搭配:精准运动控制的黄金法则
- 高级电机控制电路:自锁、停止与延时技术
- 步进电机:类型、特性与实际应用
- 无刷直流电机:设计、结构与先进应用
- 单相感应电机解析:类型、运行与效率提升
- 交流换向电机解析:设计、类型与应用
- 液压马达PWM调速与远程控制实战指南