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. 连接串口
- 在「波特率」里选好速率,一般保持默认 1000000。
- 点「连接串口」,浏览器会弹出系统对话框。
- 在对话框里选中你的 USB 串口(如 COM3、/dev/ttyUSB0),确认。
- 状态变成「🟢 已连接」即成功,可以开始扫描。
连不上或看不到端口
- 确认已安装串口驱动(常见的 CH340 / CH343 驱动)。
- 换一根数据线,有些 USB 线只有供电没有数据。
- 关闭其他占用串口的软件(上一版工具、串口助手等),同一串口只能被一个程序独占。
点「断开」即可断开;断开前工具会先尝试关闭所有在线舵机的力矩。
4. 扫描舵机
点「🔍 扫描舵机」,工具会逐个 PING 地址 1–254,在线舵机会实时出现在下方的列表里。
- 扫描期间按钮变成红色的「⏹ 停止扫描」,再点一次即可中断,已经找到的舵机会保留。
- 每个舵机显示成一颗芯片,括号里是自动识别出的型号和所属系列。
- 型号靠地址 3 / 4 的两个字节(舵机主版本号、次版本号)判断,识别表见第 10 节。
- 表里没有的型号显示「未知型号」,日志里会打印实际读到的两个字节。
5. 参数读写
点击列表里的舵机芯片(或上方下拉框),工具会自动做两件事:读取这只舵机的全部参数,并把位置控制的滑杆对到它的当前实际位置。
参数表
表格五列:地址、寄存器、值、存储区域、读写。不同存储区域用底色区分:EPROM(白)、SRAM(浅蓝)、出厂默认区(灰)。
- 只有「读写」属性的行可以被选中;只读行和出厂默认行点了会提示不可选,避免误写。
- 选中任意一行,下方「写入」行会自动带出它的地址、长度和当前值。
- 「📖 读取参数」可以随时手动刷新整张表。
写入参数
- 在参数表里选中要改的寄存器。
- 在「值」里填入新值,点「✏️ 写入」。
- 写入成功或失败都会在右下角弹出提示。
写 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。