APP下载

基于ARM的石油压裂液位监测系统

2019-04-15马瑞峰张丕状

测试技术学报 2019年3期
关键词:低功耗液位上位

马瑞峰, 张丕状

(中北大学 信息探测与处理山西省重点实验室, 山西 太原 030051)

0 引 言

水力压裂是石油开采领域重要的技术环节, 其可以有效对石油开采进行增产. 然而要使用水力压裂技术, 需要大量存放水和胍尔胶的液罐[1]. 在作业期间, 需要现场工作人员对各个液罐的液位进行实时监测, 确保液位保持在合理范围内, 既不缺水, 也不冒罐.

由于施工现场全部是上下两层罐, 每层罐高2 m, 现场工作人员需要爬到罐顶, 才可以通过肉眼来观测液位变化情况. 该作业方式存在一些问题: 首先是人员安全问题, 尤其冬天, 液罐上极易结冰, 而罐边沿很狭窄, 只有十几厘米, 很容易踩空; 另外, 当作业规模较大时, 例如大庆油田松原油区开采队最多使用过56套液罐, 现场工作人员需要实时观测每个液罐的液位状况, 工作量极大, 而且无法做到同时监测, 经常会发生冒罐问题. 故迫切需要设计一套实时液位测量系统.

在系统实现方式上, 浮体式液位测量虽然价格低廉[2], 但是在石油勘探现场, 液罐中会存放水或者胍尔胶, 而且经常有大量泡沫浮在液面上, 无法保证长时间工作的稳定性; 雷达和激光测量虽然测量精度较高, 但是价格高昂. 超声波液位测量具有工作可靠, 安装简单、 功耗较低, 传感器小型化, 成本低, 适用范围广等特点, 最满足设计需求. 使用超声波对液位进行测量, 测量后通过无线模块将数据发送到上位机, 上位机将数据处理后通过软件进行展示.

1 系统整体设计

通过对环境及需求的论证分析, 液位监测系统由液位监测节点和液位监测上位机界面两部分组成. 液位监测节点实现对液位等数据的实时监测, 上位机完成对节点参数配置, 接收节点液位等实时数据, 上位机完成对节点参数的配置、 接收节点液位等监测信息, 并进行处理、 展示和报警.

图 1 系统总体设计结构Fig.1 System overall design structure

1.1 液位监测节点设计方案

液位监测节点主要由图 2 所示的4个模块构成, 分别是MCU主控模块、 无线通信模块、 超声波模块、 供电模块.

液位监测节点首先通过MCU上电唤醒后进行初始化配置, 然后根据上位机的要求, 分为自动定时液位监测和上位机; 进行各种具体运行参数配置或者进行液位测量程序; 液位测量程序由超声波模块进行测量, 并由主控模块对数据进行处理, 将有效数据通过无线通信模块发送到上位机.

图 2 液位监测节点框架图Fig.2 Liquid level monitoring node frame diagram

1.2 上位机监测系统设计方案

上位机监测系统将从节点收集到的数据进行展示, 对异常值进行报警. 同时上位机可以对节点进行参数配置. 整体框架如图 3 所示.

框架图中参数配置包括对不同工作模式的自动唤醒时间, 目的是根据液位变化情况, 设置不同唤醒时间, 起到低功耗的目的; 通过配置液位上下线报警液位值, 实现根据不同的液位高度, 自动切换不同的工作模式, 起到提高测量效率、 降低功耗的目的; 通过配置取消上下线标志位, 完成配置不同的工作模式. 在节点数据反馈中通过无线通信模块得到节点的地址号, 确定数据来源于哪个节点; 通过对接收数据解析得到指令类型, 判断接收到的是哪种类型的数据; 当得到液位和电量测量类型数据时, 会在软件界面展示具体数值, 当液位高度和电池电量异常时, 发出报警.

图 3 上位机监测框架图Fig.3 Host computer monitoring framework

2 液位监测节点硬件电路设计

2.1 微控制单元设计

微控制单元(MCU)作为液位监测节点的中枢, 对各个模块进行控制, 而此工程的核心是低功耗, 所以经过对比选择了基于ARM Cortex-M3的STM32L152芯片. 相比51单片机, STM32外围接口丰富, 功能更加强大, 后期扩展空间大. 而在STM32众多系列中, L系列是针对超低功耗的设计. STM32 F103在待机模式下功耗为2.1 μA. 而STM32 L152在待机模式下, 功耗只有0.29 μA. 所以根据工程需求, 选择了STM32L152作为液位测量系统的微控制单元.

