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