基于北斗定位的多参数城市环境监测仪
2016-05-30崔群梁鉴如光金正高文建
崔群 梁鉴如 光金正 高文建
摘 要 文章介绍了一种基于单片机且有定位功能的环境监测仪。该监测仪以stm32f103单片机为核心,采用低功耗设计,利用北斗导航芯片定位授时,通过温度传感器,湿度传感器,噪声传感器,PM2.5传感器实现多功能环境参数的采集整理,同时具有LED屏显示和人机交互功能。
关键词 环境监测仪 定位 单片机 信息采集
0 引言
目前市场上有很多流通的环境监测仪,但是很多的仪器不具备定位功能,不能更仔细地检测一个区域的环境信息。还有现在很多监测仪精度不高。本文设计了一个可以定位的测量温度,湿度,噪声和PM2.5的低功耗的环境监测。
1 基于环境监测的环境检测仪模块设计
1.1 系统总体结构
检测仪的主控芯片采用ST半导体公司的Cortex-M3系列的单片机,采用北斗导航模块接收卫星定位数据和授时数据。该系统包括北斗导航模块,显示模块,传感器模块(噪声传感器,温度传感器,湿度传感器,PM2.5传感器),电源模块组成。①主要完成对定位到局部区域的空气质量,温湿度以及噪音情况进行监测。总体结构框图如图1所示。一台仪器可以同时监测四种参数,该仪器工作方式为自动采样自动分析,测量浓度直接在显示屏上显示。STM32F103是增强系列的MCU,拥有72MHZ的运行频率,能够完成北斗导航芯片的数据解析,显示屏的扫描更新,同时能够满足用户交互任务的需求。MCU自带的异步串口USART可以对接导航芯片,同步串口SPI外设可用于控制显示模块的刷屏,TIM的输入捕获功能可以实现对PM2.5检测模块的数据捕获。采用质量轻储能高的锂电池为系统的供电电源,采用可视角度大、功耗低的彩色液晶屏作为显示模块。②同时系统还设置了红色预警系统,当检测的值超过了规定的值,显示会出现颜色变化进行预警。
1.2 温度传感器电路
温度测量电路采用数字式温度传感器DS18B20。③DS18B20只有一个串行通信接口,即单线制传感器,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯,大大提高了系统的抗干扰性。这样的系统允许每一个挂在总线上的区间都能在适当的时间驱动它。由于DS18B20的单线制特性,其发送和接收必须为三态特性,其出具口为漏极开路输出,而且我们采用的是外加电源供电,因此外接上拉电阻,在常态下呈现高电平状态。
DS18B20测温范围在55℃~+125℃,精度为?.1℃。工作电源:3.0~5.5V/DC。
DS18B20的温度读取过程为:复位→发SKIP ROM命令(0XCC)→发开始转换命令(0X44)→延时→复位→发送SKIP ROM命令(0XCC)→发读存储器命令(0XBE)→连续读出两个字节数据(即温度)→结束。
1.3 湿度传感器电路
我们采用DHT11湿度传感器作为湿度传感器。DHT11技术性能特征:工作电压范围:3.3V-5.5V。工作电流 :平均0.5mA。输出:单总线数字信号。测量范围:湿度20~90%RH。精度:湿度?%。分辨率:湿度1%。
DHT11数字湿温度传感器采用单总线数据格式。单个数据引脚端口完成输入输出双向传输。其数据包由5Byte(40Bit)组成。数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出。
DHT11的数据格式为:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和。
其中校验和数据为前四个字节相加。
传感器数据输出的是未编码的二进制数据。数据(湿度、温度、整数、小数)之间应该分开处理。
我们这里选择的DHT11也可以测量温度,但由于它的精度不高,测量范围较DS18B20小,所以我们只采用湿度测量。
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据。从模式下,DHT11接收到开始信号触发一次湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行湿度采集。采集数据后转换到低速模式。
1.4 PM2.5传感器电路
我们选择GP2Y1051AU0F作为传感器,GP2Y1051AU0F是灰尘(粉尘)传感器由光学传感系统一个红外发光二极管(IRED)和光电子晶体管是对角布置在该装置中组成的。它是通过检测空气中尘埃的反射光计算粉尘的浓度。尤其是它可以有效地检测到非常细的颗粒像香烟烟雾。
工作温度:-10-+65℃;工作电压:4.8-5.2V;灵敏度:0.5V/(0.1mg/m3)
最小粒子检知能力:0.03%em 。
我们通过灰尘传感器测出的数据发送给单片机,通过接收到的数据长度转化为输出电压,再通过粉尘浓度计算公式:Ud=A*Vout(其中Ud为粉尘浓度,位为ug/m3;Vout为传感器输出信号,单位为V;A为比例系数)最后得出PM 值。
1.5 噪声传感器电路
通过外界噪声的大小,噪声模块捕获信号,通过AD采集,利用 AD采集分贝公式:150*AD1/AD =分贝,得到分贝参数。AD1为当前采集到的AD值,AD为AD精度。
1.6 北斗导航模块
我们采用UM220-3-N模块作为我们的导航模块。工作电压为2.7~3.3V。是目前市场上尺寸最小的完全国产化的北斗/GPS模块,集成度高、功耗低,非常适合对尺寸、功耗要求高的北斗规模应用。UM220-III 模块采用和芯星通Ultra-Sense 高灵敏度设计,能够在弱信号条件下提供优异的捕获、跟踪灵敏度,保持接收机定位的连续性和可靠性。定位精度:2.0m CEP。
1.7 电源方案
系统采用7.2V(2S)放电能力大的锂电池供电,锂电池质量轻、储能密度高,能够满足系统的要求。传感器使用5V供电,控制器、显示器、北斗芯片采用3.3V供电。北斗芯片另外使用线性稳压器AMS-1117 3.3V供电;考虑到控制器对电源性能要求较高,通过低压差线性稳压器LD29150可获得最大1.5A的3.3V电源,用于控制器和显示器供电;传感器模块使用AMS-1117 另外产生的一路5V供电。
2 软件设计
基于STM32F103的环境监测仪的设计采用C语言编写程序。其主要完成对温度传感器,湿度传感器,噪声传感器,PM2.5传感器的测量值进行计算以及相应的显示和预警功能。还有对测量目的地的定位和精确授时的显示。程序设计包括系统初始化,复位程序,温度,湿度,PM2.5,噪声采集转化显示程序,定位授时显示程序,预定值预警程序,其总体流程图如图2显示。
5 结语
采用stm32单片机作为核心控制器,采用北斗定位模块、温度、湿度、噪声和PM2.5模块作为外围电路设计了一种低功耗的多参数环境监测仪。测试结果表明,该仪器测量结果较精确,基本满足环境参数监测的要求。