基于单片机的汽车智能胎压监测预警系统设计_第1页
基于单片机的汽车智能胎压监测预警系统设计_第2页
基于单片机的汽车智能胎压监测预警系统设计_第3页
基于单片机的汽车智能胎压监测预警系统设计_第4页
基于单片机的汽车智能胎压监测预警系统设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着汽车走入家庭的脚步不断加快,人们对于汽车安全性能的需求也在不断增加,TPMS(TirePressureMonitorSystem)系统作为改善汽车主动安全性能的措施之一,得到了越来越广泛的重视。TPMS属于汽车电子主动式安全技术领域,可以对汽车轮胎压力、温度等参数进行实时监控。本次设计是以8052单片机为核心,设计和实现汽车胎压监测系统。该系统是用来自动检测车辆运行过程中轮胎气压,并发出轮胎漏气、低气压等警报,从而确保行车安全的系统。它是驾车者及乘车人员安全保障预警系统。本文详细描述了TPMS(TirePressureMonitorSystem)的构成及器件选择,节能及安装方面的设计考虑。设计过程中通过对各种压力传感器的对比,本文选择使用BMP180气压传感器以及无线NRF24L01射频芯片,使用BMP180气压传感器对汽车轮胎气压以及温度进行检测,并且通过无线NRF24L01射频芯片把信息传送给主机,最后通过显示器显示信息,从而完成胎压监测系统的设计。关键词:单片机;检测;胎压;NRF24L01

