基于单片机的倒车防撞预警系统研究

2021-05-20 01:46
科技视界 2021年10期
关键词:蜂鸣器子程序障碍物

付 锐

(浙江经济职业技术学院,浙江 杭州 310018)

随着经济的发展,人民生活水平的提高,汽车成为每个家庭的必需品。 同时,由于汽车倒车而产生的交通事故的数量也日趋增多, 新手司机的不熟悉操作、车位的窄小、倒车时人无法目测到车尾的障碍物等都进一步加剧了倒车的困难度。 针对倒车存在的问题,设计一种整体结构简单、反响速度快、性能稳定、价格低廉、小型化的汽车倒车防撞预警系统。 当障碍物与汽车之间的距离小于安全距离发出警报[1],解除泊车、窄道行驶、不熟悉操作等因素引起的困扰,提高驾驶的舒适性与安全性,同时为无人驾驶的研究奠定基础。

1 超声波测距原理

超声波是指发射频率大于20 kHz 的波,可通过接收器接收超声波的时间差来测定。 即在超声波发射器发射超声波时开始计时, 经空气传播时遇到障碍物返回, 超声波接收器收到反射回波时立即停止计时, 超声波发射和接收之间存在一定的时间差[2]。根据公式S=(C*T)/2 可计算出发射点与障碍物的距离。 其中超声波在空气中的传播速度C=340 m/s,t 是时间差。

由于超声波穿透能力强,方向性好,能量消耗慢,在介质中传播距离远, 并且超声波检测比较迅速、便捷、易于控制,测量精度高,满足不同领域的实用需求[3];同时,超声波传感器的价格及环境适应性较好,因此,超声波经常被用在需要近距离测量的领域。

2 系统硬件设计

本系统运用模块化设计思想,硬件电路部分主要包括电源模块、单片机控制模块、超声测距模块、显示模块及报警模块。 系统总体结构框图如图1 所示。

图1 系统总体结构框图

本系统是以单片机作为主控制器,通过单片机编程产生的40 kHz 矩形脉冲串加到超声波发射电路,当超声波发射时看门狗定时器开始计时,发射的超声波遇障碍物时发生反射,反射的回波经超声波传感器的声/电转换,变成微弱的电信号,再经滤波、放大、整形输入到单片机的外部中断口产生中断,计数器计数停止,测出超声波从发射脉冲串到接收到回波信号的时间差[4],根据公式S=(C*T)/2,计算出发射点与障碍物之间的距离,最后通过4 路共阴极的八段数码管显示出来。 当距离小于预先设定的报警距离时,单片机接通报警模块电源,蜂鸣器发出警报声。 硬件电路结构图如图2 所示。

图2 硬件电路结构图

2.1 单片机主控部分设计

单片机控制模块作为整个系统的核心部分,其作用是产生40 kHz 的矩形脉冲串、形成必要的时序、控制数码管的显示,及对采集到的数据进行运算。

本文设计的倒车防撞预警系统核心控制单元采用ATMEL 公司生产的AT89S51 单片机, 该单片机是一种低功耗、高性能的8 位CMOS 微控制器,片内含4 kBytes 快闪可编程/擦除只读存储器, 内部集成看门狗定时器,具有较快的计算速度,指令系统和引脚与标准8051 完全兼容,其在高温环境中稳定性好,只需要4~5 V 的工作电压,支持在线编程ISP,方便调试,可以适应不同产品需求。

2.2 超声波发射模块电路

超声波发射模块主要是用于接收与处理超声波回波信号。 其硬件电路主要包括超声波产生及超声波发射电路。 其中,超声波探头选用中心频率为40 kHZ的TCT40-16T 超声波传感器。

本系统利用软件产生40 kHz 的方波信号, 由单片机P1.0 端口输出。 两路方波信号分别经过反向器(74LS04 芯片)、两级反向器送到超声波传感器的两个电极,用以增强超声波的发射强度,以此驱动传感器TCT40-16T 发射超声波。 超声波发射电路原理图如图3 所示。

图3 超声波发射电路

2.3 超声波接收模块电路

超声波接收模块主要是用于接收与处理超声波回波信号。 由于超声波在空气中传播能量与传输距离成反比, 从远距离障碍物反射回来的波信号较弱,因此,在设计超声波接收电路时,选用结构简单、易于调试的集成电路CX20106A,该电路具有放大倍数大、灵敏度高、滤波特性好的特性,能够完成回波信号的放大、滤波整形等功能,使回波易于检测。 超声波接收电路原理图如图4 所示。

图4 超声波接收电路

2.4 显示报警模块

显示报警模块主要是将测距的结果进行实时显示,并通过在输出电路上的蜂鸣器进行报警,以提醒驾驶员注意倒车情况。

2.5 电源电路

电源模块主要作用是给整个系统电路提供工作电压,使各个模块能够正常运行。 由于当前汽车车载输出电压为5 V,因此,在设计硬件电路时,根据整个电路的设计要求,选用5 V 的电池盒供电。

3 软件设计

软件设计采用模块化程序设计思想[5],通过C 语言对各个功能模块的程序分别编程,方便后续移植和调用,也有利于软件的调试和修改。

本系统软件部分将程序分为主程序、 初始化模块子程序、定时中断模块子程序、外部中断模块子程序、延迟处理模块子程序,数据处理模块子程序。 通过主程序调用各模块子程序。 主程序流程图如图5 所示。

图5 主程序流程图

开始通过将单片机定时器初始化,产生脉冲串驱动超声波,同时计数器开始计时,通过延时处理模块检测到超声波的来回,再由外部中断模块测出其时刻差,进而由数据处理模块进行数据处理,计算出发射点离障碍物的距离,最后由显示模块显示。 当距离小于预先设定的报警距离时,蜂鸣器发出警报声。

4 结语

本设计采用AT89S51 为控制单元的超声波测距系统,实现超声测距、蜂鸣器报警以及数码显示功能。该系统的运用可极大地减轻驾驶人员的体力、脑力劳动强度,降低倒车难度,减少倒车碰撞事故,具有重大的应用价值和重要的研究意义。

猜你喜欢
蜂鸣器子程序障碍物
电动自行车产品车速提示音检测现状和整改技术研究(2)
掌控板制作简易钢琴
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
单片机驱动蜂鸣器的程序设计
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
子程序在数控车加工槽中的应用探索
土钉墙在近障碍物的地下车行通道工程中的应用
简化编程与子程序嵌套的应用