发新帖本帖赏金 80.00元(功能说明)我要提问
12下一页
返回列表
打印

【智能小车】+皈依和你一起制作酷炫小车

[复制链接]
4884|39
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
皈依|  楼主 | 2015-11-9 23:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 皈依 于 2015-11-13 21:47 编辑

史上第二详细的蓝牙小车制作过程分享帖!!!!!!
提供皈依的设计思路,编程思想,小伙伴们需要的模块PDF,底层驱动源码,模块工作原理讲解和编程讲解,制作过程中珍贵的图片记录以及帖子结束时分享的完整源代码与视频。(真的是太详细了有木有,看完了都想和皈依一起参加这个活动了有木有!)
祝愿大家都能DIY个痛快!


首先,我想说21家的活动一直很棒~这次又出的这么好的小车活动,必须积极参加。
小车构思的时间还算挺久的,从版主cedar_renjun 发布那个帖子之后,我就在计划着制作一个智能小车,不过一开始想做基于ESP8266的,后来看到和小喇叭发布的活动不太一样就转变思路了~毕竟BLE也非常的火~
其他的大体功能都差不多,再加上这么久的物料采购与准备时间,总体思路已经定下来了。
一,计划实现功能:
1,小车避障(运用超声波测距模块)模块如图:
2,小车防止跌落(运用红外模块(该模块也可以避障))模块如图:
3,温湿度采集(DHT11) 模块如图:
4,小车状态显示(TFT屏或者LCD1602) 模块如图:
5,模式切换采用触摸模块,模块如图:
6,小车两种运行状态: 自运行避障模式与战斗模式
7,战斗模式采用蓝牙BLE与手机APP连接进行操作,蓝牙模块如图:
8,新增加语音提示功能来进行实时提示(采用SK020芯片)。
最后再晒一下小车的靓照与采购到位的模块照。

标题既然是皈依和你一起制作酷炫小车,那么我会和大家一起一个模块一个模块的制作,包括代码与硬件。
哦,谈到硬件我要说的一点是:我选择的是stm32f103+BLE的组合,原因么就是手头刚好有小板子与MCU,已焊接好。
那么接下来让我们一起制作酷炫小车吧!






超声波.jpg (211.12 KB )

超声波模块

超声波模块

BLE.jpg (237.04 KB )

BLE

BLE

MCU.jpg (243.06 KB )

MCU

MCU

TFT屏幕.jpg (216.64 KB )

TFT

TFT

触摸开关.jpg (213.34 KB )

触摸

触摸

红外模块.jpg (223.2 KB )

红外

红外

温湿度.jpg (207.28 KB )

温湿度

温湿度

小车内部.jpg (326.06 KB )

小车内部

小车内部

液晶LED.jpg (189.59 KB )

液晶

液晶

越野小车.jpg (293.35 KB )

越野小车

越野小车

打赏榜单

21ic小喇叭 打赏了 20.00 元 2016-01-13
理由:期待继续更新哟~~~~~

21ic小喇叭 打赏了 50.00 元 2015-11-30

相关帖子

沙发
皈依|  楼主 | 2015-11-9 23:11 | 只看该作者
本帖最后由 皈依 于 2015-11-12 21:53 编辑

NO.1 电机驱动与供电模块
昨晚发完帖子到今天想了很多种方案,各种顺序进行小车制作讲解,也在各种备选方案中纠结了好久,经过一天的纠结,我最终还是决定,想到那个就写哪个吧。。。原谅我的任性,因为,真的忙成狗啊。。。另外还要赶紧发完今天这篇让出电脑给老婆双11啊!!!

好了,不闹了,下面正式开始:

首先贴出100脚的stm32f103的图给大家大概的了解一下~另外在附件中也贴出来了DATASHEET供大家查阅。

其次,我用的软件编译环境是keil4 使用的是ST的标准库函数。

那么既然是制作小车,第一个想到的当然就是电机驱动了,因为轮子都不会转的话那就不能算小车了~
所以大家请看图,我自己搭了一个很简单的类似于H桥的驱动电路,具体原理就不进行讲解了,因为百度讲的比我详细多了~
重点就是这个只是我简单搭的电路,仅用于DIY,如果各位用到工程上出了问题,本人概不负责哦~不负责哦~不负责哦~


