|
|
(未显示6个用户的24个中间版本) |
第1行: |
第1行: |
− | {| style="width: 1000px;"
| + | === 详细内容 === |
− | |-
| |
− | |
| |
− | ==概述== | |
− | *项目名称:Microduino开源平衡车
| |
− | *目的:DIY一台属于自己的两轮自平衡小车
| |
− | *难度:中
| |
− | *耗时:2小时
| |
− | *制作者:
| |
− | *简介:
| |
− | **两轮自平衡小车是一个集多种功能于一体的综合系统,是自动控制理论与动力学理论及技术相结合的研究课题.
| |
− | **平衡车在完成自身平衡的同时,还能够支持多种遥控方式
| |
− | ***可以使用Joypad遥控
| |
− | ***也可以支持蓝牙APP遥控
| |
− | **这套系统完全由Microduino来实现,用户可以体验手工DIY的乐趣
| |
| | | |
− | ==材料清单==
| + | 此部分内容维基现已停止维护,该部分的详细内容全部转移至IdeaLab网站上,请移步[https://www.idealab.cc/course/5a69513f8459d000199e6cca/class/5a56ec78d6bcf1000f49fca7 开源平衡车——制作]上进行查看。以下是IdeaLab访问流程。 |
| | | |
− | {| border="0" cellpadding="10" width="100%"
| + | == IdeaLab访问流程 == |
− | |-
| + | '''1、打开网址([http://www.idealab.cc/ https://www.idealab.cc/])。''' |
− | |width="50%" valign="top" align="left"|
| |
| | | |
− | ===模块清单(Joypad模式)===
| + | '''2、点击右上角登录按钮。''' |
− | {|class="wikitable"
| |
− | |-
| |
− | |模块||数量||功能
| |
− | |-
| |
− | |[[Microduino-Core+/zh]]||1||核心板
| |
− | |-
| |
− | |[[Microduino-USBTTL/zh]] ||1||下载程序
| |
− | |-
| |
− | |[[Microduino-Module nRF/zh]] ||1||无线通信
| |
− | |-
| |
− | |[[Microduino-Module Motion/zh]] ||1||检测姿态
| |
− | |-
| |
− | |[[Microduino-Shield Stepper/zh]] ||1||驱动连接地板
| |
| | | |
− | |}
| + | [[文件:1.png]] |
| | | |
− | ===模块清单(蓝牙模式)===
| + | '''3、登录/注册账号。''' |
− | {|class="wikitable"
| |
− | |-
| |
− | |模块||数量||功能
| |
− | |-
| |
− | |[[Microduino-Core+/zh]]||1||核心板
| |
− | |-
| |
− | |[[Microduino-USBTTL/zh]] ||1||下载程序
| |
− | |-
| |
− | |[[Microduino-Module BLE/zh]] ||1||无线通信
| |
− | |-
| |
− | |[[Microduino-Module Motion/zh]] ||1||检测姿态
| |
− | |-
| |
− | |[[Microduino-Shield Stepper/zh]] ||1||驱动连接地板
| |
| | | |
− | |}
| + | [[文件:2.png]] |
| | | |
− | |width="50%" valign="top" align="left"|
| + | '''4、点击课程,在课程列表中找到《Microduino创新编程》课程并点击打开。''' |
− | ===其他材料===
| |
− | {|class="wikitable"
| |
− | |-
| |
− | |模块||数量||功能
| |
− | |-
| |
− | |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||连接电机和驱动板
| |
− | |}
| |
| | | |
− | |}
| + | [[文件:8.png]] |
− | [[File:Balancematerial1.jpg||900px|center]] | |
| | | |
− | ==程序下载==
| + | '''5、点击“报名学习”。''' |
− | 从以下地址下载源程序
| |
− | '''[https://github.com/Microduino/BalanceCar_Microduino BalanceCar_Microduino]''' | |
| | | |
− | ==程序烧写==
| + | [[文件:9.png]] |
− | *将'''[[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”'''程序打开
| |
− | *几项都无误后,点击'''"→"'''按钮下载程序到开发板上
| |
| | | |
− | ==搭建步骤==
| + | '''6、输入姓名。''' |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *'''Step1:'''
| |
− | *按图1-1所示将'''结构-A1'''和'''结构-A2'''对接
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep1-1.jpg||250px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *按图1-2所示将'''结构-B1'''和'''结构-B2'''插在'''结构-A1'''两边
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep1-2.jpg||350px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *步骤1完成后组成'''小车骨架'''
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep1-3.jpg||250px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *'''Step2:'''
| |
− | *按图2-1所示将2个'''步进电机'''与'''结构-C1'''对接,再用'''铜柱'''固定好
| |
− | **'''注意:'''注意图中所示电机接口方向,两个电机接口应该对称安装。
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep2-1.jpg||350px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *步骤2完成后组成'''电机组件'''
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep2-2.jpg||350px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *'''Step3:'''
| |
− | *按图3-1将'''电机组件'''卡到'''小车骨架'''上,注意电机接口需要对应'''小车骨架'''的缺口,请按图中所示方向将'''电机组件'''卡入卡槽内
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep3-1.jpg||350px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *'''电机组件'''卡到位后,将'''结构-B1'''卡入卡槽缺口,卡紧'''电机组件'''
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep3-2.jpg||350px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *步骤3完成后组成'''小车底盘'''
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep3-3.jpg||250px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *'''Step4:'''
| |
− | *按图4-1所示将'''车轴连接器'''固定在'''步进电机'''轴上
| |
− | *然后将'''车轮'''用'''螺丝'''固定在'''车轴连接器'''上
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep4-1.jpg||450px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *步骤4完成后小车如图4-2所示
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep4-2.jpg||350px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *'''Step5:'''
| |
− | *按图5-1所示将'''2s电池'''放在'''小车底盘'''的槽内
| |
− | *然后将'''结构-C2'''和'''结构-C3'''分别固定在'''小车底盘'''的上下两面
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep5-1.jpg||350px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *按图5-2所示用'''结构-A3'''、'''结构-C4'''和'''结构-C5'''对小车的结构进行加固
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep5-2.jpg||350px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *步骤5完成后小车如图5-3所示
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep5-3.jpg||350px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *'''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]]'''
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep6-1.jpg||350px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *然后将'''步进电机'''按以下示意图用'''步进电机线'''连接到'''[[Microduino-Shield Stepper/zh]]'''底板上
| |
− | **请注意两个'''步进电机线'''的接口位置。
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep6-2.jpg||350px|center]]
| |
− | [[File:BalancestepLine.jpg||350px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *'''注意''':在连接电机线的时候要注意方向,并稍微用力才能插入电机的接口,请按照图中方向插接。
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancemotor.jpg||400px|center]]
| |
− | |}
| |
− | {| border="0" cellpadding="10" width="100%"
| |
− | |-
| |
− | |width="50%" valign="top" align="left"|
| |
− | *'''Step7:'''
| |
− | *按图7-1所示将'''2s电池'''插入'''[[Microduino-Shield Stepper/zh]]'''的电池接口,小车即上电工作,扶起小车,小车即能保持平衡不倒
| |
− | |width="50%" valign="top" align="left"|
| |
− | [[File:Balancestep7-1.jpg||350px|center]]
| |
− | |}
| |
| | | |
− | ==操作说明==
| + | [[文件:5.png]] |
− | *如果在'''Step6'''中堆叠的nRF模块,小车上电后默认会进入Joypad遥控模式,否则进入蓝牙模式
| |
− | ===Joypad遥控指南===
| |
− | *搭建过程可参考以下页面:'''[https://www.microduino.cn/wiki/index.php/Microduino-Joypad_Getting_start/zh Joypad使用指南]'''
| |
| | | |
− | *'''Joypad通讯模式配置'''*
| + | '''7、点击“课程目录”。''' |
− | *模式配置可参考以下页面:'''[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模式'''即可
| |
| | | |
− | *'''Joypad电池使用说明'''*
| + | [[文件:10.png]] |
− | *特别要注意的是电池使用说明:'''[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]]'''
| |
− | *确定手机版本号是Andro 4.3以上,确定当前蓝牙功能已打开
| |
− | *搜索到名为'''“Microduino”'''的蓝牙设备进行连接
| |
− | *接下来就可以通过APP进行遥控了
| |
| | | |
− | ===锂电池充电===
| + | '''8、选择相应课程进行学习。''' |
− | *在平衡车使用过程中发现电机转速比较慢,平衡车无法直立起来,此时是'''2s电池'''电量不足,需要使用配套的锂电池平衡充给电池充电
| |
− | *请按下图所示将'''2s电池'''的白色3pin接口插入'''平衡充'''的3pin插口内,然后接上'''平衡充'''的电源
| |
− | [[File:BalanceCharge1.jpg||450px|center]]
| |
− | *可以通过'''平衡充'''的充电指示灯判断充电状态,各种状态如下:
| |
− | {|class="wikitable"
| |
− | |-
| |
− | |指示灯状态||充电状态
| |
− | |-
| |
− | |绿灯闪烁||没有接电池
| |
− | |-
| |
− | |红灯常亮 ||电池正在充电
| |
− | |-
| |
− | |绿灯常亮 ||电池已充满
| |
| | | |
− | |}
| + | [[文件:11.png]] |
− | | |
− | ==代码说明==
| |
− | *在“userDef.h”文件是我们的配置文件
| |
− | *以下代码可以配置nRF模式下通道,需要保证和Joypad遥控器一致
| |
− | *Joypad的nRF模式通道配置可参考:'''[https://www.microduino.cn/wiki/index.php/Microduino-Joypad_Getting_start/zh#nRF.E6.A8.A1.E5.BC.8F.E9.80.9A.E9.81.93.E9.85.8D.E7.BD.AE nRF模式通道配置]'''
| |
− | <source lang = "cpp">
| |
− | #define NRF_CHANNEL 70 //nRF通道
| |
− | </source>
| |
− | | |
− | *以下代码可以设置'''[[Microduino-Module Motion/zh]]'''的安装方向
| |
− | **按照'''搭建步骤Step6'''的方向安装,'''[[Microduino-Module Motion/zh]]'''模块需要选择PITCH方向。
| |
− | <source lang = "cpp">
| |
− | #define YAW 0
| |
− | #define PITCH 1
| |
− | #define ROLL 2
| |
− | //姿态传感器安装方向
| |
− | #define DIRECTION PITCH
| |
− | </source>
| |
− | | |
− | *以下代码可以调整平衡车角度环和速度环的PID参数
| |
− | **角度环参数设置如下:
| |
− | <source lang = "cpp">
| |
− | #define KP_CON 0.2 // 0.25
| |
− | #define KI_CON 0
| |
− | #define KD_CON 28 // 30 28 26
| |
− | </source>
| |
− | **速度环参数设置如下:
| |
− | <source lang = "cpp">
| |
− | #define KP_THR 0.065 //0.08//0.065
| |
− | #define KI_THR 0.0005//0.05
| |
− | #define KD_THR 0
| |
− | </source>
| |
− | | |
− | ==疑难解答/FAQ==
| |
− | *'''Q:在使用过程中,平衡小车无法直立怎么办?'''
| |
− | **'''A:'''请对照如下图判断[[Microduino-Shield Stepper/zh]]模块方向是否安装正确,'''步进电机线'''是否连接正确。
| |
− | [[File:Balancestep7-1.jpg||350px|center]] | |
− | *'''Q:在使用过程中发现平衡车倒向一边,并听见'''步进电机'''堵转异响?'''
| |
− | **'''A:'''此时可以将平衡车拨倒向另一边,然后平衡车就可以立起来。
| |
− | | |
− | ==视频==
| |