基于Android系统的无线多点测温系统设计

2016-06-13 08:43张岱峰
传感器与微系统 2016年3期
关键词:Android系统

罗 彪, 李 彬, 张岱峰, 梅 亮

(1.北京航空航天大学 自动化科学与电气工程学院,北京 100192;2.航天科工防御技术研究试验中心,北京 100854)



设计与制造

基于Android系统的无线多点测温系统设计

罗彪1, 李彬1, 张岱峰1, 梅亮2

(1.北京航空航天大学 自动化科学与电气工程学院,北京 100192;2.航天科工防御技术研究试验中心,北京 100854)

摘要:多点式测温系统由上位机和下位机两大部分组成。下位机以ATmega16单片机为核心,Pt100为模拟温度传感器进行温度的采样测量,通过WiFi模块的AP模式跟上位机进行数据的接收与发送,可实现多点温度实时采集。上位机以Android系统为平台,建立Socket实现安卓客户端对温度数据进行实时监控、显示以及报警功能。该系统可应用于在工业与民用的不同温度要求下的多点检测场合。

关键词:ATmega16单片机; Pt100; WiFi模块; Android系统

0引言

温度不仅仅是人们日常生活中必须了解的检测参数之一,在各种工业生产、货物存储以及交通运输过程中,它也是一个重要的检测量。随着现代化技术快速发展和生产车间条件的特殊要求,所需要监测的温度往往是在一个较大的范围内进行变化,而普通的数字式温度传感器只能测量小范围变动的温度数据,温度的测量范围为-40~+85 ℃[1]。同时,由于温度监测点条件比较恶劣,给查看数据的工作人员造成很大的不便。

为了能够对较大范围内变化的温度进行检测,同时能够给工作人员提供一个安全、舒适、方便并且实时查看温度数据的平台,需要一个便携式的且支持无线通信功能的设备[2]。因此,本文提出了一个基于Android平台的无线模拟式温度检测方案。

1系统设计方案

在多点测温系统中,考虑在温度量程较大的情况下,也能保证数据的准确精度,采用三线制Pt100热敏电阻器测量温度信号。同时,由XTR105与之组合设计一个变送器电路,将监测的温度信号转换成4~20 mA的电流信号。用RCV420设计一个电流接收电路,将4~20 mA电流信号转换成标准的0~5 V的电压信号输入单片机中进行A/D转换[3]。由于ATmega16单片机有10位A/D,最后精度可以达到0.1 %,在0~500 ℃时,最大线性偏差小于0.5 ℃,达到精度要求。温度的监控选用Android移动平台,ATmega16处理好的数据通过串口转WiFi模块进行发送,用户直接在Android移动设备上进行查看。系统设计方案框图如图1所示。

图1 系统设计方案框图Fig 1 Block diagram of system design scheme

2Pt100热敏电阻器测温原理

热敏电阻器是根据电阻的热效应阻值随温度的变化而变化,因此,可以根据其阻值测量温度。由于Pt100测温范围在-200~850 ℃之间,并且具有较好线性度,测量精确,Pt100应用较为广泛,其热电阻公式为RT=R0(1+αT)。其中,α=0.003 92,R0为Pt100在0 ℃的电阻值,T为摄氏温度[3]。

在实际中,Pt100热敏电阻器和现场仪表之间连线会较长,接线的导线电阻将引入测量误差,因此,在工业中常采用三线制消除导线引入的误差。三线制测量原理图如图2所示。

图2 三线制测量原理图Fig 2 Principle diagram of three-wire measurement

测量时导线电阻为rL1,rL2,rL3,三条导线采用同规格同长度,因此,RT为Pt100的阻值,测量端U1点、U2点的测量电路采用高阻抗输入电路。为测量RT的阻值,在U1端加入恒定电流I,则电压U1为

U1=I(rL1+rL3+RT)=I(RT+2rL).

(1)

由于U2端测量端为高阻抗输入端,因此在导线上没有电流流过,所以

U2=IrL3=IrL.

(2)

由式(1)减去2倍的式(2)得

U1-2U2=I(RT+2rL)-2IrL=IRT=Uab.

(3)

因此,有

(4)

式(4)中已经消除了导线电阻对测量的影响,可以看出测量仅需要提供一个恒定电流I,并测出U1-2U2即可。

3下位机硬件设计

下位机的功能主要包括:多点温度测试及其相关处理,与上位机通信接收、发送指令,与上位机通信发送温度数据。硬件设计主要包括电源电路、检测与变送电路、信号转换电路、无线通信电路。下位机硬件结构图如图3所示。

图3 下位机硬件结构图Fig 3 Structure diagram of lower PC hardware