另外要说的就是前后轮都是用的这个电路驱动的,前轮负责转向,电机正转是左转弯,电机反转是右转弯;
后轮负责行进,电机正转是前进,电机反转是后退。

大家细看图,上面的两个管子使用PWM驱动的,而下面的管子是简单的MCU推挽驱动。
具体对应的引脚是:
前轮左上侧管子对应TIM4_CH1(PB6)   右上侧管子对应TIM4_CH2(PB7)
前轮左下侧管子对应PB10                  右下侧管子对应PB11
后轮左上侧管子对应TIM4_CH1(PB8)   右上侧管子对应TIM4_CH2(PB9)
后轮左下侧管子对应PB12                  右下侧管子对应PB13

管脚顺序对应好了,那么就开始写底层驱动了~

既然标题是皈依和大家一起制作酷炫小车,所以我决定由我来写PWM的初始化程序,而留给大家写一下简单的PB10~PB13的底层初始化。

具体的代码与工程暂时不发出来,选择发程序的截图也是出于很多的考虑,希望大家理解!
不过也请大家放心,最后的时候我会把源代码全部传上来~让大家DIY个痛快~

另外皈依写了一个简单的电机驱动的底层封装,有了这几个函数,相信大家可以写出很多的小车跑法~

好啦~电机驱动差不多到这里了~大家可以去试试看哦,具体有什么问题欢迎大家在帖子里和我一起讨论~
今天是双11,祝大家买的愉快,购的开心,顺便补一张图片是今天焊接的H桥的电路,虽然很丑,但是可以用~
另外要说的是整套系统的供电系统是由三节电池组成的电池组供电的,后面计划改装成锂电池供电,然后采用MP1584最小系统进行3.3V降压供电。
具体的大家可以在某宝上买到便宜实惠的可调降压模块 MP1584~





stm32f103vc LQFP100.png (98.21 KB )

100脚stm32f103

100脚stm32f103

电机驱动.jpg (173.46 KB )

电机驱动电路

电机驱动电路

电机初始化1.png (49.15 KB )

电机初始化1

电机初始化1

电机初始化2.png (32.32 KB )

电机初始化2

电机初始化2

电机跑法.png (31.8 KB )

电机底层驱动

电机底层驱动

IMG_20151111_201124.jpg (1.8 MB )

H桥硬件电路

H桥硬件电路

stm32f10x函数库中文参考.pdf

2.79 MB

stm32f103VCT6.pdf

1.88 MB

MP1584_datasheet.pdf

521.56 KB

使用特权

评论回复
板凳
皈依|  楼主 | 2015-11-9 23:12 | 只看该作者
本帖最后由 皈依 于 2015-11-13 21:34 编辑

NO.2:模块介绍(未完待续)在NO.2之前我在前两层楼更新了一些制作的PCB成果与供电系统的介绍,还上传了供电模块核心MP1584的PDF,有需要的小伙伴可以查阅哦~

今天有热心小伙伴问到了触摸模块的问题,正好今天还没想好制作哪些,所以就愉快的决定了介绍一下模块的用法吧。

模块一:触摸模块
讲到这个模块我要向大家道个歉,该模块我搞错名字了,名称不是HC-SR501,名称就是触摸模块,用法很简单。
而HC-SR501是人体红外感应模块,这次的大采购我也买了该模块,但是在该小车上,我没使用到这个模块,具体的模块图片请看我的截图。

触摸模块有三个引脚:GND, VCC, S        供电范围3~5V
具体用法:当用手触摸时,S输出一个高电平,当手放开时,S输出一个低电平。
讲到这里大家应该都会用了,由于是运行姿态的切换开关,重要程度比较高,所以决定用中断来写,在中断中修改标志位,然后在主函数中进行标志位判断。
没错,触摸模块就这么简单,相信各位小伙伴在我的介绍下都非常清楚了!

