适用:FEETECH SCS / STS / HLS 系列、幻尔 LX / HTS 系列等三线制 TTL 半双工总线舵机。若为 RS485 舵机,见文末差异说明。
一、每根线是什么、怎么接
| 线色(典型) | 信号名 | 从哪到哪 | 电压 / 电平 | 作用 |
| 红 / 橙 |
VCC |
电池+ → 驱动板 PWR IN+ → BUS OUT VCC → 舵机#1 IN.VCC → #1 OUT.VCC → #2 IN.VCC → … → #6 IN.VCC |
6.0–8.4 V DC (按舵机扭矩选型;≤6.6kg·cm 可用 4.8–6V) |
给舵机电机和主控芯片供电。所有舵机 VCC 在总线上并联,电流逐级累加,粗线压降要算。 |
| 黑 / 棕 |
GND |
电池− → 驱动板 PWR IN− → BUS OUT GND → 各舵机 GND,与 MCU 共地 |
0 V |
电源回路 + 信号参考地。必须与主控 MCU 共地,否则 DATA 电平无基准。 |
| 黄 / 白 |
DATA / S |
驱动板 BUS OUT.D → #1 IN.D → #1 OUT.D(舵机内部直通)→ #2 IN.D → … → #6 IN.D;#6 OUT 悬空 |
TTL 3.3 V 或 5 V(视驱动板电平开关) 半双工、单线双向 |
唯一一根通信线。发指令和回读状态共用,不能接反 TX/RX,不要分叉。 |
二、数据线上跑的是什么(协议帧)
总线是主从式半双工串口,波特率典型 1000000 bps(1 Mbps)(旧款 57600 / 115200),8N1,3.3V TTL。驱动板是主,每个舵机出厂/烧录后有唯一 ID(1–253)。一帧典型结构(FEETECH SCS/STS 协议为例):
| 字段 | 长度 | 含义 |
| 0xFF 0xFF | 2 字节 | 帧头(固定两个 0xFF) |
| ID | 1 字节 | 目标舵机 ID;0xFE 为广播(所有舵机执行但不回包) |
| Length | 1 字节 | 后续字节数(N + 2) |
| Instruction | 1 字节 | 指令:0x03 读 / 0x03 写 / 0x02 寄存器写 / 0x06 同步写等 |
| Parameter… | N 字节 | 寄存器地址、目标位置、速度、时间等 |
| Checksum | 1 字节 | ~(ID+Length+Ins+Para) & 0xFF |
通信过程:驱动板在 DATA 上发出广播帧 → 所有舵机同时收到 → 只有 ID 匹配的舵机把自己的 DATA 线"接通"回包 → 位置/温度/电压/负载等状态字节原路返回。因为是单线双向,同一时刻只能一方说话,主机发完要切换为接收再等应答,否则数据碰撞。
三、上电/调试顺序(避免烧舵机)
- 先查线序:插头拔插前确认 VCC/GND/D 对应,红对红、黑对黑、黄对黄;反接 VCC/GND 会立刻烧舵机。
- 先接信号线,后接电源:数据线(D/GND)接好后再上电池电;下电顺序相反。
- 所有舵机先单舵机烧录 ID:通过调试板把 6 个舵机分别设为 1、2、3、4、5、6(不能重复),再串联。ID 冲突会全部掉线。
- 共地:驱动板的 GND 必须和 MCU 的 GND 连在一起;舵机电源不取自 MCU 的 5V,单独供电。
- 电源余量:6 个舵机同时堵转电流可能 3–6A,电源要留 1.5–2 倍余量,并在驱动板电源入口并 470–1000 μF 电解电容吸收浪涌。
- 末端悬空:#6 的 OUT 口不接任何东西;不要把总线围成环,不要星形分叉。
四、如果你用的是 RS485 总线舵机(如 ST3215 / SMS 系列)
| 差异点 | TTL 单线(本图) | RS485 差分 |
| 信号线数 | 3 线(VCC/GND/D) | 4 线(VCC/GND/A/B) |
| 数据信号 | 单线半双工 TTL 电平 | A(+)/ B(−) 差分电压,抗干扰强 |
| 驱动板 | TTL↔舵机TTL(FE-URT-1) | MCU UART + MAX485 / SP3485 收发器,DE/RE 由一个 GPIO 控制收发方向 |
| 终端电阻 | 一般不需要 | 总线最远端 A-B 间并 120Ω |
| 线色 | 红/黑/黄(白) | 红=VCC,黑=GND,白=A,棕=B(DFRobot 规范),A/B 接反通信失败但不烧片 |