3.1电源电路

单片机工作电源为+5 V,采用LM2576降压型开关稳压器,具有很小的电压调整率和电流调整率,同时具有3A的负载驱动能力,可以很好的满足要求[4]。为了获得一个更加精准的A/D转换基准电压,用LM4040设计了一个高精度的外部基准源,避免了A/D转换过程中内部基准源的不稳定性和其它电源的干扰。在AVCC与AGND的处理上,采用了与单片机VCC并联单点接地式[5],有效地防治工频和其他杂散电流在信号线上产生干扰。

RCV420需要 12 V电压进行供电,采用WD6—24D12,稳定性可以达到要求。

3.2检测与变送器电路

系统采用Pt100热电阻构成的模拟温度传感器,测温范围为-200~850 ℃。但是该热电阻阻值的温度特性存在着一定的非线性,而XTR105集成芯片提供两路800 μA的精密电流源来激励外接的铂电阻器,内置的线性化电路对热电阻温度特性的非线性进行矫正,可达到40∶1的改善[6]。同时,芯片通过电流环路供电,具有极宽的电源范围,输出为电流信号,可进行远距离传输,电流信号不需要进行补偿,XTR105输出电流IO为

IO=VIN×(0.016+40/RG)+4 mA.

(5)

式中VIN由式(6)得

(6)

式中IR=0.8 mA,RTD为Pt100的阻值,RZ为热敏电阻器在最低测量时的温度的阻值。式(5)中RG为XTR的一个配置电阻,有

(7)

式中VFS=10 mV。

3.3信号转换电路

经过XTR105输出的为电流信号,在进入单片机A/D转换之前,需要用RCV420将其转换为电压信号。RCV420是一种功能上完全独立的器件,不需要调整增益、偏置等参数。它采用±12 V双电源供电,当输入为4~20 mA时,输出0~5 V电压信号,经过转换之后的电压与电流成线性关系,为

VO=6.25 V-0.3125IIN.

(8)

3.4无线通信电路

无线通讯电路由KB3071_WIFI和74LVC2T45组成,本系统只需该模块的串口转无线功能,使用它的UART_TX和UART_RX即可。但由于单片机串口的电平为5 V,而无线模块串口的电平为3.3 V,为了使两者很好的兼容,需要使用74LVC2T45电平转换电路。

4系统软件设计

系统软件设计主要包括上位机控制显示与下位机采集发送两部分组成。系统程序流程图如图4所示。

图4 系统程序流程图Fig 4 Flow chart of system program

4.1下位机程序设计

采用模块化设计,主程序调用8个子程序,分别为:MCU初始化程序、读取并发送通道数据程序、UART接收中断服务程序、接收缓冲器读取字符程序、UART发送中断服务程序、发送缓冲器写入字符程序、定时器中断服务程序、读取A/D转换数据程序。主要4个详细介绍如下:

1)MCU初始化程序:设定单片机上的IO口状态,串口发送接收的波特率、数据位、校验位、停止位的选择设定,定时器中断的使能以及初始数据设定,A/D转换寄存器使能初始配置。

2)读取并发送通道数据程序:本系统在客户端进行温度检测可以自行选择三种模式:a.定时读取8个通道,b.定时选择读取某一通道,c.循环读取8个通道数据。此子程序实现这些功能,从客户端接收模式指令,按照相应的指令发送数据。

3)定时器中断服务程序:需要定时发送数据时,起到准确定时发送的作用,以10 ms为一个定时周期。

4)读取A/D转换数据程序:单片机的10位A/D转换,在从RCV420输出信号接入时,对其进行转换,为了增加数据的准确性,每一路的转换值都进行4次的平均取值,可以很好地避免单次电压的不准确情况发生,提高转换精度。

4.2上位机程序设计

Eclipse是谷歌公司推出的安卓应用程序开发工具,因其具有界面友好,适合各种安卓客户端上运行等优点而受到大多数用户广泛的使用,而且应用程序可以通过连接WiFi接收服务器端发送过来的数据并发送用户的指令。由于上位机要接收下位机发送过来的数据,并实时显示在界面上,所以,在程序中要建立2个线程: 1)建立与服务器连接的Socket线程,调用DataIuputStream和DataOutputStream类通过WiFi-AP模式与下位机进行通信,其中需要2个步骤:第一把WiFi模块配置成WiFi-AP模式的服务端,并设定IP跟端口号,通过TCP协议进行发送。第二在编写客户端中建立Socket类中,在子线程中写入与服务端对应IP与端口后就可以通过Android底层的函数getInputStream和getOutputStream接收下位机发送的数据和发送指令到上位机的数据流[7]。 2)建立接收数据处理并实时显示在客户端界面上的线程,调用Handle消息处理队列,通过Handle.Post将Socket线程和Handle.sendMessage把数据加入到此队列中,然后就可以在主队列Handle.handleMessage实时将数据更新在客户端UI中,在此消息队列中,线程与数据处理都是异步的,相互之间不会有影响。客户端监测界面如图5所示。