MCU在待机模式下, 可以实现最低功耗. 它依靠于Cortex-M3的深度睡眠模式. 在此模式下, 其禁用了电压调节器. 除RTC(实时时钟)寄存器、 RTC备份寄存器和待机电路保持供电外, 其他区域全部断电, SRAM和寄存器内容都会丢失[3-9].

2.2 超声波发射接收模块

超声波发射是由微控制单元(MCU)控制, 其通过两个GPIO口产生两路40 kHz的高低电平给单电源电平转换芯片, 以增大超声发射换能器的发射驱动电压, 提高压电转换效率, 然后将输出电平输出到超声波发射探头, 产生超声波.

超声波接收电路由一个4相放大器和外围电路组成, 实现对回波信号的放大、 滤波、 跟随、 阈值比较功能. 其中第4级为阈值比较电路, 将回波信号与计算好的阈值进行比较, 把目标信号回传到MCU的定时器中断引脚, 来确定回波时间, 根据已知的声速计算出被测液面距离. 其中阈值电压是通过MCU中的DAC(数字模拟转换器)管脚产生的.

图 4 接收模块示意图Fig.4 Receiver module schematic

为了实现低功耗的目标, 在保证其他模块正常工作的同时取消了3.3 V稳压芯片. 当电源电压变化时, 首先影响到芯片的参考电压, 这时MCU中DAC管脚输出稳定性无法保证, 所以通过以下方法解决此问题.

因为取消了稳压源, 3.7 V电源直接为MCU供电, 所以该芯片VDD与VCC相等. MCU内部参考电压(VREFINT)为ADC提供稳定的电压输出, VREFINT 内部连接到ADC的第17号输入通道, 它可以精确监控VDD值.

阈值输出通过STM32中的DAC输出管脚输出精确的电压值. DAC根据ADC的17通道测得VREFINT(1.2V)对应的计数值, 调整DAC的输出计数值D, 达到比较阈值不随电源电压改变的目的.

DAC的输出公式为

(1)

设DAC的输出电压为VO; 电源电压为VCC; DAC输出阈值电压为VT; ADC测得电源电压计数值为DREF; 芯片内部参考电压为VREFINT, 稳定在1.2 V. 因为没有稳压源,VREF在芯片内部与VCC信号线相连, 所以VREF=VCC

(2)

由式(1), 式(2)得

(3)

按照此算法进行编程, 验证可稳定DAC电压输出值.

同时因为ADC可测得电源电压计数值, 因此可算出电源电压值, 去掉原来的电池测量电路.

本设计减少了芯片的同时也取消了电池测量电路, 达到了低功耗的目的.

2.3 无线组网通信模块

通过现场测试, 发现环境较为复杂, 液罐摆放位置和放置上位机的仪表车位置不确定, 导致无线信号影响较大. 2.4 GHz无线模块无法满足现场要求, 故采用了中心频率为433 MHz的无线模块, 它与2.4 GHz相比, 有较强的穿透绕射能力, 不易受到复杂环境的干扰. 虽然传输速率不如2.4 GHz, 但完全可以满足现场要求[10]. 在选用无线模块型号时, 选择超低功耗433 MHz无线模块. MCU通过串口与其相连接, 将液位数据和电量数据发送至上位机, 使得上位机可以统一展示.

上位机由433 M数传电台与其连接后进行数据发送接收.

在无线组网方面, 设计每个节点使用一个固定的模块地址. 整个网络无线传输使用相同的频率信道. 在无线传输方式中, 选择了定点传输. 在定点传输的模式下, 发射模块能将传输数据发送

给指定地址、 指定信道的无线模块, 方便组网要求. 而且仅有在信号和地址都匹配的情况下, 才能接受到指定传输数据. 接受到的传输数据是透明的, 不包含信道和地址位. 这样的好处是, 上位机可以具体配置节点设备, 而不需要将其他设备同时唤醒, 从而达到低功耗的目的. 同时可以根据不同环境的需求, 对指定节点进行指定工作模式配置, 提高工作效率.

图 5 组网示意图Fig.5 Network diagram

2.4 电源模块

为了满足设计要求, 实现在极低温度下正常工作并便携的目的, 选用耐低温锂电池供电. 因为电池供电为3.7 V, 超声波发送和接收电路需要5 V供电, 所以采用电荷泵, 将3.7 V升压至5 V.

图 6 电源模块电路图Fig.6 Power module circuit diagram

2.5 节点工作模式设计

为了符合项目需求, 设计了5种工作模式, 系统可以根据不同配置信息和液位情况自动切换. 这样, 在提高工作效率的同时, 还能极大地降低功耗. 系统可以及时反馈液位数据, 防止出现冒罐和缺水风险.

