无线温度采集系统在钻井平台的可行性研究
2017-04-06
(中海油田服务股份有限公司钻井事业部 广东 湛江 524057)
无线温度采集系统在钻井平台的可行性研究
胡玉攀姚刚明
(中海油田服务股份有限公司钻井事业部广东湛江524057)
由于数据采集系统的应用范围越来越宽、所涉及到的测量信号和信号源的类型越来越多、对测量的要求也越来越高,国内现在已有不少数据测量和采集的系统,但很多系统存在功能单一、采集通道少、采集速率低、操作复杂,并且对测试环境要求较高等问题。需要一种应用范围广、性价比高的数据采集系统。
基于单片机的多通道数据采集系统是由将来自传感器的信号通过放大、线性化、滤波、同步采样保持等处理后,输入A/D转换为数字信号后由单片机采集,通过串口通信实现单片机与PC机之间的通信,实现数据的无线传送并将数据在PC机上显示及存储,完成单机的多通道数据采集系统的设计及实现。实现了数据处理功能强大、显示直观、界面友好、性价比高、应用广泛的特点,可广泛应用于工业控制、仪器、仪表、机电一体化等诸多领域。
多通道;数据采集;单片机
一、前言
(一)研究的背景和意义。有线温度数据的采集是平台上通常能见的一种技术。研究无线多点温度采集测量系统在钻井平台的可行性可作为一个较为实用的课题的方向,能获得较大经济效益和实用的知识和方法,是一门很重要也很实用的技术,值得在钻井平台推广。
(二)国内外的发展现状和趋势。多路无线温度采集系统可被广泛应用于温度测量或相应的可转换为温度量或供电故障监控的工业、农业、环保、服务业、安全监控等工程中因此研究多路无线温度监控系统具有十分重要的现实意义。
二、总体方案的设计论证
钻井平台温度检测系统有则共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。
所以无线多点温度检测系统的设计的关键在于三个部分:温度传感器的选择、无线传输的实现和主控单元的设计。
本设计的整体设计思路是以Atmel公司的AT89C52单片机作为控制核心,提出以DS18B20的单总线分布式温度采集与控制系统。多个温度传感节点通过单总线与单片机相连形成分布式系统。控制器通过温度传感器实时检测各节点的温度变化,通过无线芯片PTR2000发送到上位机,并在LCD1602上显示各节点以及各节点温度的变化。通过串口将检测到的温度信息回馈到上位机(PC机),从而远程实现对整个系统的检测。
三、硬件电路的设计
本设计的整体设计思路是以Atmel公司的AT89C52单片机作为控制核心,提出以DS18B20的单总线分布式温度采集与控制系统。运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。多个温度传感节点通过单总线与单片机相连形成分布式系统。控制器通过温度传感器实时检测各节点的温度变化,并通过无线技术把温度数据传输到监控室,监控室通过单片机接收数据并在LCD1602上循环显示各节点温度的变化。通过串口将检测到的温度信息回馈到上位机(PC机),从而远程实现对整个系统的检测。
四、软件的设计
(一)系统的简介。整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。
本系统软件编程采用89C52单片机C语言编程,其中将温度传感器的控制程序、数据处理程序、串口发送程序、LED显示程序和发光二极管闪烁程序均作为子程序,以方便系统调用,可移植性强。其中,主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。必须先启动DS18B20开始转换,然后再读出温度转换值。
在一线制总线上串接多个DS18B20器件时,需要先发送跳过ROM指令,将所有传感器都进行一次温度转换,之后通过匹配ROM依次读取每个传感器的温度数据,实现对单I/O口上的多个DS18B20器件的操作[10]。
在系统安装及工作之前应将主机逐个与DS1820挂接,以读出其序列号。其工作过程为:主机发出一个脉冲,待“0”电平大于480μs后,复位DS1820,在DS1820所发响应脉冲由主机接收后,主机再发读ROM命令代码33H,然后发一个脉冲(15μs),并接着读取DS1820序列号的一位。用同样方法读取序列号的56位。另外,由于DS1820单线通信功能是分时完成的,遵循严格的时隙概念,系统对DS1820和各种操作必须按协议进行,即:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
本系统的发送端程序、接收端程序及串口中断接收端的软件流程图如下图所示。考虑到无线数据传输中会有很多干扰,采取了一些抗干扰措施,即通过通信协议来保证传输信息的正确性。本程序中在发送数据时多发送了两个数据0FH和0FFH,之后发送的才是真正的有用数据;在接收端接收数据时,要先判断收到的数据是否是0FFH和0FH,只有收到了这两个数据后才将后来的数据接收进来,这样就能够识别有用数据,同时也保证了数据的正确性,之后将接收到的数据进行存储和显示。
五、调试与结果
(一)测试方法。画出仿真电路图后,编写调试程序,来实现设计所需要的要求.通过不断改进硬件电路和程序来完善设计方案,使之能达到最佳的运行状态。
焊接好硬件电路后,下载编译程序,然后开始运行系统,观察系统的各个硬件模块是否工作正常(包括单片机最小系统,显示电路,温度测试电路等)。系统自带测试温度计,观察显示数据是否相符合即可。
采用温度传感器和温度计同时测量多点水温变化情况(取温度值不同的多点水温),通过目测显示电路是否正常。并记录下各点温度值,与实际温度值比较,得出系统的温度指标和温度误差。
使用串口调试助手与单片机通讯,观察单片机与串口之间传输数据正确进行。
(二)测试结果分析总结。测试过程中各个点的温度能够正常的显示在LCD上,并能够实时的变化。说明系统设计成功,无线收发模块工作正常。但是由于温度芯片是塑料封装的,所以温度感应不是特别的灵敏。当温度超过报警设定值的上限或下限时蜂鸣器能发出报警声。该无线温度采集系统能够满足钻井平台上大多数的运行环境。
[1]孟惠霞,吕书勇.基于ARM的SD卡文件系统设计[J].通信技术.2009(07)
[2]徐爱钧.单片机原理实用教程[M].第二版.电子工业出版社.2011(06)
[3]张洪涛,莫文承,李兵兵.基于SPI协议的SD卡读写机制与实现方法[J].电子元器件应用.2008(03)
[4]林倩,严桂林.基于STC12C5A60S2单片机的SD卡读写[J].电子元器件应用.2010(04)
[5]田茂,鲜于李可,潘永才.SPI模式下SD卡驱动的设计与实现[J].现代电子技术.2009(14)