• 基于nRF905的低功耗油井数据采集系统 ———基于nRF905的低功耗油井数据采集系统

    引 言


                 油田油井数目多且分布范围由几十至上百平方公里,分布比较零散,一些注水,注汽井现场没有电源,没有专人值班。目前大多采用人工巡井方式,由工人定时检查设备运行情况并记录采油数据。以前使用的仪表操纵繁琐,需要封闭阀门安装传感器,丈量完毕后还要卸下传感器以免丢失,工人劳动强度大,影响设采油数据的正确性。


                 本系统基于nRF905无线收发器的数据采集,现场智能变送器由电池供电,功耗低,无需外部供电可持续工作一年以上。另外变送器经过特殊防盗设计,无专用工具无法拆下。工人通过手持式数据采集器甚至不用停车,在50M范围内就可以接收到变送器的信息并显示在液晶显示器上,丈量结束后自动存储。数据超出正常范围时,会告警提示。治理计算机通过手持式数据采集器的USB接口读取存储的丈量数据并存进数据库。数据采集系统框图示于图1。


            


    图1 数据采集系统框图

     


             硬件设计


                 智能变送器硬件选择了支持低功耗工作模式的C8051F350单片机和nRF905射频模块,使用32768Hz的低频晶振,采用1节5号锂电池供电。图2为智能变送器的框图。


            


    图2  智能变送器框图

     


                 手持式数据采集器硬件选择了支持低功耗工作模式带有USB接口的C8051F340单片机、nRF905射频模块、存储器、实时时钟、充电电路等,使用32 768 Hz的低频晶振,采用可充电的260mAH锂电池供电。图3为手持式数据采集器的框图。


            


    图3 手持式数据采集器框图

     


                 C8051F350是Silabs公司的一款精确混合信号单片机,片内有8通道24bit的S-D型ADC,128倍PGA,电流型DAC,VREF等模拟外设,可以方便地和温度压力等传感器直接连接。使用电流型DAC对传感器进行激励,传感器的输出信号经片内128倍PGA放大后进行A/D转换,无需额外的信号调理电路。片内8K FLASH,可在线编程和改写,传感器的标定参数可以在FLASH中存储,节省片外存储器。


                 C8051F340是Silabs公司生产的一款带USB2.0接口的单片机,支持全速(12Mbps)和低速(1.5Mbps)模式;带专门的1KByte USB 缓冲存储器;集成USB收发器,无需外部电阻。64K Flash程序存储器,4352Byte数据RAM;供电电压2.7~5.25V,可以直接由USB接口供电。处理速度可以达到48MIPS,能够满足手持式数据采集器的要求。


                 nRF905是挪威Nordic VLSI公司的单片射频收发器,低电压工作,功耗非常低,工作于433/868/915MHz三个ISM频段,在每个频段内支持多个频道且频道之间的转换时间小于650 ms。利用这个特性使用频分多址的方法无需复杂协议即可实现多个传感器共同工作而不互相干扰。ShockBurst工作模式能自动处理字头和CRC(循环冗余码校验)。通过SPI串口与单片机通讯,无需使用功能更强的单片机;可以简化软件设计和硬件本钱。使用非常方便;内建空闲模式 与关机模式,易于实现节能。nRF905适用于无线数据通讯、汽车、远感勘测等诸多领域。天线的设计是整个系统设计的一个重要的环节,nRF905支持使用PCB环行差分天线,可以节省空间,降低生产本钱。应用原理图见图4。


            


    图4  nRF905与MCU的电路原理图

     


                 手持式数据采集器硬件还包括片外存储器和实时时钟电路,片外存储器选用Microchip公司的24AA系列,I2C接口,最低工作电压1.8V,待机电流1mA。实时时钟选用NXP公司的PCF8563T,I2C接口,最低工作电压1.0V,最低工作电流0.25mA。非常适合电池供电的低功耗应用。


                 手持式数据采集采用专用的锂离子充电治理芯片来对电池进行充电治理,在USB接口连接后自动进行充电,软件上添加电池电压监测模块来避免充电时间过长。


             软件设计


                 软件是在Keil uVision2 下,使用C语言开发的。C8051F系列有硬件SPI接口,简化了nRF905的驱动程序的编写。nRF905的驱动程序包括初始化,数据包的读写,频道设置,功率设置等通用函数。调试完成后封装成函数库,供智能变送器和手持式数据采集器调用。


             智能变送器软件


                 智能变送器的软件除nRF905的驱动程序外,还有A/D转换模块,传感器标定模块,定时唤醒模块及主函数组成。上电后,主函数高速运行,进行初始化,A/D采样,控制nRF905发送采集数据,然后切换到低速节电模式运行,休眠一段时间后唤醒重复上述过程。工作时间和休眠时间的比值为1:100,均匀电流50mA左右,使用2100mAH的电池理论上可以使用4.7年。


             手持式数据采集器软件


                 手持式数据采集器的软件设计相对复杂,除nRF905的驱动程序外,还要编写USB驱动程序,液晶显示驱动程序,按键驱动模块,时钟模块,电池电压检测模块、PCA定时模块,数据读写模块,文件系统(数据的存储,压缩,查找等功能模块),命令解释模块等供主程序调用。主程序是一个事件驱动为主的任务调度程序,按照预先设定优先级来执行各模块。没有事件发生时主程序切换到低速节电模式,除实时时钟外封闭其他的功能模块,消耗很低的电流直到有外部事件唤醒。可唤醒主程序的外部事件有USB接口连接或断开、按键事件、定时器事件等。假如是USB接口连接事件唤醒,单片机以最高速度运行(48MHz)主程序执行USB驱动的初始化及连接任务,与主机进行连接,根据主机发送的命令来完成预定的功能。超过规定时间没有与主机的数据通讯,主程序自动进进待机模式。此时只有电池电压检测模块和实时时钟模块工作直到发生USB断开事件,此时主程序将卸载USB驱动程序,断开与主机的连接。


                 软件设计支持在运行中更改nRF905的频道,以便在一个工作区域内(通讯半径,50~100M)支持多个智能传感器共同工作。根据设定频率依次读取现场智能变送器的丈量数据并自动存储。存储内容包括丈量时间,变送器序列号,测试数据,变送器状态等信息。天天的测试数据形成一个文件,即可在本机查询,也可通过USB接口传给治理计算机进行分析和存储。


             治理计算机处理软件


                 为了治理采集数据,需要在主机上建立良好的人机交互界面。采用Visual Basic(VB)来设计人机界面,开发应用程序。将USB驱动控件和指令封装在函数中,实现PC机对手持式数据采集器之间的串口通讯。具体包括: 初始化并驱动其开始工作,主动搜索从USB器件,完成链接,并将指令执行状态及搜索到的设备地址显示出来;控制与从USB器件的通讯,对接收到 的数据进行处理,实时刷新数据,显示温度、湿度、压力传感器的丈量结果。利用其他控件实现对无线智能传感器数据的分析、显示和操纵。


                 每一台智能变送器都有一个唯一的序列号,在治理计算机的数据库中有相应变送器的具体信息,如变送器类型、生产时间、安装时间、安装地点、量程、维修记录等。提供根据序列号查询历史数据,曲线等功能。


              &nb

     
     
    网站首页  |  关于我们  |  联系我们  |  广告服务  |  版权隐私  |  友情链接  |  站点导航