您的位置:控制工程论坛网论坛 » 教程与手册 » 基于nRF905的低功耗油井数据采集系统

jshfq

jshfq   |   当前状态:在线

总积分:17995  2024年可用积分:0

注册时间: 2007-08-06

最后登录时间: 2013-11-04

空间 发短消息加为好友

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

jshfq  发表于 2008/6/18 17:05:12      651 查看 0 回复  [上一主题]  [下一主题]

手机阅读









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

 
摘要: 本文介绍了一种基于nRF905的低功耗油井数据采集系统的设计和实现。 


关键词: nRF905无线收发器; C8051F; 低功耗; 频分多址;USB


引 言


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


    本系统基于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器件的通信,对接收到 的数据进行处理,实时刷新数据,显示温度、湿度、压力传感器的测量结果。利用其他控件实现对无线智能传感器数据的分析、显示和操作。


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


    每一台手持式数据采集器同样有一个唯一的序列号,采集器可以读取多台智能变送器的测量数据,管理者可以根据采集数据中的变送器序列号和采集时间来考核操作者的工作。


结 语


    笔者设计的基于nRF905的低功耗油井数据采集系统具有安装简单,系统投资少,可扩展性强,使用和维护的费用低等优点。大大提高了数据采集的效率和可靠性,实现了参数测量的自动化。在有条件的地方还可以结合其他如GPRS,Internet等技术实现无需人员参与的全自动测量。目前该系统在大庆油田的注水井压力测量、燃气管道压力测量等多个场所得到了具体的应用,系统工作可靠稳定。

1楼 0 0 回复