范文良,李兵尚
(1.北京国家检察官学院,北京102206;2.海军潜艇学院三系,山东 青岛266071)
在工业和农业领域,温湿度作为生产环境的重要因素需要对其进行监测和控制。如农业领域,温度和湿度作为重要的土壤信息,是农作物和树木生长的重要生态因素之一,利用土壤温湿度数据可以预报洪水和干旱灾害,对土壤温湿度进行测定是实施生态环境保护和建设的重要步骤。工业生产领域中,生产现场温湿度的有效监测和控制是很多产品质量的重要保证[1-3]。
基于ARM的温湿度远程监测系统是能够运行嵌入式操作系统的软硬件综合体,其体积较小,智能程度高,利用通用分组无线业务GPRS(General Packet Radio Service)网络无线数据传输技术实现温湿度的远程实时监测。
整个监测系统由ARM控制模块、UART串口传输模块和GPRS无线传输模块、温湿度测量模块和电源模块等组成,如图1所示。
图1 基于ARM的温湿度远程监测系统组成框图
温湿度测量模块对环境的温湿度进行采集,S3C2440A作为ARM控制模块的核心芯片定时对采集信号进行读取分析,处理好的数据通过UART串口传输模块和GPRS无线传输模块传输给连接在Internet上的GPRS网络,最终发送至远程监测中心,中心对数据进行接收、监测和判断。
S3C2440A通过UART串口模块与GPRS无线传输模块构成串口通信,将温湿度测量数据实时无线传输,UART串口模块基于MAX3232EEAE芯片开发。通过串口登录utu Linux以后,在命令行下可以使用rz、sz命令和上位机通信。S3C2440A给GPRS无线传输模块发送文件数据的命令格式为:[root@utu-Linux]$ sz/*/*.*/**。
GPRS无线传输模块采用现成技术,经UART串口模块与ARM相连,通过串口通信协议来读取信息。系统利用GPRS网络进行无线通信,GPRS在分组交换模式下发送和接收数据,特别适用于间断的、突发的和频繁的少量数据传输,也适用于偶尔的大数据量传输。GPRS模块采用GM862,该模块已嵌入TCP/IP协议栈,通过串行口完成对模块的操作,IP数据包的传输对用户是透明的,从而使接口设计简化,实现了数据在用户终端和服务器之间的透明传输。将GPRS用于温湿度远程监测系统中,具有接入范围广、传输速率高、实时性好和维护容易等优点[4-5]。下面对监测系统的ARM控制模块和温湿度测量模块进行详细介绍。
ARM控制模块基于utu linux嵌入式操作系统开发,以32 bit ARM920为内核,工作频率400 MHz,JTAG调试模块为用户对主控模块进行调试和二次开发提供端口。为了提高嵌入式操作系统运行的速度和效率,ARM920核心控制芯片扩展了32 MB SDRAM静态内存作为程序数据运算的暂存空间,硬件基于HY57V561620RT-H芯片开发。外扩的64 MB Flash可擦写存储器用来存储系统掉电后仍需要保存的代码和数据,也是嵌入式操作系统固化程序的存储空间,硬件基于K9F1208UOM芯片开发,硬件电路原理图如图2所示。
图2 外扩Flash硬件电路简图
温湿度测量模块选用SHT10传感器芯片,每秒钟可以进行3次测量和数据记录,数据精度选择12 bit并且系统工作稳定。SHT10传感器芯片是一款高度集成的温湿度传感器芯片,提供全量程标定数字输出。芯片内部集成一个用能隙材料制成的温度敏感元件和一个电容性聚合体湿度敏感元件,通过12 bit A/D转换器和串行接口传送测量数据。根据温湿度测量区的范围和分布区域不同,可选择多个SHT10传感器芯片共同完成测量工作,单个SHT10传感器芯片硬件接口关系如图3所示。
图3 SHT10传感器芯片硬件电路接口原理图
温湿度测量模块初始化时,使用Linux 2.6内核函数将设备注册到ARM内核,相关函数定义如下:
ARM温湿度远程监测系统程序基于Linux 2.6开发平台开发,该软件具有良好的图形界面、丰富的网络资源、内核可定制性等优点。Linux 2.6编制的程序具有实时性强、方便移植、内存共享和I/O系统优化等特点[6]。嵌入式程序设计采用模块化结构,主要包括主程序模块、数据采集模块、温湿度误差补偿模块和上位机响应模块等。对传感器的温湿度误差补偿采用软件实现比硬件方案方法更简单、更灵活而且更稳定。系统软件程序主要包括两部分:一是传感器数据采集和处理部分;二是GPRS网络数据通信和监测中心软件。
温湿度监测时,如图4所示,首先系统进行设备模块端口初始化和系统自检,自检通过后进行通道选择,相应传感器对监测点进行环境温湿度信号采集,S3C2440A核心芯片对采集数据进行寄存器存储并进行算法分析,包括温湿度的算法换算和误差补偿等,处理好的数据存入Flash可擦写存储器,同时通过GPRS无线传输网络传至监测中心。
图4 ARM温湿度远程检测系统程序框图
系统对温湿度的测量由于采用SHT10传感器芯片,SHT10可通过DATA数据总线直接输出数字量湿度值。所测温度值计算公式如下:
式中SOT为传感器返回的温度值,d1,d2,SOT取值如表1所示。
表1 温度计算各相关系数的取值
所测湿度值为相对湿度,需要进行线性补偿和温度补偿后才能得到较为准确的湿度值,计算公式如下:
式中:RHtrue为经过线性补偿和温度补偿后的湿度值;T为测试湿度值时的温度;RHlinear为经过线性补偿后的湿度值;SORH为相对湿度测量值;C1,C2,C3为线性补偿系数,t1和t2为温度补偿系数,取值如表2所示。
表2 湿度线性补偿系数和湿度值温度补偿系数
本文研究建立生产环境的温湿度参数远程实时监测系统,主要由现场数据采集子系统和远程监测系统构成,数据采集子系统以32 bit嵌入式处理器ARM920为核心,以Linux 2.6为平台开发采集器的控制程序,并以GPRS网络和Internet为信息载体将测量数据发送至远程监测中心进行判断、处理、储存和监控。系统选用SHT10传感器芯片进行温湿度测量,测量数据精度高、反应灵敏且工作稳定,所开发的嵌入式系统程序具有实时性强、方便移植、内存共享和I/O系统优化等特点。因此基于ARM的温湿度远程监测系统体积较小,智能程度高,可以很好地满足工业和农业不同生产领域环境温湿度因素远程实时监测的需要。
[1]史国滨,王熙.农作物图像及温湿度无线远程监测系统设计[J].农机化研究,2011(4):167-170.
[2]付华圆,邹洪波,鲁仁全.基于MSP430F149的温湿度测控仪设计[J].机电工程,2011(4):493-499.
[3]张晓东,李秀娟,张杰.基于ARM的粮食仓储环境监测系统[J].微计算机信息,2010(8):124-125.
[4]吴叶兰,廉小亲,张晓力,等.一种基于GPRS的无线数据采集终端设计[J].微计算机信息,2010(20):55-57.
[5]虞明雷,姜媛媛.基于GPRS的无线数据传输系统[J].机电工程,2007(5):34-36.
[6]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2008.