“开源平衡车/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
第95行: 第95行:
 
==程序下载==
 
==程序下载==
 
从以下地址下载源程序
 
从以下地址下载源程序
'''[https://github.com/Microduino/BalanceCar_Microduino_PID BalanceCar_Microduino]'''
+
[https://github.com/Microduino/BalanceCar_Microduino_PID BalanceCar_Microduino]
  
 
==程序烧写==
 
==程序烧写==
*将'''[[Microduino-Core+/zh]]''''''[[Microduino-USBTTL/zh]]'''堆叠在一起。
+
*将[[Microduino-Core+/zh]]、[[Microduino-USBTTL/zh]]堆叠在一起。
**用数据线连接其中的'''[[Microduino-USBTTL/zh]]'''准备上传程序。
+
**用数据线连接其中的[[Microduino-USBTTL/zh]]准备上传程序。
 
**注意:最好不要将所有模块堆叠在一起之后再上传程序
 
**注意:最好不要将所有模块堆叠在一起之后再上传程序
*打开Arduino IDE for Microduino,环境,(搭建参考:'''[[AVR核心:Getting started/zh]]'''
+
*打开Arduino IDE for Microduino,环境,(搭建参考:[[AVR核心:Getting started/zh]])
*点击'''【工具】'''栏,确认'''板卡(Microduino-Core+)处理器(Atmega644pa@16M,5V)'''选择无误,并选中对应'''端口号(COMX)'''
+
*点击【工具】栏,确认板卡(Microduino-Core+)处理器(Atmega644pa@16M,5V)选择无误,并选中对应端口号(COMX)
*点击'''【文件】'''->'''【打开】''',浏览到项目程序地址,点击'''“BalanceCar_Microduino.ino”'''程序打开
+
*点击【文件】->【打开】,浏览到项目程序地址,点击“BalanceCar_Microduino.ino”程序打开
*几项都无误后,点击'''"→"'''按钮下载程序到开发板上
+
*几项都无误后,点击"→"按钮下载程序到开发板上
  
 
==搭建步骤==
 
==搭建步骤==
第110行: 第110行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*'''Step1:'''
+
*Step1:
*按图1-1所示将'''结构-A1'''和'''结构-A2'''对接
+
*按图1-1所示将结构-A1和结构-A2对接
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep1-1.jpg||250px|center]]
 
[[File:Balancestep1-1.jpg||250px|center]]
第118行: 第118行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*按图1-2所示将'''结构-B1'''和'''结构-B2'''插在'''结构-A1'''两边
+
*按图1-2所示将结构-B1和结构-B2插在结构-A1两边
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep1-2.jpg||350px|center]]
 
[[File:Balancestep1-2.jpg||350px|center]]
第125行: 第125行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*步骤1完成后组成'''小车骨架'''
+
*步骤1完成后组成小车骨架
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep1-3.jpg||250px|center]]
 
[[File:Balancestep1-3.jpg||250px|center]]
第132行: 第132行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*'''Step2:'''
+
*Step2:
*按图2-1所示将2个'''步进电机'''与'''结构-C1'''对接,再用'''铜柱'''固定好
+
*按图2-1所示将2个步进电机与结构-C1对接,再用铜柱固定好
**'''注意:'''注意图中所示电机接口方向,两个电机接口应该对称安装。
+
**注意:注意图中所示电机接口方向,两个电机接口应该对称安装。
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep2-1.jpg||350px|center]]
 
[[File:Balancestep2-1.jpg||350px|center]]
第141行: 第141行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*步骤2完成后组成'''电机组件'''
+
*步骤2完成后组成电机组件
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep2-2.jpg||350px|center]]
 
[[File:Balancestep2-2.jpg||350px|center]]
第148行: 第148行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*'''Step3:'''
+
*Step3:
*按图3-1将'''电机组件'''卡到'''小车骨架'''上,注意电机接口需要对应'''小车骨架'''的缺口,请按图中所示方向将'''电机组件'''卡入卡槽内
+
*按图3-1将电机组件卡到小车骨架上,注意电机接口需要对应小车骨架的缺口,请按图中所示方向将'电机组件卡入卡槽内
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep3-1.jpg||350px|center]]
 
[[File:Balancestep3-1.jpg||350px|center]]
第156行: 第156行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*'''电机组件'''卡到位后,将'''结构-B1'''卡入卡槽缺口,卡紧'''电机组件'''
+
*电机组件卡到位后,将结构-B1卡入卡槽缺口,卡紧电机组件
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep3-2.jpg||350px|center]]
 
[[File:Balancestep3-2.jpg||350px|center]]
第163行: 第163行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*步骤3完成后组成'''小车底盘'''
+
*步骤3完成后组成小车底盘
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep3-3.jpg||250px|center]]
 
