




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津轻工职业技术学院毕业 设计(论文)课题 : 虚拟仪器设计汽车仪表 专 业 物联网应用技术 班级 12级物联网 学生姓名 程志磊 学生学号 02 指导教师 孟帙颖 提交日期 2015-04-02 成绩 答辩日期 答辩成绩 答辩教师 总评成绩 课题设计要求设计题目指导教师综合阅评意见平时成绩020材料成绩040指导教师摘 要针对汽车仪表发展的新趋势,本文对国内汽车仪表行业的现状和发展远景进行了概述,针对性的研究了基于LabVIEW技术和单片机技术而建立虚拟汽车仪表系统的构成,并且系统的给出了一种可行性方案,分别从LabVIEW软件实现方法、单片机程序实现方法和软、硬件的通信三方面进行了阐述。本文设计出来的汽车虚拟仪表系统可以实现本文设计出来的汽车虚拟仪表系统可以实现发动机转速、日期/时间、汽车里程、汽车速度、水温温度、油箱存油量油耗、故障报警等信息的显示。利用虚拟仪器技术模拟汽车仪表盘,不仅可以完成先进汽车仪表盘的功能,而且免去汽车机械及电子器件,降低成本。 关键词:LabVIEW;单片机;汽车仪表盘;虚拟仪器目 录第一章 功能分析与模块设计11.1 汽车仪表盘系统功能分析11.2 汽车虚拟仪表台功能模块21.3源参数模型设计3第二章 总体设计方案52.1 总体设计思路52.1.1 汽车仪表及其显示装置的作用和组成52.1.2 汽车仪表的使用条件52.1.3 界面模块62.2 总体设计框图7第三章 系统的硬件设计83.1 传感器简介83.1.1 DS18B20温度传感器83.1.2 CR-6061-1数字油位传感器83.1.3 OHG-01霍尔效应齿轮传感器93.2 数据采集卡103.3 单片机主控模块113.3.1 AT89S52概述113.3.2 AT89S52的主要性能113.3.3 AT89S52的引脚排列及功能113.3.4 AT89S52的最小系统143.3.5 3 位数码管模块介绍153.4 系统原理图163.4.1 MAX232芯片简介183.5 本章小结19第四章 系统的软件设204.1 LabVIEW软件简介204.2 LabVIEW串口通信204.2.1 VISA串行通信基本功能模块介绍214.2.2 VISA设计方法234.3 单片机程序设计254.3.1 系统工作流程254.3.2 按键子程序流程图264.3.3 显示子程序流程图274.4 数据采集程序的实现274.5 LabVIEW各功能模块程序304.5.1 功能测试模块304.6 本章小结34结束语35致 谢36参考文献37附 录39天津轻工职业技术学院12级毕业论文第一章 功能分析与模块设计1.1汽车仪表盘系统功能分析功能分析与模块设计考虑设计成本和实验条件,通过分析汽车运行中的转速、燃料流量等模型,由计算机模拟产生源信号,经D/ A 转换输出模拟信号。该信号经模拟输入端口A/ D 转换读入计算机,分析处理后在虚拟汽车仪表面板上显示转速、速度、显示百公里油耗(L/ 100 km) 、超速报警、加速或减速指示等信息,同时将部分参数通过数字输出至显示电路,用4 位L ED 动态显示。如果超速,则输出开关量,驱动发光二极管报警灯4 。系统结合PCI26011 数据采集卡,采用LabWin2dows/ CVI 虚拟仪器开发实现所有功能。具体功能分析如下:(1) 模拟工况的生成:实际汽车的转速、油耗及故障等源信号是通过传感器测量得到的模拟量,分析相关汽车工况,预先建立转速和燃油流量信号的函数模型,采用软件模拟汽车转速、流量参数。以上参数在虚拟仪表盘上显示,并通过D/ A 转换输出。(2) 信号采集与处理:将2 个输出的模拟参数用不同通道采集经过A / D转换进入计算机, 作为实验采集到的源参量,计算得到汽车仪表盘上显示的相关参数。(3) 仪表盘输出:将计算后的转速、速度、百公里、油耗、超速报警等参数通过虚拟仪表盘输出,并将速度、报警等信息输出至显示电路,由L ED 显示。整个系统的流程如图1 所示图1 参数的处理流程图1.2汽车虚拟仪表台功能模块根据流程分析,系统分划分为信号模拟与输出模块、虚拟仪表盘2 大模块。信号模拟与输出模块中包含信号的模拟、信号的转换输出;虚拟仪表盘中包含信号输入、数据转换处理、数据输出3 个子模块;各模块的结构如图2 所示。图2 汽车虚拟仪表台功能模块信号模拟与输出模块:依据转速和流量的函数模型,模拟生成汽车转速、流量参数在虚拟仪表盘上显示,并通过数模转换输出。虚拟仪表盘模块主要是模拟汽车仪表盘的功能,反映汽车运行参数。其各子模块的功能如下:(1) 信号输入模块:通过数据采集卡的模拟输入端口实时采集汽车模拟参数值;(2) 数据转换处理模块:实现采集量的A/ D 转换和量程处理, 计算转速、速度、百公里油耗( L/100 km) ,判断加减速、超速、档位信息;(3) 数据输出模块:虚拟仪表板上显示转换处理得到的信息。采用模拟转速表、度表显示转速和速度,并显示加减速、油耗、超速报警等信息;将速度转换为LED 对应二进制形码输出至4 位LED 动态显示,报警信号用I/O 量输出至扩展电路,驱动发光二极管。1.3 源参数模型设计(1)通常行驶状态下的转速模拟:本设计中模拟的转速函数及其对应的速度函数如图3 所示,采集进来的数据可以直接作为转速值r 显示在面板上,由于模拟的汽车转速信号与速度成正比,则速度为:v =D r 60/ 1 000式中:D 为车轮直径; v 为汽车转速(单位:km/ h) ;加速度为:a = ( v2 - v1 ) / t其中,v2 、v1 为相临时刻的速度值;考虑模拟量转换速度,故采用较低采样频率,周期t = 1 s。超速报警限取为90 km,当v 90 时报警。图3 模拟的转速函数和速度函数图(2)换档采集的输出和上述原理相同,考虑实际情况,一般汽车设计发动机转速在2 0003 000 rpm 为最佳工作状态,当转速达到3 000 以上,应当换档。因此,汽车加速过程中需要不断地换档。由于传动比关系,转速表与速度表显示关系为分段函数,如图4 所示。速度与加速度之间的公式依然如式(1) 、式(2) 所示。本模型模拟具有5个挡位的汽车情况。图4 模拟的转速函数和速度函数图(3)平均燃料消耗量(L/ 100 km) :由数据采集卡D/A 转换模拟输出燃油消耗,此信号意义为油箱里的油减少速度设为L (l/ s) ,经过A/ D 采集后得到此信号的数字量显示在面板的显示油耗的控件上,采集一段时间停止后,将采集的数据进行汇总得到这一段时间所有采集到的L 的累加值sum,并得到平均速度vver ,则百公里油耗P为:P = sum 100/ vver燃油流量产生实际是在1 000 至6 000 转取7 个点的油流量,假设油耗在转速段内成正比关系,建立分段函数(见图4) ,通过实时转速信号差值计算出该时刻的油流量。图5 油流量信号函数由于模拟燃油消耗关系为分段线性,可以用插值算法的计算瞬间油量:将分段速点赋给一个向量a ,将对应的油流量值赋给另一个向量组b ,即:a = 1 000 ,1 500 ,2 500 ,3 500 ,4 500 ,5 500 ,6 500b= 2. 8 ,3. 1 ,2. 5 ,3. 2 ,3. 6 ,3. 5 ,3. 9设任意时刻油流量为l ,转速为r, i 为向量组元素的脚标号,当a( i) r InstrumentI/OVISA程序库中包含进行串行通信操作的一些功能模块:(1)VISA Configure Serial Port节点该节点主要用于串口的初始化,在利用计算机控制串口仪器设备时,会经常用到这个节点在进行串行通信前,首先要配置好串口,即先初始化串口,使计算串口的各种参数设计与仪器设备的串口保持一致,这样才能正确的通信。它的主要参数意义如下:VISA resource name:VISA资源名称,本文指串口号。baud rate:波特率,默认为9600。data bits:一帧信息中的位数,LabVIEW中允许5-8位数据,默认值为8位。stop bits:一帧信息中的停止位的位数,可为1位、1位半或2位。Parity:奇偶校验设置。可为无校验、奇校验或偶校验。flow control:该参数数据类型为簇,用于串行通讯中的握手方式。(2)VISA Read节点(图4-2所示)图4-2 VISA Read节点V该节点为串口读子VI,为本文中的主要节点,将串口中的数据读出,然后利用LabVIEW 的强大数据处理功能对其进行分析处理。主要参数意义如下:ISA resource name:VISA资源名称,本文指串口号。byte count:用于设置所要读的字符数。由于LabVIEW的串行通讯子V1只允许对字符串的读写,因此本文中在进行数据处理时,必须要实现字符串与数字之间的正确转换13。此外,若要读入当前串口中的所有字符,则要执行“VISA Sytes at Serial Port”子VI,用以确定将要读入的确切的字节数,然后将其输出作为VISARead节点的输入即可。(3)VISA Write节点(图4-3所示)图4-3VISA Write节点VISA Write节点的功能是向VISA resource name所代表的仪器或接口写入信息。输入参数VISA resource name是VISA Open函数所返回的,或者“流过”其他VISA函数的,包含了会话信息的VISA资源名;write buffer为字符串类型的写入数据,输出参数dup VISA resource name为输入参数VISA resource name的一个备份,可用于后继的VISA函数调用。整型输出参数return count返回实际写入数据的字节数13。(4)VISA Close节点(图4-4所示)图4-4VISA Close节点主要参数:VISA resource name:VISA资源名称,本文指串口号。本文所用LabVIEW 串口通讯程序的波特率为96O0,无奇偶校验,8位数据位,1位停止位,禁止软、硬件握手。该节点用于将打开的VISA资源关闭,VISA resource name输入参数为包含会话信息的资源名。该函数关闭VISA会话,并释放与之关联的所有资源14。(5)VISA Open节点(图4-5所示)图4-5 VISA Open节点该函数功能为打开一个与VISA resource name所代表仪器资源的会话。会话是VISA resource name参数本身隐含携带的仪器访问逻辑标识,可以同时存在对一个VISA资源的多个访问会话。在调用VISA Open之前VISA resource name参数仅仅是一个资源描述字符串,在函数调用之后,输出参数VISA resource name已经携带了会话信息,可以用于后继的VISA操作。输入参数为包含会话信息的资源名15-16。当完成VISA资源的搜索后,对于搜索到的VISA资源,可以通过VISA Open节点打开,建立计算机与这些VISA资源之间的通信管道。4.2.2 VISA设计方法(1) LabVIEW串口开发过程在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下:图4-6首先需要调用VISA Configure Serial Port完成串口参数的设置,包括所用串口号、比特率、一帧信息中有效数据的位数、停止位、奇偶校验、数据流量控制等,如下图所示。图4-7如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISA Write,接收数据使用VISARead。如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数16。图4-8图4-9在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA Set I/O BufferSize;而使用VISA Flush I/O Buffer则可以清空接收与发送缓冲区。在串口使用结束后,使用VISA Close结束与VISAResource Name指定的串口之间的会话。(2) VISA属性设置及串口实现首先完成串口的初始化,在此设置波特率为9600b/s,8 位数据位, 1 位停止位,无奇偶校验;其次设置Write/ Read 等相应模块的功能。由于硬件在整个工作期间,以9600bit/s的速率连续向外发送数据,为了数据处理方便,可以采用LabVIEW8.6中的Serial Read With Time-out.vi模块,以保证每次从串口缓存中读出等量偶数个数据。4.3 单片机程序设计本文中所做的研究需要将实际采集到的汽车各种仪表信息存储到单片机中,由单片机提供数据给上位机进而实现数据的显示,再通过PC机的RS-232串行接口与外部设备进行通信,因此需要实现PC机和单片机之间的通信17。本文将论述在LabVIEW环境下PC机与AT89S52单片机之间实现串行通信的方案。4.3.1 系统工作流程下位机的程序包括数据采集模块和串口通信的数据传输模块,数据采集模块首先进行初始化,通过单片机控制A/D 转换模块数据采集功能,A/D 模块将模拟信号转换成数字信号后发出中断,单片机将传输AD 模块采集的信号到缓冲区。串口数据传输模块在串口通信之前,对串口进行初始化,主要包括串口波特率,数据格式,接收中断的设置18。当上位机发送数据给下位机,会引起单片机接收中断,此时进入中断服务程序,单片机接收数据,比较校验和,如果相同,发指令给PC 机确认,最后将采集到的数据通过RS-232串行接口传送到PC 机19。系统工作流程图如下:图4-10 系统工作流程4.3.2 按键子程序流程图键盘扫描查询子程序,是提供人机信息交换的接口。由于采用扫描法,是利用CPU在完成其他工作之余,反复扫描查询键盘接口,根据端口的输入情况,调用不同的按键处理子程序。当按键按下时,利用软件延时去抖动,然后扫描按键位置,读取准确数值,最后完成一次按键处理。按键子程序流程图如图4-11所示。图4-11 按键子程序流程图4.3.3 显示子程序流程图当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。在轮流显示过程中,每位数码管的点亮时间为15ms,由于人的视觉暂留现象及发光二极管的余辉效应,只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。显示子程序流程图如图4-12所示。图4-12 显示子程序流程图4.4 数据采集程序的实现单片机程序用A/D模块进行采集传感器的值,然后用SCI口将采集的值发给PC机。 (1) A/D转换简介在过程控制和仪器仪表中,多由计算机进行实时控制及实时数据处理,计算机所加工的信息总是数字量,而被检测的对象却往往是一些连续变化的模拟量(如温度、压力、速度和流量等),因此需要将模拟量转化成为数字量,以便在计算机中进行运算处理,此过程称为模数(A/D)转换20。进行A/D转换,需要了解以下的基本问题: 采样精度采样精度就是指数字量变化一个最小量是模拟信号的变化量,即通常所说的采样位数。设采样位数为N,则最小的能检测到的模拟量变化值为1/2N。 采样速率采样速率是指完成一次A/D采样所要花费的时间。速率和所选器件的工作频率有很大关系。 滤波为了使采样的数据更准确,必须对采样的数据进行筛选去掉误差较大的数据。通常采用中值滤波和均值滤波来提高采样精度。中值滤波是取3次采样的中间值,均值滤波是取多次采样的算术平均值。 物理量回归在实际应用中,得到稳定的A/D采样值后,还需要把A/D采样值与实际物理量对应起来。A/D转换的目的是把模拟信号转化为数字信号,供计算机进行处理,但必须知道A/D转换后的数值所代表的实际物理量的值,这样才有实际意义21。(2)A/D转换模块的基本编程方法A/D转换编程主要涉及输入时钟寄存器ADCLK($003E)、状态和控制寄存器ADSCR($003C)、数据寄存器ADR($003D)。 A/D转换初始化在程序初始化时就对A/D转换输入时钟寄存器写入控制字节,决定时钟输入源,决定分频示数,是ADC时钟频率达1MHz,使用内部总线时钟,且fbus=2.4576MHz,则初始化程序为:LDA # %00110000 STA ADCLK 启动A/D转换 对A/D转换状态和控制寄存器写入控制字节,选取要转换的通道、决定转换结束数据获取的方式、设置是连续转换还是一次转换:LDA # %00000000STA ADSCR 获A/D转换结果若是中断程序,在A/D中断程序中取得,若是查询方式,通过A/D状态和控制寄存器的第7位取得,本文用到的是查询程序,所以程序如下:BRCLR 7,ADSCRLDA ADR(3) 单片机SCI初始化以下讨论对单片机SCI初始化的具体步骤。 串口波特率的设定通常使用单片机的串口时,选用的晶振比较固定,常用于何微机通信的波特率也相对固定。本设计设定通讯波特率为9600。 串口初始化对单片机SCI初始化程序,具体步骤如下。 定义波特率。一般选择内部总线时钟为串行通信的时钟源,程序如下:/总线频率fbus=2.4576MHz,定义波特率Bt=9600LDA #%00000010STA SCBR 写控制字到SCI控制寄存器1(SCC1)。 设置是否允许SCI、数据长度、输出格式、选择唤醒方法、是否校验等,程序如下:/设置允许SCI,正常码输出、8位数据、无校验LDA #%01000000STA SCC1 写控制字到SCI控制寄存器2(SCC2)。 设置是否允许发送和接受、是中断接受还是查询接收等,程序如下: /设置允许发送、允许接收,查询方式收发 LDA #%00001100STA SCC2用查询方式,可以不对SCI控制寄存器3(SCC3)初始化,另外几个寄存器供后面编程使用,不需要初始化21-22。4.5 LabVIEW各功能模块程序4.5.1 功能测试模块(1)车速表模块车速表的测试需要预先了解设定目标车型的特征参数,如车辆特征系数、车速传感器的传感系数等,然后通过数据通信卡(CAN总线信号)将特征参数下载到被测仪表,按照测试要求产生脉冲信号。信号的幅值、频率可以通过手动自动进行调整,车速信号具备超速报警提示功能,根据设定的超速门限值,高于该门限值时,通过主界面前面板上的超速报警灯闪烁来提示。测试过程也可以手动自动进行,测试结果存档以备查询7-9。根据实际采集到的数据,将车速表指示范围设定为0300km/h,并设置当速度超过250km/h时发出超速报警,将由单片机传来的数据用函数公式转换成相应的数值显示在速度表中。车速表前面板设计如图4-4所示,车速表程序框图如图4-5所示。图4-4 车速表前面板图4-5 车速表程序框图(2)发动机转速表模块发动机转速表测试模块类似于车速表测试模块,区别在于它的特征参数不同。根据特定车型的情况,通过数据通信卡(CAN总线信号)将发动机转速比下载到被测仪表,然后对其进行测试7。根据实际采集到的数据将转速表指示范围设定在08000r/min,并设置当速度超过6000r/min时发出转速过高报警,将由单片机传来的数据用函数公式转换成相应的数值显示在转速表中。发动机转速表前面板设计如图4-6所示,发动机转速表部分程序框图如图4-7所示。图4-6 发动机转速表前面板图4-7 转速表部分程序框图 (3)燃油表的模块燃油表的测试需要预先设定目标车型的燃油测试范围以及燃油门限报警值,通过数据通信卡(CAN总线信号)将参数值下载到被测仪表,然后按照测试要求开始测试10。根据设定的燃油门限值,低于该门限值时,通过主界面前面板上的燃油报警灯闪烁提示。测试过程可以手动自动进行。根据实际情况将燃油表表指示范围设定在01,表示不同的油位,并设置当油位低于0.2是发出燃油不足报警,将由单片机传来的数据用函数公式转换成相应的数值显示在油表中。燃油表前面板如图4-8所示,燃油表部分程序框图如图4-9所示。图4-8 燃油表前面板图4-9燃油表部分程序框图(4)温度表的模块根据实际车型行驶过程中的温度变化采集需要的数据,通过单片机模拟该数据发送到测试仪表。将温度表指示范围设定在50130,并设置当温度超过120或小于50时发出温度异常报警,将由单片机传来的数据用函数公式转换成相应的数值显示在水温表中。温度表前面板设计如图4-10所示,温度表部分程序框图如图4-11
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年房地产企业风险管理与财务稳健性:行业分析与风险应对报告
- 2025年智能家居系统互联互通标准下的智能家居设备互联互通性产业链价值研究报告
- 砍伐林木合同转让协议书
- 机关文明健康协议书模板
- 糖尿病健康管理合同协议
- 研发写字楼租赁合同范本
- 船坞甲板加工合同协议书
- 电梯销售合同终止协议书
- 独栋办公楼租赁合同范本
- 理发店合伙合同协议模板
- 乡镇机关保密管理制度
- 孕产妇门诊管理制度
- 2025年高考河北物理真题+解析在卷尾
- 【正版授权】 IEC 60155:1993/AMD2:2006 FR-D Amendment 2 - Glow-starters for fluorescent lamps
- 新员工入职廉洁从业教育培训
- 2025年重庆市九年级中考英语试卷(真题+答案)
- pmc计划员考试试题及答案
- T/CGAS 026.2-2023瓶装液化石油气管理规范第2部分:平台建设
- T/CAQI 96-2019产品质量鉴定程序规范总则
- 2025年客运车辆驾驶员(技师)职业技能鉴定考试题库(含答案)
- 虚拟电厂在分布式能源管理中的应用机制与互动模式研究综述
评论
0/150
提交评论