本站小编为你精心准备了超声传感器下的避障小车系统设计参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
摘要:为了有效减少我国交通事故的发生,提高人民的生活水平,给越来越多拥有汽车的人带来方便,同时减少身边的安全隐患,设想如果可以实现汽车的智能化,使其可以自动避障,那就可以大幅度地减少交通事故的发生。本文根据单片机原理与传感器理论,提出一种在实验室条件下基于超声波传感器的避障小车模型系统,它以单片机为控制核心,通过分析测速、测距模块传递回来的数据以达到避开前方障碍物的目的。超声波测距的易实现性、高精度性以及自适应理论的应用,都使得小车能更好地避障。通过理论研究与实物制作演示,证明此小车可以很好地完成避障目的,但要达到实际应用还需要进一步的探讨与研究。
关键词:超声波测距;避障小车;单片机;自适应
私家车的普及改变了我们的生活方式,提高了我们的生活质量。现如今,汽车已成为人们生活必需品之一,它给我们带来方便的同时,发生在身边的交通事故也越来越频繁,我们的安全保障已极度下降。设想如果能使小车变得智能化,使其可以自动避开障碍物,那么人们的安全将会有极大的保障,所以智能汽车的研究已经是一个必然趋势[1-4]。超声波作为智能汽车避障的一种重要手段,有其明显的优点,主要表现在避障的易实现性,易实时控制性和高精度性,因此,超声波传感器在汽车智能化进程中将会发挥极大的作用。目前我国在很多科技领域都达到国际领先水平,可以预见,未来智能车的发展也一定会大步向前。在这种情况下研究基于超声波的智能避障小车将具有很大的意义,这将会间接促进我国在汽车智能化领域竞争力的逐步提高。
1.总体方案设计
本文主要阐述了基于超声波传感器的避障小车系统的理论以及设计。系统使用STC12C5A60S2单片机作为主控芯片[5],通过超声波测距传感器来获取小车与障碍物之间的距离,并用光电计数器测得小车的行驶速度,并且用LCD实时地显示出来,在小车与障碍物的距离小于20cm(软件设定)时,小车会发出“距离前方20cm(此时LCD也实时显示20cm),请避让”的语音提示,并且转向,以避开障碍物。本文将设计方案主要分为两部分[6-8]。一部分是硬件电路的实现,主要包括单片机主控模块、超声波测距模块、电源模块、光控测速模块、电机及电机驱动模块、语音提示模块、LCD显示模块;另外一部分是软件的实现,主要包括主程序,各个分块程序等方面。图1为避障小车系统框图。
2.硬件系统设计
2.1单片机主控模块设计
图2为单片机主控模块电路图,该模块使用STC12C5A60S2单片机作为主控芯片,它相比一般单片机有处理速度快、运行功耗低、抗干扰强等优点。主控模块利用单片机定时/计数器来计算超声波发射与接收的时间差,计算出小车与障碍物之间的距离;通过定时/计数器来计算与光控计数器配套的码盘单位时间转过的圈数来计算小车的行进速度;并将障碍物距离信息与速度信息实时显示在LCD上;使用电机驱动模块来控制电机的拐弯与前行;通过语音模块在转弯避障的同时发出语音提示。
2.2超声波测距模块设计
超声波穿透力强,具有优良的穿透性,被广泛使用在测距方面。超声波测距的原理是在已知声波在室温下传播速度为V=340m/s,测量声波S=V*7/2在发射后遇到障碍物返回来的时间差T,利用公式来计算发射点与障碍物之间的距离。图3为超声波测距模块电路图,该模块采用的是HC-SR04,此模块性能稳定、精度较高,盲区非常小。探测距离最远可达400cm,能满足此次设计的需求。理论上使用一个超声波测距模块即可,但在实际测试中,发现如果用一个超声波测距模块,小车在拐弯之后不容易走直线。因此我们使用了三个超声波测距模块来改进控制效果,分别放在小车的左侧、前方、右侧三个方向。实验证明改进后小车避障后行进路线明显改善,特别是在墙角以及三面都有障碍物的环境下。
2.3光控测速模块设计图
4为光控测速模块电路图,该模块利用的是光电计数器原理[9,10],本次设计所使用的传感器是比较常见且效果明显的红外光电式传感器。其中一个红外二极管发出红外波长的光,它不受室内其他自然光的影响,红外线如果没有障碍物所阻挡,就会被另一个光敏三极管所接收。光敏三极管接收到此信号之后,我们再接一个放大器进行放大,最终通过整形,转换为矩形数字脉冲信号,通过STC12C5A60S2单片机来计数。本次设计采用的是一个10格码盘和SD/2测速传感器,此测速传感器使用的是74HC14D,工作电压为3.3~5V,输出为数字脉冲信号,采用红外线中断的检测方式,当探测到障碍物时输出为高电平,反之为低电平。测速模块有三个端口,一个为电源正极输入口,接3.3~5V的输入电压,一个为负极输入口,接GND,还有一个为信号输出口,接单片机的一个外部中断口,每当有红外线导通时就是一个低电平脉冲,将10格码盘套在电机上,将速度传感器置于码盘两侧,电机转一圈射线便导通10次,此时外部低电平触发中断10次,这样我们用单片机的定时器计算1S内能接受多少个外部中断,除以10就能判断小车轮子在1S内转了几圈,然后用尺子量出小车轮子的周长,就可得知小车1S行驶的速度。
2.4电源模块设计图
5为电源模块电路图,小车各个模块都需要供电,如果分别供电会使整体结构显得臃肿。经过分类,得出单片机主控模块、超声波测距模块、光控测速模块、语音提示模块、LCD显示模块以及电机驱动模块都需要5V的供电。而电机驱动模块需要两路供电,除了使用5V外,还需要7~12v电源供电。综合上面的两种供电模式,我们选择采用2节Ultrafire18650可充电锂电池,此电池电压为3.7V,可以反复充电10000次。此7.4V电源一路直接给电机驱动供电,另外分出一路送入稳压电路模块,产生5V的电压。在5V的稳压电路中,选用的是7805芯片,如果能够保证散热情况良好,可以提供1.5A以上的电流。采用7805芯片搭建的电源电路非常简单、实用,输出电流完全能够满足需要5V供电的系统模块。
2.5电机及电机驱动模块设计
电机模块用来控制小车前进,电机驱动模块是为了给电机提供稳定的工作电压,使电机正常工作。图6为电机及电机驱动模块电路图,本次设计选择的是四个直流电机,当小车直走时,给四个电机相同组合的电压,小车就会一直向前走。当检测到障碍物,通过控制输入电机的电压,使电机产生速度差来控制小车转弯。但由于电机工作时,需要较大的工作电流,因此需要电机驱动芯片来驱动电机。在避障时候,给左边两个轮子相同组合电压,右边两个轮子相反电平组合,小车就会左转;使上述操作相反,小车就会向右转。如果小车需要停止,给使能端输入低电平信号即可。本设计使用的是L298N电机驱动芯片,L298N可同时驱动两路直流减速电机,OUT1和OUT2接IN1和IN2控制的电机,OUT3和OUT4接另一路电机。
2.6LCD显示模块设计
LCD显示模块主要用来实时显示小车行驶过程中的信息,包括距离前方、左侧和右侧障碍物之间的距离,以及当前小车的行驶速度。图7为LCD显示模块电路图,本次设计采用的是1602液晶显示屏,这次设计第一行显示的为距离信息,包括:;第二行包括:1602显示屏共有16个引脚,VSS接5V电源,VDD接GND。RS为数据/命令选择端,当高电平时,使用数据寄存器,低电平时采用指令寄存器,接STC12C5A60S2的一个I/O口。E为使能信号端口,当其有高电平转为低电平的时候,液晶模块开始执行命令,也接单片机的一个I/O口,加上RS以及R/W,此三个端口为液晶的控制端口。还有D1-D8八个数据传送端口,用来和单片机之间进行数据传送。
2.7语音提示模块
图8为语音提示模块电路图,该模块的作用是用来在小车拐弯避障时发出提示。事先设定一个“距离”,当小车到达此要求时,语音模块会发出语音提示,此提示是:“距离前方二十厘米,请避让。”本次设计采用的是WT588D语音芯片,使用它时不需要搭建复杂的外围电路,将需要的信息下载到它的内存中,再通过上位机来控制它。预先给语音芯片录入“距前方X,请避让”等语音信息,再通过单片机程序来控制语音芯片的播放,以达到避障提醒的目的。
3.软件系统设计
软件部分的设计思路与硬件设计相似,程序使用C语言编写,采用模块化设计,将一个大程序按照功能划分为若干子程序模块,将具体的问题抽象化,使得程序设计更加简单、直观,这样不仅使程序易于编写而且扩展性大大增强,从而提高了程序的易读性和可维护性,还可以把程序中经常用到的一些功能编写成通用函数,做到随调随用。软件部分包含主程序、测距函数、测速函数、中断服务函数、延时函数、显示函数、驱动函数[11-13]。测距函数用来对超声波测距模块返回的外部中断进行处理进而实时测得距离前方障碍物的距离。测速函数用来对光控测速传感器传回的外部中断进行处理以实时获得小车的速度。显示函数用来显示测距模块与测速模块反馈回的信息。图9为主程序流程图,程序开始执行的同时驱动小车前进,单片机发送触发信号,判断前方是否有障碍物,如果没有障碍物,则继续前进,否则计算距离并播报给用户,判断是否小于预先设定的阈值20cm,如果不是,则继续前进,否则驱动电机完成避障后,继续前进。程序中用到自适应控制理论,当小车拐弯后,由于各种原因可能导致小车拐弯不够精确或拐弯后不能按直线走,针对此问题,在软件中进行处理,当小车拐弯时,让小车不断的检测调整,使其快速纠正走直线,以达到自适应控制的目的。图10为超声波避障小车的成品图。
4.结论与展望
本系统以STC12C5A60S2单片机为主控芯片,采用超声波传感器来精测测距,设计了一种超声波避障小车系统,实现了全自动避障并语音播报障碍物距离的功能。经实验证明,该系统运行良好,能够以较高的速度稳定运行,且硬件简单,能实现对周边环境的动态感知,达到了预期效果。今后如能对硬件结构进行更合理的优化,该系统的功能仍有很大的扩展空间。
参考文献:
[1]蔡述庭.智能汽车竞赛设计与竞赛[M].北京航空航天大学出版社,2012.
[2]郭天祥.新概念51单片机C语言教程(第二版)[M].电子工业出版,2009.
[3]傅海军,段少飞,李炫君.复杂路况下智能小车的设计[J].电子产品世界,2018(10).
[4]史烨桦,汪地,万兵,孙玲玲.基于Arduino多传感器的智能小车避障系统设计[J].计量与测试技术,2018.
[5]李雪霞,刘雪梅,李建勇.基于嵌入式微处理器的智能语音小车设计[J].工业控制计算机,2018.
[6]刘洁.无线循迹避障智能小车的设计[J].工业控制计算机,2018.
[7]王嘉俊.基于STM32的智能小车控制系统设计[J].电子制作,2018(17).
[8]马宏斌,毕建兴,赵家莹.基于单片机的智能小车避障系统的设计与实现[J].信息记录材料,2018(10).
[9]王化祥等.传感器原理及应用(第三版)[M].天津大学出版社,2007.
[10]马科斯—恩.光学原理[M].电子工业出版社,2006.
[11]张乃孝.算法与数据结构(第二版)[M].高等教育出版社,2006.
[12]李雯雯.基于多种传感器的自动导航小车避障的研究[D].西安科技大学,2008.
[13]寸晓非.基于模糊控制的智能小车避障设计[J].荆楚理工学院学报,2009(5).
作者:乔凌霄 郭超维 刘源涛 温帅 孟朝霞 单位:山西能源学院