[[File:Balancestep3-3.jpg||250px|center]]
第170行: 第170行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*'''Step4:'''
+
*Step4:
*按图4-1所示将'''车轴连接器'''固定在'''步进电机'''轴上
+
*按图4-1所示将车轴连接器固定在步进电机轴上
*然后将'''车轮'''用'''螺丝'''固定在'''车轴连接器'''上
+
*然后将车轮用螺丝固定在车轴连接器上
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep4-1.jpg||450px|center]]
 
[[File:Balancestep4-1.jpg||450px|center]]
第186行: 第186行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*'''Step5:'''
+
*Step5:
*按图5-1所示将'''2s电池'''放在'''小车底盘'''的槽内
+
*按图5-1所示将2s电池放在小车底盘的槽内
*然后将'''结构-C2'''和'''结构-C3'''分别固定在'''小车底盘'''的上下两面
+
*然后将结构-C2和结构-C3分别固定在小车底盘的上下两面
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep5-1.jpg||350px|center]]
 
[[File:Balancestep5-1.jpg||350px|center]]
第195行: 第195行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*按图5-2所示用'''结构-A3'''、'''结构-C4'''和'''结构-C5'''对小车的结构进行加固
+
*按图5-2所示用结构-A3、结构-C4和结构-C5对小车的结构进行加固
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep5-2.jpg||350px|center]]
 
[[File:Balancestep5-2.jpg||350px|center]]
第209行: 第209行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*'''Step6:'''
+
*Step6:
*将'''[[Microduino-Shield Stepper/zh]]'''用'''尼龙螺丝'''、'''尼龙螺柱'''和'''尼龙螺母'''固定在'''小车底盘'''顶部
+
*将[[Microduino-Shield Stepper/zh]]用尼龙螺丝、尼龙螺柱和尼龙螺母固定在小车底盘顶部
**'''注意''':请严格按照图中所示方向安装'''[[Microduino-Shield Stepper/zh]]'''底板
+
**注意:请严格按照图中所示方向安装[[Microduino-Shield Stepper/zh]]底板
*然后将以下模块叠加到'''[[Microduino-Shield Stepper/zh]]'''底板上
+
*然后将以下模块叠加到[[Microduino-Shield Stepper/zh]]底板上
**核心模块:'''[[Microduino-Core+/zh]]'''
+
**核心模块:[[Microduino-Core+/zh]]
**姿态模块:'''[[Microduino-Module Motion/zh]]'''
+
**姿态模块:[[Microduino-Module Motion/zh]]
 
**通讯模块:
 
**通讯模块:
***Joypad模式下,通讯模块为'''[[Microduino-Module nRF/zh]]'''(注意先安装'''2.4G天线''')
+
***Joypad模式下,通讯模块为[[Microduino-Module nRF/zh]](注意先安装2.4G天线)
***蓝牙模式下,通讯模块为'''[[Microduino-Module BLE/zh]]'''
+
***蓝牙模式下,通讯模块为[[Microduino-Module BLE/zh]]
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep6-1.jpg||350px|center]]
 
[[File:Balancestep6-1.jpg||350px|center]]
第224行: 第224行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*然后将'''步进电机'''按以下示意图用'''步进电机线'''连接到'''[[Microduino-Shield Stepper/zh]]'''底板上
+
*然后将步进电机按以下示意图用步进电机线连接到[[Microduino-Shield Stepper/zh]]底板上
**请注意两个'''步进电机线'''的接口位置。
+
**请注意两个步进电机线的接口位置。
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep6-2.jpg||350px|center]]
 
[[File:Balancestep6-2.jpg||350px|center]]
第233行: 第233行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*'''注意''':在连接电机线的时候要注意方向,并稍微用力才能插入电机的接口,请按照图中方向插接。
+
*注意:在连接电机线的时候要注意方向,并稍微用力才能插入电机的接口,请按照图中方向插接。
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancemotor.jpg||400px|center]]
 
[[File:Balancemotor.jpg||400px|center]]
第240行: 第240行:
 
|-
 
|-
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
*'''Step7:'''
+
*Step7:
*按图7-1所示将'''2s电池'''插入'''[[Microduino-Shield Stepper/zh]]'''的电池接口,小车即上电工作,扶起小车,小车即能保持平衡不倒
+
*按图7-1所示将2s电池插入[[Microduino-Shield Stepper/zh]]的电池接口,小车即上电工作,扶起小车,小车即能保持平衡不倒
 
|width="50%" valign="top" align="left"|
 
|width="50%" valign="top" align="left"|
 
[[File:Balancestep7-1.jpg||350px|center]]
 
