本指南涵盖架构、构建选项以及ESP32‑S3(Seeed Studio XIAO ESP32S3)用于驱动Feetech HLS3606M舵机的详细通信协议规范。
概述
固件提供了一种紧凑的固定16字节二进制串行协议,用于控制七个执行器(拇指和手指)以及查询遥测数据(位置、速度、电流、温度)。它还在板上实现了归位、设置ID、持久微调和安全行为,从而使主机PC保持简单。
通道(7个):
- 拇指腕掌关节外展执行器
- 拇指腕掌关节屈曲执行器
- 拇指肌腱执行器
- 食指执行器
- 中指执行器
- 环指执行器
- 小指执行器
硬件与软件要求
- MCU:建议使用Seeed Studio XIAO ESP32-S3(推荐8 MB闪存)
- 伺服电机:Feetech HLS/SC系列(例如HLS3606M),7个执行器映射ID
- 电源:伺服电机轨6–9 V,需具备足够电流容量;MCU通过USB-C接口提供5 V电源。我们建议为可提供高达10A电流的手部驱动使用稳定的6V电源供应。
- 工具:Arduino IDE或PlatformIO
快速入门
- 在 HandConfig.h 中选择手(左/右),或通过构建标志(见下文)进行选择。
- 构建与烧录:
- ◦ PlatformIO:选择 seeed_xiao_esp32s3 ➜ 上传
- ◦ Arduino IDE:打开主草图 ➜ 将板设置为 XIAO ESP32S3 ➜ 上传
3. 首次启动:在配置的波特率(通常为 921600 或 1 000 000)下打开串行监视器。验证板是否被枚举,若已连接电源,检查舵机是否正常响应。
仓库布局
/firmware
├─ firmware.ino # Main sketch: init, parser, handlers, tasks
├─ HandConfig.h # LEFT_HAND / RIGHT_HAND selection
├─ Homing.h # Homing API + ServoData type
├─ Homing.cpp # Homing implementation + baselines
└─ libraries/ # Third‑party libraries as needed
构建配置:左手 vs 右手
你可以通过编辑 HandConfig.h 文件或使用构建标志来切换手部。
- PlatformIO (platformio.ini):
[env:seeed_xiao_esp32s3]
platform = espressif32
board = seeed_xiao_esp32s3
framework = arduino
build_flags = -DRIGHT_HAND ; or -DLEFT_HAND
- Arduino IDE:暂时取消 HandConfig.h 中宏的注释。
提示:保持默认提交(通常是右手),在构建相反手时通过CI或本地标志进行覆盖。注意:您也可以使用aero-hand-gui直接将bin文件上传到ESP32S3,而无需使用任何此类软件。