ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:741.05KB ,
资源ID:7499651      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/7499651.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(酒精浓度检测仪.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

酒精浓度检测仪.doc

1、基于单片机和虚拟仪器的车载酒精浓度检测仪 摘要 为了使酒后驾车的驾驶员无法正常启动车辆,减少酒后驾车引起的交通事故,本文设计了基于单片机和虚拟仪器的车载酒精浓度检测仪。该检测仪以STC89C52单片机为核心控制器件,利用气敏传感器MQ3检测驾驶员呼出气体的酒精浓度,A/D转换电路将气敏传感器MQ3的输出信号进行采集,并送与STC89C52单片机进行处理。当酒精浓度超过酒后驾车的阀值时,检测仪可实现声光报警功能,并自动切断汽车启功系统的点火电路,使酒后驾车的司机所驾驶的车辆自动熄火,从源头上解决司机酒后驾车的问题。同时该检测仪利用串口通信,实现单片机与车载电脑的数据传输,虚拟仪器系统以车载电

2、脑为平台,对驾驶座的酒精浓度进行实时监测及数据存储,一旦发生交通事故,车载电脑所存储的实时酒精浓度数据,可方便交通管理部门对交通事故发生原因的排查。 关键词:单片机、虚拟仪器、气敏传感器、A/D转换电路、串口通信 第一章 概述 1.1 车载酒精浓度检测技术的背景及意义 1.1.1 车载酒精检测技术的背景 2008年世界卫生组织发布的事故调查显示,世界上大约50%—60%的交通事故与酒后驾车有关,当酒精在人体血液内达到一定程度时,人对外界的反应能力及控制能力就会下降,导致人处理紧急事件的能力也随之下降。研究表明,当驾驶者血液中酒精含量达到80mg/100mL时,发生交通

3、事故的几率是不含酒精时的2.5倍,当驾驶者血液中酒精含量达到100mg/mL时,发生交通事故的几率是不含酒精时的4.7倍,即使在少量饮酒的状态下危险度也是未饮酒时的2倍左右,酒后驾车已成为车祸致死的主要原因。 1.1.2 车载酒精检测技术的意义 根据国家质检检疫局发布的《车辆驾驶人员血液、呼气酒精含量阀值与检测》中的规定,酒后驾车的临界值如表1-1所示: 表1-1 车辆驾驶人员血液酒精含量临界值 行为类别 对象 血液酒精含量(mg/100mL) 呼气酒精含量 (mg/L) 饮酒驾车 车辆驾驶人员 20 0.0909 醉酒驾车 车辆驾驶人员 80 0.3636

4、 虽然法律明文规定禁止酒后驾车,但是仍然有一部分人怀着侥幸心理酒后开车,这不仅是对自己人身安全的不负责任,也是漠视路人生命的行为。而且仅仅依靠法律有限的醉酒驾车的惩罚措施,并不足以规范人们的酒后驾车行为。 从理论上说,要判断是否是酒后驾驶,最准确的方法应该是检查驾驶员血液中的酒精含量,但在违章检查及交通事故处理中,现场抽取血液往往是不可能的,因此现阶段,只能通过交通管理部门派出专门人员在道路上设卡,进行现场检测对驾驶者是否饮酒,而且通常采用手持式呼气酒精检测仪。虽然目前市场上警用酒精检测仪种类繁多、功能也较强大,但只能由交警人员来实施,由于交警不能全时段覆盖所有行驶车辆的检测,势必

5、给酒后驾车行为留有漏洞。 如果每部车内安装有一种酒精浓度检测仪,能实时检测驾驶员呼出气体的酒精浓度,并且在检测到该浓度超过醉酒驾车的阀值时,进行声光报警,并自动切断汽车启动系统的点火电路,就能从根本上控制醉酒驾车行为。基于此本文设计了基于单片机和虚拟仪器的车载酒精检测仪,在实现上述功能的基础上,以车载电脑作为上位机,通过串口通信,实现单片机与上位机的数据传输,虚拟仪器系统以车载电脑为平台,对单片机传输的酒精浓度进行实时处理和存储,方便交通管理部门对交通事故发生原因的排查。相信一旦该酒精检测仪广泛投入使用,必将有效的规范醉酒驾车行为。 1.2 车载酒精检测技术的现状和发展趋势

6、 1.2.1 酒精检测技术现状 目前酒精检测方法主要有呼气式酒精检测法、顶空气相色谱法和乙醇脱氢酶法三种,应用最广的是呼气式酒精检测法,呼气式酒精检测法采用气敏传感器对人的呼出气体进行检测,然后根据呼出气体酒精浓度与血液酒精浓度的比例关系(1:2200)进行计算得到血液酒精浓度。近年来智能传感器的出现也使气敏传感器有了很大发展,不仅有半导体型、燃料电池型等传统传感器,还有单壁、多壁碳纳米管传感器,多传感器融合的复合传感器。 1.2.2 车载酒精检测技术的现状 车载酒精检测技术已经在车辆中有部分应用,但尚不成熟。目前除了汽车厂商在其生产的车辆上使用外,单独出售的车载酒精检测控制器还没有在

7、市场上出现。车载酒精检测技术多种多样,大致分为直接对呼出气体测量型、间接对呼出气体检测型、对体液检测型和对人的生物特征检测型。直接对呼出气体检测型的代表厂商是萨博,它在某些款型的车上使用了酒精钥匙(Alcokey)技术,在汽车启动前需要向设置在钥匙上的吹气口吹气,否则汽车无法启动。酒精钥匙检测出酒精含量未超标时,钥匙亮起绿色指示灯,汽车可以正常启动;而酒精含量超标时则发动机自动锁止使汽车无法启动。但在实际使用中若驾驶员找其他人代替吹气,则酒精钥匙不能发挥其作用。 间接对呼出气体检测型车载检测装置如表1-1所示,这种装置无需驾驶员通过吹气管吹气,只要驾驶员进入车辆便可自动检测,它通过检测车内空

8、气与酒精气体的浓度比计算驾驶员呼出气体的酒精浓度,超标就会自动锁止发动机,使汽车无法启动。这种装置的缺陷是可能因当乘员饮酒时误动作,在驾驶员未饮酒的情况下锁止车辆。 图1-1 车载无吹管的酒精检测装置 对体液检测型主要是对驾驶员手心的汗液来检测,它将酒精检测装置安装在驾驶员手可能接触的所有地方,检测驾驶员手心汗液中的酒精浓度含量,如果检测出酒精,系统就会发出警报,并且自动锁止变速器。这种方法成本大且对驾驶员是否接触装有酒精检测装置的地方存在不确定性,而且如果驾驶员带手套,该检测装置将彻底失去其作用。另外还有一种车载酒精检测装置在检测到酒精存在后,通过GPS定位车辆,并通过GPRS网

9、络将车辆的位置信息发送给交警部门,最终由交警使用专门的酒精检测仪对驾驶员是否饮酒进行确定,但是该方法无法确定是否是驾驶员饮酒,或是乘员饮酒,或是车内放置含有酒精的其他物品,导致交警部门进行无效的出动,给交警执法带来极大的不便。 1.2.3 车载酒精检测技术的发展趋势 目前车载酒精检测设备主要通过酒精传感器检测车内酒精含量并依据酒精含量对车辆进行控制,只是硬件载体有所不同,首先是使用的传感器不同,其次是处理信号的单片机不同。有的车载设备使用多传感器,将多个传感器安装在车内不同位置,通过传感器得到的不同的气体酒精浓度来判断是否是驾驶员饮酒,其根源上是围绕是否是驾驶员饮酒来设计的,本质思想还是通

10、过酒精浓度控制车辆。近年来,随着酒精传感器、嵌入式技术的发展,车载酒精传感器正向着智能化、集成化、人性化和快速反应的方向发展。 随着嵌入式技术的更新,传感器体积缩小、成本降低,车载酒精检测仪可以集成到现有的车载电子设备中,使酒精检测仪成为汽车电子设备的一部分,从根源上杜绝酒后驾车,集成化是未来车载酒精检测仪发展的必然趋势。人性化是车载酒精浓度检测仪要达到的目标,方便仪器的推广使用。快速反应是基于酒精传感器能快速探测到酒精浓度而发展的。智能化是所有仪器发展的必然趋势,车载酒精检测仪可以通过多传感器的结合,全方位感知判断车内乘员及车辆自身的情况。 1.3 本文结构及主要内容 本文主要研究基于

11、单片机和虚拟仪器的车载酒精浓度检测技术,主要思想是通过驾驶员呼出气体的酒精浓度实时控制车辆是否可以行驶,并且利用虚拟仪器这一先进技术对驾驶员呼出气体的酒精浓度进行实时处理和数据存储,方便交警部门对交通事故发生原因的排查。 本文内容安排如下: 第一章 概述,主要阐述了车载酒精浓度检测仪的背景及意义、现状及发展趋势,最后介绍了本文的结构及主要内容。 第二章 酒精检测仪系统设计思路,介绍了车载酒精检测仪的总体方案。 第三章 酒精检测仪的硬件设计,介绍了车载酒精检测仪的硬件设计方案,对涉及到的主要器件及其在硬件系统中的作用、如何在硬件系统中发挥作用做了详细介绍。 第四章 酒精检测仪的软件设计

12、介绍了虚拟仪器技术,对酒精检测仪涉及到的虚拟仪器编程的各个模块做了详细阐述。 第五章 系统调试及实验结果,通过模拟酒精浓度对系统性能进行了调试,并给出实验结果。 第六章 总结,对本文设计的基于单片机和虚拟仪器的酒精浓度检测仪进行优缺点总结,并对今后的改进工作进行了简要的叙述。 第二章 酒精检测仪系统设计思路 2.1 酒精检测系统工作原理 本文设计的基于LabVIEW和单片机的车载酒精检测仪分为上位机和下位机两部分。下位机选用51系列单片机,C语言编程,单片机外围电路将采集到的酒精浓度信息传给单片机,利用单片机学习板上的LED灯和蜂鸣器进行模拟,实现酒精检测仪的声光报警功能,通过一个

13、LED灯指示汽车发动机点火电路的通和断,模拟实现当酒精浓度超过阀值时自动锁止车辆的功能;上位机采用LabVIEW编程设计PC上位机的监控界面,PC通信自带串行口,和单片机进行串口通信,从而实现对过程参数的测量和采集。该车载酒精检测仪设计简单,简化了系统和硬件电路,具有很好的可扩展性。 系统组成框图如图2-1所示: 图2-1 系统组成框图 上位机主要包括串行通信、酒精浓度临界值预警、数据存数、表格显示。上位机组成框图如图2-2所示: 图2-2 上位机程序组成框图 下位机主要包括MQ3气敏传感器、 A/D采集电路、声光报警、点火电路。下位机组成框图如图2-3所示:

14、STC89C52RC单片机 数码管显示 声光报警 点火电路 A/D采集电路 MQ3气敏传感器 图2-3 下位机组成框图 2.2 酒精检测系统运行步骤 酒精浓度采集:从传感器出来的信号是0-5V的电压信号,而单片机只能处理数字信号,所以传感器与单片机之间需要加A/D转化才能将传感器检测到的酒精浓度信息送给单片机,本文选用的是ADC0804模数转换芯片。 酒精浓度处理:单片机将采集到的电压信号转换为对应的血液酒精浓度信息,并与临界值比较。当酒精浓度在[20,80)mg/mL中时为饮酒驾车,单片机发出预警,点亮第一个LED灯,代表

15、对饮酒驾车行为的提醒;当酒精浓度大于80mg/mL时为醉酒驾车,第一个灯熄灭,第二个灯亮,模拟为锁止发动机,并由蜂鸣器发出警报。 酒精浓度传输:通过RS232串口通信,单片机与PC机进行数据传输,上位机利用LabVIEW软件对单片机传输的数据进行串口读取、处理、显示、储存,并实现声光报警功能。 上限值设置:当需要改变醉酒驾车的上限值时,LabVIEW通过VISE READ 送上限值给单片机,实现上位机对酒精浓度阀值的控制。 第三章 酒精检测系统硬件设计 3.1 酒精检测系统硬件设计要求 本文设计的基于LabVIEW和单片机的车载酒精浓度检测仪,通过酒精模块实现驾驶座酒精浓度采集,以单

16、片机为下位机实现对硬件电路的控制,要求实现声光报警、模拟锁止车辆、串口通信以及数码管显示等功能;以虚拟仪器为上位机控制平台,要求实现对单片机中酒精浓度临界值的控制。基于此,本文选用的主要电子器件有STC89C52单片机、MQ3酒精传感器、及RS232串行通信接口。 3.2 主要电子器件的介绍及电路设计 3.2.1 STC89C52单片机 STC89C52是宏晶科技公司生产的低电压、高性能的CMOS8位单片机,片内8kByte的可反复擦写的只读程序存储器(PEROM)和128Byte的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片

17、内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机可为使用者提供许多高性价比的应用场合,可灵活的应用于各种控制领域。STC89C52RC单片机的管脚图如图3-1所示: 图3-1 STC89C52RC单片机管脚图 STC89C52提供了以下标准:8K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,STC89C52可降至0HZ静态逻辑操作,并支持两种软件的可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时器、串口通信及中断系统继

18、续工作。掉电方式保存RAM的内容,但振荡器停止工作并禁止所有部件直到下一个硬件复位。 图3-2为STC89C52的内部结构: 图3-2 STC89C52的内部结构 3.2.2 MQ3气敏传感器 MQ-3气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在酒精蒸气时,传感器的电导率随空气中酒精气体的浓度增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-3气体传感器对究竟的灵敏度高,可以抵抗汽油、烟雾、水蒸气的干扰。这种传感器可检测多种浓度酒精气氛,是一款适合多用的低成本传感器。其实物图如图

19、3-3所示: 图3-3 MQ-3气敏传感器实物图 MQ-3气体传感器适用于酒精气体浓度为0.05mg/L-10mg/L,对乙醇蒸气有很高的灵敏度,良好的选择性和快速的响应恢复特性,而且MQ-3酒精传感器具有寿命长、稳定可靠、驱动回路简单等优点。图3-4为MQ-3酒精传感器对不同气体的响应曲线,横坐标为气体浓度,纵坐标为元件在不同气体,不同浓度下的电阻值RS与元件在洁净空气中的电阻值R0的比值。可以看出MQ-3对酒精气体有良好的选择性,且当酒精气体浓度增大传感器的敏感体电阻在不断减小,敏感体在电路中的阻抗不断减小。 图3-4 MQ-3酒精传感器对酒精的选择性 MQ

20、3是半导体气敏传感器,由微型AL203陶瓷管、SnO2敏感层、测量电路和加热器构成,传感器封装在塑料或不锈钢的腔体内。有六指引脚,其中四只引脚用于引出信号,两只用于给加热器电阻提供电能。图3-5分别表示MQ-3传感器的引脚排布图、功能引脚图、使用接线图。 图3-5 MQ-3的外观与相应的结构形式 其灵敏度如表3-1所示。 表3-1 MQ-3气敏传感器灵敏度特性 传感器的标准回路有两部分组成:其一为加热回路;其二为信号输出回路,它可以准确反映传感器表面电阻的变化。传感器表面电阻RS的变化,通过与其串联的负载电阻RL上的有效电压信号VRL获得。二者之间的关系为: RS/RL=(

21、VC-VRL)/VRL 上述参数使得传感器输出电压为0-5V,于是MQ-3与ADC0804模数转化芯片可直接相连,其电路如图3-6所示: 图3-6 MQ-3与ADC0804模数转化芯片连接电路图 3.2.3 RS-232串行通信接口 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232是目前最常用的一种串行通讯接口。它是在1970年由美国电子

22、工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。 ①接口的信号内容  实际上RS-232-C的25条引线中有许多是很少使用的,在计算机通讯中一般只使用3-9条引线。RS-232-C最常用的9条引线的信号。 ②接口的电气特性  在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻辑。“1”,-5~-15V;逻辑“0” +5~ +1

23、5V 。噪声容限为2V。即要求接收器能识别低至+3V的信号作为逻辑“0”, 高到-3V的信号作为逻辑“1”。可见RS-232-C的电平逻辑与TTL电平正好相反,而STC89C52的电平逻辑采用的是TTL电平,因此单片机要控制RS-232-C串口通信,二者之间需进行电平转换,本文使用了MAX232芯片来实现此功能。 ③ 接口的物理结构  RS-232接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端。一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9

24、芯插头座,传输线采用屏蔽双绞线。 ④传输电缆长度  由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10~20%的范围工作的,所以实际使用中最大距离会远超过50英尺。 基于此,本文设计的RS-232-C串口通信接口电路如图3-7所示: 图3-7 RS-232-C串口通信接口电路 3.3 基于STC89C52单片机的下位机程序设计 3.3.1 酒精浓度采集程序设计 从传感器出来的信号是0-5V的电压信号,而单片机只能处理数字信号,所以传感器与单片机之间需要加A/D转化才能将

25、传感器检测到的酒精浓度信息送给单片机,本文选用的是ADC0804模数转换芯片,因为ADC0804模数转换需要一段时间,因此需要延时一段时间才能读取转换结果。程序流程图如下图3-8所示: 开始 启动转换 延时等待 读取转换结果 保存数据 结束 3.3.2 声光报警程序设计 单片机将采集到的电压信号转换为对应的血液酒精浓度信息,并与临界值比较。当酒精浓度在[20,80)mg/mL中时为饮酒驾车,单片机发出预警,点亮第一个LED灯,代表对饮酒驾车行为的提醒;当酒精浓度大于80mg/mL时为醉酒驾车,第一个灯熄灭,第二个灯亮,模拟为锁

26、止发动机,并由蜂鸣器发出警报。程序流程图如下图3-9所示: 开始 置酒驾临界值 YES YES >=20且<80 YES LED1亮 NO >=80 LED1灭,LED2亮 NO 蜂鸣器报警 结束 3.3.3 上、下位

27、机进行串口通信的程序设计 上、下位机进行串口通信时,由单片通过串口将采集到的酒精浓度信息送至SBUF寄存器,SBUF发送寄存器按照指定的串口异步通信格式将数据一位一位发送至PC机的串口中,上位机再将数据读取保存;上位机向单片机发送的的数据由单片机的SBUF接收寄存器接收。因此上、下位机的通信格式必须保持一致,主要包括:一位起始位,8位数据位,移位停止位,无校验位,波特率由定时器1的溢出率决定,本文设置溢出率为9600bps。串口收发数据默认情况下收发的是数据的ASCII码值,所以需根据需要进行数据转换处理。以C语言为基础,本文应用Keil软件编制的串口收发数据程序段如下所示: 第四章

28、酒精检测系统程序设计 4.1 系统软件平台LabVIEW介绍 4.1.1 LabVIEW概述 虚拟仪器(Virtual Instrument)是二十世纪90年代发展起来的一项新技术。它将计算机与功能化硬件模块结合,用户可以通过的图形界面操作计算机。在虚拟仪器中,图像和数据采集、分析、控制、结果输出和用户界面等功能都是由软件完成,硬件仅仅是为了解决信号的输入输出,因为软件是整个仪器系统的核心,即体现了“软件即仪器”的思想。 虚拟仪器以计算机硬件为平台,由传感器、模块化硬件接口卡以及测量软件库构成虚实并存的测量系统。它是计算机硬件资源、仪器测控硬件和用于数据分析、过程通讯及图形用户界面软

29、件之间的有效结合,具有传统仪器所没有的信号采集、分析和输出功能。其基本结构包括计算机、虚拟仪器软件、硬件接口和测控仪器。 虚拟仪器系统概念是对传统仪器概念的重大突破,是计算机系统与仪器系统技术相结合的产物。它利用计算机系统的强大功能,结合相应的硬件,大大突破传统仪器在数据处理、显示、传送、处理等方面的限制,使用户可以方便地对其进行维护、扩展、升级等。虚拟仪器系统可以广泛地应用在通讯、自动化、半导体、航空、电子、电力、生化制药、和工业生产等各种领域。 4.1.2 LabVIEW编程特点 LabView(Laboratory Virtual Instrument Engineering W

30、orkbench)是一种用图标代替文本行创建应用程序的图形化编程语言。由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabView使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。其主要应用于测试,测量和控制领域。 LabView的图形化编程方式,极大的简化了测量和控制系统的开发过程,缩短了系统开发和调试周期,使用LabView编写程序,简单的工作很容易完成,特别是和其他的文本编程语言比较更是如此。LabView不但功能强大、灵活方便,而且还具有良好的可读性、可写性、

31、可维护性、可重用性和可理解性等。主要特点有: 1.尽可能采用了通用的硬件,各种仪器的差异主要是软件。 2.可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。 3.可以根据自己的需要定义和制造各种仪器。 4.1.3 LabVIEW程序的组成 一个完整的LabVIEW开发环境包括基本模块和扩展模块两部分,引擎部分是整个图形化开发环境的核心,包括编辑模块、运行模块和调试模块。LabVIEW环境下开发的程序称为虚拟仪器VI。 程序VI由一个前面板,程序流程图和一个接口板组成。接口板用于上层的VI调用该VI。 4.2 NI—VISE简介 LabVIEW提供了

32、功能强大的VISA库。VISA(Virtual Instrument Software Architecture—虚拟仪器软件构架),是用于仪器编程的标准I/O函数库及其相关规范的总称。VISA库驻留于计算机系统中,完成计算机与仪器之间的连接,用以实现对仪器的程序控制,其实质是用于虚拟仪器系统的标准的API。VISA本身不具备编程能力,它是一个高层API,通过调用底层驱动程序来实现对仪器的编程,其层次如图4.1(a)所示,VISA是采用VPP标准的I/O接口软件,其软件结构应包含三部分,如图4.1(b)所示 4.1(a)VISE内部机制

33、 4.1(b)VISE 结构 4.1VISE内部机制与结构 本文用到的主要串口通讯函数有: (1) VISE串口配置,如图4.2所示: 该节点主要用于将VISA资源名称指定的串口按特定设置初始化。使用哪一个多态实例将由连接至VISA资源名称输入端的VISA类决定。主要参数意义如下: VISA资源名称:指定要打开的资源。该控件也可指定会话句柄和类。 波特率:波特率是传输速率。默认值为9600。 数据比特:数据比特是输入数据的位数。数据比特的值介于5和8之间。默认值 为8。 奇偶:奇偶是指定要传输或接收的每一帧所使用的奇偶校验。奇偶校验位,默认值为无校验

34、偶校验等。 停止位:停止位是指定用于表示帧结束的停止位的数量。设置停止位,可以为 1、1.5、2。 (2)VISE读取,如图4.3所示: 该节点为串口读子VI,为本文中的主要节点,将串口中的数据读出,然后利用LabVIEW的强大数据处理功能对其进行分析处理。主要参数意义如下: VISA资源名称:设置串口号,指定要打开的资源。该控件也可指定会话句柄和类。 字节总数:字节总数是要读取的字节数量。该节点用于设置读取字节数。 VISA资源名称输出:VISA资源名称输出是由VISA函数返回的VISA 资源名称的副本。 读取缓冲区:读取缓冲区是指从设备读取的数据。 由于Lab

35、VIEW的串行通讯子VI只允许对字符串的读写, 因此本文中在进行数据处理时,必须要实现字符串与数字之间的正确转换。此外,若要读入当前串口中的所有字符,则要先执行“组串”子VI,用以确定将要读入的确切的字节数,然后将其输出作为VISA读取节点的输入即可。 (3)VISE写入节点,如图4.4所示: 该模块用于将写入缓冲区的数据写入VISA资源名称指定的设备或接口中。 VISA资源名称:VISA资源名称用于指定要打开的资源。该控件也可指定会话句柄和类。 写入缓冲区:写入缓冲区用于设置要写入设备的数据。 返回数:用于输入实际写入的字节数。 (4) VISE串口关闭,该模块用于对串

36、行端口进行关闭任务操作,如图4.5所示: 4.3 系统程序设计 本文设计的系统程序主要包括以下4方面: 1. 串口数据传输,主要使用了NI—VISE模块; 2. 数据处理,主要应用了数值处理函数模块; 3. 结果显示,使用了布尔型LED灯显示及强大的图表显示模块; 4. 数据存储,应用了文件I/O模块的部分控件。 4.3.1 串口数据传输模块 串口数据传输模块包括串口写入和串口读取,串口写入用到了VISE Write函数,用于上位机对下位机酒精浓度阀值的控制,串口读取用到了VISE Read函数,作用是采集下位机通过RS-232-C串口通信传上来的数据。要进行串口操

37、作,首先需要对串口进行初始化配置,配置好之后无需反复更改,因此放在While结构的外面,在VISE Read函数进行串口数据读取之前首先判断是否需要用VISE Write向下位机设置酒精浓度阀值,不需要则直接读取数据,需要则先写入数据,在读取串口数据。串口数据传输模块程序流程图如图4.6所示: 开始 YES 是否设置上限 NO 写入数据 读取数据 串口关闭 结束 具体程序编写如下图4.7所示: 4.3.2 数据处理模块 数据处理

38、模块主要实现声光报警功能和对串口通信中字符串与数值之间的转化。上位机控制下位机阀值的同时将阀值送给上位机,上位机采集到浓度信息后与与阀值作比较,大于等于上限值则蜂鸣器报警且红灯亮,大于等于20mg/mL小于阀值,则黄灯亮。程序编写如下图4.8所示: 4.3.3 数据存储模块 数据存储模块使用了文件I/O中的部分函数,实时存储当前酒精浓度信息,方便调差取用,其程序编写如下图4.9所示: 4.3.4 上位机总程序设计 设计好了系统程序的每一个模块,对其按照一定的逻辑顺序进行连接,就可以得到本次设计的系统程序。系统程序的前面板如下图4.10所示,X-Y用于实时形象的显示酒精浓度随时间的变

39、化曲线,串口程序读取显示当前酒精浓度值,两个布尔型的LED灯用于指示当前是否是酒后驾车行为,布尔型设置按钮用于控制是否需要设置阀值,数值写入控件用于写入要设置的阀值,当需要设置阀值时点击设置按钮即可,有关于配置串口的控件必须与下位机串口通信的设置一致,否则会出现错误,用户一般无需改动,使用默认值即可。前面板相当于人机交互界面,具体如图4.10所示: 与之对应的后面板显示了各函数及控件之间的连接逻辑以及本次系统程序设计的总体结构,如下图4.11所示: 第五章 系统仿真与调试 5.1 下位机硬件调试 利用Keil软件编写本次的下位机程序,编译好之后下载到STC89C52单片机中,

40、用电位器模拟当前的酒精浓度,调试过程中主要出现了以下几个问题: 1、当蜂鸣器响时,数码管和LED灯都不正常显示; 2、调节电位器,数码管上的数值无变化。 问题的解决: 问题一、经过不断的调试发现,当不对蜂鸣器做发声频率控制时,则数码管和LED灯是正常工作的,于是我们改用定时器0做中断控制,控制的发生频率为1S,但结果并不理想,后我们又将发声频率改为5MS,利用人眼的暂留效应及数码管的余辉,使人察觉不到数码管显示的频率,因此看上去数码管和LED灯是稳定显示的。 问题二、经过查看电路图发现,电位器与ADC0804之间并未直接相连,而是以排阵的方式设计的,因此调试时需要将4位排阵的2、3用

41、跳线帽短接,电路才能正常工作。 5.2 上、下位机软硬件调试 在进行上位机编写及调试过程中,出现了以下几个问题: 1、 VISE Read采集不到数据,经过老师指点,我们明白了DAQ助手是LabVIEW中唯一可识别PC串口的模块,因此需要安装DAQ助手NI-VISE才能正常工作。 2、 VISE Write写入错误,这个与单片机程序有关,单片机接收几个字符,VISE Write就必须写入相同数量的字符,多些或少些都会发生错误。 5.3 系统仿真与结果显示 经过不断的调试与改进,最终酒精浓度检测系统运行良好,实现了本次设计所要求的功能且稳定性良好。图5.1为实时采集的酒精浓度显示结果

42、当当前浓度大于阀值时,LED红灯亮。 当当前浓度小于阀值但大于20mg/mL时,LED红灯灭,黄灯亮,如图5.2所示: 表5.1 实时记录的酒精浓度信息表

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服