基于ATmega8L的新型防汽车追尾安全装置设计

发布者:EternalWhisper最新更新时间:2012-08-16 来源: eefocus关键字:激光雷达测距  加速度测定  功能模块化技术 手机看文章 扫描二维码
随时随地手机看文章

1 引言

随着我国汽车保有量逐年增加,高速公路的发展使得汽车的行驶速度越来越快。车流量也越来越大,导致高速公路交通事故频频发生,其发生率甚至达到普通公路的4倍,且有上升趋势。在高速公路所发生的交通事故中尤以汽车追尾居多,约占30%~40%,而在这些事故中,80%以上的事故是由于司机反应不及时或者判断失误引起的。由于目前只有高档车型才配有防碰撞装置,而且以往设计中只单纯考虑在车前或车后安装防碰撞装置,不尽全面,所以设计一套低成本、通用性好的汽车防车前车后追尾的安全装置具有广阔的应用和市场前景。因此。这里提出一种基于AVR的新型防汽车追尾安全装置设计。

2 安全装置组成和硬件电路设计

安全装置硬件电路设计主要由单片机控制、加速度传感器、激光雷达、LED刹车灯及电源等电路组成,如图1所示,装置车载状况如图2所示。


2.1 单片机ATmega8L

该设计选用高性能、低功耗单片机ATmega8L,它是基于先进的AVR RISC结构的8位CMOS 工艺微控制器,器件内部集成有模拟比较器,6通道1O位(TOFP与MLF封装为8通道)的A/D转换器,3个具有比较模式的灵活定时器/计数器,512字节的EEPROM,片内/外中断,5种可通过软件选择的睡眠模式,以及8 KB的系统内可编程Flash存储器(可随时在线编程),易于产品设计和更新。同时,ATmega8L可达到接近1 MIPS/MHz的性能,运行速度比普通CISC单片机高出10倍,并且该器件价格不高,为许多嵌入式控制应用提供灵活且低成本的解决方案。另外,ATmega8L的工作电压为2.7~5.5 V,非常适用于那些电压波动较大的场合。

2.2 加速度传感器MMA7260QT与单片机接口设计

该系统设计选用加速度传感器MMA72600T,测量加速度。该器件采用MEMS原理制作的低成本、低功耗、单芯片集成XYZ三轴感应加速度传感器,可准确测量0~350 Hz、±6 g范围内动态或静态加速度,还能够监测车体微小震动和整车的倾斜角度。该器件内部集成了信号调理、单极低通滤波器和温度补偿技术,并提供4个量程(1.5g、2 g、4 g、6 g)可选,2.2~3.6 V单电源供电,工作电流小于500μA,休眠模式下最低供电电流仅为3μA。
MMA7260QT加速度传感器采集汽车加速度数据,并将数据通过ATmega8L的PD7(AIN1)端口传输至ATmega8L,其具体连接电路如图3所示。

图3中,当Xout输出和阈值电压比较匹配时,系统发出模拟比较器中断,单片机转向LED刹车灯闪烁中断子程序处理,采用这种方式可节省系统资源。Xout与PD7引脚之间的RC具有滤波作用,用于减小时钟噪声,在电源和地之间加入去耦电容。另外,实际焊接安装时应保证加速度传感器MMA72600T尽可能地靠近微控制器ATmega8L放置。[page]

2.3 霍尔车速传感器

霍尔车速传感器由8级磁钢、UGN-3030T型霍尔开关传感器、LM2917及放大电路组成,如图4所示。

图4中,汽车传动部分带动8级磁钢旋转,由于磁场变化使得8级磁钢每转一圈霍尔传感器便产生8个脉冲信号,经放大器处理输出到频率/电压转换器LM2917,由单片机的A/D转换器根据LM2917输出电压测量当前汽车时速。

2.4 激光雷达测距

测距方法主要有超声波、激光雷达、连续波雷达等,基于成本和设计需求考虑,激光雷达测距是最佳选择。激光雷达测距有连续波和脉冲波两种方式,本设计使用脉冲波方式。安全装置发出脉冲状的红外激光束照射前方,并利用汽车后部可反光部件(以汽车号码牌为主)的反射光,通过受光装置检测反射光,单片机根据时间差计算出其距离。

