基于USB总线的嵌入式甲烷气体检测系统设计
作者:佚名; 更新时间:2013-10-15

  [摘要]文章应用红外吸收原理,设计了基于C8051F340单片机的嵌入式甲烷气体检测系统。该系统应用新一代、高性能的CIP-51单片机,实现了气体浓度的测量。通过USB接口实现与PC机的数据通信,完成了实验数据存储。该检测系统根据温度的实时测量值,并应用最小二乘法对甲烷气体浓度测量值进行温度校正。
  [关键词]甲烷;嵌入式系统;最小二乘法;USB接口;C8051F

  一、引言
  
  甲烷是一种无色、无味的易燃、易爆气体,其浓度检测,在煤炭、石化、农业、环保和城市生活燃气等诸多领域有着广泛应用。近年来,红外吸收式气体检测技术有了长足发展,正成为迅速发展起来的有效技术手段。它具有精度和灵敏度高,响应速度快,测量范围大,寿命长、可靠性好等一系列优点[1],受到国内外的广泛重视。
  本文应用甲烷气体红外吸收原理,以高性能的C8051F340单片机[2]为核心,设计了基于单片机的数据采集系统,实现了甲烷气体浓度的测量。该系统同时实现了对环境温度的实时测量,并采用最小二乘法对气体浓度测量值进行了温度校正,以消除温度对气体浓度检测的影响。该系统所采用的C8051F340单片机内部集成了USB控制器和10位的AD转换器,有效减小了测量系统的体积,提高了测量的准确性和可靠性。
  
  二、工作原理与硬件系统组成
  
  甲烷气体浓度的检测基于气体对红外辐射的吸收原理。当红外光通过一定浓度的被测甲烷气体时,气体分子吸收了某些特定频率的红外辐射,透射光的强度随之变小。其吸收关系遵循Lambert-Beer定律[3]: 可见,透射光与入射光强度之比是气室长度L,吸收截面 和被测气体浓度C的函数。通过测量入射光和透射光的强度就能测出气体的浓度。
  测量系统由红外甲烷气体测量系统和温度测量系统组成,如图1所示。甲烷气体浓度测量系统由红外甲烷传感器、信号调理电路、AD转换电路构成,单片机控制AD转换,完成甲烷浓度电压信号的采集。温度测量系统以温敏电阻为敏感元件,通过放大、滤波,AD转换,由单片机完成温度电压信号的采集。单片机根据实时测得的温度值,应用最小二乘法对气体浓度测量值进行温度校正。该系统具有LCD显示和报警功能,实验数据可通过USB接口传送给上位PC机。上位机将获得的实验数据以Matlab数组的格式存储。
  
  三、测量系统单片机程序与温度校正模型
  
  测量系统单片机程序主要完成甲烷气体浓度电压信号和温度电压信号的实时采集,温度校正、浓度和温度数值LCD显示,USB数据通信等测控任务,程序流程如图2所示。其中,USB数据通信采用USBXPRESS开发套件提供的基于Keil C51的API函数[4],利用这些函数可以快速高效地开发USB数据通信程序,实现USB 时钟初始化、USB初始化、USB使能,并通过USB中断方式实现数据通讯。
  温度校正模型采用最小二乘数学模型[5]。在温度为时,甲烷气体浓度值C表示为传感器输出浓度电压的多项式函数。
  多项式f、g分别为2次和3次多项式,多项式系数以数组的形式存储。多项式函数求值程序用循环实现,如图3所示,其中p为存储多项式系数的数组,n为多项式次数,x存储自变量,y存储多项式函数求值结果。
  
  四、测量系统PC机程序结构
  
  测量系统上位PC机程序主要实现USB数据通讯功能,并将数据以Matlab数组的格式存储为MAT数据文件。PC机程序与单片机程序配合,实现数据采集与存储功能。程序采用主从控制方式,以PC机为主机,单片机系统为从机。当两者通过USB接口连接时,PC机程序完成一系列动作,实现USB设备的识别及相关数据通信操作,并完成数据存储,程序流程如图4所示。其中初始化部分主要包括注册设备通知,更新USB设备列表,注册设备通知使得程序可以响应USB设备的热插拔动作。当有USB设备插入或弹出时,信捷职称论文写作发表网,会引发设备改变事件。通过读取USB芯片的产品描述信息,识别USB设备。当有USB设备改变时,更新USB设备列表。完成一次USB数据读写任务,需要选择USB设备,打开USB设备、发送读写命令、读写数据、关闭USB设备等步骤。获得实验数据后,应用Matlab下的外部API函数[6]实现数据存储。

核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com