当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:根据我国大部分油田偏远分散布线不利的特点,在目前多数油田监控采用485总线等进行远程通信的现状基础上,设计了采用32位Cortex-M3内核的STM32F103C8T6和ENC28J60嵌入式服务器,并利用ZigBee传感网络发送BMP085采集的压力和温度数据到该服务器,由服务器再通过以太网发送至监控端的压力监控系统。相比485总线,本设计在传输速率等方面具有显著提升且性能稳定,从而为油田信息化和自动化监控提供了一个有效方案。

引言

目前我国大多数油田地处偏远地区、分布范围广、油井分散,若对油井出现的异常情况不能及时发现,及时采取措施,可能直接导致原油产量降低,设备使用寿命减短,能耗增加,有时甚至会造成严重的经济损失,降低了经济效益力和温度是油井抽油机正常工作的重要指标,所以本文设计的重点在压力和温度数据的采集和监控。

传统的徒手抄计和便携式存储已不再适合油井开采现场数据采集中,在线远传阶段已经到来,信息化、自动化的远程集中监控是一个必然发展趋势。目前少数的远程监控系统通常采用8位或16位主芯片,通过485总线等方式进行远程通信,系统存在反应速度慢、数据传输速率低、布线复杂易受干扰等缺点叫

本文设计的油井压力数据监控系统现场数据采集和传输设计应用ZigBee传感器网络进行功能实现,嵌入式服务器部分采用32位Cortex-M3内核的STM32F103C8T6微处理芯片和高性能以太网控制芯片ENC28J60实现嵌入式以太网通信接口设计。

1系统总体构成方案

整个系统分为数据采集发送端和数据接收监测端两部分,系统总体结构如图1所示。

数据采集发送端负责油井现场每间隔一段时间采集一次压力数据,并通过ZigBee节点设备发送至嵌入式服务器中的协调器。

数据接收监测端由ZigBee协调器、STM32控制器和上位机监控软件组成,协调器负责接收由ZigBee节点发送过来的无线数据,并传送至STM32控制器通过以太网把数据发送给远程监控PC进行查看和控制。

基于STM32F103C8T6和ZigBee的油井压力监控系统研究

2系统硬件设计

2.1数据采集发送端

数据采集发送端的硬件设计主要为传感器节点硬件设计,ZigBee节点选用TI公司生产的CC2530片上系统芯片来设计,CC2530芯片采用6X6QFN封装,有电源引脚、控制引脚和GPIO引脚(P0、P1为8位的I/O引脚,P2只有5位的可用1/O),总共40个引脚。该芯片除了具有符合IEEE802.15.4规范的2.4GHz标准的RF收发器外,它还在片内集成了一个8位的8051增强型微处理器、8KB的SRAM和大容量FLASH用来保存ZigBee协议栈)等。

压力传感器采用BMP085压力传感器,它的测量范围为300〜1100hPa,反应时间为7.5ms,该传感器应用于抽油机原油压力数据的测量中,合适的测量范围决定了灵敏度符合设计要求。同时它具有温度补偿功能,采用无铅陶瓷载体封装,适用在海拔500m~9000m环境,保证工作状态长期稳定。

CC2530通过I/O口与BMP085相连,CC2530内部处理器与BMP085之间采用IIC总线进行通信。传感器采集到压力和温度数据,经AD转换传送给片内8051微处理器,微处理器控制传感器节点与其它传感器节点或汇聚节点进行通信。RF无线收发器,通过SPI与处理器模块相连。其传感器节点的硬件框图如图2所示。

基于STM32F103C8T6和ZigBee的油井压力监控系统研究

2.2数据监测接收端

数据监测接收端的硬件设计主要分为两部分:ZigBee协调器、STM32嵌入式以太网控制服务器设计。

ZigBee协调器同样选用CC2530芯片进行设计,但为了与主处理器连接方便,本文把协调器做成一个模块,其引脚定义如图3所示。

基于STM32F103C8T6和ZigBee的油井压力监控系统研究

图3中,CC2530的I/O引脚(P0.2和P0.3)通过设定SFR寄存器作为USART的RX和TX引脚使用,与STM32的USART串口引脚相连进行通讯。

STM32嵌入式以太网控制服务器的硬件设计采用基于Cortex-M3内核的处理器STM32F103CBT6作为服务器主处理器,高性能完全满足设计要求,以太网芯片采用美国Microchip公司的独立以太网控制器ENC28J60,它采用速度高达10Mb/s的SPI三线接口作为通信通道,同时内部集成了符合IEEE802.3规则的MAC层和物理层控制器。

