基于AT89S52芯片的简易智能小车的设计与实现
2011-06-05张大为赵亚范
张大为,刘 迪,赵亚范
(1.海军航空工程学院 控制工程系,山东 烟台 264001;2.海军航空工程学院 基础实验部,山东 烟台 264001)
目前,国内外在智能机器的研究领域已经取得了一定成果,并且开始在生产和生活中发挥着越来越重要的作用。智能机器是具有简单智能的自动机器,用智能机器代替人的工作有很多优点。智能机器不仅可以自动完成任务,而且与人相比它的动作准确可靠、精度高、无疲劳感,在高精度、高强度的工作场所是代替人类劳动的首选机器[1]。尤其在强辐射、严重污染和高温、高寒、高压等环境下可以用智能机器代替人类工作,完成各种危险复杂的任务。智能机器在我们的生活中有着越来越重要的作用。在特定的领域和场所智能机器代替人的工作甚至可以做得比人好。
随着生产的发展和生活水平的提高,要求我们加大对智能机器的研究。因此,加大对智能机器的研制开发非常重要。在智能机器中智能汽车又是一个重要的分支。我们设计制作的简易智能小车是智能机器的简化模型,是智能机器的初级阶段,对以后深入研究智能机器会有一定的帮助。
简易智能小车的设计目的是使小车具有简单智能,可以完成自动寻迹、测量路程、检测金属、躲避障碍物、计数计时、报警等任务。小车硬件组成分为驱动转向模块、信号采集模块和报警显示模块3部分。驱动转向模块主要解决小车动力部份的问题,包括电源、电机、转向方式等。信号采集模块主要完成采集信号的任务,主要解决各种传感器的制作和使用问题。报警和显示模块主要解决声光报警和显示的问题[2]。系统以单片机为核心,单片机采集传感器信号,再根据信号变化对执行器输出相应的控制信号对小车进行相应调整。
1 总体功能框图
根据设计任务要求及功能实现的分析,画出系统的总体功能框图,框图如图1所示。整个系统可分为几个基本的模块,根据不同的模块选择相应的器件,实现模块的基本功能。控制芯片采用AT89S52单片机。AT89S52单片机是一种低功耗、高性能CMOS 8位微控制器,具有8 k系统可编程存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容[3]。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。AT89S52有5个中断源和3个定时计数器。
图1 系统的总体功能框图Fig.1 Block diagram of system overall function
2 系统设计方案
小车从起跑线出发能够沿引导线驶过直线区,再经过弯道区到达5 s停车点。停车5 s之后在光源的引导下穿过障碍区驶入车库。整个行程用时不得超过90 s,当行驶时间达到90 s时不论行驶到何处都要马上停车。而且,在直线区的白纸下面放置了1~3块宽度为15 cm、长度不等的铁片。要求小车经过时必需检测到铁片,发出声光报警并显示铁片中心到起跑线的距离[4]。电动车经直线区、弯道区到达5 s停车点(停车点下埋有边长为15 cm的正方形薄铁片)停车5 s钟。再次起动时要求小车以光源为前进方向,穿过障碍区顺利驶入车库。
3 驱动转向模块
采用直流电动机作为转向电动机,通过电动机的正反转来控制转动方向。这种设计电路结构简单、可靠,成本低,易于实现控制,但转向角度不可调,每一次调整都是以最大的调整角度进行的,所以小车总处于调节方向的状态,左右不停地转向。左右不停的转动在快速前进的时候就容易导致调节不及时和振荡剧烈,但是如果适当降低车速可以得到满意的调节效果。构成H桥电路可以用达林顿管,也可以用继电器。如果使用达林顿管工作频率可以很高,工作电流不能很高,另外要采用必要的光电隔离,否则很容易对单片机产生干扰[5]。如果使用继电器那么工作的频率将受到限制,工作电流与控制端无关。继电器的另一特点是自身实现了强电、弱电的隔离,有利于防止干扰提高电路稳定性。
继电器1和继电器2的控制端分别为P3.1和P3.2。如果控制端都为低电平时,继电器1、继电器2的开关k1、k2都为常闭状态,都与电源负极接通。电动机自身形成闭合回路,无电流通过,电机不转动。如果控制端P3.1为高电平,P3.2为低电平。继电器1的开关k1动作,与电源正极相连。继电器2的开关k2为常闭状态,接通电源负极。电动机有正向电流通过,正向转动,带动小车前轮左转。如果控制端P3.1为低电平,P3.2为高电平。继电器1的开关k1为常闭状态,接通电源负极。继电器2的开关k2动作,与电源正极相连。电动机有反向电流通过,反向转动,带动小车前轮右转。如果控制端P3.1和P3.2都为高电平。继电器1、2的开关k1、k2都与电源正极相连,电动机形成闭合回路,无电流通过,电机不转动。整个过程如图2所示。
4 金属检测模块
图2 转向电机电路图Fig.2 Circuit diagram of steering motor
当小车行进到轨迹的尽头时,要转入避障状态,就需要检测到终点,由控制器发出指令,进入相应的程序。采用检测金属片的方法。只要在运行轨迹的终点放置一块铁片,再用金属传感器检测金属片就可以了,电路简单,不会占用很多CPU资源。考虑到金属一般都是导体,根据电磁场理论可知,在受到变化的电磁场作用的任何导体,都会产生电涡流[6]。电感式接近开关由LC高频振荡器和放大处理电路组成,金属物体接近传感器的振荡感应头时,物体内部产生电涡流,当电涡流作用于接近开关时,接近开关振荡能力衰减,内部电路的参数发生变化,由此识别出有无金属物体接近,进而控制开关的通和断,并以电信号脉冲的形式送入单片机。电感式接近开关内部工作原理图如图3所示。
图3 电感式接近开关内部工作原理图Fig.3 Internal operating principle diagram of inductive proximity switch
5 报警显示模块
当小车检测到金属由循迹程序进入到避障程序及由避障程序进入到遥控程序时均会发出声音报警,通常选择蜂鸣器作为声音报警器件。蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型,在电路中用字母“H”或“HA”表示。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后 (1.5~15 V直流工作电压),多谐振荡器起振,输出1.5~2.5 kHz的音频信号,阻抗匹配器推动压电蜂鸣片发声。电磁式蜂鸣器由振荡器、电磁线圈、磁铁 、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。压电式蜂鸣器和电磁式蜂鸣器又分别有源型和无源型两种。有源蜂鸣器内部自带振荡源,电路接通后便会发出声音;无源蜂鸣器需要外部输入脉冲的驱动下才能够发出声音,且声音随脉冲频率的不同而改变,通过输入特定频率的脉冲可以弹奏出美妙的音乐[7]。系统只需要发出声音报警即可,故选用有源蜂鸣器。
在小车行进时,需要显示当前的工作状态,显示装置就必不可少了。采用点阵型LCD显示。点阵型LCD功能强大,显示信息量大,可以保证良好的用户模式。它具有显示质量高、体积小、重量轻、功耗低、无辐射危险、平面直角显示以及影像稳定不闪烁等优势,且可视面积大,图面效果好,分辨率高,抗干扰能力强。
6 智能小车总体程序流程的设计
在设计流程时,充分考虑到小车的各种传感器的合理搭配,相互协调,互相配合,使小车运行平缓,通过对继电器组成的H桥电路的控制来完成小车后轮的驱动和前轮转向,在设定的路面环境下,使小车能够不超调严重。检测铁片和障碍物通过两个外部中断来完成,判断B点是采用内部定时器来完成的,对小车的路面较正是通过T2计时器产生的中断子程序完成。其流程图如图4所示。在小车启动以后,同时启动计数器和计时器,对小车进行计时并对小车后轮的传感器检测到的脉冲进行计数,同时打开两个外部中断和定时器的中断,完成初始化。接下来查询标志位的状态,如果检测到铁片则产生外部中断,调用中断子程序,完成铁片的计数同时置位标志位,进入路程计算程序并调用BCD码和声光显示。如果T1没有中断则继续循环查询,否则进入第二部分查询,和第一部分不同的是这次再检测到铁片时小车要执行的是停车5 s钟再启动。再去查询光源的状态,调用寻光子程序。当再次发生中断时CPU首先判断是障碍物产生的中断还是车库产生的中断,如果是障碍物产生的中断就调用避开障碍物的子程序,如果是车库则停车。小车完成题目设计要求。
7 结 论
小车的各项行驶指标都达到了设计要求:转弯灵敏,速度控制灵活。红外传感器[8]判断黑线准确干扰小。检测金属及时准确。路程测量误差小,显示清楚稳定,亮度高。寻找光源准确灵敏,作用距离远。能够发现并躲避障碍物。停车位置符合要求,行驶全程用时小于90 s。各个模块在性能测试中工作良好,证明了选定方案是可行的。通过对改进前后的方案进行比较,发现改进是必要的,合理的,改进效果是显著的。在硬件上,使用了很多开关式传感器,避免了A/D转换的复杂性。用继电器代替达林顿管则解决了电机驱动的效率问题。用两个受光管代替可变电阻与受光管的组合提高了传感器的适应能力。AT89S52单片机芯片运行平稳,抗干扰能力强。控制小车转动方向的前轮转动方向上,如采用步进电机控制可更精确。总体能满足系统设计要求。
图4 程序流程图Fig.4 Flow chart of program
[1]张国良,敬文斌,刘延飞,等.自主移动机器人的设计与制作[M].西安:西安交通大学出版社,2008,5.
[2]毛谦敏.单片机原理及应用系统设计[M].北京:国防工业出版社,2005,8.
[3]董春丽.传感器与检测技术[M].北京:机械工业出版社,2009,1.
[4]陈松,李立国.智能模型车简析[J].电子产品世界,2008(8):34-36.CHEN Song,LI Li-guo.Analysis of the intelligent model car[J].The Word of Electronics Products,2008(8):34-36.
[5]王国宏,陆大金,彭应宁.多传感器信息融合及应用[M].北京:电子工业出版社,2007,12.
[6]方建军,何广平.智能机器人[M].北京:化学工业出版社,2004,2.
[7]徐建军.MCS-51系列单片机应用及接口技术[M].北京:人民邮电出版社,2003,6.
[8]李雪霞,何扣芳.基于MCS-51单片机的智能机器人迷宫车设计[J].现代电子技术,2010(16):7-10.LI Xue-xia,HE Kou-fang.A smart car for maze based on MCS-51 single chip computer[J].Modern Electronics Technique,2010(16):7-10.