开源电驱机器小车CUBE/zh
目录概述
材料清单
|
【此处配图要更新,robot底板】
实验原理
- 机器人小车种类比较多,如循迹,壁障,蓝牙遥控小车,电脑鼠等,不同功能需要采用不同传感器。
- 但是其行走控制方式基本是一样的,无非就是前后左右四个方向运动。
- 本次我们主要使用两轮驱动的结构,通过控制两个轮子的旋转方向,实现前进后退,旋转等功能,当然还要加上辅助轮,这样才能保持平衡。
- 该小车结构简单,主要包括三个方面:车轮、车身、控制系统。
- 1)车轮采用两个减速电机,扭力大,可PWM调速,控制简单。
- 2)车身采用木板,大小:8cm*8cm*8cm。
- 3)整个控制系统包括四个部分:
- 中央处理器
- 采用Microduino-Core/zh作为核心,就像电脑的CPU,人的大脑,有一定思维能力,能够处理复杂事件。
- 无线通讯
- 采用Microduino-Module nRF/zh无线通讯方案,通讯速度响应快,控制范围:空阔地域大约50米。
- 电机控制
- 采用Microduino-Shield Robot/zh上自带的一组直流电机驱动单元,一个单元能够驱动两个电机。
- 供电系统
- 采用Microduino-Shield Robot/zh上自带的单节锂电池管理单元,管理充放电功能。
程序下载
- Cube 机器人代码:Robot_Microduino
程序烧写
- 将Microduino-Core/zh、Microduino-USBTTL/zh堆叠在一起。用数据线连接其中的Microduino-USBTTL/zh上传程序。
- 注意:最好不要将所有模块堆叠在一起之后再上传程序
- 打开Arduino IDE for Microduino,环境,(搭建参考:AVR核心:Getting started/zh)
- 确认板卡(Microduino-Core)处理器(Atmega328P@16M,5V)选择无误,并选中对应端口号(COMX)
- 打开你所下载的项目中“Robot_Microduino.ino”程序
- 几项都无误后,点击"→"按钮下载程序到开发板上
- 将Microduino-Core/zh、Microduino-USBTTL/zh堆叠在一起。用数据线连接其中的Microduino-USBTTL/zh上传程序。
拼装过程
- Step1:首先将车子的轮胎和电击用支架和螺丝组合起来,再将轮胎和电机固定在A1上
- Step2:将A2插入A1两边的凹口位置,再将B1接在A1顶部,A3接在A1底部然后用A4进行固定
- Step3:将B2和C1分别接在B1的左右边对应位置
- Step4:将nRF模块底部接上天线,再与Core进行拼接,之后将其与电池连接,并加在Robot底板上。使用螺丝将底板固定在B1上
- Step5:将C2拼接在A1对应位置固定
- Step6:将D1接入B2和C1顶部接口部分,再将D2接到B2和C1前方的凹槽部分,完成安装后将天线的贴纸撕下,将天线贴在任意位置
Joypad使用指南
- 搭建过程可参考以下页面:Joypad使用指南
Joypad通讯模式配置
- 模式配置可参考以下页面:通讯模式配置
- 当我们使用Microduino-Module nRF/zh作为通讯模块时,Joypad对应选择nRF模式即可
Joypad电池使用说明
- 特别要注意的是电池使用说明:电池使用说明
代码说明
- 在“user_def.h”文件是我们的配置文件
- 以下代码可以配置nRF模式下通道,需要保证和Joypad遥控器一致
- Joypad的nRF模式通道配置可参考:nRF模式通道配置
#define NRF_CHANNEL 70 //nRF通道
- 以下代码可以配置油门和转向对应通道
- 对应通道说明可参考:通道/操作说明
#define CHANNEL_THROTTLE 2 //油门通道
#define CHANNEL_STEERING 1 //转向通道
- 以下代码可以修正两轮的转速比例
- 值得范围是-1到1之间
- 设置成-1,是最大转速比反转
- 设置成1,是最大转速比正转,
- 如果小车不能走直线,应该将较慢的一边轮子的转速比例值降低
#define motor_fixL 1 //速度修正 -1到1之间
#define motor_fixR 1 //速度修正 -1到1之间