基于Dragonboard 410c的智能小车(三)
2017-11-15 12:07
302 查看
进入正文之前先讲两句大家都懂的道理,当你面对一些没有接触过的事情时,你可能会畏惧或茫然不知所措抑或不知该如何下手,那就不断去尝试,不要总是停留在想象,放手去做,你会惊奇的发现,你知道了99%的错误方法,最终也知道了那1%的正确方法,但是让你提升最多的是那99%的错误方法。
思绪拉回,开始进入正题了。前面已经讲过了硬件准备,对电机的基本了解以及如何控制。所以接下来就是软件上驱动代码的实现了。
410c的开发板,为了做到低功耗,每个引脚输出的电压基本上都是1.8V,但是我们选择的这个电机是直流12V的电机,所以,需要进行电压站换,庆幸的是,在低速接口上的一个引脚输出是12V,所以这里添加了一个降压模块“LM2596 DC-DC”用来给直流电机供电,但是仅仅有了电源还是不够的,所以又加了一个带有“7688 EH5E9K”的电机驱动模块用来驱动点击并实现正反转。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/07/21c15712ebda75ce6b72397c90f05824)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/07/a90a8ab21dddedd682a8c1ce97f6d156)
图 LM2596 DC-DC
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/07/0f0d359ffd1f9aaa35a2bcf0163d3ac4)
图 7688 EH5E9K
基本上的控制都可以了,此时还有一个问题,这样的控制只是控制前进、后退、左转、右转等,这时候一上电,速度就比较快,而且不能调节速度,那如何实现速度控制呢,我们都知道,电机的速度是用PWM来控制的,所以又加了一个PWM发生器pca9685用来产生PWM,通过改变占空比来改变速度,采用这个芯片即可以实现调速,还可以减少gpio的占用,因为这个模块是用i2c控制的,所以控制起来就比较简单了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/07/788ffa9ea7df9f5d0e7ce77e2083cc5e)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/07/e8589c55d76c2e56de6f702fe00bb74f)
图 pca9685
既然是做小车,避障肯定是必不可少的,我们做的这个也不例外,最常用的是红外避障模块
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/07/72aef1695a329f8b94ce3f85d6784d1e)
图 红外避障模块
红外避障模块的检测距离太近了,一般理论上说最大可以达到80cm,但是不管我如何调节,最大也就5、6厘米的样子,所以又加了一个超声波模块用来进行远距离的检测,当检测到远处有障碍物时及时减速防止撞车。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/07/2a429d82f0c217d49736d07891f6bf2a)
图 超声波模块
最后是供电了,410c开发板都是用适配器进行供电的,但是小车是要到处跑的,所以必须更换成电池供电,适配器是12V 2A的,所以买个相同标准的电池就可以了,其实并没有想象中那么好找。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/07/0405b5cf38a8b3f0adaa7dee837e274e)
图 电池
在做的过程中才发现有很多东西需要完善的,所以不知不觉中又添加了很多模块,功能也越来越完善了。到此,小车的硬件部分可以说完成了。
96a7
下一篇将简单介绍一下驱动部分。
思绪拉回,开始进入正题了。前面已经讲过了硬件准备,对电机的基本了解以及如何控制。所以接下来就是软件上驱动代码的实现了。
410c的开发板,为了做到低功耗,每个引脚输出的电压基本上都是1.8V,但是我们选择的这个电机是直流12V的电机,所以,需要进行电压站换,庆幸的是,在低速接口上的一个引脚输出是12V,所以这里添加了一个降压模块“LM2596 DC-DC”用来给直流电机供电,但是仅仅有了电源还是不够的,所以又加了一个带有“7688 EH5E9K”的电机驱动模块用来驱动点击并实现正反转。
图 LM2596 DC-DC
图 7688 EH5E9K
基本上的控制都可以了,此时还有一个问题,这样的控制只是控制前进、后退、左转、右转等,这时候一上电,速度就比较快,而且不能调节速度,那如何实现速度控制呢,我们都知道,电机的速度是用PWM来控制的,所以又加了一个PWM发生器pca9685用来产生PWM,通过改变占空比来改变速度,采用这个芯片即可以实现调速,还可以减少gpio的占用,因为这个模块是用i2c控制的,所以控制起来就比较简单了。
图 pca9685
既然是做小车,避障肯定是必不可少的,我们做的这个也不例外,最常用的是红外避障模块
图 红外避障模块
红外避障模块的检测距离太近了,一般理论上说最大可以达到80cm,但是不管我如何调节,最大也就5、6厘米的样子,所以又加了一个超声波模块用来进行远距离的检测,当检测到远处有障碍物时及时减速防止撞车。
图 超声波模块
最后是供电了,410c开发板都是用适配器进行供电的,但是小车是要到处跑的,所以必须更换成电池供电,适配器是12V 2A的,所以买个相同标准的电池就可以了,其实并没有想象中那么好找。
图 电池
在做的过程中才发现有很多东西需要完善的,所以不知不觉中又添加了很多模块,功能也越来越完善了。到此,小车的硬件部分可以说完成了。
96a7
下一篇将简单介绍一下驱动部分。
相关文章推荐
- 基于Dragonboard 410c的智能小车(二)
- 基于Dragonboard 410c的智能小车(一)
- 基于DragonBoard 410c的家庭智能环保卫士——(11)室内栅格地图位置更新Python实现
- 基于dragonboard 410c的智能魔镜设计(4)——视频消息检索及自动播放
- 基于DragonBoard 410c的家庭智能环保卫士——(12)环境数据融合
- 基于DragonBoard 410c的智能门铃系列三之系统功能分析
- 基于DragonBoard 410c的家庭智能环保卫士——(13)融合多数据处理的运动控制
- 基于Dragonboard 410c设计的智能管家
- 基于dragonboard 410c的智能魔镜设计(7)——UI原型设计
- 基于Dragonboard 410c的家庭智能环保卫士——(2)方案设计
- 基于Dragonboard 410c的家庭智能环保卫士——(3)室内路径规划
- 基于dragonboard 410c的智能魔镜设计(5)——基于人脸的用户身份识别
- 基于dragonboard 410c的智能魔镜设计(6)——人脸检测及身份识别启动模块封装
- 基于dragonboard 410c的智能魔镜设计(8)——UI的python脚本实现
- 基于DragonBoard 410c的家庭智能环保卫士——(9)数据库设计
- 基于DragonBoard 410c的家庭智能环保卫士——(4)A*路径搜索算法
- 基于dragonboard 410c的智能魔镜设计(1)——整体方案设计
- 基于DragonBoard 410c的家庭智能环保卫士——(6)kobuki位置信息传输及显示
- 基于Dragonboard 410c的智能开关
- 基于DragonBoard 410c的家庭智能环保卫士----各数据获取接口封装