基于51单片机的汽车智能灯光控制系统设计
所以,为了减少交通事故的发生,考虑到汽车的人性化设计。整体系统的工作分了两种模式,手动和自动模式,手动状态就是可以根据用户主动按按键去控制打开关闭远近光灯,自动状态下,首先需要通过按键来设置远近光灯自动切换的距离和开启远近光灯的光强阈值数据,由光敏电阻来检测当前环境的光强,当当前光强小于我们所设置的光强阈值,说明此时环境光比较暗,开启灯光,但是,开启远光还是近光灯就由超声测距得到的数据来决定,如果
1.背景意义
随着日益成熟的交通网络的发展,汽车成为了人类出行不可缺少的交通工具。交通事故的频繁发生成为了人们日渐担忧的问题,人们更加关心汽车的安全性能。根据报道的数据显示,我国夜间发生的交通事故中,70%左右是由于违章使用氙气灯造成灯光炫目,使驾驶员无法看清前方路况而发生的。照明系统是汽车主动安全的重要组成部分之一,如今汽车前照灯灯光光型单一的传统照明系统已经无法跟上当前汽车安全性能发展的趋势;所以,为了减少交通事故的发生,考虑到汽车的人性化设计。本文采用 STC89C51 单片机设计了一款自动切换远近光的汽车前照灯系统。这种前照灯系统更加智能化,能消除存在的安全隐患。
2.功能介绍
整体系统的工作分了两种模式,手动和自动模式,手动状态就是可以根据用户主动按按键去控制打开关闭远近光灯,自动状态下,首先需要通过按键来设置远近光灯自动切换的距离和开启远近光灯的光强阈值数据,由光敏电阻来检测当前环境的光强,当当前光强小于我们所设置的光强阈值,说明此时环境光比较暗,开启灯光,但是,开启远光还是近光灯就由超声测距得到的数据来决定,如果所测得的数据小于我们所设置的距离数据,说明前方人或其他物体,此时开启近光灯,否则开启远光灯。
- 方案论述(不少于两种实现此功能的方案论证,对比分析优缺点)
本次课程设计预有两种芯片供选做汽车智能灯光控制的核心,分别是:STC89C51和AT89S51芯片。测量距离提供两种选择:(1)使用TOF050C激光测距模块,测量距前车的距离。(2)使用HC-SR04超声波测距模块。光照强度提供一种选择:光敏电阻。
这样相配后可得到四种方案可供选择:(1)STC89C51+TOF050C+光敏电阻;(2)STC89C51+HC-SR04+光敏电阻;(3)AT89S51+TOF050C+光敏电阻;(4)AT89S51+HC-SR04+光敏电阻。比较芯片:STC89C51具有8KB ROM 存储空间,512字节数据存储空间,带有2K字节的EEPROM存储空间,与MCS-51系列单片机兼容,价格在7.5元左右。AT89S51片内具有8K字节程序存储空间,256字节的数据存储空间没有EEPROM存储空间,也与MCS-51系列单片机兼容,价格在11元左右。两种芯片都可以满足温度报警器的设计要求,但是综合价格比较,STC89C51显然更加划算,故选用STC89C51。比较测距模块:TOF050C模块需要四个引脚与单片机相连,编程相对困难,价格在28块左右;HC-SR04模块只需两个引脚即可测得距离,价格普遍在六块左右。两种都可以满足测距要求,但是出于成本考虑,HC-SR04测距模块显然更加划算,故选择用HC-SR04。所以最终选择STC89C51+HC-SR04+光敏电阻方案。
三、方案设计
1.器件的选型,功能模块的介绍
单片机是STC公司最新推出的一种新型51内核的单片机。片内含有Flash程序存储器、SRAM、UART、SPI、PWM等模块。在这里我们选择STC89C516RD单片机,封装图如下图:
图 1 STC89C51引脚图
(1)高集成度,体积小,高可靠性 单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然也是最小的。单片机程序指令,常数及表格等固化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。
(2)控制功能强 为了满足对对象的控制要求,单片机的指令系统均有极丰富的条件:分支转移能力,I/O口的逻辑操作及位处理能力,非常适用于专门的控制功能。
(3)低电压,低功耗,便于生产便携式产品 。为了满足广泛使用于便携式系统,许多单片机内的工作电压仅为1.8V~3.6V,而工作电流仅为数百微安。
显示部分则主要用于显示温度与温度的上下限度。在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通用器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机与人的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。本设计中采用的是液晶显示器作为输出器件的。
在单片机系统中应用液晶显示器作为输出有以下几个优点:
显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。
数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多
低功耗:相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。本设计采用的液晶显示器为1602字符型液晶显示器。
LCD显示的基本原理:
点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。
1.3 ADC0832简介
ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。
ADC0832具有以下特点:
● 8位分辨率;
● 双通道A/D转换;
● 输入输出电平与TTL/CMOS相兼容;
● 5V电源供电时输入电压在0~5V之间;
● 工作频率为250KHZ,转换时间为32μS;
● 一般功耗仅为15mW;
● 8P、14P—DIP(双列直插)、PICC多种封装;
● 商用级芯片温宽为0°C to +70°C?,工业级芯片温宽为40℃ to +85℃
下面看看它的引脚及功能说明。
图 2 ADC0832引脚图
ADC0832引脚说明
(1) /CS片选使能,低电平有效。
(2) CHO模拟通道0,差分输入时,作为IN+或IN-使用。
(3) CH1模拟输入通道1,差分输入时,作为IN+或IN-使用。
(4) GND 电源地。
(5) DI数据信号输出,选择通道控制。
(6) DO数据信号输出,转换数据输出。
(7) Vcc/Vre电源输入及参考电压输入(复用)。
(8) CLK芯片时钟信号
ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。
正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。
本设计选择HC-SR04超声波传感器,超声波传感器是利用超声波的特性研究而成的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中,它可穿透几十米的深度。超声波碰到杂质或分界面会产生显著反射形成反射成回波,碰到活动物体能产生多普勒效应。因此超声波检测广泛应用在工业、国防、生物医学等方面以超声波作为检测手段,必须产生超声波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声换能器,或者超声探头。 超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。小功率超声探头多作探测作用。它有许多不同的结构,可分直探头(纵波)、斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、一个探头接收)等。
超声波传感器的主要性能指标,包括:
① 工作频率。工作频率就是压电晶片的共振频率。当加到它两端的交流电压的频率和晶片的共振频率相等时,输出的能量最大,灵敏度也最高。
② 工作温度。由于压电材料的居里点一般比较高,特别是诊断用超声波探头使用功率较小,所以工作温度比较低,可以长时间地工作而不产生失效。医疗用的超声探头的温度比较高,需要单独的制冷设备。
③ 灵敏度。主要取决于制造晶片本身。机电耦合系数大,灵敏度高;反之,灵敏度低。 本文采用HC-SR04超声波传感器,其主要技术参数为: 使用电压:DC---5V 静态电流:小于2mA 电平输出:高5V,低0V 感应角度:不大于15度 探测距离:2cm—4m 精度:0.2cm
超声波测距
利用单片机输出一个触发信号,把触发信号输入到超声波测距模块,再由超声波测距模块的发射器向某一方向发射超声波,在发射的同时单片机通过软件开始计时,超声波在空气中传播,遇到障碍物返回,接收器接收到反射波产生一个信号反馈给单片机,此时计时停止。在常温25℃时,超声波在空气中的传播速度为346m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=346t/2。
该部分采用HC-SR04超声波测距模块,该模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达到0.2cm,模块包括超生波发射器,接收器与控制电路。工作原理:
① 采用IO口TRIG触发测距,给至少给10us的高电平;
② 模块自动发送8个40khz的方波,自动检测是否有信号返回;
③ 有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。 测试距离=(高电平持续时间*声速(346m/s))/2 。时序图如下:
图 4 时序图
以上时序图表明,只需提供一个10us以上的脉冲信号,该模块内部将发出8个40KHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到接收到回响信号的时间间隔可以计算得到距离。 优点:超声波检测障碍物的精度高,反映灵敏,受外界干扰小,计算简单、易于做到实时控制。
- 硬件电路设计(要有含硬件框架图,电路原理图,分析其功能实现的原理)
根据本次设计的要求,设计出一款基于51单片机的自动切换远近光灯的设计。所以本次设计硬件部分,中央处理器采用了STC89C516RD单片机,另外使用四颗灯珠代表远近光灯,两颗灯珠代表自动和手动的切换,感光部分采用了光敏电阻,因为光敏电阻输出的是电压模拟信号,单片机不能直接处理模拟信号,所以经过ADC0832进行转化成数字信号,还有显示部分采用了LCD1602液晶,还增加按键部分电路,可以选择手自动切换远近光灯,最后用了超声模块进行检测距离。整体硬件框图如图5:
图 5 硬件框图
有源晶振是右石英晶体组成的,石英晶片之所以能当为振荡器使用,是基于它的压电效应:在晶片的两个极上加一电场,会使晶体产生机械变形;在石英晶片上加上 交 变电压,晶体就会产生机械振动,同时机械变形振动又会产生交变电场,虽然这种交变电场的电压极其微弱,但其振动频率是十分稳定的。当外加交变电压的频率与 晶片的固有频率(由晶片的尺寸和形状决定)相等时,机械振动的幅度将急剧增加,这种现象称为“压电谐振”。通过外接晶振可以直接向单片机XTAL1引脚输入时钟信号方波。
复位电路产生复位信号、使得单片机执行复位操作。这个是上电复位电路,当接通电源的瞬间,RST端与电压逐渐下降,于是在RST端便形成了一个正脉冲,只要该正脉冲的宽度持续2个机器周期的高电平,就可以实现51单片机的自动复位。
3.软件设计(分别介绍各个功能模块实现的程序原理,画出整体的程序流程图和各个功能模块的程序流程图,所有图片不能截图)
3.1主程序
整体的程序部分分了按键部分,光照强度检测,超声测距部分,液晶显示部分,以及远近光灯驱动部分。主程序流程图如下:
图 7 主程序流程图
3.2 液晶显示流程
液晶显示采用了LCD1602液晶,这是种常用的液晶,驱动起来方便,使用简单,显示数据的整体流程无非是,首先液晶初始化,然后送入要在哪一个地址显示的地址数据,再送如要显示的数据即可,但是要注意的是,1602液晶是字符屏,送入的显示的数据必须是字符。显示流程图如下:
图 8 显示流程图
3.3光照强度检测
测量光敏电阻两侧的电压变化值,通过ADC0832芯片把电压的变化值转换成数字量,读取10次光照强度数据,取平均值,起到滤波作用。因为读取的数字量最多为八位,所以最大是255,这里将光照强度扩大100倍除以255,可以得到光照强度的百分比数据。光照强度检测的流程图如下:
图 9 光照强度检测流程图
3.4超声测距部分
初始化超声波测距模块,用程序送入一个15us的高电平,该模块内部将发出8个40KHz周期电平并检测回波。一旦检测到有高电平回波信号,立即开启定时器T0进行定时,当输出回响信号变为低电平时关闭定时器。获取定时器高八位和第八位的数值,得到回响信号的脉冲宽度,回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到接收到回响信号的时间间隔可以计算得到距离。测试距离=(高电平持续时间*声速(346m/s))/2,流程图如下:
图 10 超声波流程图
3.5按键部分
通过标志位判断设置键盘第几次按下,在设置光照和距离阈值时可以通过定时器判断有没有长按加减键从而实现进入连加连减程序。自动/手动键按下会在自动模式跟手动模式之间切换,自动模式下无法手动切换和关闭远近光灯。
图 11 按键流程图
四、系统整体调式
软件调式,分析仿真效果,要有图有文字说明
- 仿真实验结果分析
光敏电阻测得的光照强度和超声波测距模块测得的距离传输给了单片机,如图17可以在LCD1602中读取当前光照的强度为43%,距离前方障碍物的距离为5cm。光照强度低于所设置的阈值30%,故车灯打开了,因车辆距离前方障碍物的距离为5cm,低于所设值的阈值50cm,故车灯切换到了近光灯。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)