[[File:Balancestep7-1.jpg||350px|center]]
第247行: 第247行:
  
 
==操作说明==
 
==操作说明==
*如果在'''Step6'''中堆叠的nRF模块,小车上电后默认会进入Joypad遥控模式,否则进入蓝牙模式
+
*如果在Step6中堆叠的nRF模块,小车上电后默认会进入Joypad遥控模式,否则进入蓝牙模式
 
===Joypad遥控指南===
 
===Joypad遥控指南===
*搭建过程可参考以下页面:'''[https://www.microduino.cn/wiki/index.php/Microduino-Joypad_Getting_start/zh Joypad使用指南]'''
+
*搭建过程可参考以下页面:[https://www.microduino.cn/wiki/index.php/Microduino-Joypad_Getting_start/zh Joypad使用指南]
  
*'''Joypad通讯模式配置'''*
+
*Joypad通讯模式配置*
*模式配置可参考以下页面:'''[https://www.microduino.cn/wiki/index.php/Microduino-Joypad_Getting_start/zh#.E9.80.9A.E8.AE.AF.E6.A8.A1.E5.BC.8F 通讯模式配置]'''
+
*模式配置可参考以下页面:[https://www.microduino.cn/wiki/index.php/Microduino-Joypad_Getting_start/zh#.E9.80.9A.E8.AE.AF.E6.A8.A1.E5.BC.8F 通讯模式配置]
**当我们使用'''[[Microduino-Module nRF/zh]]'''作为'''通讯模块'''时,Joypad对应选择'''nRF模式'''即可
+
**当我们使用[[Microduino-Module nRF/zh]]作为通讯模块时,Joypad对应选择nRF模式即可
  
*'''Joypad电池使用说明'''*
+
*Joypad电池使用说明*
*特别要注意的是电池使用说明:'''[https://www.microduino.cn/wiki/index.php/Microduino-Joypad_Getting_start/zh#Step-3_.E7.94.B5.E6.B1.A0.E9.80.9A.E7.94.B5 电池使用说明]'''
+
*特别要注意的是电池使用说明:[https://www.microduino.cn/wiki/index.php/Microduino-Joypad_Getting_start/zh#Step-3_.E7.94.B5.E6.B1.A0.E9.80.9A.E7.94.B5 电池使用说明]
 
===蓝牙遥控指南===
 
===蓝牙遥控指南===
*首先下载蓝牙遥控APP(Android):'''[[File:MTank.rar|mTank.zip]]'''
+
*首先下载蓝牙遥控APP(Android):[[File:MTank.rar|mTank.zip]]
 
*确定手机版本号是Andro 4.3以上,确定当前蓝牙功能已打开
 
*确定手机版本号是Andro 4.3以上,确定当前蓝牙功能已打开
*搜索到名为'''“Microduino”'''的蓝牙设备进行连接
+
*搜索到名为“Microduino”的蓝牙设备进行连接
 
*接下来就可以通过APP进行遥控了
 
*接下来就可以通过APP进行遥控了
  
 
===锂电池充电===
 
===锂电池充电===
*在平衡车使用过程中发现电机转速比较慢,平衡车无法直立起来,此时是'''2s电池'''电量不足,需要使用配套的锂电池平衡充给电池充电
+
*在平衡车使用过程中发现电机转速比较慢,平衡车无法直立起来,此时是2s电池电量不足,需要使用配套的锂电池平衡充给电池充电
*请按下图所示将'''2s电池'''的白色3pin接口插入'''平衡充'''的3pin插口内,然后接上'''平衡充'''的电源
+
*请按下图所示将2s电池的白色3pin接口插入平衡充的3pin插口内,然后接上平衡充的电源
 
[[File:BalanceCharge1.jpg||450px|center]]
 
[[File:BalanceCharge1.jpg||450px|center]]
*可以通过'''平衡充'''的充电指示灯判断充电状态,各种状态如下:
+
*可以通过平衡充的充电指示灯判断充电状态,各种状态如下:
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
第288行: 第288行:
 
</source>
 
</source>
  
*以下代码可以设置'''[[Microduino-Module Motion/zh]]'''的安装方向
+
*以下代码可以设置[[Microduino-Module Motion/zh]]的安装方向
**按照'''搭建步骤Step6'''的方向安装,'''[[Microduino-Module Motion/zh]]'''模块需要选择PITCH方向。
+
**按照搭建步骤Step6的方向安装,[[Microduino-Module Motion/zh]]模块需要选择PITCH方向。
 
<source lang = "cpp">
 
<source lang = "cpp">
 
#define YAW    0
 
#define YAW    0
第313行: 第313行:
  
 
==疑难解答/FAQ==
 
==疑难解答/FAQ==
*'''Q:在使用过程中,平衡小车无法直立怎么办?'''
+
*Q:在使用过程中,平衡小车无法直立怎么办?
**'''A:'''请对照如下图判断[[Microduino-Shield Stepper/zh]]模块方向是否安装正确,'''步进电机线'''是否连接正确。
+
**A:请对照如下图判断[[Microduino-Shield Stepper/zh]]模块方向是否安装正确,步进电机线是否连接正确。
 
[[File:Balancestep7-1.jpg||350px|center]]
 
[[File:Balancestep7-1.jpg||350px|center]]
*'''Q:在使用过程中发现平衡车倒向一边,并听见'''步进电机'''堵转异响?'''
+
*Q:在使用过程中发现平衡车倒向一边,并听见步进电机堵转异响?
**'''A:'''此时可以将平衡车拨倒向另一边,然后平衡车就可以立起来。
+
**A:此时可以将平衡车拨倒向另一边,然后平衡车就可以立起来。
  
 
==视频==
 
==视频==

2017年6月1日 (四) 08:21的版本

概述

  • 项目名称: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 连接电机和驱动板
Balancematerial1.jpg

程序下载

从以下地址下载源程序 BalanceCar_Microduino

程序烧写

  • Microduino-Core+/zhMicroduino-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对接
Balancestep1-1.jpg
  • 按图1-2所示将结构-B1和结构-B2插在结构-A1两边
Balancestep1-2.jpg
  • 步骤1完成后组成小车骨架
Balancestep1-3.jpg
  • Step2:
  • 按图2-1所示将2个步进电机与结构-C1对接,再用铜柱固定好
    • 注意:注意图中所示电机接口方向,两个电机接口应该对称安装。
Balancestep2-1.jpg
  • 步骤2完成后组成电机组件
Balancestep2-2.jpg
  • Step3:
  • 按图3-1将电机组件卡到小车骨架上,注意电机接口需要对应小车骨架的缺口,请按图中所示方向将'电机组件卡入卡槽内
Balancestep3-1.jpg
  • 电机组件卡到位后,将结构-B1卡入卡槽缺口,卡紧电机组件
  • 步骤3完成后组成小车底盘
  • Step4:
  • 按图4-1所示将车轴连接器固定在步进电机轴上
  • 然后将车轮用螺丝固定在车轴连接器上
  • 步骤4完成后小车如图4-2所示
  • Step5:
  • 按图5-1所示将2s电池放在小车底盘的槽内
  • 然后将结构-C2和结构-C3分别固定在小车底盘的上下两面
  • 按图5-2所示用结构-A3、结构-C4和结构-C5对小车的结构进行加固
  • 步骤5完成后小车如图5-3所示
  • 然后将步进电机按以下示意图用步进电机线连接到Microduino-Shield Stepper/zh底板上
    • 请注意两个步进电机线的接口位置。
  • 注意:在连接电机线的时候要注意方向,并稍微用力才能插入电机的接口,请按照图中方向插接。
  • Step7:
  • 按图7-1所示将2s电池插入Microduino-Shield Stepper/zh的电池接口,小车即上电工作,扶起小车,小车即能保持平衡不倒
Balancestep7-1.jpg

操作说明

  • 如果在Step6中堆叠的nRF模块,小车上电后默认会进入Joypad遥控模式,否则进入蓝牙模式

Joypad遥控指南

蓝牙遥控指南

  • 首先下载蓝牙遥控APP(Android):mTank.zip
  • 确定手机版本号是Andro 4.3以上,确定当前蓝牙功能已打开
  • 搜索到名为“Microduino”的蓝牙设备进行连接
  • 接下来就可以通过APP进行遥控了

锂电池充电

  • 在平衡车使用过程中发现电机转速比较慢,平衡车无法直立起来,此时是2s电池电量不足,需要使用配套的锂电池平衡充给电池充电
  • 请按下图所示将2s电池的白色3pin接口插入平衡充的3pin插口内,然后接上平衡充的电源
BalanceCharge1.jpg
  • 可以通过平衡充的充电指示灯判断充电状态,各种状态如下:
指示灯状态 充电状态
绿灯闪烁 没有接电池
红灯常亮 电池正在充电
绿灯常亮 电池已充满

代码说明

  • 在“userDef.h”文件是我们的配置文件
  • 以下代码可以配置nRF模式下通道,需要保证和Joypad遥控器一致
  • Joypad的nRF模式通道配置可参考:nRF模式通道配置
#define NRF_CHANNEL 70  //nRF通道
#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:在使用过程中,平衡小车无法直立怎么办?
Balancestep7-1.jpg
  • Q:在使用过程中发现平衡车倒向一边,并听见步进电机堵转异响?
    • A:此时可以将平衡车拨倒向另一边,然后平衡车就可以立起来。

视频