按照STM32指导手册,一个完整的STM32最小系统还外接所需的晶振和去耦电路。其中STM32的PA2、PA3引脚是复用功能引脚作为USART2串口与CC2530的串口引脚相连,另外本系统主处理器内部移植了uIP协议,通过USART2和CC2530连接,设置了一个缓冲队列保存串口接收带的无线模块的数据,然后应用uIP的底层驱动控制ENC28J60,利用以太网发送到上位机。

根据ENC28J60用户手册和本设计的要求,本设计选用了符合10BASE-T标准并自带RJ45插座的以太网隔离变压器HR91102A,提高系统的抗干扰性。变压器需在ENC28J60的TPIN和TPOUT两引脚相连四个50Ω电阻和两个0.01uF的电容ENC28J60连接一个25MHz的晶振,跨接一个2.75kΩ的偏置电阻均按手册连接。图4所示是STM32嵌入式以太网服务器原理图。图中STM32程序下载设计使用的是标准的JTAG仿真调试接口。

基于STM32F103C8T6和ZigBee的油井压力监控系统研究

3系统软件设计

3.1系统总体设计图

系统总体实现的功能是将油井现场的抽油机压力数据在ZigBee物联传感网络中从节点设备发送至嵌入式服务器中的协调器。为了服务器处理和连接方便,本文将ZigBee协调器和STM32做成了一个模块。协调器经过初始化,选择频道和建立网络后,进入无线监听状态,当有新的传感器节点申请加入时,给新节点分配网络地址并接受节点数据通过串口发送给STM32处理器,通过以太网上传至上位监控PC,系统总体流程如图5所示。

基于STM32F103C8T6和ZigBee的油井压力监控系统研究

3.2ZigBee节点和协调器软件设计

本系统利用SensorDemo模板并进行部分改写来实现ZigBee节点和协调器的软件设计。在Zigbee无线网络中存在三种逻辑设备类型:协调器(ZC)、路由器(ZR)、终端设备(ZD)。ZigBee的开发软件选用IAREW8051-8.10.1,Z-Stack协议栈选用ZStack-CC2530-2.5.0,本系统为了操作方便,将SensorDemo改动去掉按键操作,上电即自动联网并发送传感器数据。重点对voidzb_HandleKeys(uint8shift,uint8keys)的改动是删除程序中的SW1等的按键触发事件;核心对voidzb_HandleOsalEvent(uint16event)的改写如下:

voidzb_HandleOsalEvent(uint16event)

{

uint8logicalType;

if(event&ZB_ENTRY_EVENT)

{

initUart(uartRxCB);

HalLedBlink(HAL_LED_1,0,50,500);

HalLedSeKHAL_LED_2,HAL_LED_MODE_OFF);zb_ReadConfiguration(ZCD_NV_LOGICAL_TYPE,sizeof(uint8),&logicalType);

if(logicalType!=ZG_DEVICETYPE_COORDINATOR

)

{

logicalType=ZG_DEVICETYPE_

COORDINATOR;

zb_WriteConfiguration(ZCD_NV_LOGICAL_

TYPE,sizeof(uint8),&logicalType);zb_SystemReset();

}

}

}

程序运行至此,终端节点就会自动加入网络并建立绑定;到了这一步的时候,网络就已经形成了,网络形成后就可以传输采集到的压力和温度数据了;程序中需要注意的是CC2530将协调器称为gateway(网关)而不是collector。

3.3嵌入式以太网STM32软件设计

嵌入式以太网服务器要实现的功能是通过USART2接收CC2530传送的数据,并通过SPI1连接ENC28J60从以太网上传数据到监控PC。以太网服务器经过对STM32和ENC28J60进行初始化,设置系统时钟和弓脚输出方式,配置SPI总线符合ENC28J60

的时序要求,对ENC28J60的初始化是通过SPI总线对它的寄存器进行配置实现的,主要设置收发缓冲区的大小和起始地址、设置以太网过滤器、配置MAC层、物理层和LED指示灯等[4]。STM32F103可通过SPI接口发送命令,访问ENC28J60的相关寄存器来完成相应的操作。下面给出ENC28J60接收/发送数据包的程序框架:

ENC28J60发送数据包程序框架如下:

voidenc28j60PacketSend(unsignedintlen,unsignedchar*packet)