模块二:DHT11温湿度采集模块   超声波HC-SR04模块
讲到这个模块我又要感慨了,我要感谢一下原子与野火。是他们让我快速了解并熟悉了STM32的MCU,而且他们的外设讲解都很详细。
他们虽然没领过ST的一分钱工资,但是他们教会了中国成千上万的人使用ST的MCU,对ST在中国的推广有不可磨灭的贡献!再次感谢他们!他们在这个时代对于我们这些电子爱好者来说是最可爱的人!
相信有小伙伴会问了,为什么把这两个模块放在一起,没错,原因就是这两个模块在原子和野火的教程中有很详细的介绍。相信很多小伙伴也学习过了。

不过我还是做个简单的讲解让大家了解一下模块的工作原理与我的编程思路。
1,DHT11温湿度采集模块。
该模块同样的也是三根引脚,和MCU的通讯用的也是一根线,采用单总线数据格式。
具体的通讯过程是:
MCU先将信号线的高电平拉低,持续时间保证在18ms以上,然后拉高保持20~40us。
之后DHT11会响应拉低80us,然后拉高80us准备开始传输信号。
传输的信号中:50us的低电平加上26~28us的高电平代表0;50us的低电平加上70us的高电平代表1;
一次完整的传输数据为40位,数据格式是8位湿度整数数据+8位湿度小数数据+8位温度整数数据+8位温度小数数据+8位校验位。
写到这里相信大部分小伙伴都会使用了,如果还有小伙伴不会使用的没关系,我会在附件中上传DHT11的PDF文件与原子哥教程中的底层驱动文件来帮助大家理解和使用。
2,超声波HC-SR04模块。
该模块是四根引脚,其中和MCU通讯的是两根引脚,一根是MCU使能引脚,一根是模块数据传输引脚。
具体的通讯过程是:
MCU先给出10us的TTL的使能信号。即拉高使能信号持续10US,然后拉低该信号。
之后模块内部会向外循环发出8个40KHZ的脉冲进行测距。
当测距完成后,会通过数据传输引脚返回相应长度的高电平信号。而这个高电平信号的长短就是测试的距离。
OK,相信大家都了解了,我的计划呢就是用定时器来测量该高电平信号的长短。
没错,依旧不难。相信小伙伴们也会使用了。同样的HC-SR04超声波模块的PDF和野火教程中的底层驱动文件我也会上传到附件里面。

模块三:红外避障检测模块该模块很简单,讲讲原理相信大家都会秒懂。
该模块采用的是红外发射管与红外接收管。当模块前面有障碍物时,发射的红外光反射回来,接收管接收到红外光导通,信号被拉低。
这样就可以检测前方障碍物了,但如果仅仅是这样那该模块就没意义了,可以直接用两个管子加几个电阻实现了。
该模块的重点就是上面有个LM393,是的,是个电压比较器。
那他存在的原因是什么呢?没错,保证输出到MCU的电平信号为0或者1,这样不会有中间值!方便我们编程。
而选择用该模块做也是出于这个考虑,我可以放心大胆的用中断做了!
同样的,该模块的说明书我会在附件里面上传,相信大家看完后都会操作这个模块了!

模块四:语音提示模块(新增功能)
该模块我决定采用SK020模块与功放GPY0030。
这个芯片操作比较简单,内部的语音是出厂前已经录制好的。
对该芯片好奇的朋友可以通过搜索该语音芯片找到该厂商进行了解,为了避免广告嫌疑,我就不发链接了。
具体的硬件电路请大家看图了解。
那么软件如何编写呢?别急,先简单介绍一下该芯片。
如图所示:该芯片和MCU的通讯线为三根,分别是RST,DATA,BUSY。
具体的时序按照图片来操作,先发送100us的复位信号,然后通过DATA发送N个100us的信号,那么语音芯片就会自动放第N个语音。
怎么样,操作很简单吧~朋友们可以先试试,如果还是不行的话敬请期待后面放出的源代码进行了解~


触摸模块.png (152.34 KB )

触摸模块

触摸模块

触摸模块与HC-SR501区别.png (41.91 KB )

搞错名称了~

搞错名称了~

语音芯片.png (44.41 KB )

语音芯片.png

语音芯片1.png (98.01 KB )

语音芯片1.png

DHT11说明书最新版.pdf

