这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » mcu200689的平衡车DIY进程

共12条 1/2 1 2 跳转至

mcu200689的平衡车DIY进程

助工
2015-06-08 21:37:54     打赏


助工
2015-06-08 21:38:08     打赏
2楼

1.组装、测试


全家福,多买了超声模块和MPU-6050模块



PCB主板


电机


超声模块正面


超声模块背面


液晶屏,还没拆包,真是袖珍


液晶屏背面


3C电池,1300ma,应该够玩一阵子的


组装好的,组装过程实在没什么好说的,相信对于广大DIY爱好者都不是难事,液晶屏插针也是焊接几个针脚的事,透明亚克力板已经碰掉了一块,用透明胶带缠上了,先凑合用。话说手机端的软件真是不容易控制,用重力感应控制就好了,可惜不会编写手机软件。


视频地址:http://player.youku.com/player.php/sid/XMTI1Nzk5MTI5Mg==/v.swf


院士
2015-06-09 09:16:48     打赏
3楼
小朋友们可是喜欢了

助工
2015-06-09 18:27:30     打赏
4楼
楼主,这样逗小盆友好吗

助工
2015-06-17 21:47:49     打赏
5楼

2.实验一:串口连接上位机波形显示

话说一定要仔细阅读说明书啊,弄了半天不显示一度怀疑是USB转TTL模块坏了,最后查看说明书发现做的步骤方法不对,按照说明书一下就好了,可以正常显示平衡车角度、轮速度等参数。

首先,USB转TTL模块杜邦线连接平衡车J3插座,接口定义为GND-GND,PA9-RXD,PA10-TXD

然后,打开平衡车电源开关,注意不要让车平衡,lz就是这里弄错了,双击按键关闭OLED,此步很重要。

接着设置上位机波特率和串口端口号,可在我的电脑里查看端口号,波特率设为115200,打开端口就可以接收到参数了。



助工
2015-09-10 20:21:58     打赏
6楼

3.实验二:电机驱动实验

       距离上次发帖已经过去很长时间,终于又有时间做平衡车。希望可以在活动时间内完成所有实验。加油吧。

       看原理图找到电机驱动部分,东芝官网下载好TB6612芯片手册,在此吐槽下百度竟然没有搜到,这款芯片用的很少吗?最后在东芝官网找到了。


H桥形式驱动电路,原理不复杂,手册查到的真值表。


接下来一幅图解释了输出值怎样控制电机转动


更详细点的电路,每路输入信号控制一路输出


硬件原理明白了,接下来修改程序做最简单的电机驱动,只要电机能转起来就OK。电机驱动函数如下


把main函数都注释掉,加上下面的两条语句,其中Moto1,Moto2值范围在-3500~3500之间,正负号控制电机转的方向,值大小控制电机转快慢。OK,电机转起来了。



助工
2015-09-10 22:19:00     打赏
7楼

4.实验三:编码器数据采集实验

       首先百度了一下直流电机编码器的作用:主要是测定电机的速度,为控制器提供反馈信号。是半闭环控制的检测元件。

       原理图中编码器接口


在程序中找到读取编码器数值的代码段,拿来主义,尽量先避开底层,在源代码基础上先实现基本功能再深究原理。

在电机驱动实验基础上再实现编码器数据采集就容易多了,电机转起来编码器就会有相应的值,OK。一段简单的代码搞定。

再找到oled的显示代码,只留下显示编码器数据,其余的先删掉。

Moto1,Moto2设定为1000时的编码器数值大概是160。



助工
2015-10-18 21:03:29     打赏
8楼

5.实验四:NRF24L01无线通讯实验

活动快要结束了,把做过的实验传上来。原来用过nrf24l01无线模块,手头正好剩一对,淘宝了stm32f103最小系统板,跟小车用的同一型号芯片,利于编程。

1)硬件连接




用杜邦线连接好最小系统板和24l01无线模块,参照原理图按照小车的连接顺序连接。



小车安装好无线模块

2)编程

在Mini Balance V2.5 顶配版源码(标准版基础上增加摄像头底层 超声波 NRF24L01)基础上修改程序。

接收端:

 NRF24L01_Init();    NRF24L01_FindMyself();  NRF24L01();   取消注释

NRF24L01()函数中注释掉RX_Mode(); 后的while(1)其余不做修改

发送端:

 NRF24L01_Init();    NRF24L01_FindMyself(); 取消注释

main函数中while程序修改为

TX_Mode();
if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
{
tmp_buf[1]=30; 
}  
delay_ms(10);
其余不要,程序极简,功能为小车上电后向右转圈。

烧程序后小车上电,按S3处于平衡状态,最小系统板上电,小车开始向右转,无线通讯成功。


助工
2015-10-23 13:20:09     打赏
9楼

6.实验五:传感器驱动实验

本节是MPU6050传感器驱动,模块本身不用多介绍了,下面看接线

MPU6050通过IIC接口与STM32通讯


stm32最小系统板和MPU6050模块


接下来修改程序

通过上位机显示平衡倾角、平衡陀螺仪、转向陀螺仪、温度这几个参数



修改main函数,直接打开上位机显示波形。

温度显示貌似不准,应该是25.9吧,温度读取程序没有修改

测试视频:

http://v.youku.com/v_show/id_XMTM2NzEyMzI2MA==.html



视频地址:http://player.youku.com/player.php/sid/XMTM2NzEyMzI2MA==/v.swf



助工
2015-10-23 14:03:48     打赏
10楼

7.实验六:多传感器数据融合

在上节实验基础上增加了编码器、电池电压等

修改程序如下



上位机显示如下



共12条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]