{

enc28j60Write(EWRPT,(TXSTART_INIT)&0xFF);

enc28j60Write(ETXND,(TXSTART_INIT+len)&0xFF);

enc28j60WriteOp(ENC28J60_WRITE_BUF_MEM,0,0x00);

enc28j60WriteBuffer(len,packet);enc28j60WriteOp(ENC28J60_BIT_FIELD_SET,

ECON1,EC

ENC28J60接收数据包主要框架程序如下:

unsignedintenc28j60PacketReceive(unsignedintmaxlen,unsignedchar*packet)

{

enc28j60Write(ERDPT,(NextPacketPtr));

NextPacketPtr=enc28j60ReadOp(ENC28J60_READ_BUF_MEM,0);

NextPacketPtr|=enc28j60ReadOp(ENC28J60_READ_BUF_MEM,0)<<8;

len=enc28j60ReadOp(ENC28J60_READ_BUF_MEM,

0);

len|=enc28j60ReadOp(ENC28J60_READ_BUF_MEM,0)<<8;

rxstat=enc28j60ReadOp(ENC28J60_READ_BUF_MEM,0);

rxstat|=enc28j60ReadOp(ENC28J60_READ_BUF_MEM,0)<<8;

enc28j60ReadBuffer(len,packet);

return(len);

}

3.4高层协议uIP移植和应用层主程序的设计

完成了MAC层及物理层协议的驱动程序,要想实现嵌入式以太网服务器与其它设备之间的通信,还要在嵌入式系统中实现更高层的TCP/IP协议。本文选用uIPl.0协议栈并对其适当精简来实现功能。uIP协议栈由瑞典计算机科学研究所的AdamDunkels开发的免费、开发源代码的协议栈[7]。在本系统中程序首先用中断的方式接收ZigBee协调器发送给主处理器串口的数据,并设置接收队列暂存这些数据。在主程序中的主要任务是不断监测串口的标志位,当有数据时,把数据添高位封装后,通过ENC28J60的以太网接口发送到上位机监测软件中。其工作流程图见图6所示。

基于STM32F103C8T6和ZigBee的油井压力监控系统研究

4结语

本文设计的基于STM32F103C8T6和ENC28J60的嵌入式服务器,利用ZigBee传感网络发送BMP085采集的压力和温度数据到服务器,服务器再通过以太网发送至监控端,设计稳定可靠,为油田业信息化监控提供了一个有效方案。

20211121_619a32b5a1ff7__基于STM32F103C8T6和ZigBee的油井压力监控系统研究

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

物联网应用中常见的通信技术包括有线通信技术和无线通信技术两大类。有线通信技术包括以太网、RS-232、RS-485、M-Bus和PLC等技术。这些技术通过物理线路进行数据传输,具有稳定性强、可靠性高的优点,但是受限于媒介...

关键字: 物联网 Zigbee

ZigBee,也称紫蜂,是一种低速短距离传输的无线网上协议,底层是采用IEEE 802.15.4标准规范的媒体访问层与物理层。主要特色有低速、低耗电、低成本、支持大量网上节点、支持多种网上拓扑。

关键字: Zigbee 通信 无线网上协议

随着物联网技术的快速发展,各种无线通信技术不断涌现,其中Zigbee通信技术以其低功耗、低成本、高可靠性等优点,在智能家居、工业自动化、农业物联网等领域得到了广泛应用。本文将介绍Zigbee通信技术及其主要特征。

关键字: Zigbee 物联网

ZigBee无线通信技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术。这种技术主要适用于自动控制和远程控制领域,可以嵌入各种设备中,同时支持地理定位功能。

关键字: Zigbee 物联网

ZigBee是一种新型的无线通信技术,适用于传输范围短、数据传输速率低的一系列电子元器件设备之间。它建立在IEEE 802.15.4标准(定义了PHY和MAC层)之上,由IEEE.802.15.4无线标准开发而来,具有低...

关键字: Zigbee 短距离无线通信

在这篇文章中,小编将为大家带来无线通信技术的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 无线通信 Zigbee Z-Wave

今天,小编将在这篇文章中为大家带来无线通信技术的有关报道,通过阅读这篇文章,大家可以对无线通信技术具备清晰的认识,主要内容如下。

关键字: 无线通信技术 Zigbee EnOcean

无线网络通信技术是指通过无线传输介质(如电磁波、红外线等)实现数据传输和通信的技术。无线网络通信技术具有灵活性、移动性和便捷性等优点,被广泛应用于各种领域,如移动通信、无线局域网、蓝牙、ZigBee等。

关键字: 无线网络通信 Zigbee

随着物联网(IoT)的不断创新,联网设备正在处理越来越多的智能任务。对于物联网开发人员来说,部署远距离、低功耗的可靠网络来监控不断增加的物联网设备套件变得越来越重要。

关键字: 物联网 Wi-Fi Zigbee

在这篇文章中,小编将为大家带来物联网无线通信技术的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 物联网 Zigbee LPWAN
关闭
关闭