基于51单片机的汽车智能语音避障系统.docx
《基于51单片机的汽车智能语音避障系统.docx》由会员分享,可在线阅读,更多相关《基于51单片机的汽车智能语音避障系统.docx(15页珍藏版)》请在冰豆网上搜索。
![基于51单片机的汽车智能语音避障系统.docx](https://file1.bdocx.com/fileroot1/2022-12/13/a7c340e3-d7c8-4b20-9109-72e2a4af1c5c/a7c340e3-d7c8-4b20-9109-72e2a4af1c5c1.gif)
基于51单片机的汽车智能语音避障系统
基于51单片机的汽车智能语音避障系统
【摘要】:
本次设计以高速行驶的汽车与路面突然出现障碍物为基点进行研究与开发,因此在本次中主要采用以AT89C52单片机为核心、以小车为载体来实现汽车智能语音避障系统。
同时利用目前应用比较广泛的超声波技术来探测路面上的障碍。
为了让系统易于控制,我们在设计中还加入了显示器件来实时监控距障碍物距离。
同时为了人机交互效果更好,在系统中采用语音模块来提示前方有危险物存在并进行报警告知驾驶员谨慎操作。
为了体现出系统的可控性,当遇上危险物时用PWM对来对电机进行减速,不至于冲向障碍物,使系统达到一个理想的运行状态。
【关键词】:
80C51单片机、超声波、语音模块、避障
一、前言
1.1概述
随着科学技术的提高,汽车工业也得到了迅速发展,而且越来越趋向于智能化,现代道路比较拥挤,交通事故频繁出现,而且有些交通事故是在司机没有意识情况下产生。
通过一些资料的分析80%以上的车祸是由于驾驶员反应不及与手刹使用不当所引起,67%的车发生追尾相撞、侧面相撞。
因此车在行驶时两辆车之间存在一定的安全距离是非常重要的,当两辆车之间的距离小于安全距离时就有可能发生交通事故,本设计就是在这样的背景下提出来的,我们采用目前比较流行的超声波技术来探测前方的危险物,当发现因此我们前方车辆的距离小于安全距离时,就让汽车减速并用语音告知驾驶员危险存在让其谨慎行驶,然后再判断一下是否进入危险距离区域,如果是就让车避开障碍物,这样可以有效的防止交通事故的发生。
同时设计的汽车智能语音避障系统具有两车之间距离显示、碰到障碍物时自动减速并且避开障碍物、同时进行危险距离温馨的语音提示、小车速度可控等功能。
本系统的创新在于:
(1)采用了目前被广泛应用于倒车防撞系统中的超声波技术,可以借助于倒车防撞系统来实现,经济实惠,开发起来也比较容易。
(2)当遇到危险时可实现自动减速、进行语音报警实时提示驾驶员危险存在、自动避开障碍物,而且语音的提示音可由自己自行录制方便用户使用。
(3)可广泛应用于交通系统中,不仅适用于疲劳驾驶、酒后驾驶、在一些司机反应不及以及误操作交通事故中,也能起到很大作用
1.2整体设计思路
根据背景的设想,系统可划分为单片机模块、电源模块、显示模块、电机驱动、语音模块、监控模块、稳压电路。
模块框图如下所示:
为了实现各模块的功能,分别对各模块进行分析。
二、方案设计与论证
2.1各模块方案分析
(1)微处理器控制模块
单片机主要用于协调和控制各个模块的运行,为此得出三种方案:
方案一:
采用FPGA作为控制器,FPGA采用并行输入输出,提高处理速度,但由于本次设计对数据的处理速度要求不高,因此其高速在这上面得不到体现,同时其成本比较高,芯片的引脚偏多,给电路的焊接带来了不便。
方案二:
采用STC51系列的作为控制器件,其端口为准双向并行口,可兼有外部并行总线,同时其外围扩展功能也比较强。
同时用51系列来处理速度要求不是很高的数据,比较实惠。
操作起来也比较方便、容易。
因此51也被广泛用于生活中。
方案三:
采用ARM作为系统控制器。
ARM有七种模式,其中的每一种模式都有独立的寄存器;寄存器寻址、操作灵活、速度快,RAM和FLASH容量都比较大。
但其价格比较昂贵,在本系统中应用其高速的功能得不到体现。
方案选择:
综上所述,我们选择了方案二。
(2)监控模块
监控模块作为本次设计中比较重要的一部分,它担负着障碍物的监控以及时探测出前方的危险物的责任。
方案一:
采用红外线来检测,红外线虽然比较实用,而且折射率比较小,同时在传播过程中不易扩散,因此很多测距仪器都选用了红外。
不过红外线在测距过程中精度比较低,距离较近,同时方向性比较差,给在汽车上使用带来了不便。
方案二:
采用超声波来检测,由于超声波指向性强,能量消耗缓慢,在介质中传播较远,因而超声波经常用于距离的测量。
利用超声波检测往往比较迅速、方便、计算简单、易于控制。
因此许多倒车系统中经常使用超声波来监测。
方案选择:
综上所述,考虑到超声波的实用性,我们选择了方案二。
(3)显示模块
方案一:
使用液晶显示距障碍物的距离。
液晶显示屏(LCD)具有科技含量高、低耗电量、无辐射危险,且画面效果好,分辨率高,能显示字母、数字符号、中文字形及图形,同时抗干扰性强等特点。
方案二:
使用传统的数码管显示。
数码管是采用BCD码来显示数字,程序编译容易,占用资源比较少。
但数码管显示的内容确实有限。
方案选择:
综上所述,我们选择了方案一,以方便观察。
(4)电机驱动模块
方案一:
电机驱动模块是小车的重要部分,要使小车能更好更快的运行,同时获得更好的驱动能力。
通过综合评比,我们选择了L298作为电机的驱动模块,因为298能提供强的驱动能力,输出电压可高达50V,而且还可以直接通过电源来调节输出电压,可以直接用单片机IO口提供信号,而且电路比较简单,使用方便。
同时L298的两个引脚可直接用于PWM控制电机的转速快慢。
方案二:
采用单电压驱动,电动机在绕组在工作时,只采用了一个电压电源对对绕组供电。
该方案优点是电路结构简单。
但由于限流电阻过大会使供电电流电流减小,同时使电机的高频性能降低,不过可以通过在电阻两端并联电容来提高电路的高频性能,但这样一来就降低了电路的低频性能。
方案选择:
综合考虑,我们选择了方案一。
(5)稳压电路
由于这个过程中要给电机供上12V电压,而单片机还有其他模块需要5V电压,因此在这个系统中只能采用一个电压转换电路来降低电压。
以保证系统的正常高效的运行。
(6)语音电路
方案一:
采用DSP进行语音识别,DSP具有很强的信息处理能力,能够进行大容量语音的录放与识别,但其价格比较高。
方案二:
用语音存储芯片ISD4004进行语音的录放,ISD4004具有高质量、自然语言还原技术,同时还有10万次录音周期,自动静噪等功能,能通过单片机进行高保真录音,性价比高。
(7)安全距离调节
为了增加系统的可操作性,在使用过程中更加方便,根据个人需要我们加入安全距离可调环节,于是我们选择了按键来控制。
2.2系统各个模块最终方案
经过仔细分析和和论证,决定了系统要用的各个模块的方案:
(1)单片机模块:
采用ATMEL公司的8051来控制;
(2)电源模块:
采用12V的蓄电池;
(3)监控模块:
采用超声波来作为障碍物的监控部分;
(4)显示模块:
采用LCD1602来显示距离;
(5)电机驱动模块:
采用L298芯片来驱动小车;
(6)稳压电路:
采用7805来实现低电压的转换;
系统最终框图:
三、系统硬件设计与实现
系统硬件性能的好坏决定了整个系统的运行情况,能否稳定而可靠的运转就取决于硬件电路的质量。
系统硬件电路的设计包括最小系统的设计、显示电路的设计、电机驱动电路设计、语音电路设计、稳压电路设计。
单片机采用STC89C51,显示电路采用1602,电机驱动采用298,语音模块采用ISD4004,稳压电路采用7805。
3.1最小系统设计
5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256B的RAM,2个16b的定时/计数器TO和T1,4个8b的I/O端I:
IP0,P1,P2,P3,一个全双功串行通信口等组成。
特别是该系列单片机片内的Flash可编程、可擦除只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。
该系列单片机最小系统如图3所示。
图3单片机最小系统
单片机最小系统是整个电路的核心部分,它承担了着整个电路运行与控制的主要功能,因此最小系统的设计是必不可少。
3.2显示电路设计
(1)显示模块是系统中人机交互的主要本分,因此显示电路也是必不可少的,为了能让显示效果更好,更有利于观察,因此我们选用价格实惠的1602作为显示器件。
显示的电路图如下:
图4液晶原理图
(2)液晶实物图:
图5液晶实物图
(3)液晶1602功能的特性
控制器内部自带80字节的RAM缓冲区。
接口特性:
适配MCS51,PIC,AVR和M6800系列MPU的操作时序。
模块采用COB技术封装。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名。
自动电源启动复位功能
3.3电机驱动电路
L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。
可以方便的驱动两个直流电机,或一个两相步进电机。
L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。
4脚VS接电源电压,VS电压范围VIH为+2.5~46V。
输出电流可达2.5A,可驱动电感性负载。
1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,5(IN1),7(IN2),10(IN3),12(IN4)脚接输入控制电平,控制电机的正反转,这四个引脚输入PWM脉冲,假设IN1输入一个PWM脉冲,IN2输入与IN1相反的PWM脉冲电机正转,相反的PWM可以由程序设置或者在IN2的输入前加一个反相器也可实现,建议使用程序设置方便简单,以减少硬件电路避免出现更多问题,若要实现电机的反转,则IN1、IN2输入与正转相反的脉冲即可实现,EN1、EN2接控制使能端,控制电机的停转。
当使能端为低电平时,芯片不会工作。
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。
同时L298N是一个具有电压大电流的全桥驱动芯片它相应频率高,且还带控制使能端,用该芯片作为电机驱动,同时稳定性好,同时在芯片的输出端加上稳压二极管来稳定电压。
图6L298N电机驱动电路
3.4语音电路
由于要想获得更好的语音效果,必须要具有高质量、自然语音的芯片。
特别是应用于交通系统中,要求就得更高。
ISD4004系列工作电压3V。
单片录放时间8至16分钟,音质好,适用于移动的机器设备中。
芯片采用CMOS技术,内涵振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存储陈列。
芯片设计是基于所有操作必须有微控制器,操作命令可通过串行通信借口送入。
芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和"金属声"。
采样频率可为4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100年(典型值),反复录音10万次。
图7语音电路
在录制提示音时,可让自己的家人来录制,这样来会显得很温馨,让自己觉得很有安全感。
3.5稳压电路
7805是三端正电源稳压电路,它的封装形式为T0—220,它能稳定输出5V电压,因此应用非常广泛,由于内部电流的限制,以及过热保护和安全工作区的保护,使它基本上不会损坏,能够提供足够的散热片,他就能提供大于1.5A的输出电流。
图87805稳压电路
3.6超声波模块
(1)超声波测距原理
单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反的回波,从而测出发射和接收回波的时间差T,然后求出距离S=CT/2,式中的C为超声波波速。
限制该系统的最大可测距离存在4个因素:
超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。
接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。
为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法。
由于超声波属于声波范围,其波速C与温度有关。
图9超声波模块实物图
(2)超声波发射电路
超声波发射电路原理图如图10所示。
发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。
输出端采两个反向器并联,用以提高驱动能力。
上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间
图10超声波发射电路图
(3)超声波检测接收电路
集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路(如图9)。
实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。
适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力
图11超声波检测接收电路
(4)汽车避障原理
本设计监控部分设计分为两部分:
超声波发射部和超声波接收。
单片机通过P1.0引脚发送一个波长为20us超声波同时打开计数器,然后单片机不停的检测P3.2(INT0)引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。
计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。
以此距离来判断,汽车避障系统应该启动减速行驶功能还是紧急刹车功能,同时执行语音模块来提示危险物存在。
四、软件设计
4.1系统软件设计说明
在进行单片机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。
因此,软件设计在单片机控制系统设计中占重要地位。
对于本次设计的系统,软件更为重要。
在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。
数据处理包括:
数据的采集、数字滤波、标度变换等。
过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。
为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。
所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。
模块程序设计法的主要优点是:
1、单个模块比起一个完整的程序易编写及调试;
2、模块可以共存,一个模块可以被多个任务在不同条件下调用;
3、模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。
本系统软件采用模块化结构,由主程序﹑定时子程序、避障子程序﹑中断子程序﹑显示子程序﹑语音子程序构成。
4.2程序流程图
软件分为四部分,主程序、中断服务程序、液晶程序、语音程序。
主程序完成初始化工作、各路超声波发射和接收顺序的控制以及液晶的显示。
定时中断服务子程序完成每隔一段时间超声波的轮流发射,当超声波模块的探头收到超声波时,同时给单片机P3^2口提供了一个高电平,使单片机进入外部中断服务子程序,在这里面主要完成时间值的读取、距离计算、小车转向控制、语音提示报警等工作。
软件流程图如下:
(1)主程序模块与定时子程序模块
主程序流程图定时中断子程序流程图
用定时中断就是每隔一定的时间就发送一次超声波,以确保能准确的检测到障碍物。
防止程序因为一直检测不到障碍物而是程序一直处于等待状态。
(2)外部中断子程序
外部中断子程序流程图
为了方便,当中的安全距离可根据实际情况进行设定,使系统更加完善
五、总结
本次设计的主要目的在于适用于生活,因此在设计过程中充分考虑了其适用性与创新,由于目前的超声波技术在汽车市场多用于倒车系统,在实现汽车智能化避障方面很少有应用。
从而我们设计的系统是一个遇障自动减速、同时进行语音提示驾驶员存在危险、而且还能看到距障碍物的距离、还能自动避开危险的障碍物,因此本系统可广泛应用于高速公路、和拥挤的城市交通中,能减少一些不必要的交通事故。
在设计中充分考虑了系统的性价比,从而使设计的成本大大减小,不仅减小了经济上的花销,同时提高了驾驶员在驾驶过程中的安全性。
给人们的生活带来了很多的方便。
经过我几个月的不懈努力,终于完成了本系统从设计到制作的全过程,电路的焊接返工多次,曾经很多时候都想到过放弃,但每一次都暗暗鼓励自己一定要坚持。
在这里还得感谢老师细心的指导,以及同学们热心的帮助,让我学到了很多。
六、参考文献
【1】《新概念51单片机C语言教程.入门、提高、开发》,郭天祥著,北京:
电子工业出版社2009年;
【2】《微型计算机控制技术》,于海生著,北京:
清华出版社
【3】胡萍.超声波测距仪的研制.计算机与现代化,2003.10
【4】张谦琳.超声波检测原理和方法.北京:
中国科技大学出版社1993.10
【5】《智能车辆导航技术》,付梦印,邓志红,刘彤著,北京:
科学出版社2009年
【6】《智能车辆》A·布洛基,M·步图滋,A·法斯莉,G·康特著人民交通出版社2002年
【7】《MCU-51系列单片机实用接口技术》李华著,北京:
北京航空航天大学出版社,1993.6