514.81 KB

HC-SR04超声波测距模块说明书.pdf

427.76 KB

模块二底层驱动.zip

2.81 KB

【Realplay】红外壁障模块避障小车避障传感器黑白线识别距离可调.pdf

136.59 KB

使用特权

评论回复

打赏榜单

21ic小喇叭 打赏了 10.00 元 2015-11-23

地板
皈依|  楼主 | 2015-11-9 23:13 | 只看该作者
带你学模块

使用特权

评论回复
5
皈依|  楼主 | 2015-11-9 23:14 | 只看该作者
资料放置楼层

使用特权

评论回复
6
皈依|  楼主 | 2015-11-9 23:15 | 只看该作者
最后再占一层,敬请期待~

使用特权

评论回复
7
ecoren| | 2015-11-10 07:41 | 只看该作者
期待每一层,

使用特权

评论回复
8
21ic小喇叭| | 2015-11-10 08:57 | 只看该作者
jeep的  好霸气的车子

使用特权

评论回复
9
冰零分子| | 2015-11-10 09:24 | 只看该作者
本帖最后由 冰零分子 于 2015-11-10 09:26 编辑

顶起
超酷的越野已是一个响亮的开头哈哈

使用特权

评论回复
10
皈依|  楼主 | 2015-11-10 21:02 | 只看该作者

感谢支持~已更新第一层~

使用特权

评论回复
11
皈依|  楼主 | 2015-11-10 21:03 | 只看该作者
21ic小喇叭 发表于 2015-11-10 08:57
jeep的  好霸气的车子

某宝淘到的~很便宜的说~

使用特权

评论回复
12
皈依|  楼主 | 2015-11-10 21:04 | 只看该作者
冰零分子 发表于 2015-11-10 09:24
顶起
超酷的越野已是一个响亮的开头哈哈

嗯嗯~感谢~就怕开头太响亮后面的楼层不够用啊。。。

使用特权

评论回复
13
冰零分子| | 2015-11-11 09:08 | 只看该作者
皈依 发表于 2015-11-9 23:11
NO.1
昨晚发完帖子到今天想了很多种方案,各种顺序进行小车制作讲解,也在各种备选方案中纠结了好久,经过 ...

你俩用一台电脑啊,好男人的说
再买一台吧:D
哦哦,好像重点关注错了
你继续,哈哈

使用特权

评论回复
14
霁月韶光| | 2015-11-11 14:05 | 只看该作者
本帖最后由 霁月韶光 于 2015-11-11 14:10 编辑

好精巧的设计,简单明了但功能强大

使用特权

评论回复
15
风去| | 2015-11-11 19:31 | 只看该作者
支持。支持

使用特权

评论回复
16
second_chan| | 2015-11-12 11:33 | 只看该作者
触摸开关都有模块啦?贵不?如何检测?

使用特权

评论回复
17
皈依|  楼主 | 2015-11-12 12:00 | 只看该作者
霁月韶光 发表于 2015-11-11 14:05
好精巧的设计,简单明了但功能强大

嘿嘿~谢谢,前期规划了比较久~

使用特权

评论回复
18
皈依|  楼主 | 2015-11-12 12:00 | 只看该作者

感谢支持~

使用特权

评论回复
19
皈依|  楼主 | 2015-11-12 12:01 | 只看该作者
second_chan 发表于 2015-11-12 11:33
触摸开关都有模块啦?贵不?如何检测?

对啊 有模块了~感谢支持,我决定接下来的NO2就做触摸开关的检测,这个东西不贵,到时候链接一起发出来~

使用特权

评论回复
20
second_chan| | 2015-11-12 14:22 | 只看该作者
皈依 发表于 2015-11-12 12:01
对啊 有模块了~感谢支持,我决定接下来的NO2就做触摸开关的检测,这个东西不贵,到时候链接一起发出来~ ...

这是普通的电容触摸吗?需要程序另外增加检测驱动吗?

使用特权

评论回复
发新帖 本帖赏金 80.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:物致DIY 期待您的到来~ QQ群:646461928     微信公众号:智物知心致成 DIY小店

39

主题

4284

帖子

48

粉丝