本帖最后由 hzpyj 于 2013-7-3 18:47 编辑
Arduino模块DIY智能壁障车
一、项目起源 可以说一直以来,就想倒腾台小车玩玩,当然不是小孩玩的玩具车,也不是机动车,只是为实施DIY过程,来做台智能车。 现在外面普遍使用飞思卡尔的硬件来完成智能车,且可以参加比赛。但这对我来说还是难度大了点,一来我不是编程高手,二来支持飞思卡尔硬件需要配置的外围硬件基础也不便宜。 某日,突然发现Arduino很合适进行DIY(以前都用51,AVR还没怎么学好),积木式构架、模块化设计,硬件太适合了。 Arduino 的编程代码、编写方式也较简单,有点C基础就能很快上手,合适我使用。 在没接触Arduino前,实际对Arduino有多方便,有多大的自主性还是有点怀疑的。 自从物品购买的第一块Arduino控制器并使用后,已经对Arduino的便捷性有很高的认识,甚至已经把它推广到了我的工作中:用它来制作生产需要的测试工装。 最终,就定下来在Arduino的基础上进行DIY我的梦想智能车。
二、项目策划 梦想前期,DIY的小车是有壁障功能。 因此,前期准备了如下配件: 1、 小车底盘 小车底盘采用4驱电机(带码盘),双层结构 2、 SR04超声波模块
3、 Freaduino UNO R3 电机驱动原本想使用公司设计的电机驱动板。因参与OpenJumper产品的说明书编写工作,得到了L298驱动板及传感器扩展板各1块(还有其他的模块,直接导致DIY工程慢慢扩展开来),实际让我先撇开了自制驱动环节,可以马上进行相关的DIY制作。 三、项目实施 1、 修改完成底盘驱动(程序)。 2、 修改完成超声波测量(程序)。 3、 修改完成超声波测量值筛选(程序)。 4、 组装超声波至小车底盘,因为没有合适的方式安装超声波模块,暂时用3M双面胶将模块黏贴在底盘正前方位置上。 在此阶段,经过运行测试,发现需要考虑到前方140°范围内的障碍物,需增加用于调整超声波模块测量位置的舵机。 5、 修改完成舵机驱动(程序)。 6、 修改完成安装舵机至小车底盘的设计、舵机与超声波模块间的连接。 因为不想对小车底盘进行相应的打孔处理,基本设想是采用底盘现有的孔位进行相应的安装。碰到的难题还是超声波模块与舵机间的连接安装。想了很多办法都不合适,最终是找了片合适的铝合金片(中间有沉孔),与舵机紧固后,再将超声波模块用3M双面胶黏贴在铝合金片上。 7、 修改完成超声波的多角度测量及数据筛选。 8、 修改完成多角度测量后的逻辑判断处理。 在此阶段,经过运行测试,发现低与小车底盘的障碍物无法判断,运行过程导致经常卡住底盘,需增加针对低障碍物的识别。 未完待续……
|