DEEP 203 · 第十八辑 · 台架实操 · LEARN NOTES

收进学习手册 · 2026-09-11 · duck.whatled.com

解读 203 · 台架实操:URT2 + 三件套软件,第一次点亮你的 HL-2915

解读对象:台架实操教程——硬件(URT2 调试板 + HL-2915-C001/HL-1910 + 12V 限流电源),软件三件套(FT_SCServo_Debug_Qt GUI / 官方 FD 上位机与 Web 版 / hl2915_bench.py 六课脚本)
需要的前置:解读 63(六课方法论)、解读 65(ID 与校准)、解读 66(9–14V 供电)、舵机调试手册 §2b(官方软件入口)

1. 开箱:你现在手里有什么

到货清单核对:URT2 调试板(USB 一头插电脑,另一头是舵机接口与电源口)、HL-2915-C001 ×2(或 HL-1910 ×17,同族调试方法一致,寄存器以飞特磁编码版内存表为准)、以及一个必须自备的 12V 限流电源(台架电源,限流先设 0.5A——HL-2915 工作窗 9–14V,5V/2S 点不亮它)。

软件三件套,按"第一次点亮"的顺手程度排序:

软件 是什么 什么时候用
FT_SCServo_Debug_Qt(GUI) 社区 Qt 调试器,macOS 原生已装 /Applications 第一次点亮:点按钮看 ID、读寄存器、手动小动作
官方 FD 上位机 / Web 版 飞特官方(见舵机手册 §2b) 需要官方视角核对寄存器/固件信息时;Web 版向客服索取
hl2915_bench.py 六课脚本 本项目自带,pyserial 原生 正式跑数据:六课、CSV、拷机统计——台架辨识的产出口

三条路线操作的是同一批寄存器,互相印证而不是三选一。

2. 接线:断电做,做完复查

  1. 断电状态下:HL-2915 用 PH1.25-3P 线接 URT2 舵机口,线序 1=GND / 2=Vcc / 3=Signal(插头 1.25mm,与 5264/JST-EH 不通用,插不进去不要硬怼);
  2. URT2 电源口接 12V 电源,限流 0.5A;
  3. USB 连电脑(macOS 串口名 /dev/tty.usbserial-*);
  4. 上电前用万用表蜂鸣档复查:GND 对 GND、Vcc 对 Vcc;共地是铁律——URT2、电源、之后要接的任何东西,地必须连成一体(忘了共地的症状:扫不到舵机或乱码);
  5. 上电:先电源后 USB。舵机上电瞬间可能小幅抖动一下,这是正常的;手指离开输出轴。

3. 第一次点亮(GUI 路线)

打开 /Applications/FT_SCServo_Debug_Qt.app,串口下拉选 tty.usbserial-*,波特率 1,000,000,点连接:

GUI 适合"看"和"单发",别在 GUI 里做设 ID、改 EEPROM 这类写操作——这类操作交给脚本,它有防呆。

4. 六课正式跑(脚本路线)

进入脚本目录(microduck-replica/rl-series/scripts/),pip3 install pyserial 后按课执行:

python3 hl2915_bench.py list            # 找串口
python3 hl2915_bench.py 1               # ① 体检:PING + 出厂寄存器快照
python3 hl2915_bench.py 2               # ② 遥测流:位置/速度/负载/电压/温度/电流
python3 hl2915_bench.py 3               # ③ 闭环小步幅(验证编码器真在反馈)
python3 hl2915_bench.py 4 --minutes 10  # ④ 拷机:50Hz 连续 10 分钟,统计丢包
python3 hl2915_bench.py 5 --ids 1,2     # ⑤ 双舵机 SYNC(第二只到货后)
python3 hl2915_bench.py 6 --kp 800 --kd 80   # ⑥ 阶跃录制 → CSV(辨识数据)

每课的验收口径(来自全流程教程与脚本判据):课 2 读数稳定不跳;课 3 小步幅双向到位、误差 ≤4 步(脚本判据 DEAD_ZONE+4);课 4 丢包 <0.1% 且温度 <65°C。每课结果记进实验记录——这就是阶段 F 辨识要用的数据来源。

5. 写操作红线

6. 常见故障速查

症状 先查
扫不到舵机 共地 → 线序 → 波特率 → 换 USB 线/口
能连但动作无力 电压(12V 没接?压降?)、限流设太低
位置读数乱跳 编码器/固件口径,停手记录,对照课 2 遥测
发烫 立即断电;课 4 拷机本来就该探明温升,但静止发烫不正常

你带走的收获

实测记录(2026-09-14,首台 HL-2915 · URT2)

课 结果
课 1 体检 ✓ 固件 v3.45、ID=1、1M 档、行程未限制、电压窗出厂 [4.0, 16.0]V(比规格书 9–14V 宽)、扭矩开
课 2 遥测 ✓ 419 次读取丢 0(0.00%),位置稳定,温度 35–38°C
课 3 首跑(12V) ✗ 位置环发散:P=32、加速度寄存器 22794(≈无斜坡),±100 步阶跃直接跑飞(多圈计数 5595→8954)
降参复测 P=16 / D=0 / I=0、加速度 5000 步/s²、扭矩 30%:相对小步误差最小 +7 步;课 3 ±100 步误差 -6~-162 步(受控但偏软)

三条实测结论:
1. 出厂参数 12V 直用会跑飞——出厂 P=32 且加速度无有效斜坡,12V 满扭矩下阶跃响应发散;台架第一课就是"降 P、限扭矩、加斜坡"。
2. P=16 稳但偏软(欠冲 100+ 步),P=32 刚但发散——"稳且刚"的平衡点要用课 6 阶跃录制扫描出来,这正是 BAM 辨识的入口。
3. 遥测电流口径与内存表 ×6.5mA 换算不符(读出 14 万 mA 量级),该字段换算待实测标定,已如实标注。

追加(同日晚,REBOOT 发现):跑飞后"完全不响应"不是驱动损坏,而是锁死的保护状态——一条 REBOOT 指令(0x08)即可清除。REBOOT 会复位 RAM(多圈计数与调好的参数),之后用温和参数(P=16 / 加速度 5000 / 扭矩 30%)连发四个大目标:+105.6°、回中、跨圈 −70.4°、回中——全部误差 +0,完美跟踪。这只 HL-2915 完全健康。

标准上电序列(实测定型):上电 → 写温和参数(P=16、加速度 5000、扭矩限 30%)→ 扭矩开 → 小步验证 → 正常使用;任何跑飞/不响应 → 先 REBOOT 再继续。出厂参数(P=32、无斜坡)在 12V 下直用会发散,这条要当成铁律。

判定追加(同日,第二阶段):换用 12V 稳压电源与 REBOOT 清锁后,做了三组判定实验——扭矩关静止 100 秒(位置零漂移)、扭矩开大目标 ±176°(6 秒零响应)、扭矩开小目标 ±200 步(计数以 ~-50 步/s 匀速漂移且方向与目标无关,伴随温升)。当时结论:判坏件,走售后。
✅ 判定修正(同日第三轮,重要):REBOOT 清锁后连续两轮全流程测试通过(±90° 三来回 6/6 目标误差 ≤2 步、大摆动四目标误差 +0、操作者目视确认转动)——"判坏"结论推翻。当时的"零响应"是跑飞后锁死的保护状态(REBOOT 可清,不损硬件),"计数漂移"是通电温漂假象(温度稳定即冻结)。该舵机判定为健康。
方法论教训(必读):判死之前必须先发 REBOOT 清锁再复测——"可恢复的锁死"与"永久损坏"在锁定状态下症状完全相同,只有 REBOOT 后的复测能区分。本次先判死后复测,顺序反了,值得记取。

