基于单片机的超速报警器设计Word格式文档下载.docx
- 文档编号:3106607
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:54
- 大小:431.31KB
基于单片机的超速报警器设计Word格式文档下载.docx
《基于单片机的超速报警器设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的超速报警器设计Word格式文档下载.docx(54页珍藏版)》请在冰点文库上搜索。
本文介绍了一种基于AT89C52单片机的汽车超速报警系统。
该系统由测速模块、控制显示模块、报警模块和最高速调整模块组成。
运用了光电传感器测速、LED显示等技术。
设计了以AT89C52单片机为核心的汽车超速报警系统的硬件电路和软件算法。
本设计是在以电机带动转轮模拟车轮转动的条件下实现的。
模拟实验表明该方案可行,能有效提高汽车的制动、超速报警等性能,且系统硬件结构简单,软件快速高效,采样速度快,抗干扰能力较好,经济成本小等优点,有一定的应用价值。
关键词:
车速,光电传感器,AT89C52单片机,报警
ABSTRACT
Keywords:
第1章绪论
1.1研究背景
随着我国市场经济的发展,人民生活水平的不断提高,私家车已经走入千家万户,成为主要的交通工具。
然而,私家车主由于不是专业的司机,熟练程度、速度的感觉不是特别好,车速往往根据偏好,随意提速、超速行驶,当汽车处于超速行驶状态下,其稳定性与安全性大大降低,一旦出现紧急情况,往往会导致车毁人亡的重大交通事故发生。
当今的中国已经是一个汽车大国,伴随着国内机动车数量的迅速飙升。
随着社会经济的发展,我国机动车的保有量不断增加,道路交通事故频繁发生。
根据我国2003年交通事故统计的数据发现,2003年全国共发生道路交通事故567753起,造成99217人死亡、451810人受伤,直接财产损失27.7亿元。
仔细对比其中的数据我们发现车辆超速行驶造成交通事故的比例高达16%左右,共造成约19741人死亡,88180多人受伤,在多种交通事故原因中仅次于无照驾驶所造成的危害[1]。
20l0年上半年全国道路交通事故情况,1至6月份,按照道路交通事故同比口径统计,全国共发生道路交通事故99282起,造成27270人死亡、l16982人受伤,直接财产损失4.1亿元。
同比分别下降9.3%、12%、10.6%和5.3%,在交通事故中损失的经济财产之大让人膛目结舌。
其中,发生一次死亡10人以上特大道路交通事故l5起,同比增加3起。
全国共发生适用简易程序处理的道路交通事故1694l53起,同比上升31.7%。
更让人吃惊的是超速超载所导致的交通事故占有比较大的比例。
而现实生活中,绝大多数的驾驶员并不是出于主观意愿驾驶超速,而是在驾驶中对速度问题产生忽略而超速甚至酿成大祸。
通过对多次因超速发生的车祸进行分析和研究,得出超速对驾驶员的影响可由以下五点原因决定:
1、驾驶员的空间认知能力减退;
2、影响驾驶员全面地观察处理情况;
3、影响驾驶员对其他交通参与者速度的判断;
4、影响驾驶员对车外事物判断的准确性;
5、驾驶员极易疲劳。
所以本产品就是使驾驶员起到重视速度问题,并且及时监督提醒作用驾驶员不要超速。
而且在行驶过程中,对速度的要求也是不同的,比如在城区环路一般限速到8迈,而在高速公路上行驶,小型轿车一般车速要达到120迈,所以本设计产品不能只拥有单一的速度最高额度,要能实现根据驾驶者的自身的行驶背景对车速的最大值进行调控。
由此,我觉得开发一个超速报警系统是很有必要的,对于驾驶员及其家人的生命财产安全有重大意义,可以降低交通事故发生率。
课题:
基于单片机的汽车超速报警系统的设计与研究,正是在此背景下提出的,故而有很大的现实意义。
1.2本课题设计的发展现状
70年代前,电子仪表在汽车上应用还比较少,机械仪表作为汽车仪表的主体,随着集成电路的快速发展,电子仪表开始在汽车上得到广泛应用。
从70年代末期至90年代中期,汽车电子技术开始迅速发展并趋向于成熟,逐渐形成了比较系统的规模。
进入21世纪至今,汽车电子作为工程技术己经成熟,已形成汽车电子技术群,汽车往往会被装上若干个自动控制系统,不断融入当今各学科和各领域的新技术、新材料成果,向功能多元化、机电一体化、系统工程化、高度集成化方向发展。
汽车自动化、智能化程度已相当的高,汽车性能也得到极大的提高[2]。
现阶段的汽车测速报警装置尽管相当先进,但是受传感器技术、外界干扰和动态测量等因素的影响,精准度还需要进一步提高。
随着传感器的不断升级,微处理器的智能程度的不断提高,其他高新技术的发展,误差修正技术的不断发展,相信不久的将来,汽车会达朝着更高的智能化发展。
未来的汽车不仅是在现有的速度测量等方便更加精准,而且通过一系列高端传感器和微处理器组成若干个的监测、控制系统,未来的汽车将能根据环境的特殊紧急要求自动及时改变状态。
例如,发现危险时的自动急刹车,超速报警后司机无反应时自动减速,甚至发展到根据要求自行调整方向等,最终达到能根据预期设置在行驶中摆脱对人的依赖。
1.3研究内容
基于单片机的超速报警器,根据不同道路最高车速的限制不同,利用按键对最高速度进行初设,其中通过LED数码管与其驱动芯片实现显示,再利用速度传感器进行测速,最后通过单片机对实时速度与初设最高速度进行对比,如若超速,发出警报,警示驾驶者减速。
根据系统的要求完成汽车超速报警器的硬件和软件设计。
系统研究的主要内容包括:
构架系统的整体结构;
对速度传感器、驱动芯片、单片机等硬件进行选定;
完成各个硬件的设计;
给出系统的软件设计,并作相关说明。
第2章车速测量原理及方案
通过车速传感器输出与车速成正比的脉冲或者准脉冲信号,对传感器输出信号频率进行测量,然后通过处理、转换、计算,即可得出汽车速度。
速度信号作为本系统的基量,能否精确测量速度对系统的精准和性能有着决定性的影响。
所以测速方法的选择尤为关键。
2.1频率量的测量方法
频率的测量方法不仅会影响到测量精度,而且也会影响到整个系统的动态性能。
常见的频率测量方法有频率法、周期法、混合测频法及频压转换法[2]。
下面对这四种方法进行简介:
2.1.1频率法
频率法又叫直接计数法,被测量信号的频率为f,在某一选定时间闸门T内,对被测量的信号脉冲进行计数,然后根据计数值M和闸门时间T求得所测信号的频率。
频率法的特点是测量时间基本恒定,动态性能由闸门时间T决定,T越小,动态能越好。
在T恒定的情况下,f越大,误差就越小。
用此方法,通过单片机的定时/计数器,在阀门时间(定时时间)里记录脉冲数,再通过转换即可得到被测信号频率。
例如定时50毫秒,计数器读到的脉冲数乘以20就是被测信号的频率。
这种方法的缺点就是在闸门时间T内捕捉到的信号可能会丢失,造成测量的主要误差。
图2.1频率法脉冲丢失原理图
第一个脉冲的上升沿和最后一个脉冲的下降沿不在闸门时间T内,就造成了信号丢失。
即测到的脉冲数少于实际的脉冲数,这就造成了误差。
但是如果脉冲的频率很高,丢失的脉冲数对测量结果影响就不大,误差相对较小。
所以频率法只适合于测量高频信号。
2.1.2周期法
参考时钟脉冲的频率为f,被测信号的周期为T,计数值为M,其原理是在被测信号的周期T内,对某一基准时钟脉冲进行计数,计数值除以时钟脉冲的频率便是被测信号周期T。
在f确定的情况下,被测信号的周期越大,测量结果的误差越小,被测信号的周期越小,测量结果误差就越大,所以此方法适合于测量低频信号而不适于测高频信号。
图2.2周期法原理图
2.1.3频率和周期混合法
如果需要对汽车慢速行驶和快速行驶时的速度进行测量和显示,可综合频率法和周期法。
即设定一个分界频率,高于分界频率用频率法,低于此频率用周期法。
即可相互弥补各自的缺陷。
不过此方法相对复杂。
对以上几种频率量的方法进行比较,可知频率和周期混合法是较完美的测量方法,但是此方法比较复杂,实现难度较大。
本设计虽然对车速进行测量,但测量的目的是为了对其超速时报警,报警的速度范围一般为中高速,所以测速时着重考虑中高速的测量。
尽管频率法在测量低频信号时误差较大,即测量低速行驶的汽车车速时误差较大,但是本系统不要求对汽车低速时报警。
该方法可以满足汽车行驶时的中高速信号测量,可满足该设计的要求,故本设计选择频率法作为频率量测量方法。
2.2速度的实现
向司机显示实时行驶的速度,是本设计的基本要求。
不同的频率对应什么样的速度,怎样把频率转换成相应的速度,这都是后面编程时算法的依据。
故把测到的频率量转化成现成的速度量是本设计的重要工作。
2.2.1频率与车速的对应关系
选用光电传感器时,传感器输出信号的频率量与车速成正比。
以仿真模型为例子,转盘孔数为4,当定时器定时1s,所安装的光电传感器输出信号的脉冲数为100,可得转盘共转了25圈,所以转速为每秒25圈[2][3]。
2.2.2频率与车速的转换
固定安装好传感器后,取100个速度差相同的速度点对传感器输出信号进行测频,标定好各速度点对应的频率后,进行直线拟合。
拟合后的频率~速度特性就作为编程时频率转换成速度的依据。
第3章系统总体设计
3.1系统总体设计方案
本课题的设计是基于单片机处理的小型应用系统。
总体设计思路为:
利用车速传感器采集车速信号,对车速信号进行滤波处理,除去干扰信号,然后利用整形芯片对信号整形处理,转换为单片机能识别的脉冲信号,输入单片机。
经单片机计算处理后显示实时速度,并在超过最高限定速度时报警,最高限定速度可以根据不同的路段通过按键设定。
图3.1系统总体框图
3.2测速传感器的选用
在选用车速传感器时,要充分考虑传感器的工作环境,灵敏度,线性范围,频率响应特性,稳定性,抗干扰性能,耐用性,系统性能要求等。
下面介绍几种常用的车速传感器[3]。
3.2.1磁电式传感器
磁电式传感器是将输入运动速度变换成感应电势输出的传感器,它不需要辅助电源,直接把被测对象的机械能转换成比较容易测量的电信号,是用于测量转速比较理想的有源传感器。
磁电式车速传感器就是一个模拟交流信号发生器,产生交变电流信号,通常由带两个接线柱的磁芯及线圈组成。
下图为某型号磁电式传感器的结构图:
图3.2磁电式传感器
磁阻式磁电传感器在汽车上的应用可以用来检测发动机转速和车轮转速,一般由传感头和齿圈组成,而传感头主要由永磁体、磁极和感应线圈组成。
当齿圈的齿隙与传感器的极轴端部相对时,极轴端部与齿圈之间的空气间隙最大,磁阻也最大,通过感应线圈的磁通量最小。
而当齿圈的齿顶与传感器的极轴端部相对应时,极轴端部与齿圈之间的空气隙最小,磁阻也最小,通过感应线圈的磁通量最大。
当齿圈随同车轮转动时,齿圈的齿顶和齿隙就交替地与传感器极轴顶部相对,传感器感应线圈周围的磁场随之发生强弱交替变化,在感应线圈中就会感应出交变电动势,齿圈的齿数为固定值,感应电动势的频率和转速成正比。
3.2.2霍尔传感器
霍尔式传感器由传感头和齿圈组成,,其传感头由霍尔元件、永磁体和电子电路等组成,结构图如下:
图3.3霍尔传感器
霍尔传感器是利用霍尔效应原理进行工作的,当在与磁场垂直的方向上加上一控制电流时,则在与磁场垂直的方向上会产生霍尔电压,齿圈转动过程中,使得通过霍尔元件的磁力线密度发生变化,从而引起霍尔电压的变化,霍尔元件将输出一准正弦波电压,此信号由电子电路转换成表中的脉冲电压。
3.2.3光电式传感器
光电式传感器由开孔圆盘,光源,光敏元件及缝隙板等组成。
开孔圆盘的输入轴与被测轴相连接.光源发出的光通过开孔圆盘和缝隙板照射到光敏元件上被光敏元件所接收,将光信号转换成电信号输出。
开孔圆盘旋转一周,光敏元件输出的电脉冲的个数等于圆盘的开孔数,因此,可通过测量光敏元件输出的脉冲频率,得知被测转速。
图3.4光电式传感器
通过对上述各种传感器的简介,我们得知磁电式传感器输出信号的幅值随转速的变化而变化,抗电磁波干扰能力差。
霍尔传感器安装使用不方便,而价格相对昂贵。
光电式传感器价格低廉,安装使用方便,不与被测对象直接接触。
所以本设计采用光电式传感器。
3.3单片机选型
单片机的选型应充分考虑性能,存储器,运行速度,I/O口,定时/计数器,串行口,模拟电路功能,工作电压、功耗,抗干扰性能、保密性等。
3.3.1单片机简介
单片机全称单片微型计算机(SingleChipMicrocomputer),是一种集成的电路芯片[4],它采用超大规模集成电路技术把具有数据处理能力的中央处理器—CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上,构成了一个小而完善的面向控制的计算机系统。
目前单片机已应用到我们生活的各个领域,如导弹的制导系统装置,飞机上各种仪表的自动控制,计算机网络与通信技术,工业自动化过程的实时控制和数据处理,环境温度监测,水位监测,各种智能IC卡,豪华轿车的安全保障系统,以及程控玩具、电子宠物等等的一切电子设备,都离不开单片机。
以单片机为核心的微型自动控制系统提高了自动化的程度,大大的方便了生产生活。
3.3.2本设计对单片机的选用
本设计选用AT89C52单片机为中央处理器。
图3.5AT89C52引脚
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用[5][6]。
主要功能特性:
(1)兼容MCS51指令系统
(2)8k可反复擦写(大于1000次)FlashROM
(3)32个双向I/O口
(4)3个16位可编程定时/计数器中断
(5)3个16位可编程定时/计数器中断
(6)时钟频率0-24MHz
(7)2个串行中断,可编程UART串行通道
(8)2个外部中断源,共8个中断源
(9)2个读写中断口线,3级加密位
(10)低功耗空闲和掉电模式,软件设置睡眠和唤醒功能
(11)有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求
3.4显示器和报警器的设计
显示器和报警器是该系统中人机信息交换的部分,是系统直接给司机提供信息的窗口,所以简捷,美观,良好的视觉效果及听觉效果非常必要。
3.4.1LCD显示结构及原理
LCD1602与单片机接口方便,价格便宜,寿命长,对电压电流要求低且容易实现多路,常作为测量控制仪表中常用的输出显示设备。
鉴于LCD1602诸多优点,本设计选用LCD1602显示。
图3.6LCD1602实物图
1602液晶也叫1602字符型液晶,3.3V或5V工作电压,对比度可调,内含复位电路,提供各种控制命令,如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能,有80字节显示数据存储器DDRAM,内建有192个5X7点阵的字型的字符发生器CGROM,8个可由用户自定义的5X7的字符发生器CGRAM它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5*7或者5*11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用[7]。
满足本设计的显示要求。
3.4.2报警器
蜂鸣喇叭报警器是常用的最简单的报警器,也可以利用指示灯来警示报警。
如果条件允许,可用采用语音报警,不过语音报警相对复杂得多。
图3.6蜂鸣器实物图
第4章硬件电路设计
4.1主控模块电路的设计
主控模块是由AT89C52单片机组成的最小应用系统,是系统的核心,控制着整个系统的正常运行。
图4.1AT89C52最小系统电路图
AT89C52最小系统的电路构成为:
(1)电源电路:
向单片机供电。
AT89S51单片机的工作电压范围:
4.0V—5.5V,
所以通常给单片机外接5V直流电源。
连接方式为VCC(40脚):
接电源+5V端VSS(20脚):
接电源地端[8]。
(2)时钟电路:
单片机工作的时间基准,决定单片机工作速度。
时钟电路就是振荡电路,向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。
AT89S51单片机时钟频率范围:
0-33MHz[9]。
(3)复位电路:
确定单片机工作的起始状态,完成单片机的启动过程。
单片机接通电源时产生复位信号,完成单片机启动,确定单片机起始工作状态。
手动按键产生复位信号,完成单片机启动,确定单片机的初始状态。
通常在单片机工作出现混乱或“死机”时,使用手动复位可实现单片机“重启”。
4.2光电传感器电路的设计
光电式传感器photoelectrictransducer,基于光电效应的传感器,在受到可见光照射后即产生光电效应,将光信号转换成电信号输出[10]。
光电式传感器产生的脉冲电信号输人到单片机的计数器T0引脚(P34),AT89C5l的定时器0定时一段时间后。
提取T0中的脉冲个数,就可计算出车辆的行驶的瞬时速度。
图4.2测速传感器电路图
4.3报警电路的设计
报警模块主要负责超速声音报警,提醒驾驶员应当马上减速行驶,以免发生交通事故。
报警电路比较简单,声音报警系统由单片机引脚接上拉电阻,三极管及蜂鸣器构成[15]。
电路设计简图如下图所示:
图4.3报警电路图
4.4显示电路的设计
显示电路由LCD1602完成,LCD1602与单片机接口方便,操作简单,能显示字母、数字和符号等。
本设计利用LCD1602显示实时速度和超速提示显示。
LCD1602显示电路如下图:
图4.4LCD1602显示电路图
4.5按键电路的设计
汽车超速报警器的按键电路由三个开关加上拉电阻构成,所以要使用单片机的三个引脚,三个开关则分别对应着模式选择、速度增加以及速度减小,通过对开关的操作可以对速度上限值进行设定,另外由于还有速度增减的按键,可以方便的根据驾驶员的实时实地要求进行速度更改以达到报警目的,具有很强的操作灵活性[11]。
其简图如下:
图4.5按键电路图
第5章软件设计
5.1主程序的设计
主程序由定时器脉冲计数子程序、数据处理子程序、显示子程序、报警子程序和按键中断程序等组成。
否
是
否
图5.1主程序流程图
该系统主程序主要完成硬件初始化、子程序调用以及显示、报警等功能。
定时器脉冲计数子程序和数据处理子程序主要完成监测车辆速度即主要是计算出车辆的时速,为报警子程序提供参考数据;
显示子程序设计采用数字化显示用户设定的最高时速和车辆实际时速,用LCD1602进行动态显示;
报警子程序主要实现在车辆超速行驶状态下发出报警信号;
按键中断子程序主要实现根据驾驶员的实时实地要求进行速度更改以达到报警目的[12]。
主程序清单:
main()
{
inti=0;
floatsum=0;
intflag=0;
unsignedlonginta;
chartemp[16];
//定义字符显示缓冲数组
Init_Timer0();
//初始化定时器0
Init_Timer1();
//初始化定时器1
Init_zhongduan();
//初始化外部中断0和1
LCD_Init();
//初始化液晶屏
DelayMs(10);
//延时用于稳定,可以去掉
LCD_Clear();
//清屏
while
(1)
{
keyscan();
sprintf(temp,"
mode:
%dlimit:
%d"
mode,speed_limit);
LCD_Write_String(0,0,temp);
//显示到液晶第1行
pwm(time);
if(OVERFLOWFLAG)//检测溢出标志,溢出表明频率过高,显示溢出信息
{
OVERFLOWFLAG=0;
//标志清零
LCD_Write_String(0,1,"
overflow>
655KHz"
);
}
if(TIMERFLAG)//定时100ms到,做数据处理(每100ms处理一次数据)
i++;
a=TL0+TH0*256;
//读取计数值
a=a*10;
//实际值乘以10相当于做了变换1秒钟转了a圈
a=a/4;
//因为转盘上面有4个孔除以4表示实际转的圈数
if(flag==0)//这句话在while循环中只运行一次
{
sprintf(temp,"
speed:
%06.0fr/s"
(float)a);
LCD_Write_String(0,1,temp);
//显示到液晶第二行
flag=1;
}
TR0=1;
//2个定时器打开
TR1=1;
TH0=0;
//100ms过后使TH0和TL0的值为0,令计数器初值为0
TL0=0;
TIMERFLAG=0;
//关闭计时计数标志
sum=sum+a;
if(i==2)//循环2次目的是为了使显示的更清楚,消除显示跳变的现象
a=sum/2.0;
i=0;
sum=0;
if(a>
speed_limit)
{
buzzer=0;
time=time-5;
}
else
buzzer=1;
sprintf(temp,"
}
}
5.2脉冲计数程序的设计
AT89C51单片机片内有两个16位定时器/计数器,分别为定时器T0和定时器T1,两个16位定时器均采用加法型计数结构,即每个计数脉冲加1,直至溢出。
T0和T1的计数脉冲可以由单片机时钟脉冲经过12秒分频后提供,故定时时间和单片机时钟频率有关。
在计数器模式下,T0和T1可以对输入P3.4和P3.5引脚上的外部脉冲进行计数。
设定时器T1工作于模式1,定时100毫秒;
设定时计数器T0工作于模式1,计数器模式,初值为0,并利用TL0和TH0存储1000毫秒内外部速度脉冲数。
计算出车子的车速[13][14]。
程序流程图:
图5.2脉冲计数程序流程图
程序清单:
a、定时器T0初始化:
void
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 超速 报警器 设计