張軍鋒,李 春,何明敏,羅 翔
(國家管網(wǎng)集團北方管道有限責(zé)任公司鄭州輸油氣分公司,河南 鄭州 450008)
截至2020年底,我國油氣管道總里程已經(jīng)達到16.5 萬公里;預(yù)計到2025年,我國長輸管道總里程將超過24 萬公里。隨著城市的高速發(fā)展,原有管道路線因無法適應(yīng)新時期的城市規(guī)劃、距離人口密集區(qū)過近等問題,存在不少安全隱患,因此管道局部遷移已成為常態(tài)。在管道局部改線遷移過程中,封堵作業(yè)的安全實施是管線改遷工程順利實現(xiàn)的前提,而精準測距是封堵作業(yè)高效完成的重中之重,決定著管線改遷工作的成敗,更關(guān)系著施工人員的人身安全。因此,設(shè)計一款具有高精度、高穩(wěn)定性的超聲測距裝置迫在眉睫。
本文的超聲測距裝置由51 單片機、超聲波傳感器HCSR04、溫度傳感器DS18B20及液晶顯示模塊LCD1602等組成,采用C 語言編寫上位機程序。單片機發(fā)送指令后,超聲測距傳感器發(fā)射口發(fā)射相應(yīng)的信號,待信號遇到障礙物反射回來,并由超聲測距裝置接收口接收后,對時間信號進行預(yù)處理,濾除噪聲等干擾;之后將處理過的信號上傳至單片機進行距離測算,實現(xiàn)精準測距,并將測算結(jié)果顯示在LCD1602 液晶屏上[1-4]。系統(tǒng)測距流程如圖1所示。
圖1 系統(tǒng)測距流程
STC89C51RC 系列單片機是宏晶科技出品的具備高速、抗靜電、低功耗(掉電模式下功耗約0.5 μA,空閑模式下功耗約2 mA,正常工作模式下功耗約4~7 mA)特點,且具有超強抗干擾能力的新一代單片機,其指令代碼完全兼容傳統(tǒng)8051 單片機。STC89C51RC 系列單片機的工作頻率范圍為0~40 MHz,工作電壓范圍為3.4~5.5 V(5 V 單片機)或2.0~3.8 V(3 V 單片機),工作溫度范圍為-40~85 ℃(工業(yè)級)/0~75 ℃(商業(yè)級),片上集成512/1 280 B 的RAM,具有32 個或36 個通用I/O 口[5-7],不僅能夠滿足當(dāng)前應(yīng)用,更便于后期進行功能擴展。
選用STC89C51RC 系列單片機時需注意,其P0 口既可作為輸入/輸出口,也可作為地址/數(shù)據(jù)復(fù)用總線;P0 口內(nèi)部無上拉電阻,故I/O 口需外接上拉電阻;當(dāng)P0 口作為地址/數(shù)據(jù)復(fù)用總線時,無需外接上拉電阻。
HC-SR04 超聲波測距傳感器具備2~400 cm 的非接觸式距離量測功能,其測距精度高達3 mm。該超聲波測距傳感器采用I/O 口TRIG 觸發(fā)測距,由相應(yīng)模塊自動發(fā)送40 kHz 方波(在超聲測距過程中,頻率的選取對測量結(jié)果會產(chǎn)生較大影響,若頻率過低,則外界雜音影響較大;若頻率過高,則傳播衰減較大,故選擇40 kHz 超聲波),并自動檢測是否有信號返回。如若收到返回信號,則通過I/O 口ECHO 輸出高電平[8-10]。測距公式為:
式中,聲速為340 m/s。
在使用該超聲測距模塊進行設(shè)計時需注意如下事項:
(1)該模塊不宜帶電連接,如若帶電連接,則須先連接模塊的GND 端,否則會影響模塊正常工作。
(2)在進行超聲測距時,需保證被測物體的面積大于或等于0.5 m2,且被測物體保持平整,否則會影響測量結(jié)果。
超聲波時序如圖2所示;模塊電氣參數(shù)見表1 所列。
圖2 超聲波時序
表1 電氣參數(shù)
溫度傳感器選用DS18B20。DS18B20 是美國DALLAS公司出品的可編程分辨率的單總線數(shù)字溫度傳感器,通過單線接口發(fā)送、接收命令,具有體積小、功耗低、結(jié)構(gòu)簡單、用戶可自行設(shè)定閾值等優(yōu)點,僅需一個微控制器即可控制多個DS18B20[11-13]。該溫度傳感器的溫度測量范圍為-55~125 ℃(若測量溫度范圍為-10~85 ℃,則該傳感器精度為±0.5 ℃);工作電壓范圍為3.0~5.5 V,其在寄生電源方式下可由數(shù)據(jù)線供電;支持多點組網(wǎng)、多點測溫;測量結(jié)果為數(shù)字溫度信號,通過串行方式發(fā)送至上位機(同時還可傳送CRC 校驗碼),糾錯、抗干擾能力強。
由于封堵現(xiàn)場處于野外,傳感器需在高溫、嚴寒的環(huán)境下工作,故本系統(tǒng)選擇DS18B20 溫度傳感器。該傳感器內(nèi)含低溫度系數(shù)晶振,其晶振頻率受溫度影響小,可將產(chǎn)生的固定頻率脈沖信號傳送至減法計數(shù)器;而隨著溫度的改變,高溫度系數(shù)晶振的振蕩頻率會發(fā)生明顯變化,其產(chǎn)生的信號將作為減法計數(shù)器的脈沖輸入,使得惡劣的野外環(huán)境對DS18B20 影響微乎其微,故其是室外溫度傳感器的首選。
51 單片機控制DS18B20 進行溫度轉(zhuǎn)換時需在每次讀寫前對DS18B20 復(fù)位,成功后發(fā)送ROM 指令與RAM 指令對DS18B20 進行預(yù)定操作。復(fù)位時主CPU 將數(shù)據(jù)線下拉500 μs后釋放,待DS18B20 收到信號后等待16~60 μs,并發(fā)送60~240 μs 的低脈沖,主CPU 收到該信號則表明此時已復(fù)位成功。
在使用該溫度傳感器進行設(shè)計時需注意如下事項:
(1)為順利讀取測溫結(jié)果,在對DS1820進行讀寫編程時,必須嚴格保證其讀寫時序。
(2)單總線上掛載的DS1820 不能超過8 個,否則需要考慮微處理器的總線驅(qū)動問題。
(3)總線電纜存在長度限制,在設(shè)計時需要考慮阻抗匹配、總線分布電容等問題。
(4)在進行硬件連接和軟件設(shè)計時需避免程序進入“死循環(huán)”。
溫度傳感器DS18B20 的引腳排列如圖3所示,內(nèi)部結(jié)構(gòu)如圖4所示。
圖3 DS18B20 的引腳排列
圖4 DS18B20 的內(nèi)部結(jié)構(gòu)
液晶模塊選用LCD1602。LCD1602 字符型液晶顯示屏由若干個5×7 或5×11 的點陣字符位組成,每個點陣字符位都可以顯示一個字符。該顯示屏是專用于顯示字母、數(shù)字、符號等的點陣型液晶模塊。LCD1602 液晶顯示屏顯示的內(nèi)容為16×2(顯示兩行),每行擁有16 個字符液晶模塊(顯示字符和數(shù)字)[14]。LCD 接口電路如圖5所示。
圖5 LCD 接口電路
圖5 中,RS 為數(shù)據(jù)/命令選擇端;RW 為讀寫選擇端;E 為使能信號。在使用該液晶顯示模塊時需注意,每次對控制器進行讀寫操作前,必須進行讀寫檢測,但由于液晶控制器的反應(yīng)速度快于單片機的操作速度,因此也可不檢測,或僅進行短延時。
測算距離的部分程序如圖6所示。
圖6 測算距離程序(部分)
基于51 單片機的超聲測距裝置實物及測試效果如圖7所示。文中研發(fā)設(shè)計的系統(tǒng)經(jīng)封堵現(xiàn)場驗證,運行穩(wěn)定,達到了預(yù)期效果。
圖7 系統(tǒng)實物及測試效果
本文設(shè)計的基于51 單片機的超聲測距裝置原理清晰、結(jié)構(gòu)簡單、使用方便。經(jīng)封堵現(xiàn)場測試,該裝置運行穩(wěn)定,測量數(shù)值精確;相比人工手動測試,大大縮短了測試時間,提高了測試效率,具有較高的應(yīng)用價值。