基于LabVIEW的空气质量无线监测.docx
《基于LabVIEW的空气质量无线监测.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW的空气质量无线监测.docx(10页珍藏版)》请在冰豆网上搜索。
基于LabVIEW的空气质量无线监测
基于LabVIEW的空气质量无线监测
摘要系统以软件LabVIEW可视图形编程开发为平台,使用气体传感器对环境空气中的主要污染成分(SO2,CO,NO2,O3)的实时浓度值进行监测,通过nRF905无线传输模块,设置两个ISM无线传输频段,解决有线传输的地理局限性问题。
由数据采集卡实现数据二次采集,LabVIEW通过数据采集通道完成数据采集、处理和分析。
在软件LabVIEW前面板显示污染气体的浓度曲线,实时浓度,最高浓度,并对超标高浓度进行报警,从而实现科学化,自动化监测和管理。
实验结果表明,系统实现模块化、智能化,实时性优越,无线传输信号干扰和信号传输延迟不明显。
关键词LabVIEW 数据采集卡 nRF905 无线传输
1引言
人们生活水平得到不断提高,科技得到了不断发展,但是环境中的空气质量越来越差,影响到人们日常生活的方方面面,为提倡和谐发展的今天,环境空气质量需实现实时的监控。
目前空气质量污染指数是衡量人们生活水平状况的一项重要指标,越来越受到人们的重视。
全世界各大中小城市都建造了自己的空气质量监测站,空气质量监测技术的发展经历了手工采样实验室分析,电化学自动监测,光电化学自动监测,现在已经发展到差分光谱法(DOAS)自动监测,激光雷达自动检测和遥感遥测,技术与方法已经十分先进。
但得到气体浓度数据的方法仍有待发展,显然原始的手工采样得到的数据缓慢,用有线连接传输数据,布线繁杂,占用空间,浪费资金。
利用nRF905无线传输,很容易的解决以上问题。
通过对环境空气质量数据的采集,建立起为环境空气质量监控系统管理运营与决策提供服务的环境空气质量自动监测平台,全面实现环境空气质量管理业务的信息化和自动化。
作为一种以计算机软件为核心的新型仪器系统,虚拟仪器——LabVIEW具有功能强、测试精度高、测试速度快、自动化程度高、人机界面优异、灵活性强等优点。
2研究的背景目的及其意义
2.1背景
目前中国在有关空气质量在线监测系统的技术体系里还有待完善,大部分省级环境监测中心站未配备有关的空气质量在线监测系统的控制设备,难以对所辖城市空气质量在线监测开展质量控制和质量保证工作。
传统的空气质量监测,多是采用现场手动采样,然后将样品带回实验室进行分析,这种手动采样实验室分析方法的不足主要表现在:
监测效率低、代表性差、人为误差大、不能很好的反应大气环境质量的实时的突出变化。
而大气在线监测技术则是在现代无线通信技术的基础上,利用所构建的在线监测系统,对某一地区的空气质量状况进行气体浓度数据采集,实现对城市空气质量状况科学、客观、公正的评价,从而为管理部门科学准确的分析数据,使管理部门有的放矢,采取相应的治理措施,实现科学管理。
国内大部分生产厂家在引进国外专用分析仪器的基础上,已开发形成各种空气质量在线监测系统。
但国际上的空气质量监测设备的昂贵以及国内空气质量监测设备的欠缺和落后,导致在线监测技术邂逅。
因此,完善城市空气质量在线监测系统项目,是有必要的。
2.2目的及意义
对空气中的主要污染成分(SO2,CO,NO2,O3)进行数据监测,采集上四种气体浓度数据,然后通过对国家坏境空气质量标准进行比较分析,如果超过标准值,系统将报警。
环境空气质量监测是环境监测系统中不可缺少的重要环节之一,有着明确的为国家环境决策和管理服务的目的,是改善人们生活品质,维持生态平衡,达到可持续发展,实现和谐社会的重要且不可忽略的环节,有着重要的战略和指导意义。
3系统结构
整个系统由被测对象、气体传感器、无线传输模块nRF905、数据采集卡、计算机串口连接和LabVIEW软件四个部分组成。
无线传输模块接收的电压信号,从而得到空气气量的浓度值,送回计算机处理。
由于计算机是以二进制存储和处理数据,数据采集卡采集元件上的模拟电压信号,经过A/D转换得到离散时间序列信号,送入计算机以便处理。
计算机是虚拟仪器的载体,对测量数据进行分析,运算,存储和显示。
LabVIEW软件是整个系统的关键和核心,所有的功能是通过G语言编程来实现的,它提供了VI集成开发环境,用户在前面板可以方便得到污染气体浓度值,并对高浓度进行报警等工作。
整个系统的框图结构如图3-1所示:
系统流程:
空气中污染气体,通过气体传感器,传感器把物理信号转化为有效电压信号,再通过nRF905无线传输模块,传输到室内接收模块,连接数据采集卡以及计算机串口连接,通过LabVIEW软件前面板显示实时浓度,最高浓度和波形。
本文主要研究无线传输模块到LabVIEW软件前面板显示这段工作。
4无线传输芯片nRF905
4.1nRF905介绍
nRF905基本属性:
工作频段:
433/868/915MHz
信道数:
170
功能:
发射/接收
稳频方式:
PLL
调制方式:
FSK/GMSK
最大输出功率:
+10dBm
灵敏度:
-100dBm
最大工作速率:
76.8Kbit/s
工作电压:
2.7~3.3V
可选择天线形式:
A水平方向,B垂直方向
nRF905引脚如图4-1。
4.2nRF905程序的开发
学习nRF905程序开发指导,开发发送和接收程序。
程序主要用51单片机开发环境,利用C语言开发程序。
程序开发的难点主要是nRF905的参数设置,及输入端输入数据的设置。
nRF905工作模式由TRX_CE、TX_CE、PWR_UP的设置来定,如表2。
表2 nRF905工作模式参数表
PWR_UP
TRX_CE
TX_CE
工作模式
0
X
X
掉电和SPI编辑
1
0
X
Standby和SPI编辑
1
1
0
ShockBurstRX
1
1
1
ShockBurstTX
由于要用多通道传输数据,nRF905寄存器载波频段和工作频段的参数设置要不同。
本文设置两个不同的频段进行有效传输,一个工作在433MHz频段,一个工作在868.2MHz频段。
nrf905_table[10]={0x4c,0x0c,0x44,0x01,0x01,0xcc,0xcc,0xcc,0xcc,0x58}工作在433MHz频段。
nrf905_table[10]={0xb3,0x0e,0x44,0x01,0x01,0xcc,0xcc,0xcc,0xcc,0x58}工作在868.2MHz频段。
nRF905寄存器参数设置如下图4-3:
开发程序时,有7大模块:
nRF905寄存器参数配置,nRF905端口使能设置,SPI写操作,SPI读操作,SPI接口向nRF905配置寄存器写入信息,nRF905接收数据,设置接收或发送模式。
SPI写操作(图4-4):
首先MOSI线准备好需要发送的数据位,当SCK置高(SCK=1),器件读取MOSI线上的数据,SCK置低(SCK=0),准备发送数据的下一位,循环发送的次数与发送数据的位数有关。
SPI读操作(图4-5):
首先MISO线准备好需要发送的数据位,当SCK置高(SCK=1),主机读取MISO线上的数据,当SCK置低(SCK=0),准备接收数据的下一位循环发送的次数与发送数据的位数有关。
主机通过SPI接口向nRF905配置寄存器写入信息(图4-6):
当CSN置低电平(CSN=0),SPI接口开始等待第一条指令,调用SpiWrite函数,向器件发送WC信号,准备写入配置信息,反复调用SpiWrite函数,向器件配置寄存器写入配置信息。
当CSN置高电平(CSN=1),结束SPI通讯,nRF905配置完成。
使用nRF905发送数据(图4-7):
从P1口输入数据,当CSN为低电平(CSN=0)时,通过SpiWrite函数发送WTP命令,准备写入TX有效数据,循环调用SpiWrite向TX-Payload寄存器写入TX有效数据;当CSN为高电平(CSN=1)时,关闭SPI,直接保存TX写入数据。
延迟,当CSN为低电平(CSN=0)时,通过SpiWrite函数发送WTA命令,准备写入TX地址,循环调用SpiWrite向TX-Address寄存器写入TX地址;当CSN为高电平(CSN=1)时,关闭SPI,直接保存TX写入地址数据。
TRX_CE=1;开始发送数据延时,nRF905数据发送完成。
使用nRF905接收数据(图4-8):
TRX_CE=0,必须将此引脚置低,使905进入standby模式,当CSN为低电平(CSN=0)时,通过SpiWrite函数发送RRP指令,循环调用SpiRead函数,读取接收到的数据,等待DR和AM引脚复位为低电平;当CSN为高电平(CSN=1)时,直接读取接收到的数据,并等待DR和AM引脚复位为低电平。
数据包接收完成。
ShockBurstTX发送流程(图4-9):
当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给nRF905,SPI接口的速率在通信协议和器件配置时确定;微控制器置高TRX_CE和TX_EN,激发nRF905的ShockBurstTM发送模式;nRF905的ShockBurstTM发送,射频寄存器自动开启,数据打包(加字头和CRC校验码),发送数据包,当数据发送完成,数据准备好引脚被置高;AUTO_RETRAN被置高,nRF905不断重发,直到TRX_CE被置低;当TRX_CE被置低,nRF905发送过程完成,自动进入空闲模式。
ShockBurstRX接收流程(图4-10):
当TRX_CE为高、TX_EN为低时,nRF905进入ShockBurstTM接收模式,650us后,nRF905不断监测,等待接收数据。
当nRF905检测到同一频段的载波时,载波检测引脚被置高,当接收到一个相匹配的地址,AM引脚被置高。
当一个正确的数据包接收完毕,nRF905自动移去字头、地址和CRC校验位,然后把DR引脚置高,微控制器把TRX_CE置低,nRF905进入空闲模式,微控制器通过SPI口,以一定的速率把数据移到微控制器内,当所有的数据接收完毕,数据从P0端口输出。
nRF905把DR引脚和AM引脚置低,nRF905此时可以进入ShockBurstTM接收模式、ShockBurstTM发送模式或关机模式。
继续阅读