基于单片机的汽车疲劳驾驶报警系统设计方案.doc_第1页
基于单片机的汽车疲劳驾驶报警系统设计方案.doc_第2页
基于单片机的汽车疲劳驾驶报警系统设计方案.doc_第3页
基于单片机的汽车疲劳驾驶报警系统设计方案.doc_第4页
基于单片机的汽车疲劳驾驶报警系统设计方案.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的汽车疲劳驾驶报警系统设计方案1 前言在高速发展的现代,拥有汽车的人是越来越多,交通越来越拥挤,正是因为如此,交通事故也越来越频发,这就促使人们正视这一问题。而在交通事故中,因为驾驶员疲劳驾驶引起的事故,占其中相当大的一部分,疲劳驾驶已经成为威胁我们生命的一大危害,了解疲劳驾驶以及它引发的一些变化,有助于我们找到原因以及克服它的方法,可以在驾驶员行驶时发生突发或者无意识的疲劳困倦进行警醒,从而一定程度上避免车祸的发生。1.1 什么是疲劳驾驶疲劳驾驶就是驾驶员较长时间维持一个姿势或者休息时间不够等原因造成的反映迟钝,驾驶员打盹、疲乏、操作不当甚至完全丧失驾驶能力就是它的主要表现。并且,疲劳驾驶不仅反映在心理上,还反映在生理上。心理上的反应包含反应时间延迟、出现动作不协调、大脑注意力分散等;生理反应上包括神经系统、血液、眼睛、握力等的变化。1.2 疲劳驾驶与交通事故据相关调查显示,发生交通事故的原因百分之八十五是与驾驶员有关的,环境与车辆的因素只是占到百分之十五,司机在事故发生前的那么一瞬间的行为以及故障会直接导致交通事故的发生,知觉上的延迟、对危险情况的错误抉择、对环境的决策错误等就是导致交通事故的一些因素;而在所有的驾驶员所犯的错误中,决策错误和知觉延缓是最为常见的,而这些就会使驾驶员产生反应迟钝、注意力不集中等反应,产生这些错误的根本的原因就是疲劳驾驶。所以,在一定程度上制止驾驶员疲劳驾驶这一行为现象,就能有效的减小交通事故发生的概率。1.3 怎么预防疲劳驾驶许多的国家已经意识到疲劳驾驶的问题,对于它的研究工作早期上主要是使用在医学角度上,是在医疗器械的帮助下实现的,这些研究可以追溯到上个世纪三十年代美国交通部下辖的洲际商业协会对城市商业机动车辆的驾驶员服务时间的管理条例的合理性进行的调查;而实质性研究汽车驾驶员与疲劳驾驶的关系是从上世纪八十年代初开始的,由美国国会批准交通部实施改革驾驶服务时间,探索驾驶员和道路安全的关系,提高完善公共汽车安全法规开始的,我们发现疲劳驾驶研究的高度提高到了立法,可以在一定程度上保证疲劳驾驶研究的有效性、合法性和持续性7。研究工作大致上可以分成两类:第一类是研究疲劳困倦产生的原理和其他各种疲劳困倦的诱因,找到降低此种危险的方法;第二种是研究车辆的智能报警系统以及相关可以警醒的用具,来防止驾驶员产生疲劳,并在疲劳的状态下行驶。驾驶员在疲劳驾驶时会有很多不同的反应及其状况出现在身体上,对于它们的检测大致上可以将其分为以下三类状况,一类是基于驾驶员的生理特征上的疲劳驾驶检测识别技术(如疲劳时人的心率、脑电图、肌电图、呼吸状态、脉搏频率等会有变化);另一类是基于驾驶员头部或面部特征的疲劳驾驶检测识别技术(如疲劳时人的部表情、眼睛眨动的频率、注视的方向、瞳孔的直径等的变化);第三类是基于驾驶员操纵车辆的特点和所驾驶车辆的特性的疲劳驾驶检测识别技术(如疲劳时人的握力、车辆的行驶轨道等会有变化)。 基于此,本设计选取就是驾驶员在疲劳驾驶时他的生理特征的变化,即脉搏的变化来对其进行是否处于疲劳状态进行辨别。1.4 小结疲劳驾驶所造成的危害是不言而喻的,所以,对汽车疲劳驾驶的研究是必要的,对汽车疲劳驾驶智能报警系统的开发是可行且必须的。2 本设计的总体思路及其理念2.1 理论基础单片机是一个不带外部设备的微型计算机。它是20世纪70年代中期发展起来的一种大规模的集成电路芯片(1971年inter公司研制出世界上第一个四位微处理器),是集合CPU、RAM、ROM、I/O接口和中断系统于一体的电子设备。单片机是一个软硬结合的产物。它具有集成度高(highly integrated)、功能强大(powerful)、体积小(small)、灵活(flexible)、稳定可靠(reliable)、价格低廉(inexpensive)等许多的特点。上世纪八十年代以来,单片机发展十分的迅速,各种新型高性能的机种产品不断地出现在市场上,单片机顺利成章的已经成为工厂实现自动化和各控制领域的支柱产业之一。单片机的基本端口操作和基本功能,包括单片机的定时、中断、I/O端口以及简单的外部器件的设计等,这些都需要去了解设计,才能成功完成一个设计。2.2 AT89C2051单片机的芯片管脚介绍本设计使用的是AT89C2051单片机;图2-1 AT89C2051单片机的引脚配置图此单片机有20个引脚,相关引脚配置如图2-1所示。它各个管脚的功能是: VCC 电源电压; GND 接地; RST 复位输入;当RST变为高电平并维持了2个机器周期时,所有的I/O引脚都被复位达到高电平8; XTAL1 内部时钟工作电路的输入端、反向振荡器的输入端8; XTAL2 反向振荡放大器的输出; P1口 8位双向I/O口;P1.0和P1.1两个端口需要外部上拉,可以用作片内精确模拟比较器的正向输入(AIN0)、反向输入(AIN1)8;引脚 P1.2P1.7提供内部上拉,当作为输入且被外部下拉为低电平时,它们就输出电流,这是因内部上拉的缘故8。P1口的输出缓冲器能接收20mA的电流,并且能直接驱动LED显示器;P1口的引脚写入“1” 后,可以用作输入8。在闪速编程和编程校验期间,P1口也可以接收编码数据8。 P3口 引脚P3.0P3.5和P3.7是7个带内部上拉的双向I/0引脚;P3.6在内部已经与片内比较器输出相连,所以不能作为通用的I/O引脚访问8。AT89C2051的性能指标有:与MCS-51产品指令系统完全兼容;2k字节可重擦写闪速存储器;1000次擦写周期;2.7V-6V的工作电压范围;全静态操作:0Hz-24MHz;两极加密程序存储器;128字节内部RAM;15个可编程I/0口线;2个16位定时/计数器;6个中断源;可编程串行UART通道;可直接驱动LED的输出端口;内置一个模拟比较器;低功耗空闲和掉电模式。2.3 设计方案2.3.1 检测方法此设计采取的方法用红外线来检测人体脉搏,因为光能避开很强烈的电磁干扰,具有很强烈的绝缘性,并且可以做到非侵入式的检测脉搏波。它采用红外线来检测并采集驾驶员的脉搏,所检测部位可以为被检测人的一个手指或耳垂(对于驾驶员来说检测耳垂会比较不影响他的驾驶,如果制造成蓝牙耳机的样式会更加实用方便)。2.3.2 检测原理此设计的检测基本原理是:人体组织中的血液流量伴随着心脏的搏动而产生变化,血管中血液的饱和度发生变化,那么人体组织的半透明度也会因此被改变。当血液被送到人体各部分的组织时,血管中的血液饱和度就会变大相应的组织的半透明度就会减小;当血液重新流回到心脏时,人体组织血管中的血液饱和度变小,相应的它的半透明度就会增大。因此,如果在人体组织相对比较薄弱的地方(例如指尖和耳垂)用红外发光二极管产生的红外线照射,就可以用红外三极管接收并将其转换为电信号。因为用上述方法测试得到的脉搏信号跟人体的脉搏频率成正比,脉搏信号只要通过一定功能的电路转换成的 脉冲信号并对其进行相应的处理,就可以实现检测的脉搏频率被随时检测的目的。而如果检测到的脉搏频率低于或者高于正常值的百分之二十时,单片机对其进行分析输出,然后驱动报警电路,对驾驶员进行报警,从而实现其智能。2.3.3 系统设计方案综上,设计系统框图及其说明如图2-2所示:红外检测与采集脉搏信号抗干扰及滤波信号整形与放大单片机AT89C2051报警系统液晶屏显示图2-2 设计系统框图3 系统硬件部分的设计 在硬件部分,电路主要完成的是心率采集和心率数据处理的功能,那么可以将整体电路分为心率采集和单片机控制电路。3.1 心率采集控制系统图3-1 心率采集处理电路心率采集处理电路如图3-1所示。红外检测采集电路模块:由D1和Q1组成的红外检测元件等组成;信号整形电路模块:RC振荡电路(由电阻R2和和电容C1组成)、光电隔离电路、一阶低通滤波电路,它们共同构成了信号抗干扰电路组;另外,它们和IC1b、C5与R10、IC1c共同组成信号整形电路。以上三个主要的模块组成心率采集电路。心率采集处理电路工作过程如下:电路中的红外线二极管D1发射红外线照射到耳垂或指尖部位,然后红外接收三极管Q1接收相应人体部位的半透明度,电信号就这样被转换出来了。据相关资料显示,大多数人体的脉搏是在五十次每分钟和两百次每分钟之间,这样经过计算可得到的频率范围大致就在0.78Hz和3.33Hz之间,由此可知,经由红外设置得到的脉搏频率会很低。那么,外界高频信号会很容易地干扰到脉搏信号而出现错误,所以,信号在进入单片机系统之前就必须先进行处理才能够使用。电路中采用C1和R2组合进行低通滤波,可以滤除绝大多数的高频干扰。然而,由于本系统设计的使用场所为室外,室外光线相对室内明亮许多,因此它很大可能会遇到强光辐射的情况。电容C2和电容C3背靠背串联组成的双极性耦合电容的设计,可以避免室外强光干扰接收脉搏时的红外线(它们构成了一个简单的光电隔离电路,从而使干扰光线被隔离)。另外,为了彻底滤除高频干扰,使用由IC1a、电容C4、电阻R4组成的截止频率为10Hz左右()的低通滤波器电路,又把输入的信号放大两百倍左右()。到这里我们就得到了经由前面处理所得到脉冲正弦波是有噪声的,需要对它整形。先要正弦波信号经过比较器IC1b转换成方波(电压比较器可以实现将模拟信号转换为二值信号的功能,即只有0和1两种状态的离散信号),而利用R8可以把比较器的阈值电压调定在正弦波的幅值范围之内。然后,信号经由电容C5和电路R10构成的微分电路(微分运算电路输入方波,且RC远小于时,就输出尖顶波)方波进行微分处理就可以成为正负相间的尖脉冲。得到的脉冲输入到IC1c(单稳多谐振荡器)的反相输入端来稳定脉冲的输出,然后IC1c的输出就可以成为后面的实际需要。单稳多谐振荡器IC1c在工作时,输入信号一旦出现,输出端就会输出一个高电平,与此同时电容C6就会通过电阻R11充电。充电过程大约需要20毫秒,之后,因为电容C6充电电流的减小使得IC1c的同相输入端电位降低,当反相输入端的电位高于同相输入端的电位时(此时尖脉冲已过去很久), IC1c就将改变存在的状态并再次输出低电平。这20毫秒的时间所产生的脉冲是与人体的脉搏是同步的,电路D3发出红光的闪烁情况会和信号脉冲相呼应。那么,此时就有了实际所需的脉冲信号,它经由电阻R12直接被送到AT89C2051单片机的P3.3引脚,然后,经过系统的处理就可以实现后面的计数以及显示了。电路中R14、R15对9V电压分压并经过IC1d缓冲所得到的4.5V电压就是IC1a、IC1b、IC1c它们工作所需的电源电压。这样的设置,使得即使电池电压降低到6V,电路也能实现正常工作。3.2 单片机控制电路图3-2 单片机控制电路此部分介绍单片机控制电路如图3-2所示.主要由以下几部分组成:单片机(型号AT89C2051);LCD显示屏(SMC1602A),显示部分用来显示数据;蜂鸣器,发出提示音;晶振电路,给单片机提供晶振;以及复位电路等几部分。3.2.1 晶振电路在单片机系统中,有通用的晶振电路,它是一种非常典型的电路,分为外部时钟方式和内部时钟方式两种4。此设计使用的晶振频率是12MHz,在晶振两端接上负载电容构成三点式电容振荡是为了帮助晶振起振,即XTAL1、XTAL2两端口外接两个33PF的谐振电容。当晶振电路能够提供稳定的时钟信号后,单片机就可以一步一步地从ROM中取指令执行程序43.2.2 复位电路复位电路和晶振电路一样都是单片机系统中非常典型的外部电路4。从功能上复位电路的实现一般可以分为两种 :一种是使用电源复位,即外部的复位电路在系统上电之后直接使单片机工作,单片机的开启和暂停都是通过电源控制的4;另一种方法就是在复位电路中设计了按键开关,通过设计的按键开关来触发复位电平,控制单片机的复位4。此设计采用的是第二种,当按下开关K且通电时,电容两端便相当于是短路,单片机上的RST引脚上就会变成高电平,然后电源就会通过电阻给电容充电,RST端电压慢慢降下,高电平就会变成低电平,单片机就会开始正常工作4。3.2.3 工作原理脉冲信号被心率采集电路处理后,所得结果与单片机的P3.3引脚相连。单片机的中断触发模式设定为负跳变触发。当脉冲的下降沿到达时,AT89C2051就会被触发产生中断,相关程序就会对脉冲开始计时;当下一个脉冲的下降沿到达时,单片机就对前后相邻下降沿之间的时间间隔计算,计算所得到的结果就是被检测驾驶员的心率。这个结果由P1口送至液晶显示芯片的DB端口,数据进行处理后显示出来。在液晶显示屏显示心率值之后,单片机将对此心率值与80次/分120次/分的人体正常脉搏范围进行比较。若此心率值X为80X120,显示芯片中会显示“very good!”,以表示被测试者心率正常;若此值不在80到120范围之内,即X80或者X120,那么,显示芯片中就会显示“a little bad!”,以便表示被测者心率不正常。另外,为更人性化而提示用户及时观察显示屏上的心率值,电路中设置了一个蜂鸣器电路,由单片机系统驱动,当每次脉冲到来时,单片机的P3.7引脚所连接的蜂鸣器SP都会发出提示音提示用户,那么,当用户第二次听到蜂鸣器发出的提示音时,就表明一分钟的脉搏计数的显示已经完成。这样,就可以用这种方法来提示驾驶者自己此时所处的状态是否是正常的。此外,此设计的有效测量显示范围是50次/分到199次/分。为了避免可能被出现的干扰影响到检测,在单片机对两个脉冲之间的时间间距进行检测时,即意外情况的出现使得到的心率次数值不在我们所设置的有效测量范围之内时,就忽略该干扰并且不显示。这样子就更加降低了心率计在实际使用时所出现的误差的可能性。3.2.4 元器件的选取设计中心率计的电源为七到九伏的直流电源,可以通过交直流转换后来获取到电压,同样的可以直接使用电池供电。正常工作时的电流为100mA。硬件电路中所使用的IC1a、IC1b、IC1c和IC1d是运算放大器IC1(四运放LM324)的四路分配。使用普通蜂鸣器作为提示音装置。单片机采用的是12MHz的晶振。在整合安装时,可以把D1和Q1分别连接到蓝牙耳机式装置的耳垂前后的位置,剩余的电路板等各部件安装在一个塑制小盒中,小盒可以放在驾驶员前的玻璃窗下面。为方便使用时进行按键操作和观察,红色发光二极管D3、蜂鸣器、复位键K1、液晶显示器的显示窗口都需要在塑制小盒的上方留出一定的放置位置。在实际使用时,驾驶员先将D1和Q1组成的蓝牙耳机样式的检测装置戴上,然后接通电源。心率计在正常工作时,能看到红色发光二极管在闪烁,为提高安全系数,复位键K1被按下之后,单片机复位,并重新开始测量脉搏信号计数和显示。在听到第二次蜂鸣器的提示音之后,显示屏上观察到的是被检测者的心率,随后可以看到之前显示的心率是否正常的英文提示语。3.3 小结硬件部分的设计需要进行的是把脉搏信号通过一系列的电路转化成为我们需要的、实际可用的方波,然后将方波输入到单片机中去进行一系列的数据处理,然后驱动后面的LCD显示屏显示数据。4 系统软件部分的设计4.1 主程序设计 主程序部分流程图如图4-1:初始化开中断显示程序开始图4-1 主程序部分流程图它的主要代码为: ORG 0000H AJMP MAIN ;转主程序 ORG 0013H ;中断矢量地址 AJMP IP0 ;转中断服务程序起始地址 ORG 030HMAIN: MOV SP,#60H ;设堆栈指针 SETB IT1 ;设为边沿触发模式 SETB EA ;CPU开中断 SETB EX1 ;允许中断 MOV R7,#00H ;计数器赋初值 LP: ACALL DISP ;调显示子程序 AJMP LP IP0: INC R7 ;计数器加1 RET4.2 定时程序设计定时器子程序流程图如图4-2所示:关中断保护现场设定时器初值小于50次/分?计时器R6加1蜂鸣器发音恢复现场开中断返回大于200次/分?图4-2 定时子程序流程图主要代码如下:CLR EX1PUSH ACCPUSH PSWMOV TH0,31HMOV TL0,30HMOV R7,31HLOOP1:CJNZ R7, #50, LOOP3LOOP2:CJNZ R7,#200,LOOP4LOOP3:MOV A, C JZ A, LOOP5 CLR ASJMP LOOP2 LOOP4:MOV A, C JNZ A, LOOP5 INC R6 CLR P3.7 SJMP LOOP5LOOP5:POP PSWPOP ACCSETB EX1RET14.3 中断子程序设计 INT1外中断子程序的流程如图4-3: 保护现场取脉冲时间间隔根据时间计算出每分钟的脉搏次数十六进制转十进制保存结果恢复现场返回图4-3 外中断子程序流程图主要代码如下: START : PUSH ACC ;保护现场 PUSH PSW CLR EX1 MOV TMOD,#90H ;T1工作于工作模式1,GATE置位 MOV TL0, #00H MOV TH0,#00H ;送定时初值 WAIT1: JB P3.3 WAIT1 ;等待由高变低 SETB TR0 ;启动定时 WAIT2: JB P3.3 WAIT2 ;等待由高变低 CLR TR0 ;停止计数 MOV R6, TL0 MOV R7, TH0 CLR C MOV A, R6 SUBB A,#0BBH ;计算时间差 MOV 31H,A ;存储结果 MOV A, R7 SUBB A, #3CH MOV 30H, A MOV R0, TL0 MOV R1, TH0 CLR A MOV R2,A ;清零 MOV R3, A MOV R4, A MOV R5, #16LOOP: CLR C MOV A, R0 RLC A ;从待转换数的高端移出一位到CY MOV R0, A MOV A, R1 RLC A MOV R1, A MOV A,R4 ;送到BCD的低端 ADDC A,R4 ;带进位加,自身相加,等于左移一位 DA A ;十进制调制,变为BCD码 MOV R4,A MOV A, R3 ADDC A, R3 DA A MOV R3,A MOV A, R2 ADDC A, R2 MOV A, R2 DJNZ R5,LOOP ;共转换十六位数 MOV A, R4 MOV B, #16 DIV AB MOV R1,A MOV R0, B MOV A, R2 MOV R4,A MOV A, R3 MOV B, #16 DIV AB MOV R3,A MOV R2,B SETB EX1 POP ACC POP PSW4.4 显示子程序设计 显示子程序流程图,如图4-4所示:取结果显示脉搏次数延时次数80?次数120?显示“very good!”显示“a litter bad!”延时返回图4-4 显示子程序流程图主要代码如下: MOV P1,31H LCALL DISUP ACALL DELAY ;延时0.2s DELAY: CLR RS1 SETB RS0 MOV R5,#20 ;0.2S D1: MOV R6,#20 ;10ms D2: MOV R7,#248 ;0.5ms DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET5 软件调试5.1 调试软件的介绍此设计使用的仿真软件是Proteus。Proteus软件是一款很实用方便的仿真软件,是英国Labcenter electronics公司发行的EDA工具软件,它不仅具有其它EDA软件的仿真功能,还具有仿真单片机和外围电路的功能6。它是世界上著名的EDA工具6。它集原理图布图、代码调试、单片机与外围电路的协同仿真、一键切换到PCB设计等功能于一体6。是目前世界上唯一一款将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型6。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器6。在软件调试仿真的过程中,可以感受到子程序模块化设计的好处,程序模块化设计后,很容易找到错误所在,方便修改。5.2 调试结果根据要求和软件的流程图,将编写好的程序,通过生成HEX软件,在Proteus软件上进行仿真,用软件连接好硬件原理图(如图5-1),运行测试是否实现所需求的指标。图5-1 硬件原理图在调试的过程可以通过软件一步一步进行调试,然后观察各个存储器里面的数值变化是否符合要求。同时可以仿真较难实现硬件测试的部分,便于对设计进行修改。当仿真达到既定的要求后再对硬件进行测试。6总结设计通过对这一篇论文从前到后的设计以及资料的整理,我学习到了很多。从最开始一切无从着手,茫然无措,到开始下定设计框架,然后上图书馆和网上搜集资料,再到着手将自己的想法用文字实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论