开源平衡车/zh
目录
概述
- 项目名称:Microduino开源平衡车
- 目的:DIY一台属于自己的两轮自平衡小车
- 难度:中
- 耗时:2小时
- 简介:
- 两轮自平衡小车是一个集多种功能于一体的综合系统,是自动控制理论与动力学理论及技术相结合的研究课题.
- 平衡车在完成自身平衡的同时,还能够支持多种遥控方式
- 可以使用Joypad遥控
- 也可以支持蓝牙APP遥控
- 这套系统完全由Microduino来实现,用户可以体验手工DIY的乐趣
材料清单
模块清单(Joypad模式)
模块 | 数量 | 功能 |
Microduino-Core/zh | 2 | 核心板 |
Microduino-USBTTL/zh | 1 | 下载程序 |
Microduino-Module nRF/zh | 2 | 无线通信 |
Microduino-Module Motion/zh | 1 | 检测姿态 |
Microduino-Shield Stepper/zh | 1 | 驱动连接地板 |
模块清单(蓝牙模式)
模块 | 数量 | 功能 |
Microduino-Core/zh | 1 | 核心板 |
Microduino-USBTTL/zh | 1 | 下载程序 |
Microduino-Module BLE/zh | 1 | 无线通信 |
Microduino-Module Motion/zh | 1 | 检测姿态 |
Microduino-Shield Stepper/zh | 1 | 驱动连接地板 |
其他材料
模块 | 数量 | 功能 |
2.4G天线 | 1 | 2.4G通讯 |
固定板材 | 1 | 固定支撑 |
M2尼龙螺丝 | 4 | 固定底板 |
M2尼龙螺柱 | 4 | 固定底板 |
M2尼龙螺母 | 4 | 固定底板 |
短铜柱 | 8 | 固定电机 |
M4金属螺丝 | 2 | 固定车轮 |
2s锂电池(7.4V) | 1 | 供电 |
锂电池专用平衡充电器 | 1 | 电池充电 |
Micro-USB数据线 | 1 | 串口通信,下载程序 |
车轴连接器 | 2 | 连接电机轴和车轮 |
车轮 | 2 | 结构 |
步进电机 | 2 | 驱动车轮 |
步进电机线 | 2 | 连接电机和驱动板 |
程序下载
从以下地址下载源程序 BalanceCar_Microduino
程序烧写
- 将Microduino-Core+/zh、Microduino-USBTTL/zh堆叠在一起。
- 用数据线连接其中的Microduino-USBTTL/zh准备上传程序。
- 注意:最好不要将所有模块堆叠在一起之后再上传程序
- 打开Arduino IDE for Microduino,环境,(搭建参考:AVR核心:Getting started/zh)
- 点击【工具】栏,确认板卡(Microduino-Core+)处理器(Atmega644pa@16M,5V)选择无误,并选中对应端口号(COMX)
- 点击【文件】->【打开】,浏览到项目程序地址,点击“BalanceCar_Microduino.ino”程序打开
- 几项都无误后,点击"→"按钮下载程序到开发板上
搭建步骤
- Step1:
- 按图1-1所示将结构-A1和结构-A2对接
- 按图1-2所示将结构-B1和结构-B2插在结构-A1两边
- 步骤1完成后组成小车骨架
- Step2:
- 按图2-1所示将2个步进电机与结构-C1对接,再用铜柱固定好
- 注意:注意图中所示电机接口方向,两个电机接口应该对称安装。
- 注意:注意图中所示电机接口方向,两个电机接口应该对称安装。
- 步骤2完成后组成电机组件
- Step3:
- 按图3-1将电机组件卡到小车骨架上,注意电机接口需要对应小车骨架的缺口,请按图中所示方向将电机组件卡入卡槽内
- 电机组件卡到位后,将结构-B1卡入卡槽缺口,卡紧电机组件
- 步骤3完成后组成小车底盘
- Step4:
- 按图4-1所示将车轴连接器固定在步进电机轴上
- 然后将车轮用螺丝固定在车轴连接器上
- 步骤4完成后小车如图4-2所示
- Step5:
- 按图5-1所示将2s电池放在小车底盘的槽内
- 然后将结构-C2和结构-C3分别固定在小车底盘的上下两面
- 按图5-2所示用结构-A3、结构-C4和结构-C5对小车的结构进行加固
- 步骤5完成后小车如图5-3所示
- Step6:
- 将Microduino-Shield Stepper/zh用尼龙螺丝、尼龙螺柱和尼龙螺母固定在小车底盘顶部
- 注意:请严格按照图中所示方向安装Microduino-Shield Stepper/zh底板
- 然后将以下模块叠加到Microduino-Shield Stepper/zh底板上
- 核心模块:Microduino-Core+/zh
- 姿态模块:Microduino-Module Motion/zh
- 通讯模块:
- Joypad模式下,通讯模块为Microduino-Module nRF/zh(注意先安装2.4G天线)
- 蓝牙模式下,通讯模块为Microduino-Module BLE/zh
- 然后将步进电机按以下示意图用步进电机线连接到Microduino-Shield Stepper/zh底板上
- 请注意两个步进电机线的接口位置。
- 请注意两个步进电机线的接口位置。
- 注意:在连接电机线的时候要注意方向,并稍微用力才能插入电机的接口,请按照图中方向插接。
- Step7:
- 按图7-1所示将2s电池插入Microduino-Shield Stepper/zh的电池接口,小车即上电工作,扶起小车,小车即能保持平衡不倒
操作说明
- 如果在Step6中堆叠的nRF模块,小车上电后默认会进入Joypad遥控模式,否则进入蓝牙模式
Joypad遥控指南
- 搭建过程可参考以下页面:Joypad使用指南
- Joypad通讯模式配置*
- 模式配置可参考以下页面:通讯模式配置
- 当我们使用Microduino-Module nRF/zh作为通讯模块时,Joypad对应选择nRF模式即可
- 当我们使用Microduino-Module nRF/zh作为通讯模块时,Joypad对应选择nRF模式即可
- Joypad电池使用说明*
- 特别要注意的是电池使用说明:电池使用说明
蓝牙遥控指南
- 首先下载蓝牙遥控APP(Android):mTank.zip
- 确定手机版本号是Andro 4.3以上,确定当前蓝牙功能已打开
- 搜索到名为“Microduino”的蓝牙设备进行连接
- 接下来就可以通过APP进行遥控了
锂电池充电
- 在平衡车使用过程中发现电机转速比较慢,平衡车无法直立起来,此时是2s电池电量不足,需要使用配套的锂电池平衡充给电池充电
- 请按下图所示将2s电池的白色3pin接口插入平衡充的3pin插口内,然后接上平衡充的电源
- 可以通过平衡充的充电指示灯判断充电状态,各种状态如下:
指示灯状态 | 充电状态 |
绿灯闪烁 | 没有接电池 |
红灯常亮 | 电池正在充电 |
绿灯常亮 | 电池已充满 |
代码说明
- 在“userDef.h”文件是我们的配置文件
- 以下代码可以配置nRF模式下通道,需要保证和Joypad遥控器一致
- Joypad的nRF模式通道配置可参考:nRF模式通道配置
#define NRF_CHANNEL 70 //nRF通道
- 以下代码可以设置Microduino-Module Motion/zh的安装方向
- 按照搭建步骤Step6的方向安装,Microduino-Module Motion/zh模块需要选择PITCH方向。
#define YAW 0
#define PITCH 1
#define ROLL 2
//姿态传感器安装方向
#define DIRECTION PITCH
- 以下代码可以调整平衡车角度环和速度环的PID参数
- 角度环参数设置如下:
#define KP_CON 0.2 // 0.25
#define KI_CON 0
#define KD_CON 28 // 30 28 26
- 速度环参数设置如下:
#define KP_THR 0.065 //0.08//0.065
#define KI_THR 0.0005//0.05
#define KD_THR 0
疑难解答/FAQ
- Q:在使用过程中,平衡小车无法直立怎么办?
- A:请对照如下图判断Microduino-Shield Stepper/zh模块方向是否安装正确,步进电机线是否连接正确。
- A:请对照如下图判断Microduino-Shield Stepper/zh模块方向是否安装正确,步进电机线是否连接正确。
- Q:在使用过程中发现平衡车倒向一边,并听见步进电机堵转异响?
- A:此时可以将平衡车拨倒向另一边,然后平衡车就可以立起来。