该系统5种工作模式分别是: 参数设置模式、 单次查询模式、 自动连续测试模式、 报警通知模式和长时间待机模式.

为了实现工作模式满足实际工作需求, 设计了取消上限报警标志位和取消下限报警标志位, 上位机可通过实际情况对其进行配置. 同时上位机可以对自动连续测量模式的唤醒时间、 报警通知模式下的唤醒时间和长时间待机模式下的唤醒时间进行配置. 以上默认唤醒时间分别为90 s, 30 s, 5 min.

2.6 不同工作模式的工作流程设计

液罐液位情况如图 7 所示.

图 7 液罐示意图Fig.7 Liquid tank schematic

1) 当标志位配置为“取消上限报警标志位=1”“取消下限报警标志位=1”时, 相当于“取消报警”. 由上位机主动定时唤醒后进行测量并发送数据, 即单次测量模式.

2) 当标志位配置为“取消上限报警标志位=0”或“取消下限报警标志位=0”时, 如果M在正常水位区域, (自动连续测量模式)测量后发送数据, 并对重要参数和水位数据进行备份, 如果液位变化较小, 则不发送, 加长下次唤醒时间到固定值; 如果M在报警区域(M>H或M

3) 当测量值小于L线, 且计数值>10时, 进入长时间待机模式. 计数值根据以下4种情况进行变化:

① 当前测量值小于L线, 且液位静止时, 计数值加1(权重为+1);

② 当前测量值小于L线, 且液位小于上次值时, 计数值-5(权重为-5);

③ 当前测量值小于L线, 且液位大于上次值时, 计数值-1(权重为-1);

④ 当前测量值大于L线时, 计数值清零.

工作流程如图 8 所示. 根据实际测试使用, 达到设计要求, 实现了提高工作效率, 降低功耗的目的.

图 8 工作流程图Fig.8 Work flow chart

3 上位机终端监控

终端监控是一个进行实时液位监测的软件. 这款液位监测软件是基于LabWindows/CVI平台实现的, 使用C语言进行开发, 具有入门快, 操作简洁等特点.

图 9 终端监控设计流程图Fig.9 Terminal monitoring design flow chart

终端监控通过无线通信与多个节点进行连接, 可以对节点进行参数配置, 同时也可接收节点回传的液位数据, 流程图如图 9 所示.

在参数配置上, 为了便于管理, 可以根据实际情况, 对指定节点进行单独参数配置, 使其工作在特定工作模式.

上位机在接收节点数据后, 可以对数据信息进行实时保存、 处理和报警反馈等操作.

4 系统实验结果与分析

在实验现场, 对液位测量系统进行测试. 首先打开上位机串口, 通过上位机界面对节点进行参数配置, 设置在连续测量模式下唤醒时间为60 s, 在报警通知模式下唤醒时间为30 s, 长时间待机模式唤醒时间为300 s. 取消上限报警标志位和取消下限报警标志位都为0, 选择上位机定时唤醒节点, 开始进行液位测量.

在液罐中液位不断变化时, 工作模式自动切换, 实现唤醒时间随液位变化而改变. 表 1 为开启测量第10 min液位记录值,A为上层罐,B为下层罐. 表 1 为工作30 min的液位记录值.

表 1 罐体液位值Tab.1 Tank level value

通过实际工作测试, 节点可在现场工作环境使用一周以上. 满足石油勘探作业周期要求. 在复杂的现场环境中, 无线传输正常, 没有出现数据丢失现象.

经试验获得监测数据表明, 此系统液位监测结果正常, 测量精度达到1 cm, 实现了实时连续监测功能, 完成系统设计.

图 10 测距终端及测试现场Fig.10 Ranging terminal and test site

5 结 论

针对目前石油勘探现场对液位实时监测不便问题, 完成基于ARM的液位实时监测系统设计,实现对液位的实时智能监控功能,达到低功耗、 耐低温、 长时间连续测量指标,能够应用于石油压裂勘探领域. 本设计还存在极寒天气液罐上层可能存在冰层的问题, 会影响测量结果,下一步将继续研究和开发.

猜你喜欢

低功耗液位上位
一种高速低功耗比较器设计
一种宽带低功耗四合一接收机设计
基于STM32燃气热水锅炉液位控制系统设计与实现
石油储罐液位开关的应用分析
特斯拉 风云之老阿姨上位
一种用于6LoWPAN的低功耗路由协议
低功耗技术在驾驶行为管理模块中的应用
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
以新思路促推现代农业上位