熊治坤 陳金忠 馬義來 李春雨
(中國特種設(shè)備檢測研究院 北京 100029)
油氣管道幾何變形檢測是油氣管道內(nèi)檢測工作必不可少的一道工序,油氣管道幾何變形檢測設(shè)備的檢測能力直接影響幾何變形檢測結(jié)果的準(zhǔn)確性和可靠性[1-2]。油氣管道的幾何變形檢測,一般需要若干變形傳感器實時并行采集管道變形數(shù)據(jù)[3-4]。尤其對于大管徑油氣管道,可能有數(shù)百個傳感器同時工作。為了解決多路并行數(shù)據(jù)實時采集問題,目前國內(nèi)外設(shè)備多采用FPGA+ARM的架構(gòu)方式[5],基于此架構(gòu)的設(shè)備存在結(jié)構(gòu)復(fù)雜、調(diào)試煩瑣、功耗高、設(shè)備體積大、運行時長受限等弊端[6]。筆者針對以上存在的弊端,研究并實現(xiàn)了基于意法半導(dǎo)體32位微控制器(STM32)的多通道數(shù)據(jù)采集系統(tǒng),成功研制了體積更小、功耗更低、結(jié)構(gòu)簡單、操作便利的智能化油氣管道幾何變形檢測設(shè)備[7]。
系統(tǒng)以STM32F407VET6為核心處理器,通過ADC1的通道IN0~IN15連接16個變形傳感器。該處理器擁有SDIO接口,可以將采集的數(shù)據(jù)實時存入SD/TF卡中。存儲數(shù)據(jù)通過USB拷貝到電腦或者其他存儲介質(zhì)中,也可以取出SD/TF卡進行數(shù)據(jù)拷貝。該系統(tǒng)還具有程序下載/調(diào)試功能(SWD)、慣導(dǎo)系統(tǒng)(INS)數(shù)據(jù)接口(RS422)、上位機通信調(diào)試功能(RS232)等。以STM32F407VET6為主控的硬件系統(tǒng)架構(gòu)如圖1所示。相比以往的FPGA+ARM結(jié)構(gòu),該架構(gòu)不使用FPGA和獨立的ADC芯片,因此功耗可以降低50%以上,操作也更加便捷。
圖1 硬件系統(tǒng)架構(gòu)設(shè)計
STM32F407VET6處理器具有3個12位模數(shù)轉(zhuǎn)換器(ADC),每個ADC可共享16個外部通道,支持單次轉(zhuǎn)換或掃描模式。ADC支持DMA控制器服務(wù)功能。為了同步A/D轉(zhuǎn)換和定時器,ADC可以使用TIM1、TIM2、TIM3、TIM4、TIM5或TIM8定時器中的任何一個觸發(fā)。該處理器自帶ADC,同時具有控制功能,無須使用額外ADC,節(jié)約硬件占用空間。
當(dāng)VDDA= 2.4~3.6 V時,ADC的采樣時鐘支持0.6~36 MHz。ADC支持6、8、10、12 bit四種分辨率,分辨率越低,全部轉(zhuǎn)換時間越小。在fADC為 30 MHz,分辨率為12 bit的條件下,全部轉(zhuǎn)換時間(含采樣時間)為0.5~16.4 μs,這完全滿足油氣管道變形數(shù)據(jù)采樣率1 ksps的要求。
因此本系統(tǒng)通過定時器觸發(fā)ADC1采集傳感器信號,數(shù)據(jù)每秒存儲1次,通過SDIO方式存儲在TF/SD卡中,可支持儲存卡容量高達256 GB。數(shù)據(jù)采集與存儲原理圖如圖2所示。
圖2 基于STM32的數(shù)據(jù)采集與存儲原理
系統(tǒng)的處理器內(nèi)核采用ARM? 32-bit Cortex?-M4 CPU,帶有FPU,工作主頻最高可達168 MHz;自帶存儲:1 MB Flash,192+4 KB SRAM,支持擴展NOR/NAND Flash、SRAM等;具有16-stream DMA,并帶有FIFO和支持突發(fā)模式。
系統(tǒng)采用內(nèi)置鋰電池和外置電池組雙電源供電模式,其中內(nèi)置鋰電池為主板供電,外置鋰電池組同時為系統(tǒng)主板、傳感器和INS供電,雙電源模式提高了系統(tǒng)的穩(wěn)定性與可靠性。系統(tǒng)工作電壓設(shè)計為3.3 V,通過AMS1117-3.3芯片進行電源轉(zhuǎn)換并提供3.3 V工作電壓,具體原理圖設(shè)計如圖3所示。
系統(tǒng)通過USB實現(xiàn)上位機PC對信號數(shù)據(jù)的拷貝。INS提供設(shè)備運行姿態(tài)、里程等重要數(shù)據(jù),其接口通過串口2經(jīng)過MAX490ESA芯片轉(zhuǎn)換為RS422接口,具備抗干擾能力強、傳輸距離遠、適應(yīng)環(huán)境條件更苛刻的特點。系統(tǒng)的程序下載與調(diào)試接口采用了SWD方式,相比常規(guī)調(diào)試接口,節(jié)約IO資源。系統(tǒng)擁有2個指示燈,LED2常亮標(biāo)識系統(tǒng)供電正常,LED1常亮標(biāo)識系統(tǒng)處于運行模式,1 s閃爍1次標(biāo)識系統(tǒng)處于調(diào)試模式。原理圖設(shè)計如圖3所示。
圖3 電源供電與其他接口
軟件系統(tǒng)主要包括系統(tǒng)初始化、調(diào)試模式、運行模式。系統(tǒng)初始化部分主要包括HAL初始化、系統(tǒng)時鐘配置、延時初始化、GPIO初始化、RTC初始化、UART初始化、USMART初始化、TIMER初始化、SRAM初始化、SD初始化、USB初始化、AD初始化、DMA配置等。系統(tǒng)上電完成初始化,通過外部輸入進入調(diào)試狀態(tài)或運行狀態(tài)。調(diào)試模式包括參數(shù)配置、信號調(diào)試及系統(tǒng)供電檢測。運行模式包括4個功能:數(shù)據(jù)采集、數(shù)據(jù)存儲、供電檢測、日志文件。軟件系統(tǒng)功能模塊如圖4所示。
圖4 程序功能結(jié)構(gòu)
系統(tǒng)的嵌入式程序基于MDK V5平臺進行開發(fā),主頻配置為168 MHz,APB2時鐘配置為84 MHz,ADC采樣時鐘配置為21 MHz。ADC采集支持多種模式,為提高速度和性能,本系統(tǒng)啟用ADC1時,采用定時+DMA模式。ADC1基于定時器TIMER2每1 ms觸發(fā)1次采集,配置DMA2傳輸數(shù)據(jù)。
系統(tǒng)配置ADC1的通道IN0~IN15進行數(shù)據(jù)采集,通過嵌入式程序配置系統(tǒng)時鐘為168 MHz,TIMER2定時間隔為1 ms,ADC采樣時鐘為fADC=21 MHz,分辨率配置為12 bit。數(shù)據(jù)采集通過DMA方式啟動,一次采集16個通道的數(shù)據(jù)。使用高速示波器(Tektronix MSO58)測量系統(tǒng)輸出低電平脈寬,實現(xiàn)16個通道數(shù)據(jù)全部采集并完成轉(zhuǎn)換使用的總時長的測量。本文驗證了6種采樣時間,分別為3、56、84、112、144、480個采樣時鐘,分別對應(yīng)圖 5中(a)~(f)。全部轉(zhuǎn)換時間通過高速示波器(Tektronix MSO58)捕獲測量系統(tǒng)輸出低電平脈寬,具體如圖5所示。圖5中(a)~(f),使用示波器測量不同采樣周期下,ADC采集16個通道數(shù)據(jù)的總計使用時間,并與理論耗時進行對比驗證。實驗驗證了6組數(shù)據(jù),計算了數(shù)據(jù)采樣率范圍在2.66~86.2 ksps,為后續(xù)變形設(shè)備數(shù)據(jù)采樣率選取提供了依據(jù)。
圖5 ADC總采集轉(zhuǎn)換時長
圖5 ADC總采集轉(zhuǎn)換時長(續(xù))
將圖5中數(shù)據(jù)整理到表 1中并進行分析,可以得出實際測量值比理論值略大,因系統(tǒng)輸出狀態(tài)翻轉(zhuǎn)、函數(shù)調(diào)用還需要消耗時間??傮w誤差在1%以內(nèi)。16個通道最長的轉(zhuǎn)換時間約為375.378 μs(480個采樣時鐘),據(jù)此計算,16通道的數(shù)據(jù)采樣率可以達到2.66 ksps,滿足油氣管道變形數(shù)據(jù)采樣率的要求。16個通道最少的轉(zhuǎn)換時間不超過11.538 μs(3個采樣時鐘),則16個通道的數(shù)據(jù)采樣率可以達到86.67 ksps,若將采樣時鐘頻率提高,數(shù)據(jù)采樣率還可以進一步提高。
表1 理論值與測量值對比
系統(tǒng)通過ADC采集14種不同的電壓數(shù)據(jù),同時采用是德科技KEYSIGHT高精度萬用表3458A測量電壓數(shù)據(jù),并將2組進行統(tǒng)計和對比(見表 2),并繪制2組數(shù)據(jù)曲線(如圖6所示)。數(shù)據(jù)對比結(jié)果表明,ADC數(shù)據(jù)采集整體一致性良好,線性度良好,采集數(shù)據(jù)誤差在0.6‰以內(nèi),結(jié)果符合預(yù)期,滿足油氣管道變形數(shù)據(jù)采集精度要求。
圖6 ADC 數(shù)據(jù)采集實驗
表2 實測值與ADC采樣值對比
該系統(tǒng)應(yīng)用于φ355 mm油氣管道變形內(nèi)檢測,在多個現(xiàn)場進行了多段工業(yè)應(yīng)用,對于油氣管道變形特征的識別率高,能清晰地識別油氣管道的典型特征。系統(tǒng)在現(xiàn)場應(yīng)用時,采集到如圖7所示的一些典型特征,可見信號特征辨識度高。
圖7 管道缺陷典型特征
從某地φ355 mm油氣管道變形內(nèi)檢測數(shù)據(jù)分析報告中,提取了3處較大變形,見表3。
表3 管道幾何變形分析數(shù)據(jù)點
根據(jù)表3的數(shù)據(jù)分析結(jié)果進行了開挖驗證,實際開挖情況見圖8。
圖8 管道內(nèi)檢測幾何變形開挖驗證
通過對表3與圖8的數(shù)據(jù)進行對比分析,系統(tǒng)變形檢測數(shù)據(jù)與實際開挖驗證數(shù)據(jù)有一定誤差,開挖數(shù)據(jù)最大誤差為0.71 mm,精度滿足項目要求。
本文設(shè)計的基于STM32片內(nèi)ADC實現(xiàn)多通道數(shù)據(jù)實時采集系統(tǒng),對電壓信號采集實時性好、分辨率高(12 bit)、精度高(0.6‰)、采樣率高(2.66~86.67 ksps)。本文通過純ARM架構(gòu)解決了結(jié)構(gòu)復(fù)雜、調(diào)試煩瑣的問題。對比FPGA+ARM架構(gòu),本系統(tǒng)整體功耗降低了50%以上,從根本解決了功耗問題。本系統(tǒng)利用STM32片內(nèi)ADC,更高效地進行數(shù)據(jù)采集,節(jié)省了獨立的ADC,從而也節(jié)約了硬件成本。整個系統(tǒng)使用元器件數(shù)量更少,解決了設(shè)備小型化難題。因此本文研制的設(shè)備特點如下:功耗低(<110 mA@5V)、體積小(核心PCB尺寸:40 mm×50 mm)、成本低、可靠性高、安全性好、抗干擾性好。該系統(tǒng)支持多種實時操作系統(tǒng),如UCOS、FREERTOS、RT-Thread等。其為后續(xù)系統(tǒng)級聯(lián)奠定了基礎(chǔ),該系統(tǒng)的可擴展性增強,更加靈活適用于油氣管道內(nèi)檢測。