基于单片机汽车自动照明灯远近光设计与实现*
2019-12-27杨冬英贺江鹏
杨冬英,贺江鹏
(1.山西大学商务学院,山西 太原 030031;2山西北方机械制造有限公司,山西 太原 030009)
0 引言
在当今社会,汽车走进了千家万户,在人们的生产生活中逐渐成为必需品,然而汽车的普遍应用也给人们带来了巨大的生命财产安全问题[1]。在近些年的全世界交通事故死亡人数的报告中,由于灯光视线问题使驾驶员出现视野盲区而造成的交通事故逐年上升,对人们的生活造成了重大的安全隐患,给社会带来了巨大财产的损失,人类依旧面临着许多重大的挑战。因此,迫切需要设计一款能够自动切换汽车远近灯光的产品来解决此问题[2]。
作为汽车最重要的安全装置之一,汽车照明系统主要负责前方道路的照明,提供驾驶员前方道路的信息,使驾驶员能够看到障碍物并及时做出反应是确保汽车在夜间或低能见度环境中安全驾驶的关键。在夜晚紧急情况下,依靠传统的照明系统即近光灯和远光灯全部打开,有时仍然会存在着照明盲区,尤其是在相反方向驶来的汽车没有及时将远光灯调成近光灯,使驾驶员很难看清道路状况,从而导致事故的发生。基于上述原因,本设计开发了一款汽车自动照明远近光灯系统,在行驶过程中可以有效防止与前方车辆过近造成交通事故,并装有报警提示功能[3]。
1 系统设计总体思路
本系统是以STC89C52为工作处理器核心,光敏电阻为光照检测器,报警模块为蜂鸣器,显示模块是LCD1602显示器。控制开关置于汽车大灯上,提前设置好光照强度值和与前方物体的距离值,当检测器检测到光源时,传送信息给单片机;当小于设置的光照强度时触发LED灯,超声波检测器检测与前方车距反馈给单片机,当小于设置距离值时使得单片机控制LED灯自动调节远近灯光并且蜂鸣器报警,提醒驾驶员避免危险[4]。系统总体框图如图1所示。
图1 系统总体框图
1.1 系统总体功能设计
本系统主要由四大模块组成
1) 光照检测模块:光敏电阻对环境光照强度是非常敏感的。电阻值会随着光照强度的高低而变大变小。光照强度将测试值传递给单片机,当测试到的光照强度低于设置阀值时,汽车的远光灯将开启。
2) 超声波检测模块:检测时单片机驱动该模块进行超声波的发射与接收。然后计算发射和接收到的时间,进而计算出与物体的距离。当距离小于设置阀值时将自动切换远近光灯。
3) 报警模块:通过超声波检测模块将检测的距离通过单片机传送给蜂鸣器,当距离低于设置阀值时,蜂鸣器将自动报警来提醒司机,避免交通事故发生。
4) 显示模块:单片机把检测到的信号输入给LCD1602显示器。显示器的第一行显示超声波传感器检测到的距离,第二行显示光敏电阻检测到的光线的强弱。
1.2 系统硬件设计
根据汽车远近光自动切换系统的要求,本系统主要是以单片机为核心并与外部电路模块连接而成。单片机将接收到的信号传送给报警模块和显示模块来输出结果,超声波检测模块是用来检测与前方物体距离的检测单元[5]。其硬件电路如图2所示。
图2 系统硬件电路图
1) 光照检测模块电路设计
光敏电阻是一种对光线非常敏感的器件,它是由半导体材料制成的,光敏电阻的阻值会随着光照强度的高低而改变。它的工作原理是受到光照后,光敏电阻两端通过电流,电阻内部载流子变的很活跃,电阻值开始降低随之电流也会越来越大。当在黑暗的环境下,电阻的内部载流子活跃度很低,阻值变的很大电流随之减小。这就是一个完美的光电转换过程[6]。
光敏电阻需要在3.3V~5V的电源下运行,能够调节灵敏度。DO是输出接口,AO是输入接口,输出形式A模拟量是电压输出,输出形式B模拟量是开关输出(0和1)。具体情形如光照检测模块原理图3所示。
2) 超声波检测电路的设计
为了准确的获得与物体的距离值设计了超声波检测模块,本模块采用的是HC—SR04超声波传感器。它是由3个元器件构成,两个超声波头和一个晶振构成。超声波头分为发射头(T)和接收头(R)。发射头里装有压电晶片,当输入电压时会产生超声波脉冲,接收头接收到脉冲波转化为电压然后进行处理。它分别装有运算放大芯片、主控芯片和电压转换芯片,运算放大对应的是超声波接收头,接收头接收到信号是微弱的,不能直接被主控芯片处理,需通过运算放大芯片将信号放大。电压转换芯片是通过主控芯片控制来给发射头发射信号,因为发射头发射信号需要很大的电压,因此需要放大电压来发射信号这样。R2电阻是可以更换的,他的范围是25k-70k,默认的是52k,假如电阻越大测得的距离也就最大[7]。超声波检测模块原理图如图4所示。
图3 光照检测模块原理图
图4 超声波检测模块原理图
2 系统软件设计
软件部分设计主要可以分为四个模块:主程序模块、光敏电阻检测模块、超声波检测模块、显示电路模块。软件系统的设计编写是在keil uvision4上完成的,本文需要完成的软件功能是:光照信息强度的采集;超声波测距的采集;阀值的设置;报警功能的设置;手动切换按键的设置这一系列的功能[8]。
1) 光照检测模块的设计
安装有光照检测模块的车辆在行驶的过程中会自动的检测周围环境的光照强度。它是一种能够根据光照强度来改变电阻值大小的器件,光照强度高的时候电阻值随之减小,当光照强度减小的时候电阻值随之增加。根据查找资料了解到,当夜晚光照强度200lux时大部分的人视线开始减弱,当光照强度120Lux时人们已经看不清楚物体,必须需要借助灯光的辅助来观看物体。因此本系统需设置120Lux为初始阀值[9]。其具体的流程图如下图5所示。
图5 光照检测模块流程图
2) 超声波检测模块的设计
非接触式超声波检测模块的执行步骤:在TRIG端输入10μs的脉冲信号,当模块收到信号的时候内部将产生8个40 kHz的超声波,然后通过发射头发出。ECHO端在超声波发出以前一直都是低电平,发出之后变为高电平并持续到接收头接收到超声波后又变为低电平,这代表了超声波在空气中持续的时间[10]。我们就可以利用超声波在空气中的持续时间来计算距离,测试距离=(高电平时间*声速(340M/S))/2。其具体流程图如下图6所示。
图6 超声波检测模块流程图
3 结语
本系统通过主控制模块、超声波检测模块、光照检测模块和显示模块使汽车在夜间行驶时能够自动的开启远光灯,并在车辆前方有物体出现的时候自动切换为近光灯,而且还能够及时报警提醒司机朋友。本设计充分的达到了预期的效果,但是它在报警模块这一地方不是很实用,有很大的修改空间。比如可将报警系统不与超声波检测模块一同接受信号命令,自己设置一个阀值,当检测到的距离小于这个值时再报警。