✅✅ 最终判定修正(后续复测,推翻判坏):上轮判坏后,该舵机复测完全正常(标准序列全通过、目视确认转动)。结合全过程的最终解读:"跑飞 → 锁死 → 假死"是同一状态的三个阶段,而锁死状态的深浅有随机性——REBOOT 有时能清(第一次),有时看似无效(当时通信与驱动状态恰好处于特殊窗口),断电静置或换时序后再测又能恢复。该舵机最终判定:健康,两只 HL-2915 全部正常。
台架判定法最终版(三次反转换来的):
1. 零响应 ≠ 坏——先 REBOOT 清锁复测;
2. REBOOT 无效 ≠ 坏——断电静置 ≥1 分钟再上电复测(电源域完全复位);
3. 以上都失败 ≠ 坏——隔天再测一次(温漂/电容残余状态可能影响);
4. 三轮全失败才倾向"硬件故障",但仍建议换环境/换线复测一次;
5. "判定实验"的作用是刻画当时状态,不是宣判死刑——飞特磁编码舵机的保护/复位机制比文档写的更复杂。
流程沉淀:每只新舵机的台架验收 = 三课 + 三组判定实验(静止漂移 / 大目标响应 / 小目标方向一致性),全过才算"台架合格";判定脚本与数据已归档,第二只 HL-2915 到手即复跑。

判定实验补记(第二只,装架后复测):+200 步方向阶跃出现负载 1036(100% 堵转)——机械限位;−200 步方向以 ~10 步/s 带载爬行(30% 扭矩限)。电气与闭环全部正常,是机械受限不是舵机故障。台架教训:装架后做阶跃测试前,先确认目标方向在自由行程内;带载测试应提高扭矩限并放宽验收时间。
行为模型补记(同日,第三阶段):实测发现该固件的两个关键行为——①速度寄存器(46)上电默认 0,固件解释为"零速趋向目标"= 完全不动(位置指令必须配非零速度;bench 课 6 与网页调试台均已修正为写 300);②速度寄存器写入非零值 + 扭矩开后,若到达目标未停会持续单向旋转(已两台复现)——网页调试台已加"到位 ±6 步或 3 秒超时自动关扭矩"保护。操作铁律:位置指令后必须盯着,到位即断扭矩。
第二只 HL-2915 验收通过(同日):同一套流程复跑——行程配置 [0,4095]、温和参数、三组判定实验全过:静止 24 秒漂移仅 -1 步(量化噪声);+1500 步(132°)大目标约 1 秒平滑到位,稳态误差 +0 步并稳定保持;双向 ±200 步误差 -1/0/-1/0 步。同一批、同一固件、同一接线,一好一坏——判定方法论与坏件结论互相印证。健康件基准数据(132° 阶跃约 1s 整定、稳态零误差)就是后续 15 只 HL-1910 验收的对照模板。

REBOOT 判定实验(同日,决定性):慢速 ±90° 三来回摆动测试中位置完全冻结(1133 恒定,扭矩开)——一条 REBOOT(0x08)后,同样三个来回全部完美跟踪(1133→2157→1133→109→1133→2157→1133,误差 ≤2 步)。证实:跑飞/堵转后驱动会被锁死,REBOOT 清锁即恢复,舵机硬件无损。目视确认:清锁后的三个 ±90° 来回全部真实可见。台架标准流程最终定型:

  1. 上 12V(先于 USB);
  2. 上电后先写温和参数:P=16 / D=0 / I=0 / 加速度 5000 / 扭矩限 30%;
  3. 扭矩开,小步验证;
  4. 任何跑飞、堵转、不响应 → 先 REBOOT(0x08)清锁,再继续(REBOOT 会复位 RAM 参数与多圈计数,需重写第 2 步);
  5. 正常使用/拷机/阶跃录制。

可重复性验证(同日第二次上电):重新上电后按标准序列重写温和参数,±90° 三来回六个目标全部误差 0 步(含两次跨中位往返),过程平滑无超调——标准序列完全可重复;同时确认多圈计数断电保持(累积不丢失),上电后写温和参数是必须步骤。

工具链备注:官方 GUI / FD / bench 脚本操作同一批寄存器;bench 已修三处:lesson1 PING 解析越界、lesson6 速度字节=0 导致零速不动(改写 300)、lesson6 补扭矩使能;新增 hl2915_demo.py 慢速摆动演示。

延伸

延伸

什么鸭 WHATDUCK · 复刻学习笔记 ← 全部手册 · 首页