熊治坤 陈金忠 马义来 李春雨
(中国特种设备检测研究院 北京 100029)
油气管道几何变形检测是油气管道内检测工作必不可少的一道工序,油气管道几何变形检测设备的检测能力直接影响几何变形检测结果的准确性和可靠性[1-2]。油气管道的几何变形检测,一般需要若干变形传感器实时并行采集管道变形数据[3-4]。尤其对于大管径油气管道,可能有数百个传感器同时工作。为了解决多路并行数据实时采集问题,目前国内外设备多采用FPGA+ARM的架构方式[5],基于此架构的设备存在结构复杂、调试烦琐、功耗高、设备体积大、运行时长受限等弊端[6]。笔者针对以上存在的弊端,研究并实现了基于意法半导体32位微控制器(STM32)的多通道数据采集系统,成功研制了体积更小、功耗更低、结构简单、操作便利的智能化油气管道几何变形检测设备[7]。
系统以STM32F407VET6为核心处理器,通过ADC1的通道IN0~IN15连接16个变形传感器。该处理器拥有SDIO接口,可以将采集的数据实时存入SD/TF卡中。存储数据通过USB拷贝到电脑或者其他存储介质中,也可以取出SD/TF卡进行数据拷贝。该系统还具有程序下载/调试功能(SWD)、惯导系统(INS)数据接口(RS422)、上位机通信调试功能(RS232)等。以STM32F407VET6为主控的硬件系统架构如图1所示。相比以往的FPGA+ARM结构,该架构不使用FPGA和独立的ADC芯片,因此功耗可以降低50%以上,操作也更加便捷。
图1 硬件系统架构设计
STM32F407VET6处理器具有3个12位模数转换器(ADC),每个ADC可共享16个外部通道,支持单次转换或扫描模式。ADC支持DMA控制器服务功能。为了同步A/D转换和定时器,ADC可以使用TIM1、TIM2、TIM3、TIM4、TIM5或TIM8定时器中的任何一个触发。该处理器自带ADC,同时具有控制功能,无须使用额外ADC,节约硬件占用空间。
当VDDA= 2.4~3.6 V时,ADC的采样时钟支持0.6~36 MHz。ADC支持6、8、10、12 bit四种分辨率,分辨率越低,全部转换时间越小。在fADC为 30 MHz,分辨率为12 bit的条件下,全部转换时间(含采样时间)为0.5~16.4 μs,这完全满足油气管道变形数据采样率1 ksps的要求。
因此本系统通过定时器触发ADC1采集传感器信号,数据每秒存储1次,通过SDIO方式存储在TF/SD卡中,可支持储存卡容量高达256 GB。数据采集与存储原理图如图2所示。
图2 基于STM32的数据采集与存储原理
系统的处理器内核采用ARM® 32-bit Cortex®-M4 CPU,带有FPU,工作主频最高可达168 MHz;自带存储:1 MB Flash,192+4 KB SRAM,支持扩展NOR/NAND Flash、SRAM等;具有16-stream DMA,并带有FIFO和支持突发模式。
系统采用内置锂电池和外置电池组双电源供电模式,其中内置锂电池为主板供电,外置锂电池组同时为系统主板、传感器和INS供电,双电源模式提高了系统的稳定性与可靠性。系统工作电压设计为3.3 V,通过AMS1117-3.3芯片进行电源转换并提供3.3 V工作电压,具体原理图设计如图3所示。
系统通过USB实现上位机PC对信号数据的拷贝。INS提供设备运行姿态、里程等重要数据,其接口通过串口2经过MAX490ESA芯片转换为RS422接口,具备抗干扰能力强、传输距离远、适应环境条件更苛刻的特点。系统的程序下载与调试接口采用了SWD方式,相比常规调试接口,节约IO资源。系统拥有2个指示灯,LED2常亮标识系统供电正常,LED1常亮标识系统处于运行模式,1 s闪烁1次标识系统处于调试模式。原理图设计如图3所示。
图3 电源供电与其他接口
软件系统主要包括系统初始化、调试模式、运行模式。系统初始化部分主要包括HAL初始化、系统时钟配置、延时初始化、GPIO初始化、RTC初始化、UART初始化、USMART初始化、TIMER初始化、SRAM初始化、SD初始化、USB初始化、AD初始化、DMA配置等。系统上电完成初始化,通过外部输入进入调试状态或运行状态。调试模式包括参数配置、信号调试及系统供电检测。运行模式包括4个功能:数据采集、数据存储、供电检测、日志文件。软件系统功能模块如图4所示。
图4 程序功能结构
系统的嵌入式程序基于MDK V5平台进行开发,主频配置为168 MHz,APB2时钟配置为84 MHz,ADC采样时钟配置为21 MHz。ADC采集支持多种模式,为提高速度和性能,本系统启用ADC1时,采用定时+DMA模式。ADC1基于定时器TIMER2每1 ms触发1次采集,配置DMA2传输数据。
系统配置ADC1的通道IN0~IN15进行数据采集,通过嵌入式程序配置系统时钟为168 MHz,TIMER2定时间隔为1 ms,ADC采样时钟为fADC=21 MHz,分辨率配置为12 bit。数据采集通过DMA方式启动,一次采集16个通道的数据。使用高速示波器(Tektronix MSO58)测量系统输出低电平脉宽,实现16个通道数据全部采集并完成转换使用的总时长的测量。本文验证了6种采样时间,分别为3、56、84、112、144、480个采样时钟,分别对应图 5中(a)~(f)。全部转换时间通过高速示波器(Tektronix MSO58)捕获测量系统输出低电平脉宽,具体如图5所示。图5中(a)~(f),使用示波器测量不同采样周期下,ADC采集16个通道数据的总计使用时间,并与理论耗时进行对比验证。实验验证了6组数据,计算了数据采样率范围在2.66~86.2 ksps,为后续变形设备数据采样率选取提供了依据。
图5 ADC总采集转换时长
图5 ADC总采集转换时长(续)
将图5中数据整理到表 1中并进行分析,可以得出实际测量值比理论值略大,因系统输出状态翻转、函数调用还需要消耗时间。总体误差在1%以内。16个通道最长的转换时间约为375.378 μs(480个采样时钟),据此计算,16通道的数据采样率可以达到2.66 ksps,满足油气管道变形数据采样率的要求。16个通道最少的转换时间不超过11.538 μs(3个采样时钟),则16个通道的数据采样率可以达到86.67 ksps,若将采样时钟频率提高,数据采样率还可以进一步提高。
表1 理论值与测量值对比
系统通过ADC采集14种不同的电压数据,同时采用是德科技KEYSIGHT高精度万用表3458A测量电压数据,并将2组进行统计和对比(见表 2),并绘制2组数据曲线(如图6所示)。数据对比结果表明,ADC数据采集整体一致性良好,线性度良好,采集数据误差在0.6‰以内,结果符合预期,满足油气管道变形数据采集精度要求。
图6 ADC 数据采集实验
表2 实测值与ADC采样值对比
该系统应用于φ355 mm油气管道变形内检测,在多个现场进行了多段工业应用,对于油气管道变形特征的识别率高,能清晰地识别油气管道的典型特征。系统在现场应用时,采集到如图7所示的一些典型特征,可见信号特征辨识度高。
图7 管道缺陷典型特征
从某地φ355 mm油气管道变形内检测数据分析报告中,提取了3处较大变形,见表3。
表3 管道几何变形分析数据点
根据表3的数据分析结果进行了开挖验证,实际开挖情况见图8。
图8 管道内检测几何变形开挖验证
通过对表3与图8的数据进行对比分析,系统变形检测数据与实际开挖验证数据有一定误差,开挖数据最大误差为0.71 mm,精度满足项目要求。
本文设计的基于STM32片内ADC实现多通道数据实时采集系统,对电压信号采集实时性好、分辨率高(12 bit)、精度高(0.6‰)、采样率高(2.66~86.67 ksps)。本文通过纯ARM架构解决了结构复杂、调试烦琐的问题。对比FPGA+ARM架构,本系统整体功耗降低了50%以上,从根本解决了功耗问题。本系统利用STM32片内ADC,更高效地进行数据采集,节省了独立的ADC,从而也节约了硬件成本。整个系统使用元器件数量更少,解决了设备小型化难题。因此本文研制的设备特点如下:功耗低(<110 mA@5V)、体积小(核心PCB尺寸:40 mm×50 mm)、成本低、可靠性高、安全性好、抗干扰性好。该系统支持多种实时操作系统,如UCOS、FREERTOS、RT-Thread等。其为后续系统级联奠定了基础,该系统的可扩展性增强,更加灵活适用于油气管道内检测。