首页/课程/Microduino创新编程/开源平衡车(蓝牙版)——制作
开源平衡车(蓝牙版)——制作
教学目标及方法
利用激光切割和Microduino模块,通过程序上传,制作开源平衡车。
主要内容
概述
项目名称:Microduino开源平衡车
目的:DIY一台属于自己的两轮自平衡小车
难度:中
耗时:2小时
简介:
1.两轮自平衡小车是一个集多种功能于一体的综合系统,是自动控制理论与动力学理论及技术相结合的研究课题.
2.平衡车在完成自身平衡的同时,还能够支持多种遥控方式
3.使用 mRobots APP遥控(蓝牙通信)
4.这套系统完全由Microduino来实现,用户可以体验手工DIY的乐趣
搭建步骤
1.首先将A1和A2进行对接,再将B2和B1拼接在A1的两侧。
2.如图,将电机放入其中,再用M3金属螺丝将C1和电机进行固定,电机需尽量靠近A2。
3.用B3进行对接固定。
4.将轮胎用螺丝帽和螺丝固定在电机上。
5.将电池模块与C3放在图中指示的位置。再将步进电机驱动底板通过尼龙螺柱和尼龙螺母固定在C2上。然后将Core、USBTTL-C、蓝牙通信模块、10DOF安插在步进电机驱动底板上。(注意:应先将Core和USBTTL-C堆叠在一起,连接电脑上传程序后,再与其他模块一起拼装在平衡车上。)
6.用A3、C4、C5来固定车体,最后用电机线和电池线接入图中步进电机驱动底板指示位置,这样平衡车就做好啦!
程序下载
在附件中下载zip压缩包即可
程序烧写
1.将Microduino-Core/zh 、Microduino-USBTTL/zh堆叠在一起(注意:最好不要将所有模块堆叠在一起之后再上传程序)
2.用数据线连接其中的Microduino-USBTTL/zh准备上传程序
3.打开Arduino IDE for Microduino,环境,(搭建参考:AVR核心:Getting started/zh)
4.点击【工具】,确认开发板/处理器(Microduino/mCookie-Core(328p)、Atmega328P@16M,5V)选择无误,并选中对应端口号(COMX)
5.点击【文件】->【打开】,浏览到项目程序地址,点击“BalanceCar_Microduino.ino”程序打开
6.几项都无误后,点击"→"按钮下载程序到开发板上
7.请先下载附件,再上传或复制代码,以免程序出现问题。
8.附件中名为“history.ino”的文件适用于Arduino IDE 1.8.4以前的版本,以应用英文名命名的ino文件适用于Arduino IDE 1.8.4版本,请根据你的程序版本选择适用的文件进行上传。
操作说明
蓝牙遥控指南
首先下载蓝牙遥控APP:下载 mRobots
打开手机蓝牙功能,打开 mRobots APP,靠近平衡车连接蓝牙,当显示如下界面时,等待链接成功即可控制。
当显示如下界面时,点击右上角坦克图标切换到小车控制模式,靠近平衡车,等待连接成功即可控制。
连接成功后,如下图所示,使用两个虚拟摇杆控制平衡车。
点击上方设置按钮,可以设置左侧虚拟摇杆控制或者右侧虚拟摇杆控制(日本手为左侧虚拟摇杆控制,美国手为右侧虚拟摇杆控制)。
锂电池充电
在平衡车使用过程中发现电机转速比较慢,平衡车无法直立起来,此时是2s电池电量不足,需要使用配套的锂电池平衡充给电池充电
请按下图所示将2s电池的白色3pin接口插入平衡充的3pin插口内,然后接上平衡充的电源
可以通过平衡车充电的充电指示灯判断充电状态
代码说明
在“userDef.h”文件是我们的配置文件
首先看电机的配置,一般新版本都是设置成512
#define STEPPER_SPEED 1024 //根据不同步进电机版本 设置成1024或者512
//识别步进电机版本方法:[螺丝位凸起螺杆|1024] [螺丝位正常螺丝固定|512]
以下代码可以设置Microduino-Module Motion/zh的安装方向
按照搭建步骤Step6的方向安装,Microduino-Module Motion/zh模块需要选择PITCH方向。
enum _DIRECTION {
YAW = 0,
PITCH, //UPIN朝前安装
ROLL
};
#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
疑难解答
Q:在使用过程中,平衡小车无法直立怎么办?
A:请对照如下图判断Microduino-Shield Stepper/zh 模块方向是否安装正确,步进电机线是否连接正确。
Q:在使用过程中发现平衡车倒向一边,并听见步进电机堵转异响?
A:此时可以将平衡车拨倒向另一边,然后平衡车就可以立起来。
代码展示

1. 平衡车

编程语言: C/C++(Arduino)

软件工具:Arduino IDE 1.6.9


附件下载
  • 资料展示
  • BalanceCar_Microduino.zip
授课教师
  • 杨立斌

    美科创新研究院高级工程师

问答专区
暂无数据!