1、 基于 STC89C52 单片机的智能超声波跟随与避障小车广东技术师范学院天河学院电气工程系电气 123 班 小组:吴梓润 赖智彬 罗林昕摘要: 智能超声波跟随与避障小车是以 STC89C52 单片机为控制核心,采用超声波传感器技术,主要由电源模块、避障与跟随模块(即超声波模块)、L298N 直流电机驱动模块、语音提示模块,四位数码管显示模块等组成的控制系统.小车通过软件程序与硬件的相互控制,启动后开始探索前方是否有障碍物(即跟随物),若有跟随物,距离大于 30 厘米,就向跟随物方向前进,且数码管显示距离,距离小于30 厘米,跟随物变为障碍物,语音模块提示,小车自动避开,重新寻找跟随物.若前方
2、无跟随物,小车就向前左转弯,转弯后再寻找跟随物。关键字:STC89C52 单片机,超声波,L298N1 系统总体方案设计该系统是以 STC89C52 单片机为控制核心,以超声波传感器为距离测量元件,对跟随物的探索与跟随,自动避障,跟随与避障过程中,数码管显示距离与及语音提示避障的控制系统。如图 1 所示:图 1:智能小车跟随与避障系统基于单片机 STC89C52 的智能小车跟随与避障系统是一种利用超声波测距然后自动跟随或避障的系统,其启动后自动寻找跟随物以及小于某一距离后自动避开障碍物,广泛应用于探测跟随、避障等场合,通过超声波传感器,由单片机向超声波传感器发送命令,读取超声波传感器测量的距离
3、,再判断小车是否跟随或转弯避开。如果距离小于避障距离,语音模块进行提醒。它采用超声波传感器,超声波模块采用现成的 HC-SR04 超声波模块,该模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达到 3mm。模块包括超声波发射器、接收器与控制电路。本系统采用 STC89C52 单片机作为核心控制单元用于系统的控制, 小车安装了 1 个超声波传感器,装于小车前,用超声波检测障碍物,测出距离,程序电源模块STC89C52 单片机控制模块超声波模块(跟随与避障)四位数码管模块语言提示模块L298N 直流电机驱动模块根据测得的距离,实现小车是否跟随还是避障。2 系统硬件各模块的设计2.
4、1 超声波测距模块超声波传感器是本控制系统的核心模块之一,其相当于小车的眼睛,小车启动后,超声波就开始寻找跟随物以确定小车前进方向,进行判断后再进行控制,控制模块是决定系统将要进行什么工作的,如小车应该左转弯、右转弯还是向前进,小车行驶过程距离障碍物(跟随物)有多少。超声波传感器原理图如图 2 所示XTAL218XTAL119ALE3031PSN29RST9P0./AD0390.1/138P0.2/AD2370.3/336P0.4/AD4350.5/534P0.6/AD630.7/732P1.0/T211./2EX2P1.231.34P1.451.56P1.671.78P3.0/RXD103.
5、1/T1P3.2/IN0123./IT113P3.4/014P3.7/RD173.6/W163.5/T115P2.7/A1528P2.0/A8212.1/92P2./A10232.3/124P2.4/A12252.5/13262.6/1427U1AT89C52C110uC22pFC33pF X1CRYSTALR110kGNDEARSTXTAL1XTAL2XTAL1XTAL2RSTPSENALEP101P1213P1415P1617 P3736P3534P3P05P3130P262725P2423P221P20P070604P0302P010P30P311234图 2:超声波模块原理图超声波模块
6、与单片机的 P30、P31 连接,其 1 脚接电源,2 脚连接接收端Echo,3 脚连接控制端 Tr1g,4 脚连接 VCC。另外,超声波模块的时序图如图 3所示以上的时序图表明只需提供一个 10uS 以上脉冲触发信号,该模块内部将发生图 3:超声波模块时序图8 个 40KHz 的周期电平并检测回波。一但检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测得距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:uS/58=厘米或者 uS/148=英寸;或是距离=高电平时间*声速(340M/S)/2;建议测量周期为 60MS 以上,以防止发射信号对回响信号的影响。2.2
7、 语音提示模块设计此模块是用来提供语音提示的,当小车距离障碍物距离(这个距离可以自行设定)很近时,小车的控制系统会发出“在距您车前方 x 米的地方有一障碍物,请您注意避让”的语音提示。此功能是用 ISD1760 语音芯片来实现,预先给语音芯片录入“在距您车前方” ,“米的地方有一障碍物,请您注意避让” , “0”, “1”, “2”, “3”, “4”, “5”,“6” , “7”, “8”, “9”, “10”等语音信息,在通过单片机程序来控制语音芯片的定点放音,来实现语音提示。图 4 语音提示模块原理图由总体电路图,用单片机的 P2.2 到 P2.5 四个 I/O 口来控制 ISD1760
8、 语音芯片的定点放音。ISD1760 工作原理:如图所示,通过 REC 键来进行录音,录音时要一直按住 REC 键,录完一段语音后松开 REC 键,按动 PLAY 键可以对刚才的录音播放出来;VOL 键可以加减音量,每按动一次 VOL 键,声音就增大一级,由于只有8 级音量调节,所以在第 9 次按动 VOL 键时,声音又回到了最小音量;ERASE键可以对已经录入的语音进行擦除,短按此键可以擦除上一段录音,长按此键可以擦除所有录音;通过 SS、SCLK 、MISO、MOSI 脚与单片机进行 SPI 通信,单片机就是通过这几个脚实现对 ISD1760 的定点放音。2.3 最小系统 STC89C51
9、 单片机此模块是小车的最重要部分,它控制着超声波测距模块、数码管显示模块、L298N 直流电机驱动模块、语音提示模块和信号提示模块的工作。VcdLEDRSTMIOCKsaAnl+-pPU/XGoFYWN.uferk单片机通过计时器记录超声波发射和接受的时间差,来计算出小车距离障碍物的距离,控制 P1 口的高低电平来控制数码管显示,通过输出不同频率的脉冲来控制步进电机的工作,通过 SPI 协议与 ISD1760 语音芯片进行通信,来控制语音芯片的定点放音,实现语音提示功能。原理图如图 5 所示:XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD1
10、38P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD63P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD1P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A92P2.2/A1023P2.3/A1 24P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52C110uC22pFC33pFX1CRYSTALR110
11、kGNDEARSTXTAL1XTAL2XTAL1XTAL2RSTPSENALEEAP10P1P12P13P14P15P16P17 P37P36P35P34P3P05P31P30P26P27P25P24P23P2P21P20P07P06P04P03P02P01P0图 5:最小系统单片机原理图3 系统软件设计3.1 系统主程序设计该系统的主程序框架主要由避开障碍、测量距离、跟随物体、电机驱动、数码管显示距离和语音提示等子程序构成,如图 6 所示。根据各硬件电路功能来设计子程序模块,最后再将各模块嵌入主程序中。主程序测量距 离 子程序避开障碍子程序跟随物体子程序电机驱动子程序数码管显示子程序语音提示
12、子程序图 6:系统主程序框图4 系统调试与实现4.1 系统调试在测试过程中,先把小车放在空旷的地板上且放一物体,启动小车后测试其的探索跟随物的能力,搜索到后,若物体在其前方小于 30 厘米处,就可以测试小车的避障能力。若物体与其距离大于 30 厘米处,此时移动物体,可测试小车的跟随能力。4.2 系统实现与结果分析1首先把小车放于空旷的地板上,启动小车后自动开始寻找跟随物体2找到跟随物体后,小车调整方向,向跟随物体方向前进。当距离小于 30 厘米后,跟随物变为障碍物,小车避开障碍物再前进。此时小车重新开始寻找新的跟随物体。小车就是如此循环的既跟随障碍物又避开障碍物。3在测试小车避障与跟随过程中,数码管会显示物体的距离,若在避障距离内,语音模块进行提醒。4通过测试,小车在测试中能够按预想的设计要求,达到智能小车避障与跟随的功能。参考文献1 郭天祥.新概念 51 单片机 C 语言教程入门、提高、开发、拓展全攻略.北京:电子工业出版社,20092 宋戈,黄鹤松,员玉良,蒋海峰.51 单片机应用开发范例大全.北京:人民邮电出版社,20103 阎石.数字电子技术基础(第四版) .北京:高等教育出版社, 19984 刘伏文,王春华.MCS-51 单片机存储器结构详解.电子制作,2007,(10)