首次启动 - OpenExo

发布于:2025-07-23 ⋅ 阅读:(22) ⋅ 点赞:(0)

1. 环境与硬件准备

硬件

  • OpenExo本体已组装好(具体组装见硬件Wiki)

  • Teensy 4.1主控板

  • Arduino Nano 33 BLE用于蓝牙通信

  • PCB连接主控、Nano、电机、传感器

  • CubeMars AK系列电机(如AK60 v1.1等,已配置好)

  • Micro SD卡

软件

  • VSCode(代码编辑、查找)

  • Git(拉取和管理代码)

  • Python(用于运行GUI界面)

  • Arduino IDE + Teensyduino扩展(刷写固件)

  • 所需库(如Adafruit BNO055、Arduino BLE、SD等)

2. 主要组件结构

  • Teensy 4.1:负责主要实时控制与数据采集

  • Nano 33 BLE:负责与GUI蓝牙通信

  • PCB:负责板间通信、接口分配、电源与传感器连接

  • AK系列电机:核心执行器,绿色LED亮代表已上电+使能

3. 软件与固件准备

3.1 下载与安装

  • 安装VSCode、Git、Python、Arduino IDE、Teensyduino

  • 用Git克隆OpenExo代码仓库到本地(或直接下载zip解压)

3.2 库和依赖

  • 安装所有推荐的Arduino库(可直接复制到Arduino库目录)

3.3 代码结构熟悉

  • ExoCode文件夹为主控代码,ExoCode.ino是主要刷写文件

  • Documentation有扩展指南和代码结构说明

  • Python_GUI用于上位机界面和实验数据记录

  • SDCard文件夹内为控制参数/配置,需拷贝到micro SD卡

4. SD卡配置

  • 拷贝SDCard文件夹下所有内容到SD卡根目录

  • 编辑SD卡内config.ini

    • [Exo]部分,确认 name=bilateralHip

    • [bilateralHip]配置,如 Sides = bilateral, Hip = AK60v1.1, hipDefaultController = step

  • 编辑如hipControllers/step.csv,设定步进控制器参数(如幅值、持续时间、次数、间隔)

  • 参数建议:初次测试 Amplitude=1(力矩1Nm),Duration=3, Repetitions=5, Spacing=3

5. 刷写固件

5.1 Teensy

  • 用Arduino IDE打开ExoCode.ino

  • 选择板卡类型“Teensy 4.1”

  • 连接Teensy,点上传

  • 如遇Loader未运行,重复上传一次;如有报错,定位关键字“error”查找原因

5.2 Nano 33 BLE

  • 插上Nano

  • 选择“Arduino Nano 33 BLE”

  • 上传固件(通常比Teensy慢)

6. 试运行流程

  • SD卡插回Teensy

  • 检查所有电源、接口,确保电池断电状态下检查连线可靠

  • 连上电池,开机

  • 戴好设备,固定在腰/大腿

  • 运行上位机GUI(Python_GUI文件夹,先安装依赖,再python3 GUI.py)

  • 在GUI点击“Start Scan”,选择发现的设备后点“Save and Connect”

  • 点击“Start Trial”

  • 观察两侧实时力矩曲线,能感受到预设次数、幅值的扭矩脉冲

7. 故障排查(Troubleshooting)

7.1 无力矩输出且无力矩曲线

多半SD卡配置有误(controller、motor、参数名拼写、section不对),返回检查config.ini和csv

7.2 有力矩曲线但电机无输出

  • 优先检查电机端绿色LED是否亮

    • 不亮→CAN线/通信/接插件问题(特别是白色接口处容易虚焊/断线)

    • 亮→回查SD卡配置是否对应了正确电机型号,参数对不对

  • 确认电机型号与SD配置一致(如AK60v1.1)

  • 还不行,考虑电机本身故障(尤其AK60v1.1曾有不可靠案例,极少见)

7.3 其它建议

  • 用Serial.print()分步输出,查找故障环节(如参数下发/控制器切换/命令未更新等)

  • 若所有方法无效,考虑联系CubeMars官方或开发团队

8. 进阶建议

  • 修改uart_commands.h的get_real_time_data可自定义GUI绘图内容

  • 参数改动记得始终编辑SD卡内的文件并保存,而不是本地文件夹

  • Teensy与Nano需同步刷写,每次主协议/数据结构变动都要双端更新

  • 各硬件/参数/版本号请与实际设备保持一致,否则需修改Config.h并重新刷写


网站公告

今日签到

点亮在社区的每一天
去签到