“开源电驱机器小车CUBE/zh”的版本间的差异
(→文档) |
Zhangfengfeng(讨论 | 贡献) (→拼装过程) |
||
(未显示5个用户的110个中间版本) | |||
第1行: | 第1行: | ||
− | {| style="width: | + | {| style="width: 1000px;" |
|- | |- | ||
| | | | ||
==概述== | ==概述== | ||
*项目名称:开源电驱机器小车CUBE | *项目名称:开源电驱机器小车CUBE | ||
− | * | + | *目的:做一个Cube机器人小车 |
− | * | + | **可以使用Joypad遥控 |
− | * | + | **也可以支持蓝牙APP遥控 |
− | * | + | *难度:中级 |
+ | *耗时:2小时 | ||
+ | *制作者:@老潘 | ||
==材料清单== | ==材料清单== | ||
− | + | {| border="0" cellpadding="10" width="100%" | |
+ | |- | ||
+ | |width="33%" valign="top" align="left"| | ||
+ | |||
+ | ===模块清单 (Joypad模式)=== | ||
{|class="wikitable" | {|class="wikitable" | ||
|- | |- | ||
第17行: | 第23行: | ||
|[[Microduino-Core/zh]]||2||核心模块 | |[[Microduino-Core/zh]]||2||核心模块 | ||
|- | |- | ||
− | |[[Microduino-USBTTL/zh]]||1|| | + | |[[Microduino-USBTTL/zh]]||1||下载模块 |
|- | |- | ||
− | |[[Microduino-Module nRF/zh]]||2|| | + | |[[Microduino-Module nRF/zh]]||2||通讯模块 |
|- | |- | ||
− | |[[Microduino- | + | |[[Microduino-Module TFT/zh]]||1||显示模块 |
|- | |- | ||
− | |[[Microduino- | + | |[[Microduino-Shield Joypad/zh]]||1||遥控底板 |
|- | |- | ||
− | |[[Microduino-Shield Robot/zh]]||1|| | + | |[[Microduino-Shield Robot/zh]]||1||驱动底板 |
|} | |} | ||
− | + | ||
+ | |width="33%" valign="top" align="left"| | ||
+ | |||
+ | ===模块清单 (蓝牙模式)=== | ||
{|class="wikitable" | {|class="wikitable" | ||
|- | |- | ||
|模块||数量||功能 | |模块||数量||功能 | ||
+ | |- | ||
+ | |[[Microduino-Core/zh]]||1||核心模块 | ||
+ | |- | ||
+ | |[[Microduino-USBTTL/zh]]||1||下载模块 | ||
+ | |- | ||
+ | |[[Microduino-Module BLE/zh]]||1||通讯模块 | ||
+ | |- | ||
+ | |[[Microduino-Shield Robot/zh]]||1||驱动底板 | ||
+ | |} | ||
+ | |||
+ | |width="33%" valign="top" align="left"| | ||
+ | |||
+ | ===其他材料=== | ||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | |部件||数量||功能 | ||
|- | |- | ||
|机器小车机架||1||车体 | |机器小车机架||1||车体 | ||
|- | |- | ||
− | |螺丝|| | + | |螺丝||8||固定 |
|- | |- | ||
|螺母||8||固定 | |螺母||8||固定 | ||
第40行: | 第65行: | ||
|Micro-USB数据线||1||下载程序 | |Micro-USB数据线||1||下载程序 | ||
|- | |- | ||
− | | | + | |47mm车轮+电机固定座||2||车轮 |
|- | |- | ||
− | | | + | |N20直流减速电机||2||驱动车轮 |
|- | |- | ||
− | | | + | |3.7v锂电池||1||供电 |
+ | |} | ||
|} | |} | ||
− | + | [[File:Cube Robot Material List.jpg||1000px|center]] | |
− | [[File: | ||
==实验原理== | ==实验原理== | ||
− | 机器人小车种类比较多,如循迹,壁障,蓝牙遥控小车,电脑鼠等,不同功能需要采用不同传感器。 | + | *机器人小车种类比较多,如循迹,壁障,蓝牙遥控小车,电脑鼠等,不同功能需要采用不同传感器。 |
+ | *但是其行走控制方式基本是一样的,无非就是前后左右四个方向运动。 | ||
− | + | *本次我们主要使用两轮驱动的结构,通过控制两个轮子的旋转方向,实现前进后退,旋转等功能,当然还要加上辅助轮,这样才能保持平衡。 | |
− | + | *该小车结构简单,主要包括三个方面:车轮、车身、控制系统。 | |
− | 本次我们主要使用两轮驱动的结构,通过控制两个轮子的旋转方向,实现前进后退,旋转等功能,当然还要加上辅助轮,这样才能保持平衡。 | + | **1)车轮采用两个减速电机,扭力大,可PWM调速,控制简单。 |
− | + | **2)车身采用木板,大小:8cm*8cm*8cm。 | |
− | 该小车结构简单,主要包括三个方面:车轮、车身、控制系统。 | + | **3)整个控制系统包括四个部分: |
− | |||
− | 1)车轮采用两个减速电机,扭力大,可PWM调速,控制简单。 | ||
− | |||
− | 2)车身采用木板,大小:8cm*8cm*8cm。 | ||
− | |||
− | 3)整个控制系统包括四个部分: | ||
*中央处理器 | *中央处理器 | ||
− | 采用[[Microduino-Core/zh]]作为核心,就像电脑的CPU,人的大脑,有一定思维能力,能够处理复杂事件。 | + | **采用[[Microduino-Core/zh]]作为核心,就像电脑的CPU,人的大脑,有一定思维能力,能够处理复杂事件。 |
− | |||
*无线通讯 | *无线通讯 | ||
− | + | **Joypad模式下采用[[Microduino-Module nRF/zh]]无线通讯方案,通讯速度响应快,控制范围:空阔地域大约50米。 | |
+ | **蓝牙模式下采用[[Microduino-Module BLE/zh]]无线通讯方案,配合手机APP直接控制,控制范围:空阔地域大约20米。 | ||
+ | *电机控制 | ||
+ | **采用[[Microduino-Shield Robot/zh]]上自带的一组直流电机驱动单元,一个单元能够驱动两个电机。 | ||
+ | *供电系统 | ||
+ | **采用[[Microduino-Shield Robot/zh]]上自带的单节锂电池管理单元,管理充放电功能。 | ||
− | * | + | ==程序下载== |
− | + | *Cube 机器人代码:[https://github.com/Microduino/Robot_Microduino Robot_Microduino] | |
− | + | ==程序烧写== | |
− | + | {{Upload | |
+ | |nameA=[[Microduino-Core/zh]]、[[Microduino-USBTTL/zh]] | ||
+ | |nameB=[[Microduino-USBTTL/zh]] | ||
+ | |boardName=Microduino/mCookie-Core(328p)、Atmega328P@16M,5V | ||
+ | |fileName=Robot_Microduino.ino | ||
+ | }} | ||
− | == | + | ==拼装过程== |
− | |||
− | |||
− | |||
− | + | [[File:Cube Robot 1.jpg||1000px|center]] | |
− | + | <br> | |
− | + | [[File:Cube Robot 2.jpg||1000px|center]] | |
− | + | <br> | |
+ | [[File:Cube Robot 3.jpg||1000px|center]] | ||
+ | <br> | ||
+ | [[File:Cube Robot 4.jpg||1000px|center]] | ||
+ | <br> | ||
+ | [[File:Cube Robot 5.jpg||1000px|center]] | ||
+ | <br> | ||
+ | [[File:Cube Robot 6.jpg||1000px|center]] | ||
− | + | ==操作说明== | |
− | + | *如果堆叠nRF模块开机,默认会进入Joypad遥控模式,否则进入蓝牙模式 | |
− | |||
− | |||
− | |||
− | |||
− | * | + | ===Joypad遥控指南=== |
− | + | *搭建过程可参考以下页面:[https://www.microduino.cn/wiki/index.php/Microduino-Joypad_Getting_start/zh 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 通讯模式配置] |
− | + | **当我们使用[[Microduino-Module nRF/zh]]作为通讯模块时,Joypad对应选择nRF模式即可 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | * | ||
− | [[ | ||
− | + | *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 电池使用说明] |
− | [ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | ===蓝牙遥控指南=== |
− | * | + | *首先下载蓝牙遥控APP(Android):[[File:mTank.zip]] |
− | * | + | *确定手机版本号是Android 4.3以上,确定当前蓝牙功能已打开 |
− | * | + | *搜索到名为“Microduino”的蓝牙设备进行连接 |
− | + | *接下来就可以通过APP进行遥控了 | |
+ | *详细参考:[[mRobot]] | ||
− | * | + | ==代码说明== |
− | + | *在“user_def.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"> | <source lang = "cpp"> | ||
− | + | #define NRF_CHANNEL 70 //nRF通道 | |
</source> | </source> | ||
− | + | ||
− | + | ||
− | + | *以下代码可以配置油门和转向对应通道 | |
+ | *对应通道说明可参考:[https://www.microduino.cn/wiki/index.php/Microduino-Joypad_Getting_start/zh#Step-5_.E9.80.9A.E9.81.93.2F.E6.93.8D.E4.BD.9C.E8.AF.B4.E6.98.8E 通道/操作说明] | ||
<source lang = "cpp"> | <source lang = "cpp"> | ||
− | // | + | #define CHANNEL_THROTTLE 2 //油门通道 |
− | + | #define CHANNEL_STEERING 1 //转向通道 | |
− | |||
− | |||
</source> | </source> | ||
− | + | ||
+ | |||
+ | *以下代码可以修正两轮的转速比例 | ||
+ | **值得范围是-1到1之间 | ||
+ | **设置成-1,是最大转速比反转 | ||
+ | **设置成1,是最大转速比正转, | ||
+ | **如果小车不能走直线,应该将较慢的一边轮子的转速比例值降低 | ||
<source lang = "cpp"> | <source lang = "cpp"> | ||
− | + | #define motor_fixL 1 //速度修正 -1到1之间 | |
− | + | #define motor_fixR 1 //速度修正 -1到1之间 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
− | |||
− | + | *用LPC来实现Cube小车,开发笔记:[http://wiki.microduino.cn/index.php/LPC%E5%BC%80%E5%8F%91%E7%AC%94%E8%AE%B0-Cube%E5%B0%8F%E8%BD%A6 LPC开发笔记-Cube小车] | |
− | + | ||
− | + | ==疑难解答/FAQ== | |
− | + | *Q:CUBE小车如何选择Joypad模式和蓝牙模式? | |
− | + | **A:不用手动选择,如果堆叠nRF模块开机,默认会进入Joypad遥控模式,否则进入蓝牙模式。 | |
− | + | ||
− | + | *Q:CUBE小车支持哪些电池? | |
− | + | **A:CUBE支持3.7v 1S锂电池。 | |
− | + | ||
− | + | *Q:CUBE小车的电机怎么接? | |
− | + | **A:两个电机分别接在电机接口A.A/A.B上即可。 | |
− | + | ||
− | + | *Q:我的手机支持蓝牙遥控吗? | |
− | + | **A:只要是Android 4.3以上,都可以支持。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | |} |
2017年8月4日 (五) 01:49的最新版本
目录概述
材料清单
实验原理
程序下载
程序烧写
拼装过程
操作说明
Joypad遥控指南
蓝牙遥控指南
代码说明
#define NRF_CHANNEL 70 //nRF通道
#define CHANNEL_THROTTLE 2 //油门通道
#define CHANNEL_STEERING 1 //转向通道
#define motor_fixL 1 //速度修正 -1到1之间
#define motor_fixR 1 //速度修正 -1到1之间
疑难解答/FAQ
|