``
本帖最后由 宋一喵 于 2016-2-24 10:42 编辑
教程分两种:文字教程 + 视频教程
文字教程和视频教程都以零基础的初学者思维出发。文字教程将每两天发布一次,视频教程将一周发布一次,每次发布数量至少一篇。
MWbalancedSTC15是什么?
MWbalancedSTC15是一款为初学而生的可二次开发的开源两轮自平衡小车。
代号MWbalancedSTC15的命名遵循“MW+xxx”的方式,MW为大写,是Miaow的缩写,balanced为小写,意为“平衡的”,STC15为系统所用的控制芯片型号。
两轮自平衡小车硬件组成:
* 控制芯片:IAP15W4K61S4【STC增强型51单片机,跟STC89C51一样简单易用】
* 姿态传感器:MPU6050 (内置三轴加速度传感器+三轴陀螺仪)
* 无线通信协议:蓝牙SPP-C 【可用于手机蓝牙遥控】
* 有线通信协议:CP2102
* 电机驱动:TB6612FNG * 外部接口:Mirco-USB接口
* 电机:直流减速电机
* 车轮:65mm
* 电池:2000mAh大电流锂电池
板载预留接口,增加开发性和娱乐性:
1、预留红外模块接口,可以实现循迹功能;
2、预留nRF24L01模块接口,可以使用2.4G遥控器控制;
3、预留超声波模块接口,可以实现避障功能;
4、预留串口摄像头模块接口,可以用于加入摄像头功能;预留舵机接口,可以自行增加舵机作为机械臂,使小车进化成机器人。
#MWbalanced原理图设计简介
##单片机最小系统
单片机选择宏晶公司IAP15W4K61S4,它体积小(LQFP48),工作电压宽(2.5V-5.5V
),具有丰富的外设模块,适合制作两轮自平衡小车。
我们选择IAP15W4K61S4作为主控芯片是有一些原因的:
- 一是IAP15W4K61S4是51单片机中的战斗机,性能满足系统需求。
IAP15W4K61S4是STC生产的单时钟/机器周期(1T)的增强型8051单片机,4K字节SRAM,5个16位定时器,6路15位高精度PWM,主频能达到33.1776M。IAP15W4K61S4采用STC-Y5超高速CPU内核,在相同时钟频率下,速度比传统8051快7~12倍,速度也比STC早期的1T系列单片机(如STC12/11/10系列)的速度快20%。
- 二是IAP15W4K61S4始终还是51单片机,简单易学,降低学习门槛。
众多学校开设单片机课程都是以51单片机作为讲解对象,为此,大部分同学都是以“用8051单片机点亮个LED灯”的方式踏上了学习单片机这条路的。IAP15W4K61S4是STC生产的单时钟/机器周期(1T)的增强型8051单片机,但万变不离其宗,IAP15W4K61S4始终还只是8051单片机,容易入门的特点仍在。
我们选用STC的IAP系列单片机,而不用STC系列单片机,还有个原因是考虑到后续需要改写Bootloader,实现无线更新固件的功能等。
STC的IAP系列单片机,和STC系列单片机的不同之处在于,整颗MCU的Flash空间,用户可在自己的程序中进行改写,开发用户自己的ISP程序。例如改写用户bootloader,实现无线升级固件等功能。
它的主要外设包括:
1. PWM :6路15位硬件PWM+2路CCP的16位;
2. UART:4组;
3. ADC:8路10位高速ADC;
3. 定时器:共7个定时器,5个16位可重装载定时器/计数器,2路CCP还可再实现2个定时器;
5. IO口:最多提供62个GPIO;
6. 内部存储器资源包括: 61k程序Flash,4kSRAM。
此外,IAP15W4K61S4内部还集成了时钟电路、内部高可靠复位电路以及看门狗电路等。下图显示该单片机的内部资源情况。
由于该单片机内已经包含了时钟和复位电路,所以单片机的最小系统电路非常简洁。
##系统电源
系统采用的动力源是定制的大电流锂电池,电池组充满电压达8.4V。而系统的部分芯片需要5V供电,部分芯片需要3.3V供电,所以需要电源转换电路。MWbalanced采用的是芯片LM2940-5.0和ASM1117-3.3。
##姿态传感器
MWbalanced采用的是当下很火的的MPU6050陀螺仪加速度计一体芯片,成本不超过15元,对两轮自平衡小车来说,它的精度和性能绰绰有余了,MPU6050在这个价位里面几乎是占有绝对的性价比优势。首先,它将陀螺仪和加速计封装在一起,通过IIC总线给出六个维度的ADC值;其次,芯片本身提供一个IIC从接口,供用户接第三方的IIC器件,一般选择是接一个
电子罗盘,如HMC5883L,构成一个9轴的输出的姿态模组。现在MPU9150已经丧心病狂的把电子罗盘功能也整合在片上了,但是要买60+元。最后,这颗芯片内部集成了一个DMP(Digital Mo
tion Processor)处理器,能直接硬件解算四元数。这让姿态解算不再是难事,跳过这个障碍后,就连路人都能做两轮自平衡小车了。
##电机驱动电路
由于小车需要两组电机,因此也需要两组H桥驱动电路。我们选用电机驱动芯片 TB6612FNG组成了电机驱动电路。一块TB6612FNG驱动芯片内置了两组H桥电路。
每一路电机为了能够实现控制速度和正反转,都分别需要一路PWM信号和两路GPIO控制喔。
##USB-Serial协议转换
因为考虑到不是每位小伙伴手上都有USB-TTL下载模块的,而且市面上的USB-TTL模块质量参差不齐,质量差的还会导致电脑蓝屏。于是,MWbalancdSTC15板载USB-TTL下载电路,通过一根安卓手机标配的Micro-USB线,就可以轻易简单地进行固件更新和调试参数。如此简单的操作步骤,想来随便从大街拉个路人过来应该都可以完成。
#蓝牙透传模块
为了让小车能跟上智能机泛滥的步伐,同时也是为了增加它的适应性和降低成本的考虑,我们在原来的基础上增加了蓝牙透传SPP-C模块,硬件焊盘上兼容蓝牙2.1技术。
蓝牙协议是很复杂的,要想去接触并试图一步一步的写出来,在我现有的时间下,几乎不太可能了。而将蓝牙透明传输成串口,这就很好的将小车与安卓设备对接了,可以直接在安卓设备上面开发遥控app或者上位机。这想想也有点小激动呢,于是,我们真的这么干了,也成功了。
``
15