该部分电路由发光部、受光部、信号调理电路等组成,最终输出信号由系统单片机处理。由于激光雷达发射光束集中,采用单一发射方式无法有效检测前方一定距离,故在汽车前方安装3个激光雷达测距模块,如果其中一个模块检测到的距离小于该时刻最小允许距离,安全装置将报警,即能够及时检测到插入车流的车辆并警报,如图5所示。


2.5 LED刹车灯

该设计中,刹车灯由发光二极管阵列组成,发光二极管选用Evedight公司生产的1 W高亮度LED,其响应时间为纳秒级,而普通车灯的热启动时间约250 ms。假设汽车时速为90 km/h(即25 m/s),通过计算可得反应迅速的LED刹车灯可提早约6 m距离发出刹车警告,从而有效避免汽车追尾。将LED放置成内、中、外三圈形状。当单片机根据加速度传感器的输入信号得到加速度值超过设定的阈值后,单片机输出信号经ULN2003驱动继电器动作,LED刹车灯响应后由内一中一外一内循环点亮,由于其亮度高、响应快。在实际使用中效果良好。另外,该部分电路需与汽车刹车装置联动,以确保准确输出刹车信号。

2.6 液晶显示

该设计采用并行128x64液晶屏,虽然占用较多的I/O端口,但并行传输便于编写驱动程序,如果系统单片机不能提供足够的I/O端口,可选择串行数据传输的液晶显示屏。另外,为了让司机能够更方便地看到设计系统所测得的数据,应将显示设备放置于司机主控台视线合理位置。

3 系统软件设计

控制部分由ATmega8L控制完成,主要功能为:计算本车速度、车间距离,测定加速度,并通过LCD实时显示;实际车间距离和安全车间距离的比较发出报警声或报警灯闪烁;刹车时的加速度与设定阈值相比,决定是否点亮LED刹车灯,系统软件设计流程如图6所示。[page]

在加速度测定中,考虑到汽车行驶当中的振动和噪声等影响信号输出,还需进行必要的软件滤波处理,这里采取数据平均值方法。据《中华人民共和国道路交通安全法实施条例》,安全行车距离与行车速度关系模型如下:当v≥100 km/h时,S>100 m;当v<100 km/h时,S>vt/1 000 m;其中,S为安全行车间距,单位为m;v为本车时速,单位km/h;t为每小时。高速公路上S>50 m。软件设计主程序代码如下:
car_speed();//汽车时速监测,返回值为i
lcd_display(i,1);//第一行实时显示车速
car_distance();//车距监测,返回值为j
lcd_display(j,2);//第二行实时显示车距
car_cmpl(i,j);//比较车距与安全车距,确定是否报警
#pragma interrupt_handler ana_comp_isr:17
car_acc();//加速度监测,返回值为k
car_cmp2(k);//实际加速度与设定阈值的比较,确定是否点亮LED刹车灯
主程序在车辆开启后一直循环执行,直至车辆电源关闭。

4 结束语

该设计采用功能模块化技术,易于操作及扩展;选用性价比较高的器件,具有良好的应用和市场前景。设计方案切实可行,对于汽车防追尾具有重要意义。另外,设计所采用的加速度传感器还可作为汽车防盗的震动信号监测。

关键字:激光雷达测距  加速度测定  功能模块化技术 引用地址:基于ATmega8L的新型防汽车追尾安全装置设计

上一篇:基于atmega的LCD1602驱动(8线/4线)
下一篇:AVR看门狗使用范例

推荐阅读最新更新时间:2024-03-16 13:05

NeoPhotonics开发SOA和NLW-DFB激光器 提高激光雷达的探测距离和灵敏度
据外媒报道,高带宽、超高速通信网络光子集成电路模块及子系统研发商和制造商NeoPhotonics(NeoPhotonics)推出了高功率半导体光放大器(SOA)和窄线宽(NLW)分布反馈激光器(DFB)激光,适用于汽车远程激光雷达应用。 (图片来源:NeoPhotonics官网) NeoPhotonics的SOA和NLW激光器可在人眼安全的波长范围内工作。SOA波长为1550nm,输出功率大于24dBm(250mW),NLW-DFB 激光器波长为1550nm,可使汽车激光雷达系统探测距离超过200米,从而大大提高安全性。 目前用于自动驾驶汽车的激光雷达系统使用昂贵的分立光学元件,并对反射光强度进行直接检测测量,限制了
[汽车电子]
NeoPhotonics开发SOA和NLW-DFB激光器 提高<font color='red'>激光雷达</font>的探<font color='red'>测距</font>离和灵敏度
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved