论文部分内容阅读
本论文以MJC4型催化元件和单片机技术为核心并与其他电子技术相结合,设计出一种技术水平较好的瓦斯传感器。其中选用的MJC4型催化元件传感器实现瓦斯浓度的检测,其具有灵敏度高、响应快、抗干扰能力强等优点,而且价格低廉,使用寿命长。选用的AT89C55WD单片机,其整合了A/D转换、RS485通讯、频率信号输出、触点信号输出、红外遥控设置等资源,本传感器还具有就地显示瓦斯浓度值,超限声光报警等功能。除能连续监测外,还能自动地将检测到的瓦斯浓度转换成标准的电信号输送给上位机。可以通过上位机软件对监测点实时远程监控,具有高速、低功耗、超强抗干扰等优点。
[关键词]催化元件单片机VB
中图分类号:TQ173.6+51.1 文献标识码:TQ 文章编号:1009―914X(2013)31―0520―01
0 引言
随着我国经济的快速发展,煤矿的开采及液化气、天然气、煤制气等城市燃气作为清洁能源在工商业和城镇居民用户中已得到广泛应用。但是随着煤矿的开采和燃气的广泛应用,由于各种因素引发的爆炸、中毒和火灾事故也时有发生,因此针对瓦斯的特点,设计出同时监测瓦斯浓度的传感器,可以全天候不间断的对瓦斯浓度进行监测。同时采用声光报警系统,一旦瓦斯超标,传感器可以发出报警立即提醒正在作业的工人紧急撤离,避免人员伤亡。该传感器以AT89C55WD单片机为核心,实现对瓦斯的检测、报警和控制,安全可靠,经久耐用。
1 传感器总体结构设计
瓦斯传感器采用载体催化原理测量甲烷浓度。载体催化元件与金属膜电阻、调节电位器组成传感探头。工作时,被测环境中的甲烷以扩散方式进入传感器探头气室与敏感元件发生反应并产生与甲烷浓度相应的电信号。该信号经放大后进入A/D转换器进行模数转换,然后送往中央处理单元89C55WD单片机进行数据处理后发往与之相连的监控系统,实现联网监测、监控及就地数字显示和声光报警。瓦斯传感器电路原理框图如图1所示。
图1瓦斯传感器电路原理框图
2 传感器的硬件电路设计
2.1 主控芯片的选择
传感器的的中央处理器采用AT89C55WD单片机,该单片机采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,将多功能8位CPU和闪烁存储器组合在单个芯片中。单片机的外围电路采用MAX813L作为复位芯片,该芯片集监控、掉电保护、“看门狗”为一体,与AT89C55WD配合构成一个最小应用系统。单片机通过外接二线制串行数据存储器AT24C02,对重要的参数进行保存,即使在掉电的情况下,也可以保存相关数据。瓦斯传感器的单片机控制电路如图2所示。
图2单片机控制电路
2.2热催化元件电路
MJC4型催化元件根据催化燃烧效应的原理工作,由于检测元件和补偿元件配对组成电桥的两个臂,当遇到瓦斯气体时元件的电阻升高,桥路的输出电压变化,该电压的变化量随气体的浓度值增大而成正比增大,补偿元件起参比及温度补偿作用。该元件的抗气体干扰性能强,灵敏度高,线性和稳定性很好。元件在空气中稳定后,通入2.0%CH4瓦斯气体,元件输出值可在10S内达到稳定值的90%。元件的输出电压变化与对应的浓度值关系见图3
图3催化元件输出电压对应浓度值关系图
2.3信号处理电路
前端信号处理电路的采集芯片选用ICL7109,该芯片为12位带符号型模/数转换器,只需要几个无源器件和一个晶振既可以实现完整的双积分模/数转换。该芯片具有噪声低的特点其典型值只有15uVp-p,具有过量程指示、真差分信号输入和差分参考输入等功能。信号处理电路如图4所示。
图4 信号处理电路
2.4信号输出电路
该传感器可以根据需要输出200Hz~1000Hz的频率信号或是波特率为2400bps的RS485通讯模式,其中频率通讯模式最大传输距离不小于2km,RS485通讯模式最大传输距离不小于10km。控制RS485通讯的主芯片为SN65HVD,该芯片是德州仪器公司生产的CAN收发器,该器件适用于较高通讯速率、良好抗干扰能力和高可靠性CAN总线的串行通信能力。RS485通讯电路如图4所示。
图5 RS485通讯电路
3传感器软件设计
3.1单片机控制程序设计
传感器上电后,首先对定时器、采样芯片、串行存储器等器件进行初始化,仪器初始化后,即开始采集环境周围的瓦斯浓度,并进行滑动滤波,然后传感器将采集到的瓦斯浓度值每秒更新一次用数码管显示,并将采集到的瓦斯浓度值转换成相应的频率信号输出。当通讯方式为RS485通讯时,仪器根据协议将对应的瓦斯浓度值上传至上位机实施显示。
3.2上位机程序设计
3.2.1上位机软件功能概述
上位机软件用VB编写。VB采用的是可视化的、面向对象的高级程序设计语言,一般不需要用大量代码去编写界面元素的外观和位置,而只需把控件拖放到界面上的相应位置即可。利用VB中的MSCOMM通讯控件实现单片机与计算机的实时通讯;利用VB与对EXCEL宏的控制实现VB与EXCELL无缝连接,将从单片机采集到的数据通过软件上传到指定的EXCEL位置。
3.2.2上位机与单片机通讯程序设计
若要实现单片机与上位机的通讯,必须约定双方的通讯协议。通讯协议可以通过MSCOMM控制来设置,也可以用程序定义,用程序定义代码如下:
MSComm1.CommPort = 1'定义使用COM1端口通讯
MSComm1.Settings = "2400,n,8,1"'设置通讯协议
MSComm1.InputMode = comInputModeBinary'采用二进制传输
MSComm1.RThreshold = 401 '产生MSComm事件
MSComm1.InputLen = 0
MSComm1.PortOpen = True'打开串口
传感器可以通过RS485通讯的方式实现和上位机的通讯。并将采集到的数据写到到EXCEL中。如果要将数据写到EXCEL中就要将VB与EXCEL实现无缝连接,首先需要先从“工程”菜单中选择“引用”栏;选择Microsoft Excel 9.0 Object Library,然后选择“确定”。表示在工程中要引用EXCEL类型库,然后在VB程序中在通用对象的声明中定义EXCEL使用的对象,声明方式如下:
Dim xlApp As Excel.Application;
Dim xlBook As Excel.WorkBook;
Dim xlSheet As Excel.Worksheet;
声明完毕后,在程序中加入对EXCEL的操作命令,部分代码如下:
If Dir("path:\文件名\excel.bz")= "" Then'判断EXCEL是否打开
Set xlapp = CreateObject("Excel.Application") '创建EXCEL应用类
xlapp.Visible = True '设置EXCEL可见
Set xlbook = xlapp.Workbooks.Open("path:\文件名\EXCEL名称.xls") '打开EXCEL工作簿
Set xlsheet = xlbook.Worksheets(1) '从第一页打开EXCEL工作表
xlsheet.Activate '激活工作表
xlsheet.Cells(X,Y)= Combo2.Text'给单元格赋值
………………………………
xlbook.RunAutoMacros(xlAutoOpen)
Else
MsgBox("EXCEL已打开")
App.Title = "提示框"
End If
4结束语
传感器以单片机AT89C55WD为控制核心,通过瓦斯传感器将采集到的瓦斯浓度传给单片机,单片机通过逻辑运算判断瓦斯浓度是否超过设定植,如果超过则发出声光报警,传感器实时输出相应的断电信号和频率信号,起到提前预警和断电的功能,保证作业人员的安全,该仪器可以单独使用也可以其他监控产品配合使用。
参考文献
[1]张毅刚.单片机原理及应用.北京:高等教育出版社,2004.
[2]杨振江.智能仪器与数据采集系统中的新器件及应用.西安:西安电子科技大学出版社,2001.
[3]杨晶 VB6.0程序设计教程与实训 科学出版社,2006/9/1.
[关键词]催化元件单片机VB
中图分类号:TQ173.6+51.1 文献标识码:TQ 文章编号:1009―914X(2013)31―0520―01
0 引言
随着我国经济的快速发展,煤矿的开采及液化气、天然气、煤制气等城市燃气作为清洁能源在工商业和城镇居民用户中已得到广泛应用。但是随着煤矿的开采和燃气的广泛应用,由于各种因素引发的爆炸、中毒和火灾事故也时有发生,因此针对瓦斯的特点,设计出同时监测瓦斯浓度的传感器,可以全天候不间断的对瓦斯浓度进行监测。同时采用声光报警系统,一旦瓦斯超标,传感器可以发出报警立即提醒正在作业的工人紧急撤离,避免人员伤亡。该传感器以AT89C55WD单片机为核心,实现对瓦斯的检测、报警和控制,安全可靠,经久耐用。
1 传感器总体结构设计
瓦斯传感器采用载体催化原理测量甲烷浓度。载体催化元件与金属膜电阻、调节电位器组成传感探头。工作时,被测环境中的甲烷以扩散方式进入传感器探头气室与敏感元件发生反应并产生与甲烷浓度相应的电信号。该信号经放大后进入A/D转换器进行模数转换,然后送往中央处理单元89C55WD单片机进行数据处理后发往与之相连的监控系统,实现联网监测、监控及就地数字显示和声光报警。瓦斯传感器电路原理框图如图1所示。
图1瓦斯传感器电路原理框图
2 传感器的硬件电路设计
2.1 主控芯片的选择
传感器的的中央处理器采用AT89C55WD单片机,该单片机采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,将多功能8位CPU和闪烁存储器组合在单个芯片中。单片机的外围电路采用MAX813L作为复位芯片,该芯片集监控、掉电保护、“看门狗”为一体,与AT89C55WD配合构成一个最小应用系统。单片机通过外接二线制串行数据存储器AT24C02,对重要的参数进行保存,即使在掉电的情况下,也可以保存相关数据。瓦斯传感器的单片机控制电路如图2所示。
图2单片机控制电路
2.2热催化元件电路
MJC4型催化元件根据催化燃烧效应的原理工作,由于检测元件和补偿元件配对组成电桥的两个臂,当遇到瓦斯气体时元件的电阻升高,桥路的输出电压变化,该电压的变化量随气体的浓度值增大而成正比增大,补偿元件起参比及温度补偿作用。该元件的抗气体干扰性能强,灵敏度高,线性和稳定性很好。元件在空气中稳定后,通入2.0%CH4瓦斯气体,元件输出值可在10S内达到稳定值的90%。元件的输出电压变化与对应的浓度值关系见图3
图3催化元件输出电压对应浓度值关系图
2.3信号处理电路
前端信号处理电路的采集芯片选用ICL7109,该芯片为12位带符号型模/数转换器,只需要几个无源器件和一个晶振既可以实现完整的双积分模/数转换。该芯片具有噪声低的特点其典型值只有15uVp-p,具有过量程指示、真差分信号输入和差分参考输入等功能。信号处理电路如图4所示。
图4 信号处理电路
2.4信号输出电路
该传感器可以根据需要输出200Hz~1000Hz的频率信号或是波特率为2400bps的RS485通讯模式,其中频率通讯模式最大传输距离不小于2km,RS485通讯模式最大传输距离不小于10km。控制RS485通讯的主芯片为SN65HVD,该芯片是德州仪器公司生产的CAN收发器,该器件适用于较高通讯速率、良好抗干扰能力和高可靠性CAN总线的串行通信能力。RS485通讯电路如图4所示。
图5 RS485通讯电路
3传感器软件设计
3.1单片机控制程序设计
传感器上电后,首先对定时器、采样芯片、串行存储器等器件进行初始化,仪器初始化后,即开始采集环境周围的瓦斯浓度,并进行滑动滤波,然后传感器将采集到的瓦斯浓度值每秒更新一次用数码管显示,并将采集到的瓦斯浓度值转换成相应的频率信号输出。当通讯方式为RS485通讯时,仪器根据协议将对应的瓦斯浓度值上传至上位机实施显示。
3.2上位机程序设计
3.2.1上位机软件功能概述
上位机软件用VB编写。VB采用的是可视化的、面向对象的高级程序设计语言,一般不需要用大量代码去编写界面元素的外观和位置,而只需把控件拖放到界面上的相应位置即可。利用VB中的MSCOMM通讯控件实现单片机与计算机的实时通讯;利用VB与对EXCEL宏的控制实现VB与EXCELL无缝连接,将从单片机采集到的数据通过软件上传到指定的EXCEL位置。
3.2.2上位机与单片机通讯程序设计
若要实现单片机与上位机的通讯,必须约定双方的通讯协议。通讯协议可以通过MSCOMM控制来设置,也可以用程序定义,用程序定义代码如下:
MSComm1.CommPort = 1'定义使用COM1端口通讯
MSComm1.Settings = "2400,n,8,1"'设置通讯协议
MSComm1.InputMode = comInputModeBinary'采用二进制传输
MSComm1.RThreshold = 401 '产生MSComm事件
MSComm1.InputLen = 0
MSComm1.PortOpen = True'打开串口
传感器可以通过RS485通讯的方式实现和上位机的通讯。并将采集到的数据写到到EXCEL中。如果要将数据写到EXCEL中就要将VB与EXCEL实现无缝连接,首先需要先从“工程”菜单中选择“引用”栏;选择Microsoft Excel 9.0 Object Library,然后选择“确定”。表示在工程中要引用EXCEL类型库,然后在VB程序中在通用对象的声明中定义EXCEL使用的对象,声明方式如下:
Dim xlApp As Excel.Application;
Dim xlBook As Excel.WorkBook;
Dim xlSheet As Excel.Worksheet;
声明完毕后,在程序中加入对EXCEL的操作命令,部分代码如下:
If Dir("path:\文件名\excel.bz")= "" Then'判断EXCEL是否打开
Set xlapp = CreateObject("Excel.Application") '创建EXCEL应用类
xlapp.Visible = True '设置EXCEL可见
Set xlbook = xlapp.Workbooks.Open("path:\文件名\EXCEL名称.xls") '打开EXCEL工作簿
Set xlsheet = xlbook.Worksheets(1) '从第一页打开EXCEL工作表
xlsheet.Activate '激活工作表
xlsheet.Cells(X,Y)= Combo2.Text'给单元格赋值
………………………………
xlbook.RunAutoMacros(xlAutoOpen)
Else
MsgBox("EXCEL已打开")
App.Title = "提示框"
End If
4结束语
传感器以单片机AT89C55WD为控制核心,通过瓦斯传感器将采集到的瓦斯浓度传给单片机,单片机通过逻辑运算判断瓦斯浓度是否超过设定植,如果超过则发出声光报警,传感器实时输出相应的断电信号和频率信号,起到提前预警和断电的功能,保证作业人员的安全,该仪器可以单独使用也可以其他监控产品配合使用。
参考文献
[1]张毅刚.单片机原理及应用.北京:高等教育出版社,2004.
[2]杨振江.智能仪器与数据采集系统中的新器件及应用.西安:西安电子科技大学出版社,2001.
[3]杨晶 VB6.0程序设计教程与实训 科学出版社,2006/9/1.