基于STC89C52单片机智能小车设计

2017-11-24 06:00孙强龙,胡光元
教育教学论坛 2017年47期
关键词:智能小车循迹

孙强龙,胡光元

摘要:本设计以STC89C52单片机为控制核心,通过超声波模块实现了小车高精度自主避障功能;利用红外传感器实现了小车循迹功能;采用红外接收器接收控制信号,实现对小车的人工控制。该小车性能稳定,可用于教学实验和机器人比赛。

关键词:智能小车;超声波避障;循迹;测速

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)47-0055-03

隨着科学技术的发展,智能小车在各行各业的应用越来越广泛。在交通运输、生命检测、防爆检测、无人巡逻等方面都扮演着重要角色。对于智能小车而言,如何正确地检测和避开障碍物以及按照规定的路线行驶也成为研发智能小车的首要问题。因此,对智能小车的循迹、避障等功能的研究尤为重要。本文设计的智能小车实现了自主循迹、避障功能,其中实现避障的超声波模块能和国外的SRF05、SRF0等超声波模块相媲美,测距范围高达2—450cm,盲区2cm,测距稳定,可实现在黑暗的条件下进行避障功能测试。

一、硬件设计

智能小车的硬件设计主要包括避障模块、循迹模块、测速模块、电源模块、电机驱动模块、红外遥控模块、STC89C52单片机控制模块,如图1所示。

1.单片机控制模块。本智能小车采用STC89C52单片机芯片作为控制模块的核心,该芯片采用Flash存贮器技术,成本低,兼容性高,且采用高密度非易失存储器制造技术制造,将多功能8位CPU和闪烁存储器组合在单个芯片中,其程序的电可擦写特性,使得智能小车开发与试验比较容易。通过Keil软件对STC89C52编程,实现对小车的运动状态的控制。

2.循迹模块。智能小车的循迹功能是指小车按照人为预定的路线进行行驶。在循迹模块的实验中,我们采用了红外探测的方法,为此需要两路红外传感器和专用跑道,跑道是在白色的地板砖上用黑色的胶布铺设而成。由于不同颜色的物体对红外线的吸收特性不一致,因此小车在行驶的过程中,红外传感器的发射管会周期性地向地面发射红外光线,白色的地板与粘合在地板上黑色的胶布对红外线的吸收特性有异,导致发射到白色的地板上的红外线经过漫反射,被安装在小车底座下面的红外接受器所接收;而发射到黑色胶布上的红外线则会被吸收,红外接收器无法接收黑色胶布区域的红外线,也就接收不到信号。因此,我们可依靠红外接收器是否接收到红外信号来判定小车是否在预定的轨道上行驶,从而控制小车的运动状态。只要合理调整两组红外传感器之间的距离与对地高度,便可采用此方案实现车的循迹功能。

3.避障模块。智能小车的避障功能实现中,采用了超声波传感器。相比于传统的红外避障传感器,一是超声波传感器可忽略光敏因素的限制,即实现全天性避障,在夜晚也可以进行避障试验;而是避障精度高、范围广,避障范围为2至450cm。超声波是一种频率比较高的声音,指向性强。超声波测距利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍。与雷达测距原理相似:

L=CXT

超声波传播速度误差超声波的传播速度受空气的密度所影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系,近似公式为:C=C0+0.607×T℃,式中:C0为零度时的声波速度332m/s;T为实际温度344(20℃室温)。对于超声波测距精度要求达到1时,就必须把超声波传播的环境温度考虑进去。

超声波避障原理简介:

(1)采用触发测距,给至少10us的高电平信号。

(2)模块自动发送8个40us的方波,自动检测是否有信号返回。

(3)有信号返回,通过输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340/))/2。

4.测速模块。智能小车测速功能实现中,我们采用了红外测速码盘,与红外循迹原理类似,都利用不同颜色的物体对红外线的吸收差异性。

在测速实验中,该传感器相当于一个红外电子开关,检测到障碍(码盘)输出低电平,平时高电平。码盘中没有障碍物时,红外管发出的红外信号经红外接收管接收回来后,经集成的芯片放大,比较后,输出一低电平,点亮模块上的发光管,同时可以输出一个低平信号,信号可以作为单片机的信号输入检测控制外部各种驱动模块之用。通过计算单位时间内红外接收器所接收到信号的次数来计算小车的速度。

5.电机驱动模块。智能小车采用四驱马达驱动,马达型号为CH01-48。马达参数如表1所示:

6.电源模块。电源模块采用单电源供电方式,2个3镍氢可充电电池,提供6V左右的电压,分别给小车的各个模块供电。该电源模块简单,可以安装在小车后座上,方便小车的行走,并且可充电,方便重复使用。

7.红外控制模块。小车采用多路控制的红外发射器,多个按键可以发射多个信号。不同信号代表着不同的功能,从而控制小车的运动状态,红外接收采用1838接收器。

二、软件设计

智能小车的系统软件设计采用keilC51作为平台进行开发。与汇编相比,语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。提供了包括编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。本设计的主程序设计思路如下:

利用单片机检测连接红外避障的p2.5引脚探测前方是否有障碍物;p1.0-p1.7引脚控制电机驱动,通过给出相应的高低电平控制小车的运动状态,例如前进、后退、左转、右转、停止等;p2.7引脚为舵机引脚,可控制舵机的180度周期性旋转,方便安装在舵机上边的超声波传感器探测障碍物;p3.2-p3.3引脚为测速模块;p3.5-p3.6为循迹模块引脚接口。小车通过p3.5-p3.6引脚检测小车是否正常行驶在循迹轨道上,如果偏离轨道则通过p1.0-p1.7引脚控制小车左转、右转使小车修正轨道。单片机还同时检测连接超声波传感器的p2.5引脚是否接收到信号来判断前方是否有障碍物,如果检测到障碍物,则实时地改变小车运动状态,避开障碍物,同时单片机还检测是否接收到红外控制信号,如果接收到则进入人工控制状态,然后继续进行循迹、避障,测速模块一直在执行。主程序图如图2所示:

三、结语

本文介绍了基于STC89C52的智能小车的硬件和软件设计。在设计过程中,采用模块化设计思想,使系统具有良好的可升级性和拓展性。采用单片机进行控制处理,性能稳定、易于控制、易于升级。通过测试和实验,实现了小车循迹、避障、测速、人工控制、前进、后退、左转、右转、自转等功能,由于时间和水平的限制,本系统还有许多可以升级的地方。

参考文献:

[1]董涛,刘进英,蒋进.基于单片机的智能小车的设计与制作[J].计算机测量与控制,2009,17(2).

[2]祝胜光.智能循迹小车设计与研究[J].科技风,2009,25(7).

猜你喜欢
智能小车循迹
基于DFT算法的电力巡检无人机循迹检测系统设计
Electron-impact ionization cross section calculations for lithium-like ions
基于单片机的智能循迹小车的设计
智能差分循迹小车设计
基于HC—SR04超声波传感器的智能避障小车设计
智能安全防盗探测小车
基于MC9S12XS128处理器的智能循迹小车分析研究
电动小车的循迹