超声波智能避障小车的设计与实现
自避障小车诞生以来,它在很多领域都有涉及,如机械、电子和交通。各种用电器都在向智能化转变,已经渗透到我们日常的点点滴滴。在各种高端技术的驱使下,避障小车的各种部件已经数以万计,要想使避障小车自己动起来,就要有类似于人类眼睛的传感器感知周围的环境。目前的传感器,在计算机超快的计算速度配合下,也只能傻瓜式感知周围的环境。一般的避障控制系统,属于一种简单的自动引导系统,使智能避障小车能够自己判断障碍物所距自己的距离,在与设定值比较之后选择较远的距离朝其驶去。
对我印象最深的如汶川大地震的抗震救灾工作,还有电视上经常播出的排雷工作,很多地方人都没有办法到达,这就要靠避障小车来完成。这就需要避障小车具备类似于人类思考问题的能力,避开各种障碍物,最终到达需要自己的地方。机器人可以分为两大类,其一是轮式机器人,其二是足式机器人,这次设计要完成的是智能避障小车,属于前面的后者。对上面举的两个例子,智能避障小车的研究显得很有必要。
1 小车的设计
1.1 硬件介绍
小车运行的控制方法多式多样,本设计采用主流的微控制器--单片机,可以说单片机是小车的心脏和大脑,小车运行都依赖它的控制。本设计中主控采用我们耳熟能详的STC89C51单片机,它主要负责对电机的控制和距离的测量。虽然这款单片机自身没有脉冲宽度调制模块是一大遗憾,但可以通过编程产生脉冲宽度调制,这样既能将资源发挥的淋漓尽致,还能很好的满足使用需求。
利用单片机作为该系统的大脑,用其指挥行进中的小车,以实现智能避障功能。将我们的系统剖开来看,其致命点在于实现小车的智能避障,而此时单片机的优点就体现出来了,控制起来比较简单,使用起来比较方便,操作起来比较敏捷。这样一来,它就可以体现其可位寻址操作功能、充分发挥其资源丰富、并且有强大的控制功能、价格低廉等一系列优点。对智能避障小车的控制起到了不可替代的作用。
1.2 软件介绍
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件,到现如今为止已经有多个版本,它的功能十分强大,不仅可以用来仿真EDA,而且也可以自己创作原件,比如仿真单片机,以及外围元件。Proteus的另一个强大之处在于它可以实现从原理布图到PCB的设计,完美实现了从概念到产品的设计体系。
该设计采用的是Keil C51开发实现的。Keil C51是美国Keil Software出品的,主要用于51系列兼容单片机C语言软件的开发。C和汇编语言作比较的话,优势非常明显,用户非常容易学懂。Keil软件也有完整的环境,其中包括C的编译环境、define、连接器、库管理、仿真调试器等。用一个集成的环境把这些部分组合在了一起。
1.3 功能分析
本设计大体上可以分为以下几个部分:单片机控制系统、电机驱动系统、超声波测距系统和显示系统。它们之间的联系如图1
图1 总体框架图
超声波来测量小车和障碍物之间的距离,并通过数码管显示出来,单片机控制超声波和电机模块共同实现小车的智能避障。
1.3.1 驱动功能分析
在小车的四个轮子上安装有直流电机,能够驱动智能避障小车前进,使用芯片L293D让直流电机转起来,通过使用电平信号,通过信号的高低,把单片机的输出信号,传给智能小车的电机驱动模块,然后通过电机驱动模块,进一步驱动电机,最终实现对电机转动的控制。该部分用STC89C51单片机来实现主要控制,以L293D电机驱动芯片为辅助,驱动智能避障小车能直线行驶和转弯。L293D四个引脚(OUT1、OUT2、OUT3、OUT4)可以分别接电机,完全驱动两个电机。剩下的两个En1和En1为使能端,可以通过电压控制电机的转速。
1.3.2 检测功能分析
本设计中,当单片机输出一个高电平,然后将该电平给超声波电路中的稳压器时,稳压器将输出电压,并将该电压提供给超声信号的发射部分电路。此时,微处理器定时器T0,将以中断方式产生脉冲序列,由软件触发一个超声波信号。该震荡信号,通过两个10位二进制计数器,输出一个100级分频的信号,若该信号变高,则说明定时器T0中断,然后通过锁存器级反相器后,发射该超声波信号。
1.4 单片机的选择
本课题使用的是STC89C51系列单片机,用它作为该智能避障小车的控制模块主要部分,通过STC89C51系列的单片机,应用相关程序来控制小车运动情况,进而实现对小车运动的自动化控制,常见的相关系列单片机最小系统如图2
图2 相关系列单片机最小系统
2 小车的实现
图3 超声波智能避障小车
3 结语
在完成设计和实现后,对整体进行了测试,以保证小车能够正常运行。调试是不可缺少的步骤,在调试中,先拟出调试思路,按照调试思路严格测试。在调试中发现问题,解决问题,直至达到理想效果。