使用教程

飞特总线舵机调试工具 SCS0009 · STS3215 · HD1910

← 返回工具

1. 这个工具能做什么

在浏览器里直接调试飞特(Feetech)总线舵机,不用装软件:USB 转串口接上舵机,打开网页就能连接、扫描、读写参数。

目前适配三种型号:

  • SCS0009 — SCS 系列,电位器反馈,位置 0–1023
  • STS3215 — STS 系列,磁编码,位置 0–4095
  • HD1910 — HD 系列,磁编码,位置 0–4095;寄存器表与 STS 略有不同

功能包括:串口连接、扫描 ID 1–254、参数读写、位置控制与实时跟随、波特率修改、恢复出厂、xdat 参数备份与恢复、中英文切换。

2. 准备工作

  • 浏览器 — Chrome 或 Edge 89+;Firefox、Safari 不支持 Web Serial
  • 页面地址 — 必须通过 https 或 localhost 打开;直接双击本地文件(file://)通常用不了
  • 硬件 — USB 转串口(CH340 / CH343)或舵机驱动板、舵机、符合舵机规格的电源
  • 接线 — TTL 三线(VCC / GND / 信号)接到驱动板;总线上的多只舵机并联
  • 波特率 — 出厂默认 1000000

接线和插拔务必在断电状态下进行,带电插拔容易损坏舵机或驱动板。

3. 连接串口

  1. 在「波特率」里选好速率,一般保持默认 1000000。
  2. 点「连接串口」,浏览器会弹出系统对话框。
  3. 在对话框里选中你的 USB 串口(如 COM3、/dev/ttyUSB0),确认。
  4. 状态变成「🟢 已连接」即成功,可以开始扫描。

连不上或看不到端口

  • 确认已安装串口驱动(常见的 CH340 / CH343 驱动)。
  • 换一根数据线,有些 USB 线只有供电没有数据。
  • 关闭其他占用串口的软件(上一版工具、串口助手等),同一串口只能被一个程序独占。

点「断开」即可断开;断开前工具会先尝试关闭所有在线舵机的力矩。

4. 扫描舵机

点「🔍 扫描舵机」,工具会逐个 PING 地址 1–254,在线舵机会实时出现在下方的列表里。

  • 扫描期间按钮变成红色的「⏹ 停止扫描」,再点一次即可中断,已经找到的舵机会保留。
  • 每个舵机显示成一颗芯片,括号里是自动识别出的型号和所属系列。
  • 型号靠地址 3 / 4 的两个字节(舵机主版本号、次版本号)判断,识别表见第 10 节。
  • 表里没有的型号显示「未知型号」,日志里会打印实际读到的两个字节。

5. 参数读写

点击列表里的舵机芯片(或上方下拉框),工具会自动做两件事:读取这只舵机的全部参数,并把位置控制的滑杆对到它的当前实际位置。

参数表

表格五列:地址、寄存器、值、存储区域、读写。不同存储区域用底色区分:EPROM(白)、SRAM(浅蓝)、出厂默认区(灰)。

  • 只有「读写」属性的行可以被选中;只读行和出厂默认行点了会提示不可选,避免误写。
  • 选中任意一行,下方「写入」行会自动带出它的地址、长度和当前值。
  • 「📖 读取参数」可以随时手动刷新整张表。

写入参数

  1. 在参数表里选中要改的寄存器。
  2. 在「值」里填入新值,点「✏️ 写入」。
  3. 写入成功或失败都会在右下角弹出提示。

写 EEPROM 区(地址 0–39)时,工具会自动先解锁、写完再加锁,不需要手动操作。

改 ID、波特率、角度限制这类参数前,先「保存当前舵机」备份一份 xdat,改错了好恢复。

6. 位置控制

  • 目标位置 — 拖动滑杆或直接输入数值;SCS0009 是 0–1023,STS3215 / HD1910 是 0–4095
  • 速度 — 寄存器原始值,不同系列的单位含义不同
  • ▶ 移动 — 下发一次目标位置,并轮询「移动标志」直到舵机停稳
  • 力矩开 / 力矩关 — 舵机必须开启力矩才会动作;「全部力矩关」会一次性关闭所有在线舵机的力矩
  • 📊 读取状态 — 读取位置、速度、负载、电压、温度、电流和运行标志

7. 实时跟随

勾选「实时跟随」后,拖动位置滑杆,舵机会跟着实时转动。

  • 勾选时会先弹确认框,并自动打开该舵机的力矩。
  • 发送做了节流:上一次串口事务没回来之前不发新包,只保留最新的目标值,所以拖得再快也不会把总线灌满。
  • 切换舵机、重新扫描或断开连接时,跟随会自动关闭,并在日志里提醒关闭力矩。

第一次勾选、第一次拖动时舵机就会立即动作,请先把机构固定好、避开限位。

8. 波特率与恢复出厂

修改波特率

选好新速率后点「🔧 修改波特率」。工具会写入寄存器、把串口切到新速率、再回读验证;验证失败会自动切回原速率并提示。

恢复出厂

不同系列的恢复指令不一样,工具会按识别到的型号自动选择:

  • SCS0009:使用 0x0A,恢复后 ID 回到 1、波特率回到 1M。
  • STS3215 / HD1910:使用 0x06 参数恢复,ID 保持不变,其余参数回默认值。

两个操作都不可撤销,执行前会二次确认。恢复前建议先保存 xdat。

9. xdat 备份与恢复

  • 💾 保存当前舵机 — 读取该舵机全部参数并下载成文件,文件名形如 SCS0009_ID1.xdat
  • 📂 打开 xdat — 载入参数文件并在参数表里预览
  • 📤 恢复参数到舵机 — 把文件里的 EEPROM 参数写回当前舵机

文件格式为「2 字节文件头 + 49 字节数据区」,寄存器地址 A 存放在偏移 A+2;多字节数值按所属型号的字节序存放(SCS 大端、STS / HD1910 小端)。

为避免把参数写乱,工具会检查文件与当前舵机是否同属一个字节序家族:不一致时禁止写回。同家族的型号之间可以互用。

数据区只覆盖地址 0–48,HD1910 的出厂标定参数(地址 73、77–86)不在文件范围内;这些参数本身也是只读的。

10. 型号差异速查

型号 识别字节(主 / 次) 位置范围 字节序 锁标志地址 恢复指令
SCS0009 5 / 4 0–1023 大端 48 0x0A 恢复出厂
STS3215 9 / 3 0–4095 小端 55 0x06 参数恢复
HD1910 10 / 31 0–4095 小端 55 0x06 参数恢复

HD1910 与 STS3215 的寄存器表差异:当前电流之后多出「电流偏置」以及 vFk、vKgI、pFk 三个出厂参数;DTs(ms) 之后是 eFk 和 Vk,没有「最小速度限制」。工具会按型号自动切换整张表。

11. 常见问题

扫描不到舵机

  • 检查舵机供电和接线,信号线是否接反。
  • 确认波特率与舵机当前设置一致(出厂为 1000000)。
  • 总线上有 ID 冲突时,两只舵机会同时应答,先单独接一只排查。

能扫到,但读取参数报失败

  • 该型号可能没有这个地址,读不到属正常,不影响其他参数。
  • 串口被其他程序占用时也会失败,关掉其他上位机后重新连接。

显示「未知型号」

说明地址 3 / 4 的两个字节不在识别表里。查看日志里的「主版本 / 次版本」数值即可确认;目前只适配 SCS0009、STS3215、HD1910。

改了代码但页面行为没变

浏览器对 JS 模块有缓存,普通刷新可能不生效。用硬刷新(Windows:Ctrl+Shift+R;macOS:Cmd+Shift+R)重新加载一次。

12. 安全须知

  • 接线、插拔一律断电进行。
  • 舵机动作前先确认机构周围没有障碍、限位设置合理。
  • 移动过程中如果出现断连,舵机可能仍在执行动作:重新连接后先关闭力矩。
  • 长时间堵转会导致发热甚至损坏,调试完及时关闭力矩。
  • 修改 EEPROM 参数(ID、波特率、限位等)前先备份 xdat。