您的位置:首页 > 编程语言 > Go语言

基于Dragonboard 410c的智能小车(三)

2017-11-15 12:07 302 查看
      进入正文之前先讲两句大家都懂的道理,当你面对一些没有接触过的事情时,你可能会畏惧或茫然不知所措抑或不知该如何下手,那就不断去尝试,不要总是停留在想象,放手去做,你会惊奇的发现,你知道了99%的错误方法,最终也知道了那1%的正确方法,但是让你提升最多的是那99%的错误方法。

     思绪拉回,开始进入正题了。前面已经讲过了硬件准备,对电机的基本了解以及如何控制。所以接下来就是软件上驱动代码的实现了。

     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
下一篇将简单介绍一下驱动部分。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