Hexapod 项目复刻指南

1. 项目概述
Hexapod-v2-7697是一个基于Linkit 7697开发板(本次复刻采用树莓派zero2w开发板代替)的六足机器人项目,通过手机蓝牙远程控制。本指南将详细介绍如何复刻这个项目,包括机械制作、电子组装和软件开发。
2. 所需材料
2.1 机械部分
- PLA filament(推荐白色或黑色)
- M2螺丝(6mm、10mm、30mm)
- M2螺母
- M4销钉(6mm)
2.2 电子部分
- Linkit 7697开发板 × 1
- PCA9685芯片(TSSOP28封装) × 2
- mini360 DC-DC转换器 × 7
- 2S Lipo电池(7.4V)
- 电阻:220Ω (0805) × 18、10KΩ (0805) × 12、470Ω (0805) × 1
- 电容:10μF (0805) × 2
- LED(0805封装) × 1
- 各种排针和排母
- 舵机 TowerPro MG92B × 18
2.3 工具
- 3D打印机(或者使用嘉立创3D打印服务)
- 立创EDA-PCB
- 电烙铁(带SMD焊接头)
- 万用表
- 螺丝刀套装
- 剥线钳
- 热缩管
3. 机械部分制作
3.1 3D打印
准备3D模型
- 所有STL文件位于
mechanism/目录下 - 推荐使用PrusaSlicer或Cura进行切片
- 所有STL文件位于
打印参数设置
- 层厚:0.2mm
- 填充率:20-30%
- 支撑:需要支撑(特别是腿部和关节部件)
- 温度:PLA推荐210℃(喷嘴)/60℃(热床)
打印部件列表
- 身体部分:body_top.stl、body_bottom.stl、body_side_wall.stl、body_back_wall.stl、body_center.stl
- 腿部部分(每条腿6个部件,共6条腿):thigh_top.stl、thigh_bottom.stl、leg_top.stl、leg_bottom.stl、foot_top.stl、foot_bottom.stl
- 关节部分(每条腿3个部件,共6条腿):joint_top.stl、joint_bottom.stl、joint_cross.stl
- 其他:battery_lock.stl、tools_mount.stl
3.2 部件组装
腿部组装
- 参考
mechanism/LEG.md和组装视频 - 每条腿需要:
- 2个大腿部件(thigh_top + thigh_bottom)
- 2个小腿部件(leg_top + leg_bottom)
- 2个脚部部件(foot_top + foot_bottom)
- 3个关节部件
- 舵机 × 3
- M2螺丝和螺母若干
- 参考
身体组装
- 将打印好的身体部件用螺丝连接
- 安装电池锁
- 为PCB和舵机预留安装位置
腿部与身体连接
- 将6条腿安装到身体底部
- 确保腿部均匀分布,前后左右对称
4. 电子部分制作
4.1 PCB制作
准备PCB文件
- 主PCB:
electronics/main.sch和electronics/main.brd - 子PCB:
electronics/sub.sch和electronics/sub.brd - 使用Eagle 7.7软件打开和编辑
- 主PCB:
生成Gerber文件
- 参考PCB制造商的指南生成Gerber文件
- 推荐使用Seeed Studio、JLCPCB等PCB制造服务
PCB制造注意事项
- 主PCB × 1
- 子PCB × 2(注意:左右两个子PCB的SJ1设置不同,右PCB的SJ1保持开放,左PCB的SJ1需要闭合)
4.2 组件焊接
焊接顺序
- 先焊接小元件(电阻、电容、LED)
- 然后焊接IC(PCA9685)
- 最后焊接排针和排母
SMD焊接技巧
- 使用合适的烙铁头(细尖)
- 焊接TSSOP28封装的PCA9685时要特别小心
- 焊接后检查是否有短路
4.3 电路连接
主PCB与子PCB连接
- 使用I2C总线连接主PCB和两个子PCB
- 确保电源和地线正确连接
舵机连接
- 每条腿的3个舵机连接到相应的子PCB
- 注意舵机的信号线、电源线和地线连接正确
电源连接
- 2S Lipo电池连接到主PCB
- mini360 DC-DC转换器调整到正确的电压(5V和6V)
5. 软件部分设置
5.1 环境搭建
Arduino IDE安装
- 下载并安装Arduino IDE
- 添加Linkit 7697开发板支持
Python环境设置
- 安装Python 3.x
- 安装numpy:
pip3 install numpy
5.2 代码编译和上传
打开项目
- 在Arduino IDE中打开
software/hexapod7697/hexapod7697.ino
- 在Arduino IDE中打开
配置开发板
- 选择开发板:Linkit 7697
- 选择正确的端口
编译和上传
- 编译代码,确保没有错误
- 上传代码到Linkit 7697
5.3 路径生成
- 运行pathTool
- 进入
software/pathTool/目录 - 运行
python3 main.py - 生成的路径文件将用于机器人运动
- 进入
6. 系统调试和测试
6.1 舵机校准
进入设置模式
- 启动机器人时,快速按下用户按钮
- 机器人将进入校准模式
使用LRemote App
- 下载并安装LRemote App(iOS或Android)
- 连接到机器人的BLE设备
- 在设置界面调整每个舵机的零位和缩放比例
保存校准数据
- 调整完成后,保存校准数据到Flash
6.2 运动测试
进入正常模式
- 重新启动机器人,不按用户按钮
- 机器人将进入正常模式
测试基本运动
- 使用LRemote App控制机器人前进、后退、左转、右转
- 测试旋转和其他复杂运动
调整参数
- 根据需要调整运动速度和幅度
- 确保所有腿部运动协调一致
7. 常见问题和解决方案
7.1 机械问题
- 腿部运动不顺畅:检查关节处的螺丝是否过紧,调整松紧度
- 部件损坏:重新打印损坏的部件,确保打印质量
7.2 电子问题
- 舵机不响应:检查电源连接和信号线连接,确保电压正确
- BLE连接不稳定:检查Linkit 7697的天线连接,确保电源稳定
7.3 软件问题
- 编译错误:确保使用C++11兼容的编译器,检查库依赖
- 运动异常:重新校准舵机,检查路径生成参数
8. 资源链接
- 项目GitHub仓库:https://github.com/smallptsai/hexapod-v2-7697
- Linkit 7697文档:https://labs.mediatek.com/zh-tw/platform/linkit-7697
- PCA9685数据手册:https://cdn-shop.adafruit.com/datasheets/PCA9685.pdf
- 演示视频(科学上网):https://youtu.be/NJ7DdDEcq3U