1前言1.1研究背景及意义在交通运输日益发展的今天,汽车的数量与速度都在增加,随之带来了安全方面的严峻考验。爆胎、疲劳驾驶与超速驾驶已经成为交通事故中三大杀手。如何有效地预防和减少这些危险因素已经越来越受到人们重视。在这其中,驾驶员们面临的一个棘手问题是汽车爆胎,这是一个难以预测且充满不确定性的难题。据专家分析,汽车爆胎是由于轮胎本身质量、路面状况以及车辆自身因素等多方面造成的,因此要想解决这一问题就必须从根源上入手。据数据显示,中国发生爆胎事故的比例高达70%,而在美国,这一比例更是高达80%。爆胎不仅给驾驶人员造成重大的伤害,而且还可能导致人员伤亡、车辆损坏等一系列严重后果。因为汽车爆胎的风险极高,因此如何有效地预防其发生,已成为社会广泛关注的议题。目前,世界上已经有很多国家开始研究并使用各种检测技术来防止或减少爆胎事件的发生。根据国家轮胎质量监督中心的专家调查,汽车轮胎气压的正常值是一个至关重要的影响因素,它直接决定了轮胎在行驶过程中的气压水平。如果不对汽车轮胎气压进行及时有效地监控,那么一旦发生交通事故,将会给车辆和行人造成很大伤害。TPMS作为一种理想的工具,被广泛应用于汽车轮胎的压力监测。对轮胎的气压状况进行实时监测,以确保无法通过肉眼观察到的气压量处于正常值,但在高速行驶时,这一目标并不切实可行;同时也无法利用传统的方法来确定其是否正常运行。TPMS能够实现对气压量的无间断监控,无论时间和地点如何,为驾驶者提供全方位的帮助。本文设计了一种基于52单片机控制的汽车胎压智能检测装置,该装置通过传感器采集压力信号后,经处理得到相应的气压值,再经过计算得出气压大小和温度的高低。据统计和实验验证气压量每减少10,个轮胎的使用寿命就会减少四分之一。同时还发现,随着气压量下降,汽车加速性能也会变差。此外,随着汽车轮胎气压的降低,轮胎与地面之间的摩擦力也会相应减少,由于轮胎抓地力不够牢固,油耗也会随之增加。因此,为了保证行车安全,使汽车胎压处于正常范围。根据相关实验研究,当气压减少十分之一时,若燃油用量相同,则汽车的行驶速度将会减少2%。所以,随着气压下降,车辆运行速度也相应降低,这对驾驶安全非常不利。在汽车保养过程中,当气压减少时,汽车的底盘会出现下沉现象,导致悬挂系统的损坏,这种情况长期存在,将会带来巨大的经济损失。另外,如果车辆受到碰撞,也容易引起爆胎、刹车失灵等问题,对驾驶员安全构成威胁。此外,这些伤害还可能引发交通事故,从而对人身安全构成潜在威胁。本系统的设计意义在于通过对轮胎胎压的监测,有效避免汽车轮胎胎压问题造成的安全隐患和经济损失。1.2国内外研究和发展的概况自2003年起,美国通过TRAD法案,规定自2007年起,所有在美国销售的新车都必须按照TPMS标准进行配置。根据2002年美国国家公路安全管理局(NHTHA)的规定,当轮胎气压低于生产商推荐值的25%~30%时监控器应向驾驶员发出警报,建议从2004年开始在新车上安装TPMS轮胎气压监测系统。在美国之后,欧洲颁布了一系列规定,要求本国汽车制造商必须安装TPMS。2002年英国Metasystem公司于2002年发布第一套TPMS系统,2004年加拿大轮胎设备公司于印第安纳波利斯博览会发布世界第二套摩托车轮胎TPMS系统;该系统能够实时监测和展示摩托车在运行过程中各个轮胎的充气内压和温度信息,一旦发现偏差,系统会通过报警灯向骑车者发出警示。由日本阿尔卑斯电气公司研制的无需电池汽车轮胎气压监测系统通过了相关测试验证,该系统满足欧洲和美国电磁波有关法律要求,未来将重点考核行驶条件和轮胎种类的影响,并定于欧美和日本进行现场测试,于2004年8月份开始供货,2006年批量生产。TPMS产品在国外已比较成熟,可以承受5-7万公里的使用试验,目前国外TPMS产品的研究开发主要集中在无源TPMS上,例如利用SAW等无源器件频率的变化对轮胎压力进行监测。我国TMPS研究才刚刚开始。当前各生产厂家关注的不是怎样开拓市场,而更多的是怎样提高产品性能与质量。目前,国产TPMS系统所面临的诸多难题,包括但不限于:必须配置专用主机、显示屏等设备;车辆内部需要进行固定和布线,安装过程繁琐,不仅会影响外观美观,还会给整车厂的装配带来困难;在极端条件下容易出现误判。无法确立合适的胎压标准,从而无法确保轮胎的合理使用效果。司机的视线偏移可能是由于缺乏抗干扰的清晰语音提示和报警功能所致,同时,由于辐射效率、编码和纠错性能的不足,以及在恶劣环境中漏报现象的严重程度,对于系统的功能会受到影响;在无线信号传输领域,直接式TPMS系列产品的稳定性和可靠性存在缺陷,同时电池寿命和传感器寿命也存在问题。这些缺陷使得其实际使用效果与设计初衷相差甚远。此外,TPMS的零部件基本上是依赖进口的,而自主研发的知识产权产品却十分匮乏。1.3拟采取的研究方法TPMS系统的主要组成部分之一是位于汽车轮胎内部的远程胎压监测模块,该模块能够实时监测轮胎内部的胎压情况(RemoteTyrePressureMonitoring)。是由NRF24L01与BMP180构成的检测模块以及安装在驾驶台上的监视器(LCD显示器)和液晶屏组成。本设计可以用于对各种不同类型车辆进行轮胎压力监测。将轮胎内部的压力测量信号经过NRF24L01的调制后,通过高频无线电波(RE)进行发射。该无线发射装置具有体积小,重量轻等优点。一般而言,TPMS系统所包含的4个模块RTPM。NRF24L01模块传回的信息被驾驶室内的监视器所接收,并在屏幕上呈现,以供驾驶者参考。当汽车轮胎出现异常情况时,驾驶室内的监视器能够根据不同的异常情况,及时发出警报信号,以确保行车安全。如果出现异常则会导致车辆失控而引发交通事故。TPMS可分为间接式和直接式两种不同的类型,各自具有独特的特点和应用场景。间接式是利用驾驶员驾驶过程中所感受到的气压变化来进行检测。利用轮胎速度差进行间接式监测轮胎状况的方法存在缺陷,因为它无法准确判断多个轮胎是否处于异常状态,并且在高速行驶时也无法做出准确的判断。因此只能采用简单直观的方式进行检测。直接式是利用压力传感器获取数据,并通过高频信号传递。当检测到异常时将会立即发出警告信号,同时由显示器进行直观地呈现。监测设备能够实时监测气压数值,并在出现异常情况时向司机发出警报。实验结果表明,采用直接式比间接式更具便捷性和准确性。由于这种技术本身具有一定的优点。因此,众多汽车制造商采用了直接的方式进行生产制造。这种方法是将传感器装在车身上,当发动机工作时,通过传感器测出车身内部压力变化来确定是否有故障发生。目前,我国各大汽车制造商已在自家汽车上安装了直接检测系统,以确保消费者的安全。本设计所采用的测量方式为直接式。该设计可以用于对各种不同类型车辆进行轮胎压力监测。采用STC89C52单片机为核心,搭载BMP180和2.4GHZ全双工无线通信收发模块NRF24L01,实现了三合一集成式传感器芯片的应用。在8052单片机的控制下,BMP180实现了对压力传输数据的检测。经过单片机MCU的打包,以数字量形式输出,并通过NRF24L01进行调制,最终制成高频信号并进行发射。1.4本文章节安排第一章前言:主要介绍汽车轮胎压力监测系统产生的背景及意义,汽车轮胎压力监测系统对车辆行驶的影响以及TPMS在国内外的发展情况。第二章为系统总体设计,介绍总体设计思路及软硬件设备与开发平台选型。第三章硬件设计:对本文所用MCU进行详细描述,并对选择芯片标准进行说明。着重研究射频芯片与低频发射芯片,并对压力传感器优缺点进行对比分析。第四章软件设计:介绍软件设计流程并为软件设计提供详细指导。第五章系统实现与测试:给出了本文所设计装置的构成和测试结果。第6章结束语:总结本设计内容,未来需要如何改进本设计。2系统总体设计2.1总体设计方案本设计以汽车为主要研究对象,运用气压传感器获取汽车轮胎胎压所对应的仿真电压值,并将其转换为V/F格式,随后送入单片机进行实时处理,以呈现相应的气压值。在数字气压计时的设计中,必须仔细研究胎压计的使用参数,以确保其不会因使用不当而导致胎压计的损坏,因为胎压计的使用对参数有一定的要求。本文首先介绍了数字式轮胎压力监测系统的原理及组成结构,并详细阐述了该系统的硬件电路设计和软件设计。利用高性能的BMP180压力传感器,汽车轮胎胎压计能够在屏幕上实时显示高精度的轮胎胎压数据,从而实现对轮胎压力的实时监测。当轮胎压力过高或过低时都会自动发出声光报警信号。在行驶过程中,当车辆轮胎的压力处于异常状态时,通过发出警报的方式通知司机,以避免轮胎炸裂,从而确保行驶的安全性。汽车胎压监测系统设计的核心是无线胎压检测。本文将介绍一种基于单片机的汽车胎压监测系统设计方案。在实际应用中,胎压检测板被安装于轮胎内部,以便进行胎压检测;另外两个则是传感器模块和信号传输装置,其作用就是将来自外部的信息转换后通过导线传递给控制器,从而实现对汽车内部气压值进行监测。胎压采集板被安装在汽车内部,以接收胎压状态和内部温度信息。由于气压传感器在测量时将被测气压转换为模拟电压输出,单片机无法直接处理该输出信号。在使用中存在着无法及时获取准确的大气压值和需要人工手动调整等问题。因此,为了将气压传感器所产生的模拟电压信号转换成数字脉冲信号,需要使用A/D转换模块,该信号的频率与输入电压呈线性关系。随后,单片机将接收到的脉冲信号转换为单位时间内获得的脉冲数,并根据电压与频率的线性关系式计算出相应的实际气压值,最终将信号传输至无线模块。图2.1胎压监测系统总体框图胎压接收板,主要是由胎压采集板无线模所发出的无线信号传送到胎压接收板无线模块中,再由A/D转换模块将气压传感器所产生的模拟电压信号传送到数字脉冲经单片机接收此脉冲信号并由下载电路下载至单片机内部,再由按键控制及电源转换电路输入后由单片机传输至LCD显示及报警电路中。系统的总体框图如图2.2。图2.2胎压接收板系统总体示意图2.2硬件实现平台构建STC89C52单片机由STC公司制造,搭载Coms8位控制器,不仅性能优异且功耗极低,拥有8k于系统可编程Flash:存储器。同时继承了原51单片机内核却又有其许多改进之处,所以又是原C51升级版本。本系统采用52单片机作为主控,利用压力传感器将气压信号传输至STC89C52单片机,并在相关模拟分立元件的协助下进行A/D转换和其他数据处理,最终将处理结果呈现于显示部分。该硬件实现平台由两个部分组成,一个是专门用于采集胎压的板块,另一个则是用于接收胎压的板块。在系统设计中,分别对胎压采集板及胎压接收板进行了电路设计。其中胎压采集板由单片机STC89C52,无线模块NRF2401,开关,状态灯,下载电路,气压传感器BMP180和电源转换电路AMS1117M-3.3组成;胎压接收板上安装有压力检测单元,用于对车辆的胎压值进行测量并将数据传输到上位机显示。胎压接收板由STC89C52单片机、NRF2401无线模块、开关、下载电路、AMS1117M-3.3电源转换电路、蜂鸣器、按键电路和LCD1602液品显示器组成。单片机进行一定运算进行判定程序触发,当符合设定的程序要求时便会触发报警电路,达到报警提示目的。2.3软件开发平台选择及实现语言简介为实现单片机与各功能模块芯片之间的通信与联络,本系统通过对单片机的每个端口进行设置,并选择定时器运行模式和串行口运行模式,从而初始化定时器和串行口。在主程序模块中,我们的关键在于对单片机进行初始化,并定义程序中的各个变量,以确保程序的稳定性和可靠性。在这些模块中,例如NRF2401无线模块和BMP180传感器、温度测量模块等都要有相应的子程序来实现对相关数据进行采集和处理,而每个子程序又需要调用不同的函数才能完成。将各个子程序的功能模块相互关联,是确保系统高效运行的关键所在。本设计采用C语言进行编程。其在程序设计中的运用使得程序开发更加容易,并且大大提高了程序效率。作为一种编译型结构化程序设计语言,C语言以其简洁的语法结构、强大的处理功能、快速的运行速度、高效的编译效率、强大的移植性和易读的特性,实现了直接运行系统便件的目标。使用C语言编写目标系统软件,可大幅缩短开发周期,同时显著提升软件可读性,易于完善和扩展,从而实现大规模高性能应用系统的研制。其所具备的长处不胜枚举。随着程序数量的增加,使用C语言所带来的优越性也随之增强,从而极大地提升了开发进度;不需要熟练掌握单片机指令及特定硬件,还可以编制出较为专业程序;通过对程序进行结构化编制,使其逻辑结构更加清晰、条理更加清晰,从而提高开发的易用性。C语言提供了三种不同类型的存储方式,分别是auto、static和flash,这些方式可以自动分配变量的空间,从而提高了单片机中程序、数据和EEPROM的处理能力和灵活性。此外,C语言还提供了复杂的数据类型,进一步增强了程序的处理能力。在程序设计过程中,C编译器具备自动化的中断服务程序现场保护和还原功能,同时为用户提供通用的标准函数库,以确保系统的高效运行。在编译过程中不需要人为干预。C编译器具备自动生成硬件初始化代码的能力,这一特性使其成为一种高效的自动化工具。针对某些复杂系统的开发,可以采用实时操作系统的移植方式(或由C编译器提供),以实现系统的高效运行。由于C语言在系统开发中具有卓越的应用优势,因此在本次设计中,所有的程序设计都将采用C语言进行编写。3硬件设计3.1硬件设计思路汽车胎压检测系统的硬件电路可分为4个部分:气压传感器、电源转换电路、单片机电路和下载电路。由于气压传感器VCC为3.3V,所以气压传感器把+5V供电变成3.3V供电,气压传感器通信协议为IIC协议。在工作过程中,气压传感器把待测物理量转换为mV级电压信号送至放大倍数非常大且能相互抵消温度漂移影响的差动式放大器。利用电压电流转换,将放大信号转化为相应的电流信号,并进行非线性校正,最终得到与输入压力成线性关系的标准电流电压信号。AMS1117系列稳压器的电源转换电路具有可调版和多种固定电压版,以提供1A的输出电流为设计目标,从而实现了1V以下的工作压差。该产品在额定输入条件下能保证足够大的输出电阻以满足对不同应用场合的要求。确保AMS1117装置在最大输出电流下的最小压差不超过1.3V,以保证其正常运行;在低负载时,系统可以自动调整至恒定的工作电压。随着负载电流的逐渐降低,所产生的压差也逐渐缩小。采用51系列的单片机,这款8位单片机具有高度的可靠性和超低的价格,无法进行高性能的解密,拥有32个I0口。此外,STC系列的单片机还支持在线编程和调试,方便地实现程序下载和整机调试。下载电路又称串口电路,即串口通讯,RXD与TXD与单片机对应位置连接,电源与+5V、GND连接,每次通电后按下开关即可接通+5V、VCC,VCC是整个系统电源,+5V只需将一个开关串在整个系统电源中用于关闭系统功能,对应供电电源连接,单片机每次开机时都会检测到串口那边有没有数据下载过来,若下载到了,则会擦掉Flash中的数据,并将其写入Flash中。3.2微控制单元MCU(MicrocontrollerUnit)本设计中对于轮胎内部MCU(MicrocontrollerUnit)的要求是低功耗,汽车级温度适用性,体积合适,对于功能上只要够用即可。下面具体介绍其性能并进行对比:51单片机:4K字节程序的储存空间;无需使用外部存储设备;内带4K字节EEPROM存储空间;STC89C52RC单片机:8K字节程序存储空间;512字节数据储存空间;内带4K字节EEPROM存储空间;可直接使用串口下载;AT89S52单片机:8K字节程序存储空间; 256字节数据存储空间;自带2KB的EEPROM存储空间;本次设计中,经过对比分析后,我们选用了STC89C52单片机,。它是一个功能强大且价格低廉的芯片。其搭载Coms8位控制器的优越性能和低功耗特性,使其具备8k可编程Flash:存储器,为系统带来了卓越的性能表现。它不仅具备普通单片机的功能,还可以实现一些特殊应用如智能控制等。该设备不仅继承了51单片机的内核,还进行了升级改良,使其成为了C51的升级版,进一步提升了其性能。如图3.1所示。图3.1STC89C52单片机3.2.1晶振电路晶振存在于单片机系统之中,晶振对单片机系统有着巨大的影响,其全过程叫做晶体振荡器,它与单片机内部电路相结合,产生单片机所需的时钟频率,晶振提供的时钟频率越高,单片机运行速度就越快,单片机全部指令的执行都是以晶振提供时钟频率为依据。在一般的操作条件下,晶体振动的频率精度可以达到千分之一。压控振荡器(VCO)是一种高精度的晶振,它可以通过施加电压来调节频率,以达到更高的精度。它主要由石英晶片和电子线路构成,具有体积小、重量轻等特点,因而广泛应用于各种需要稳定而可靠的低频信号输出的场合中。晶振是一种利用晶体在共振状态下实现电能和机械能相互转换的技术,从而提供稳定、精确的单频振荡。单片机的晶振系统能够提供基本的时钟信号等功能,从而为系统的稳定运行提供了有力的支持。为了实现各段的同步,通常需要使用一台晶振作为一套系统的组合。在使用中由于受外界条件影响和自身性能限制往往会造成相位不一致或幅度相差过大。在某些通信系统中,基频和射频采用不同的晶振方式,并通过电子调节频率以保持同步。电路图如图3.2所示。图3.2晶振电路3.2.2供电电路对于一个完整的电子设计系统而言,确保电源供应模块的稳定性和可靠性是保障系统平稳运行的基础和前提。单片机供电部分的原理图如图3.3所示。图3.3单片机供电电路3.2.3复位电路单片机置位与复位,均用于将电路初始化至设定状态,通常情况下,单片机复位电路的功能就是将如状态机等初始化为空,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。复位电路图如图3.4所示。图3.4复位电路图3.3传感器随着数字化传感器体积的缩小、功耗的降低、性价比的提高以及使用的便捷性,传统的无源传感器逐渐被其卓越的性能所取代。因此,本设计可选择的传感器有:英飞凌公司的SP12系列、飞思卡尔MPXY8300系列以及BMP180系列。3.3.1英飞凌SP12SP12是英飞凌公司在TPMS领域的一项重要研发成果该传感器为一种压电电阻式传感器,其适用范围可达100-400kpa,并自带数字串行通讯口,可轻松应用于单片机系统中,以满足各种复杂任务的需求。该芯片采用了新型结构和先进工艺设计,具有很高的灵敏度和可靠性,同时还可用于对信号进行放大或滤波处理。SP12采用了14只脚的精简封装技术,从而实现了在应用时无需使用其他外部器件的效果。在低功耗方面,SP12能够优先唤醒瞬态操作模式,其工作状态下的功率消耗仅为0.6微安秒,最大所需电流为6mA,从而极大地降低了功耗,同时延长了电池的使用寿命。3.3.2飞思卡尔MPXY8300系列MPXY8300系列是一款专为检测汽车轮胎各项参数和行驶状态而设计的传感器,其内部配备了测量电路,可测量压力、温度等参数,同时还包含MCU和射频输出功能。其具有体积小、功耗低、集成度高、稳定性好等优点,同时具备低功耗设计理念。其管脚图如图3.5所示。MPXY8300特点如下:MPXY8300的测量过程中,传感器所测得的数值将被传输至内部的四个通道中,并经过10位模数转换器进行处理;8位MCU:S08内核带SIM,中断和调试/监视器,512RAM,8KFLASH,32字节,低功耗,参数寄存器;内置315/434MHZRF发射器,无需外加任何设备即可使用;LF探测器/解码器可通过差分输入。图3.5MPXY8300引脚图3.3.3BMP180传感器BMP180是由压阻传感器BMP180所提供的压力与温度补偿数值。采用模块化设计方式,主要由电源模块、主控芯片模块、信号调理及放大处理模块、数据存储及输出模块组成。在E2PROM中,存储着176位个人校准数据,这些数据包括在使用前所测量到的电压信号与温度传感器之间的相对变化。此乃用以抵消偏移量、温度依赖性以及其他传感器参数的一项措施。以下是该系统的性能和基本参数的描述:1.将压力、温度和参数传感集成为一体,实现了高度集成化的设计;2.对数字式的压力、温度和电压量进行补偿和校准;3.优化电源管理,最小化功率消耗,最小化待机静态电流,从而进一步降低能源消耗;4.有多种唤醒方式可供选择,其中包括利用内部时钟进行唤醒;高频电压唤醒。当低频信号被唤起时;外界的刺激引发了觉醒;5.12位低噪声ADC;6.检测压力和温度的传感器能够进行短距离的线性测量。综上,我们最终选择了BMP180传感器,因为相较于SP12传感器和MPXY8300,SP12传感器的功能更为强大,但其价格却较为昂贵。因此在成本上并没有优势。BMP180传感器通过IIC进行通信,而与单片机进行通信则是一项极为便捷的技术。因此,在本文中,我们提出了一种模拟汽车胎压检测的方案,其中BMP180传感器被认为是最为适宜的传感器选择。3.4显示电路使用LED数码管进行动态扫描,虽然LED数码管价格适不足够低廉,但对于数字显示也是最为适宜的选择。此外,当采用动态扫描法与单片机连接时,其所需的单片机口线占用较少。为了实现实时显示输入二进制序列的气压值,以便用户及时发现危险并排除险情,本系统的显示电路被设计出来。这是一个包含8个位数据口的通讯数据口,其中包括了PO0~PO7,,DO~D7,,,以及背光电源的GND和VCC。此外,还提供了背光亮度的调节功能,通过滑动变阻器的调整,可以实现对显示器背光效果的精准调整。显示电路如图3.6所示。图3.6显示电路工业字符型液晶能同时显示16x02字符或者32字符(16行,2行)。1602液晶也称1602字符型液品液晶模块是一种点阵型液晶模块,专门用于字母、数字及符号的显示。该装置由多个5X7或5X11点阵字符位组成,每个点阵字符位可呈现字符,每个点阵字符位之间存在点距间隔,而每行点阵字符位之间也存在间隔,从而产生字符间距和行间距的作用,因此无法呈现图形(使用定制的CGRAM,无法达到理想的效果)。1602LCD是16X2内容的显示,即可显示两行液晶模块、每行16字符(显示字符及数字)。HD44780液晶芯片是市场上字符液晶的主要基础,其控制原理完全相同,因此,基于HD44780芯片编写的控制程序可以轻松地应用于市场上的大多数数字符型液品。1602液晶模块读、写、屏幕、光标等功能均由指令编程完成。3.5RF射频收发芯片3.5.1模块及其特性简介本设计中我们选用了NRF24L01单片射频收发器件,其在2.4GHz~2.5GHzISM范围内正常运行。由于该芯片本身工作频率较高,因此在整个电路中需要采用双工器以减少信号传输距离。此外,NRF24L01具备低功耗特性,可满足轮胎内部对功耗的苛刻要求。以下是NRF24L01的主要特点:1、支持2.4GHz的可开启ISM频率范围,在最大发射功率为0dBm的条件下;2、传输速度高达2Mbps;3、在等待模式下,仅需22uA的电流消耗,同时功耗表现出极低的水平;4、满足多点通信和跳频通信的需求,我们提供了125个多频点;5、在空旷场地,有效距离:25m(外置天线)、10m(PCB天线)。表3.1NRF24L01参数表参数数值单位供电电压5V最大发射功率0dBm最大数据传输率2Mbps电流消耗(发射模式,0dBm)11.3mA电流消耗(接收模式,2Mbps)12.3mA电流消耗(掉电模式)900nA温度范围-40~+85℃3.5.2模块引脚说明及与单片机的接口电路 NRF24L01引脚图如图3.7所示。图3.7NRF24L01引脚图具体引脚功能如表3.2所示。表3.2NRF24L01引脚功能表管脚符号功能方向1GND电源地-2IRQ中断输出输出3MISOSPI输出输出4MOSISPI输入输入5SCKSPI时钟输入6NC--7NC--8CSN片选信号输入9CE工作状态选择输入10+5V电源-11GND电源地-12IRQ中断输出输出13MISOSPI输出输出14MOSISPI输入输入15SCKSPI时钟输入16NC空-NRF24L01实物图如图3.8所示。图3.8NRF24L01实物图NRF24L01与单片机对应接口如图3.9所示。VCCVCCI/0I/0I/0I/0I/0I/0GND单片机GNDMCU模块+5VCECSNCNCNSCKMOSIMISOIRQGNDNrf24L01图3.9NRF24L01与单片机接口图3.5.3模块工作模式控制及数据控制接口工作模式主要由CE和PWR_UP和PRIM_RX两寄存器共同控制:表3.3NRF24L01状态控制表状态PWR_UP单元PRIM_RX单元CE管脚FIFO寄存器接收状态11高-发射状态10高数据存在FIFO寄存器中,将发射所有数据发射模式101→0数据存储在FIFO寄存器中,将发射一个数据待机状态II10高FIFO寄存器中无数据待机状态I1-低无正在传输的数据掉电状态0---检测时通过以下六个引脚,可实现模块的全部功能;CE:模式控制线。在CSN为低的情况下,CE协同CONFIG寄存器共同决定NRF24L01的状态(参照NRF24L01的状态机)CSN:SPI片选线SCK:SPI时钟线MOSI:SPI数据线(主机输出,从机输入)MISO:SPI数据线(主机输入,从机输出)IRQ:中断信号线。中断时变为低电平,在以下三种情况变低:TxFIFO发完并且收到ACK(使能ACK情况下)、RxFIFO收到数据、达到最大重发次数。 全部的SPI指令都要在CSN由低到高开始跳变时执行;从MOSI写命令的同时,MISO实时返回24L01的状态值;SPI指令由命令字节和数据字节两部分组成。SPI读写时序如图3.10。SPI读时序SPI写时序图3.10SPI时序图3.6报警电路系统采用的报警电路如图3.11所示。图3.11报警电路在气压每次低于下限值或者高于上限值,蜂鸣器可以进行报警提醒。当检测到汽车轮胎气压已达预设阈值时,蜂鸣器将发出警报,同时发出红色指示LED灯亮起,以提醒驾驶员注意行车安全。如图3.12所示:图3.12蜂鸣报警图综合考虑,本方案选用BMP180作为压力传感器,STC89C52单片机作为从机,NRF24L01作为射频发射接收器,TC89C52单片机为主机核心,LCD1602用于显示具体数值。4软件设计4.1总体设计本文主程序主要由5个子程序组成,这些子程序与图4.1中的各个子程序相对应,在重新启动时首先对器件进行初始化,当主机收到数据时将对其进行处理,并显示并报警。图4.1总体设计图4.2软件模块设计TPMS软件设计方面与硬件一样分为2个模块:压力检测模块和中央监控模块。压力检测模块负责测量压力温度、数据处理、发送所测胎压、温度数据和轮胎ID。中央处理模块负责对各传感器信号进行分析,计算出当前胎压值及所需加热功率并将结果发送给中央监控模块。中央监控模块承担着数据接收、处理、LCD显示轮胎状态以及异常状况报警等多项任务。中央监控模块还可以接收来自传感器模块的反馈信号并将其发送到中央处理系统进行分析判断。由于射频发送数据和压力温度数据检测是压力检测模块中最耗费电能的两个阶段,因此只有在轮胎状况出现异常或累积测量十次后,才会启动射频部分向中央模块发送数据,并在一定范围内增加两次压力和温度检测时间之间的间隔。当轮胎状态发生变化或者累计超过五次以上时将进行自动处理并发出警告。在轮胎使用过程中,若出现压力过高或过低、温度超过80摄氏度等异常情况,将会对轮胎的正常使用造成影响。在出现此种情况时,应立即启动射频模块向中央模块发送数据,以便TPMS能够快速响应轮胎出现的异常状况。压力检测流程图如图4.2。图4.2压力检测流程图一旦中央显示报警模块接收到数据,它会自动进行解调解码,并将其传输给单片机。单片机通过比较数据与预设的阀值,控制LCD显示相应的轮胎压力和温度,若所测数据超过设定的阈值,就会发出警报提示驾驶员。4.3LCD显示子程序图4.3数据显示程序如图4.3所示,LCD显示子程序运行流程图。其中包括了输入和输出两个部分。由于本文采用LCD1602液晶屏进行数据显示,故显示2行数据,在程序设计过程中需要特别留意两行数据的转换。每行所呈现的字符数量限制为16。4.4射频发射子程序如图4.4所示,是射频发射子程序的设计流程图。其中包括了输入和输出两个部分。使用射频芯片时,必须严格遵循SPI线的规则,以确保时序图的准确性和可靠性。首先进行CE的拉低操作,接着进行数据处理,最终再次进行CE的拉低操作,最后对缓冲区进行清除。图4.4射频发射子程序部分代码如下(完整代码请见附录B):voidBMP085_Start(){SDA=1;//拉高数据线SCL=1;//拉高时钟线Delay5us();//延时SDA=0;//产生下降沿Delay5us();//延时SCL=0;//拉低时钟线}voidBMP085_Stop(){SDA=0;//拉低数据线SCL=1;//拉高时钟线Delay5us();//延时Delay5us();//延时}/*********************主函数*************************/voidmain(){NRF24L01Int();Init_BMP085();//初始化BMP085while(1){ bmp085Convert(); NRFSetTxMode(TxDate);//发送温度 while(CheckACK()); //检测是否发送完毕 }}4.5射频接收子程序如图4.5所示的是射频发射子程序设计流程图。图4.5射频接收子程序部分代码如下(完整代码请见附录B):voidmain(){ LCDInt();LcdShow(0,2,"Hello,Welcome");NRFDelay(1000);//短暂延时LcdShow(2,1,"");NRFDelay(1500);//短暂延时 LCDInt();//初始化 init_eeprom(); //读eeprom数据*(RevTempDate+4)='\0';NRF24L01Int();//初始化 while(1){ key();//按键扫描 if(yemian==0) { if(flag==0) {flag=1;LCDInt(); LcdShow(0,0,"T:C");LcdShow(2,2,"P:Kpa");}NRFSetRXMode();//设置为接收模式GetDate();//开始接受数 } if(yemian==1)//进入设置模式 { if(flag==1) {flag=2; Buzzer=1; LCDInt();LcdShow(0,0,"Temperature"); LcdShow(2,2,".0C"); wenduchuli();//温度显示 LcdShow(1,6,lcdwendu); LcdShow(2,2,0xdf);} shezhi(); } if(yemian==2)//进入设置模式 { if(flag==2) {flag=3; Buzzer=1; LCDInt();LcdShow(0,3,"Pressure_H"); LcdShow(2,2,".00Kpa"); shiduchuli();//气压显示 LcdShow(1,4,lcdshidu);}shezhi();} if(yemian==3)//进入设置模式 { if(flag==3) {flag=0; Buzzer=1; LCDInt();LcdShow(0,3,"Pressure_L"); LcdShow(2,2,".00Kpa"); diyachuli();//气压显示 LcdShow(1,4,lcddiya);}shezhi();} }}4.6程序实现环境本设计环境基于KeilC。KeilC51是一款由美国KeilSoftware公司开发的51系列单片机C语言软件开发系统,它提供了丰富的库函数和强大的集成开发调试工具,同时还支持全Windows界面的使用。在此基础上实现的软件平台具有良好的通用性。Keil具备完整的开发流程,包括编辑、编译、连接、调试和仿真等多个环节的能力。该平台还具有丰富的接口以及方便灵活的用户自定义功能。IDE本身或其他编辑器可供开发人员编辑C或汇编源文件,随后由C51和A51编译器分别进行编译,生成目标文件(.OBJ)。这些目标文件可以由LIB51创建生成库文件,也可以与库文件一起通过L51连接定位生成绝对目标文件ABS。目标文件中包含所有需要在汇编语言编程时使用的数据,包括指令集名称、指令地址、寄存器值等信息,并有一个完整的数据表用来存储这些信息。将ABS文件经过OH51转换为标准Hex文件,以供调试器dScope51或tScope51进行源代码级调试,或直接使用仿真器调试目标板或将其写入程序存储器。Keilsoftware公司推出的KeiluVision2ADE,集成了项目管理、编译工具、代码编写工具、代码调试和完全仿真等多种功能,适用于个人开发或数量较少、开发过程管理尚未成熟的开发团队。

5系统实现及测试5.1系统实现本设计采用电位器直接模拟采集的气压值,将电压转换为特定频率的脉冲,并通过脉冲计数将其转化为气压值,最终通过显示器呈现出气压值的图像

温馨提示

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

评论

0/150

提交评论