图5 客户端监控界面Fig 5 Client monitoring interface

5测试与结果

采用上述方法设计的Pt100多点测温无线传送的装置在实验室进行性能测试实验。8个温度检测端分别放入8个不同的已知温度的水杯中,并且保持此8个不同温度的水杯温度不改变,表1为某一时刻的温度检测数据。为验证系统的可靠性,设定8个温度报警限度下限值为10 ℃,上限制为80 ℃。

表1 某时刻温度测试结果表

实验发现:当1#进行温度测量时,系统提示温度过低报警信号,当7#,8#进行温度测量时,系统提示温度过高报警信号。

为测试Android系统的无线通信能力,在实验中不同距离进行实验,测试结果如表2所示。

表2 通信测试结果表

通过多次实验测试发现,温度检测的相对误差最大为0.1 %,可以准确地测量到各点的温度。实验发现Android无线WiFi-AP通信网络在通信距离越远数据的丢包率越高,150 m为最佳通信距离,数据传输正确率高,可以满足工程上的通信要求。

6结束语

本文阐述了基于Android系统的低成本温度采集系统硬件与软件的整体设计方案,可以同时对多点温度进行检测,并可以与设定值进行比较,加入温度过低或过高报警功能。本系统的拓展功能不仅仅局限于温度测量,任何基于4~20 mA的标准信号传感器均可以采用。上位机Android移动设备显示各点温度,由于接入WiFi进行数据的通信,避免了传输距离的限制。

参考文献:

[1]辛颖,谢光忠,将亚东.基于Zig Bee协议的温度湿度无线传感器网络[J].传感器与微系统,2006,25(7):82-84.

[2]周素茵,章云,曾斌.无线通信技术在我国现代温室中的应用综述[J].传感器与微系统,2011,30(12):14-17.

[3]汤同奎.RCV420 I/V转换电路的几种典型应用[J].自动化仪表,1996,17(8):40-41,47-48.

[4]Ye Dan,Qi Guosheng,Hong Qiangning,et al.Adaptive temperature control system based on single chip processor[J].Journal of Transducer Technology,2002,21(3):27-30.

[5]毛楠,孙瑛.电子电路的抗干扰实用技术[M].北京:国防工业出版社,1996.

[6]赵继文,何玉彬.传感器与应用电路设计[M].北京:科学出版社,2002.

[7]周培.基于Socket的即时通信系统的研究与实现[D].广州:华南大学,2010.

Design of wireless multipoint temperature monitoring system based on Android system

LUO Biao1, LI Bin1, ZHANG Dai-feng1, MEI Liang2

(1.School of Automation Science and Electrical Engineering,Beijing University of Aeronautics and Astronautics,Beijing 100192,China; 2.Defense Technology R&T Center, China Aerospace Science and Industry Corporation,Beijing 100854,China)

Abstract:Multipoint temperature monitoring system includes upper PC and lower PC.Lower PC uses ATmega16 MCU as core,Pt 100 is temperature sensor for temperature sampling and measuring,which can realize temperature real-time acquisition through AP model of WiFi module with upper PC for data receiving and transmitting.Upper PC is a machine with Android platform which uses Socket client to obtain real-time temperature value,real-time display and alarming.This system can be used in multipoint detection for different temperature demand for civil or industrial occasion.

Key words:ATmega16 MCU; Pt100; WiFi module; Android system

DOI:10.13873/J.1000—9787(2016)03—0056—04

收稿日期:2015—06—03

中图分类号:TP 368

文献标识码:A

文章编号:1000—9787(2016)03—0056—04

作者简介:

罗彪(1990-),男,江西高安人,硕士研究生,主要研究方向为导航制导与嵌入式控制。

猜你喜欢
Android系统
掌游西塘APP设计与实现
基于污点传播动态分析的Android安全系统研究
Android系统上的移动互联网集成平台开发机制
Android系统核心管理工具设计与实现
Android下的机械式电表数字识别技术研究
基于GPS和iBeacon的智能校园信息发布平台设计与实现
基于增强现实技术的导航系统研究
面向移动终端的语音签到系统
基于Android系统的“掌上图书馆”的设计与实现
Android应用异常检测方法研究