陳鴻鵬(威海市特種設(shè)備檢驗(yàn)研究院,山東 威海 264200)
隨著工業(yè)規(guī)?;途?xì)化的不斷發(fā)展,壓力管道的數(shù)量也在不斷增加,作為一類重要的特種設(shè)備,壓力管道需要定期進(jìn)行檢驗(yàn)。根據(jù)TSG D0001—2009《壓力管道安全技術(shù)監(jiān)察規(guī)程—工業(yè)管道》規(guī)定[1],一般情況下,壓力管道的檢驗(yàn)人員在檢驗(yàn)過程中需要審查壓力管道設(shè)計(jì)、安裝、使用的相關(guān)資料。實(shí)際檢驗(yàn)過程中,部分壓力管道使用單位的安裝竣工資料由于保存不當(dāng)圖紙丟失以及檢驗(yàn)人員對壓力管道的相關(guān)資料存在懷疑時(shí),需要對壓力管道進(jìn)行現(xiàn)場測量,重新繪制壓力管道單線圖。對于戶外較為復(fù)雜或者長度較長的壓力管道,激光測距儀、卷尺、羅盤等傳統(tǒng)測量方法工作效率不高,檢驗(yàn)人員的大量精力用在測量和繪制單線圖的工作中來,由于傳統(tǒng)測量操作不便、需要人工記錄和分析數(shù)據(jù)等原因,已經(jīng)不能完全滿足檢驗(yàn)工作高效、精確的要求。本文通過利用STM32單片機(jī)、GNSS差分定位和氣壓定高等,對戶外壓力管道的重要坐標(biāo)點(diǎn)進(jìn)行三維坐標(biāo)的測量,自動(dòng)記錄和繪制壓力管道單線圖,可以實(shí)現(xiàn)管道關(guān)鍵測量點(diǎn)數(shù)據(jù)的準(zhǔn)確、高速記錄,提高壓力管道檢驗(yàn)的速度和效率。后期也可以利用地圖軟件SDK等二次開發(fā),以直觀形式復(fù)原壓力管道的實(shí)際位置和分布。
壓力管道測量系統(tǒng)的硬件組成如圖1所示。本系統(tǒng)主要由STM32F103單片機(jī)控制模塊和GNSS雙模接收模塊、BMP280高度氣壓傳感模塊、TFT顯示屏模塊、SD卡記錄模塊及控制按鈕6個(gè)部分組成,另外有1組RS232通訊接口方便接入PC機(jī)或其他終端。其中STM32F103控制模塊作為程序控制單元,通過接收來自GNSS北斗接收機(jī)、BMP280高度氣壓計(jì)等傳感器的數(shù)據(jù),計(jì)算出被測測量點(diǎn)的坐標(biāo)數(shù)據(jù)和相對高度數(shù)據(jù),通過SD卡模塊記錄各測量點(diǎn)的數(shù)據(jù),并通過TFT顯示屏模塊實(shí)時(shí)繪制管道走向的基本圖像縮略圖,便于檢驗(yàn)人員現(xiàn)場參考。后期通過PC軟件讀取SD卡記錄的坐標(biāo)和標(biāo)記信息,可以生成和導(dǎo)出壓力管道的矢量圖。
圖1 系統(tǒng)硬件構(gòu)成
系統(tǒng)使用意法半導(dǎo)體STM32F103ZET6芯片,該芯片集成72MHz高性能ARM RISC內(nèi)核,擁有兩個(gè)I2C、三個(gè) SPI、一個(gè) SDIO、五個(gè) USART、一個(gè) USB和一個(gè)CAN,可在-40至+105 ℃的溫度范圍內(nèi)工作,電源電壓為2.0至3.6 V。利用該芯片的各種端口實(shí)現(xiàn)通訊、顯示、輸入輸出和存儲(chǔ)功能。
由于普通民用級單點(diǎn)定位精度普遍在1~2 m之內(nèi),為進(jìn)一步提高定位精度,采取使用RTK差分定位技術(shù)的定位模塊。系統(tǒng)使用1顆國產(chǎn)BDP2620北斗、GPS雙模定位模組作為定位接收機(jī),芯片內(nèi)置螺旋天線,串口波特率4 800~230 400 bps,通訊協(xié)議NMEA-0183,捕獲追蹤靈敏度不低于-165 dBm,數(shù)據(jù)刷新率1 Hz或5 Hz。RTK模式下單點(diǎn)定位精度0.1~0.15 m,采取串口通訊,可以滿足管道單線圖記錄精度要求。
系統(tǒng)使用BMP280大氣壓強(qiáng)傳感器模塊作為高度數(shù)據(jù)來源,該模塊采用I2C接口,相對絕對精度0.02 hPa(典型值),數(shù)據(jù)刷新率不低于20 Hz。
系統(tǒng)選取國產(chǎn)5英寸320×240分辨率TFT顯示屏,顯示屏采用8線SPI接口,由STM32單片機(jī)直接驅(qū)動(dòng),最高亮度不低于400 nit,基本滿足戶外顯示亮度要求。
SD卡記錄模塊型號CH376S,兼容5 V和3.3 V電平,采用8線SPI接口,SD卡文件采用FAT32格式。
系統(tǒng)采用串口接口實(shí)現(xiàn)RS232協(xié)議,采用DB25型連接接頭,可以方便接入PC或者其他終端,通訊使用接收、發(fā)送、接地三條線,實(shí)現(xiàn)全雙工通信,默認(rèn)傳送速率9 600 bps。另外有一條USB通訊接口,主要用于上機(jī)位,實(shí)現(xiàn)程序上傳、調(diào)試等功能。
電源采取4.2 V的鋰電池模塊供電,鋰電池自帶保護(hù)電路,外置AC/DC USB Tpye-C充電接口。內(nèi)部使用DC/DC升降壓電路實(shí)現(xiàn)3.3 V和5 V電壓的輸出。
將GNSS北斗接收機(jī)接入串口通訊接口,高度計(jì)接入I2C接口,SD卡模塊和顯示屏模塊分別接入SPI接口,接好控制按鈕等其他輔助電路。
系統(tǒng)的數(shù)據(jù)處理流程如圖2所示,主要分為數(shù)據(jù)輸入、處理和輸出三個(gè)部分。
圖2 數(shù)據(jù)處理流程
GNSS定位芯片首次通電后進(jìn)行冷啟動(dòng),開始搜索衛(wèi)星信號,同時(shí)利用協(xié)議輸出未定位的信號。衛(wèi)星鎖定一定數(shù)量衛(wèi)星信號后將開始輸出定位信息,通過協(xié)議傳送至單片機(jī),單片機(jī)將數(shù)據(jù)轉(zhuǎn)換為經(jīng)度和維度的二維坐標(biāo)數(shù)值,生成坐標(biāo)數(shù)組。根據(jù)兩點(diǎn)坐標(biāo)數(shù)值的不同,通過以下公式計(jì)算出兩點(diǎn)間的距離:
根據(jù)地球直徑,計(jì)算出兩測量點(diǎn)的距離,使用以下公式計(jì)算:
其中R1為1經(jīng)度的實(shí)際距離,取111 712.691 506 410 557 299 843 014 128 73 m;R2為1維度的實(shí)際距離,取R2為102 834.742 580 260 897 860 136 774 762 85 m。
然后使用勾股定理計(jì)算出兩點(diǎn)間的實(shí)際距離Ds。
因GNSS定位模塊在RTK高精度模式下的刷新率為1 Hz,考慮到實(shí)際現(xiàn)場測定效率,不采取其他濾波算法,采取取樣3次取平均值的方式縮小系統(tǒng)誤差。
衛(wèi)星定位也能提供高度數(shù)據(jù),但數(shù)據(jù)大多為橢球高度,與實(shí)際海拔高度存在一定誤差。故采用氣壓高度計(jì)的方法獲取各測量點(diǎn)的高度。以首次測量點(diǎn)的高度值作為基準(zhǔn)高度,所有測量點(diǎn)的海拔高度利用以下海拔-大氣壓高度公式[2]計(jì)算:
式中:P0取標(biāo)準(zhǔn)大氣壓101.325 kPa。
對氣壓傳感數(shù)據(jù),在20 Hz采樣過程中,發(fā)現(xiàn)仍有部分?jǐn)?shù)值偏離較大,出現(xiàn)數(shù)據(jù)抖動(dòng)情況,故采取卡爾曼濾波算法以提高數(shù)據(jù)穩(wěn)定性。在不考慮其他因素影響下,可以建立單模型的一階卡爾曼濾波,主要算法如下:
上一個(gè)最優(yōu)值對應(yīng)的協(xié)方差:
式中:P(k|k-1)為根據(jù)上一測量值預(yù)測的協(xié)方差;P(k-1|k-1)為上一次計(jì)算的最優(yōu)值;Q為過程誤差。
卡爾曼增益:
式中:R為測量誤差。
計(jì)算出本次結(jié)果對應(yīng)的協(xié)方差:
計(jì)算出本次數(shù)值的最優(yōu)解:
式中:X(k|k-1)為根據(jù)上一測量值預(yù)測的結(jié)果;X(k-1|k-1)為上一次計(jì)算的最優(yōu)解;Z(k)為實(shí)際測量值。
根據(jù)以上濾波算法進(jìn)行編程上機(jī)測試,在封閉容器內(nèi)通入壓縮空氣逐步加壓,模擬不同氣壓值下的狀態(tài)并讀取傳感器的數(shù)值,如圖3所示。測試發(fā)現(xiàn)傳感器讀數(shù)在實(shí)際值附近呈現(xiàn)隨機(jī)抖動(dòng)分布。經(jīng)過卡爾曼算法濾波后,計(jì)算數(shù)據(jù)有很好的跟隨性和平滑性,能夠有效過濾掉數(shù)據(jù)中偏離較大的值,提高了數(shù)據(jù)的穩(wěn)定性和有效性。在實(shí)際操作中需要根據(jù)數(shù)據(jù)的特性確定起始的Q值和R值,其中Q值過大,動(dòng)態(tài)響應(yīng)較快,但收斂速度變慢,R值過大,收斂速度變快,但動(dòng)態(tài)響應(yīng)變慢。所以要針對數(shù)據(jù)采樣頻率和數(shù)據(jù)離散特性,通過實(shí)驗(yàn)獲取最為符合的設(shè)定值,以獲得最符合的動(dòng)態(tài)響應(yīng)和數(shù)據(jù)收斂。一階卡爾曼濾波是對離散型數(shù)據(jù)的實(shí)際值進(jìn)行收斂式的計(jì)算預(yù)測,收斂速度和數(shù)據(jù)量及離散特性緊密相關(guān),計(jì)算時(shí)要盡可能使用原始采集數(shù)據(jù),以避免數(shù)據(jù)在經(jīng)過處理后增大系統(tǒng)誤差從而偏離實(shí)際數(shù)值。
圖3 氣壓傳感器的卡爾曼濾波
系統(tǒng)使用串口命令對SD卡記錄模塊進(jìn)行操作,SD卡使用FAT32文件格式,在目錄下利用命令建立pipeline+建立時(shí)間.txt文件,將坐標(biāo)點(diǎn)的相關(guān)信息以數(shù)組的形式寫入文件,數(shù)據(jù)格式為編號+坐標(biāo)+大氣壓強(qiáng)+時(shí)間+測量點(diǎn)類型,具體如下:
記錄完成后,可以方便拷貝留存。
壓力管道現(xiàn)場測定坐標(biāo)流程如圖4所示,主要包含了資料確認(rèn)、現(xiàn)場關(guān)鍵點(diǎn)測量和數(shù)據(jù)記錄等步驟。
圖4 管道單線圖繪制流程
如圖5所示,如果不對關(guān)鍵點(diǎn)進(jìn)行類型的標(biāo)記,相鄰測量點(diǎn)的連線繪制將有多種不同結(jié)果,無法根據(jù)測量點(diǎn)準(zhǔn)確繪制管道走向。為避免此類問題,在經(jīng)過點(diǎn)進(jìn)行標(biāo)記時(shí),設(shè)定測量點(diǎn)類型為單點(diǎn)、連接點(diǎn)、三通、焊口。實(shí)際檢驗(yàn)過程中由檢驗(yàn)人員確定測量點(diǎn)的類型,此時(shí)管道的走向具有唯一性。為減少輸入復(fù)雜性,該數(shù)據(jù)的編號由系統(tǒng)自動(dòng)賦值。
壓力管道單線圖能夠一目了然地了解整個(gè)管線系統(tǒng)的空間走向和位置,繪制時(shí)可以采用傾斜投影的方法,以X軸表示南北方向,Y軸表示東西方向,Z軸表示高度方向。單線圖上標(biāo)記管道走向、焊口編號和管道材質(zhì)代號等基本信息。
Z軸方向采用以首個(gè)測定點(diǎn)高度作為Z=0的基準(zhǔn)高度,其他測定點(diǎn)根據(jù)動(dòng)態(tài)縮放比例線性縮放。
X軸方向,程序使用冒泡法遍歷測定點(diǎn)的經(jīng)度坐標(biāo),選取經(jīng)度最小值的測定點(diǎn)作為X=0基準(zhǔn),其他測定點(diǎn)的X、Y軸坐標(biāo)參照下列公式計(jì)算:
式中:Y(k-1)為上一個(gè)測量點(diǎn)的坐標(biāo);Y(k)為目前測量點(diǎn)的坐標(biāo)。
以第一個(gè)測定點(diǎn)向經(jīng)度增大方向(東)尋找最近的相連測定點(diǎn),重復(fù)上面計(jì)算,直到計(jì)算結(jié)束,所有管道的坐標(biāo)完成轉(zhuǎn)換。
PC端軟件采用C++語言開發(fā),相關(guān)算法與顯示屏顯示算法基本一致,增加BMP格式的圖像導(dǎo)出功能。
程序設(shè)置Xs[xmin,xmax]和Ys[ymin,ymax]共2個(gè)數(shù)組,記錄所測數(shù)據(jù)的極值,利用以下公式計(jì)算出各方向上顯示屏合理的縮放比例:
式中:Xp為顯示屏在X方向上的分辨率;Xk為預(yù)留空白邊界大小。
同樣計(jì)算出Sy,兩者以最大者作為最終縮放比例,保證在管道測定中,管道單線圖能夠隨著測量的進(jìn)行合理縮放。
將各硬件設(shè)備按照設(shè)計(jì)進(jìn)行連接,程序?qū)懭雴纹瑱C(jī),開機(jī)測試正常通電后,到某管道使用地點(diǎn)進(jìn)行實(shí)地測量。經(jīng)過測試,該系統(tǒng)自通電至GNSS定位精度達(dá)到要求,共計(jì)使用28 s?,F(xiàn)場測量計(jì)算數(shù)據(jù)如圖所示,包含常見管道的上下以及水平方向的常見走向,測試中共定位壓力管道管段6段,管道測定長度與實(shí)際測定長度統(tǒng)計(jì)如表1所示。
表1 系統(tǒng)實(shí)際測試數(shù)據(jù)
由此可以看出,相關(guān)測定點(diǎn)的標(biāo)記在水平方向上精度較高,誤差均不高于0.2 m;垂直方向精度誤差均小于0.2 m,符合壓力管道檢驗(yàn)單線圖繪制的要求,各個(gè)測量點(diǎn)標(biāo)記基本準(zhǔn)確,圖像繪制符合實(shí)際走向。
導(dǎo)出pipeline20220204081215.txt文件至PC端,導(dǎo)入到單線圖生成軟件,實(shí)際繪制圖像如圖5所示。
圖5 電腦端繪制管道單線圖
生成的管道單線圖草圖可以導(dǎo)出為圖像文件,方便用于檢驗(yàn)報(bào)告中。
本文設(shè)計(jì)的壓力管道單線圖輔助測量繪制系統(tǒng),通過使用較為常見的STM32單片機(jī)和北斗定位模塊、高度計(jì)等模塊,實(shí)現(xiàn)了對壓力管道各測量點(diǎn)坐標(biāo)較為精確的記錄,通過坐標(biāo)變換,可以實(shí)時(shí)顯示壓力管道的縮略圖。經(jīng)過實(shí)際測試,各傳感器工作正常,測量點(diǎn)獲取快速準(zhǔn)確,圖形繪制符合管道的基本走向,數(shù)據(jù)記錄完整有效,是提高壓力管道檢驗(yàn)工作效率的有效方式。后期可以采取更高分辨率和尺寸的顯示屏提高顯示觀感,增加手動(dòng)縮放功能以滿足對細(xì)節(jié)查看的需求,也可以利用加速度計(jì)、GNSS數(shù)據(jù)和高度計(jì)的融合計(jì)算,進(jìn)一步提高坐標(biāo)數(shù)據(jù)的精確度。