汽车倒车防碰撞电路设计
    [摘要] 本论文介绍的是利用超声波测距法设计的一种倒车防撞报警系统。本设计是基于STC89C52单片机最小系统作为控制核心,由超声波模块,电机驱动模块,电源模块和报警显示模块等几个模块所组成的汽车倒车防碰撞电路系统。主要利用超声波的特性,将超声波测距系统和STC89C52单片机结合于一体,设计出一种基于STC89C52单片机的汽车倒车防碰撞报警系统。该系统采用软、硬件结合的方法,具有模块化和易操作的特点。
汽车防撞系统
[关键字] 单片机  超声波  STC89C52

引言
随着国民经济和科学技术的快速发展,我国汽车的拥有量在大幅增加,其数量已经跻身到世界各国的前列,与此同时也造成道路拥堵,交通事故频发,给人们的生命和财产安全带来了巨大的损失。安全驾驶已然成为大家关注的焦点,其中汽车防碰撞系统的设计和需求显得非常重要和迫切。针对这种情况,设计一种响应快、可靠性高,稳定性强且较为经济的汽车防
碰撞报警系统势在必行。
所谓的汽车倒车防碰撞报警系统即是俗称的倒车雷达,是汽车泊车辅助装置。在汽车倒车时,倒车雷达采用超声波测距原理探测汽车尾部离障碍物的距离。当汽车尾部离障碍物的距离达到探测的报警范围时,倒车雷达通过一些人性化的提示来给驾驶员发出预警,以警示驾驶员,辅助驾驶员安全倒车,为驾驶员的倒车安全提供保证和方便。汽车倒车雷达预警系统的运用可极大地减轻驾驶者的体力、脑力劳动强度,降低倒车难度,避免驾驶员因方向感不强、判断和操作失误而引起的事故,同时它将对提高汽车智能化水平和最终实现汽车无人驾驶产生积极的意义。因此有市场需求的产品,必然会带动产品的开发设计,现在市场上的的倒车雷达种类较多。几乎道路上的所有的中高档小轿车都配置有各种倒车雷达。需求的提高必然会迫使产品的技术不断更新。
本设计是一种基于单片机控制的倒车防碰撞系统,该系统采用通用型单片机作为核心控制器,方便系统功能扩展。系统电路主要采用集成器件构成,外围元件少,电路简洁、调试方便、成本低,利于商品化生产。在此设计过程中将研究的主要方向集中到超声波测距的应用和如何使用单片机来控制整个系统。超声波在现在的科学技术中的应用也是很广泛的。
超声波作为一种特殊的声波,同样具有声波传输的基本物理特性,反射,折射,干涉,衍射,散射。与物理紧密联系,应用灵活。并且更适合与高温,高粉尘,高湿度和高强电磁干扰等恶劣环境下工作。 超声波可用于非接触测量,具有不受光、电磁波以及粉尘等外界因素的干扰的优点。超声波测距是利用计算超声波在被测物体和超声波探头之间的传输来测量距离的,对被测目标无损害,而且超声波传播速度在相当大范围内与频率无关。超声波的这些独特优点越来越受到人们的重视。
因此,本次设计所要研究的几个方面是很有意义的。既能把以前所学习的电子电路技术回顾,又能使用单片机的控制理论来讲这些模块综合到一起,使它们能够完成特定的功能,最有趣的是学习了超声波测距这种传感技术。我觉得能够运用目前所学到的知识来解决一些问题就是这次课程设计意义的所在。
1  系统总体设计
1.1 设计要求及主要功能
设计要求是设计一种能自动探测汽车与物体距离,在距离小于设定值能够报警的防撞电路。电路主要以超声波传感器、信号接收处理电路、单片机控制电路、报警电路等组成。
主要功能是所设计的智能避障小车,它是以STC89C52作为主控制器,用超声波模块来测量小车与障碍物之间的距离,并将信号发给主控制器。用L298N芯片驱动直流电机,执行主控制器命令,控制小车的前进,并用LED灯和蜂鸣器报告检测出前方有障碍物。在小车的行进过程中按照超声波测距模块的测量范围在四位数码管上相应的显示出小车与障碍物之间的距离。并且当其测量距离小于预设报警值时,蜂鸣器会发出警报,小车停止前进。
1.2 系统功能模块定义
根据设计要求,我按照由主及次的原则大致勾勒出该设计的结构图,需要如下所示的几个模块:
1.3 总体方案
本次设计的防碰撞小车,设计思路如下:
采用与MCS系列完全兼容的STC89C52芯片,它是一种低功耗、高性能、COMS微处理器。片内具有8k字节的在线可重复编程快擦快写Flash存储器,256×8位内RAM,STC89C52可构成真正的单片机最小应用系统,缩小系统体积,提高系统可靠性,降低系统成本。
驱动采用L298N这款芯片,主要的特点是功率强大,可以加载高达46V的电压,并且提供两组IN口便于对两个轮子进行PMW速度调制控制。
超声波模块采用计时器中断计时的方法,算法简单有效,并且程序中采取超时控制防止出现无限大的数据,在允许的测量范围内以增加测量的精确度。
电源模块采用六节干电池 (9V) 串联做电源,利用LM2940芯片转换成5V稳定电压为小车的各个模块供电。功率上达到设计要求,并且是很好的稳定的直流电源,避免了电网电源转化时出现的电流不稳定现象,一定程度上降低了电路的复杂程度。
LED与蜂鸣器的设计发挥了安全的报警作用,有较强的实用性,为系统人性化设计增添了彩。
具体实施办法如下:
(1) 在小车前进过程中STC89C52芯片向超声波传感器模块Trig口发送长度大于10us的脉冲信号,使超声波发射电路工作向前方发送超声波进行测量,此时STC89C52芯片中定时计数器开始计时;当超声波遇到障碍物反射被,超声波接收电路收到反射波时,将测得的高电平信号通过Echo口传给主控制器,只有出现低电平时,计数器开始中断计时STC89C52根据时间差值检测法公式:
S =T *1.7/10 (cm) 计算出距离。
(2) 主控芯片STC89C52根据设定的报警距离判断前方是否出现了障碍物,如果判断是,则驱动蜂鸣器报警,小车停止前进。
(3) 利用主控芯片分别对两个直流电机发送连续的具有一定占空比的矩形脉冲进行PWM小车速度调制,在没有障碍物的情况下,车轮直流电机收到一定的脉冲宽度则小车走的是匀
速直线运动;当STC89C52芯片判断出有障碍物时,则小车得到脉冲宽度为零的PWM,从而达到避障的目的。
系统硬件单元设计
2.1 主控单元电路设计
2.1.1 主控芯片介绍
本次的设计采用的是STC89C52单片机,它是40个引脚的双列直插式封装形式,各个引脚功能说明如图2.1所示。
                                2.1 STC89C52芯片管脚图
VCC:电源,接+5V
GND:接地
P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。
P1口:P1口是一个具有内部上拉电阻的8位双向I/O 口,P1 输出缓冲器能驱动4个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P2口:P2口是一个具有内部上拉电阻的8位双向I/O 口,P2 输出缓冲器能驱动4个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。
RST:复位输入。晶振工作时,RST脚将持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。
ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可以用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作将无效。这一位置 “1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:振荡器反相放大器的输出端。
定时/计数器:
(1)MCS-51系列中51子系列有两个16位的可编程定时/计数器:定时/计数器T0和定时/计数器T1,52子系列有三个,还有一个定时/计数器T2。