项目>Sesame Robot>校准舵机并让 Sesame 第一次站起来

校准舵机并让 Sesame 第一次站起来

摘要:用调试固件或预刷套件逐路校准 8 个舵机,把关节装到正确角度,让机器狗稳定保持站立姿态。

校准前:按板型做准备

路线 校准固件 供电
DIY / Lolin S2 Mini / Distro Board V1 用 Arduino IDE 刷 firmware/debugging-firmware/sesame-motor-tester.ino,然后按官方 Motor testing guide(hardware/motor-testing/README.md)继续 USB 连电脑,用可靠的数据线
Distro Board V3 / V2 套件 出厂已预刷,无需连电脑 直接接 USB 电源(手机快充或笔记本充电器);V2 的电池系统不稳定,必须走 USB-C,不要用电池
校准时所有电机轴必须能自由旋转,不要提前把关节装上电机。装歪的舵机臂会让电机瞬间堵转或扫齿。

逐路插入舵机,推上关节

  1. 连上机器狗的热点,打开控制页(portal)。
  2. 点 Standby。预期:PWM 通道初始化,之后每插上一个舵机,它会立刻转到正确位置并保持。
  3. 从 Motor 0 开始逐个插舵机,棕线必须对准地轨一侧。预期:插上的瞬间能听到舵机上电的嗡声,输出轴稳稳保持位置。
  4. 8 个舵机按编号依次插完,对照官方构建指南的 sesame-angle-guide 图核对电机编号与物理位置。电机编号与关节位的对应来自固件源码的 ServoNames 顺序,见下表。
  5. 保持 Stand 模式,把髋关节与腿关节按 45° 推入电机轴。
  6. 用 Rest 与 Stand 交替验证:点 Rest,关节应转到与机身完全平行;点 Stand,应回到 45°。反复切换,确认每个关节角度正确、无碰撞。
  7. 确认后用 M2.5 机螺丝穿过主孔把关节固定到电机轴,轻轻拧紧。过度拧紧会顶住电机引发 brownout(电压跌落)。
电机编号 0 1 2 3 4 5 6 7
关节位 R1 R2 L1 L2 R4 R3 L3 L4

R1、R2、L1、L2 是髋关节位,R3、R4、L3、L4 是腿部关节位。注意 4 号位是 R4、5 号位是 R3,编号与名字没有顺着写,插线时最容易在这里错一格。

舵机乱动先查插错槽

官方构建指南给出的经验值:99% 的舵机反向、乱动、抽风都是插错槽,出问题先把接线查一遍。判别清单:

  • 插每个舵机前确认棕线对准地轨一侧。
  • 整机朝向拿不准时用官方记号对齐:Notch(缺口)= 前,USB 口 = 后。
  • 某一路反向、乱动、抽风,先查这一路的槽位与接线,再考虑其他原因。

用串口 subtrim 微调

关节固定后个别舵机角度略有偏差,用主固件的 Serial CLI 调偏移。串口监视器波特率 115200,电机编号 0–7:

命令 作用
subtrim / st 查看 8 路偏移值
subtrim <motor> <value> / st <motor> <value> 设单路偏移,value 范围 −90 到 +90
subtrim save / st save 输出可直接粘贴回源码的 int8_t servoSubtrim[8] = {...};
subtrim reset / st reset 8 路偏移全部清零
all <angle> 8 路同时转到指定角度
<motor> <angle> 单路直接转到指定角度

调整流程:

  1. 刷好主固件、连上串口,输入 st。预期:打印 Motor 0 到 Motor 7 的偏移,出厂全为 0。
  2. 用 st <motor> <value> 逐路调整,边调边看关节角度。预期:串口回显 Motor N subtrim set to +X 之类的确认。
  3. 满意后输入 st save。预期:输出一行 int8_t servoSubtrim[8] = {...};,把它粘贴回固件源码替换全 0 的默认数组,重新编译上传后偏移长期生效。
运行时改的 subtrim 只存在内存里,断电即回到源码里的值;不做 st save 并粘贴回源码,下次上电还是全 0。

资料来源

  • Sesame 官方构建指南
  • Sesame 固件源码
  • Sesame 官方固件文档

相关内容

60美元四足机器人Sesame实操指南实践