徐旭,陳曦
(中科芯集成電路有限公司,江蘇無錫,214072)
船舶是一種重要的交通運輸工具,其運輸成本低、載貨量大,但較大的噸位也導致船舶的機動性較差,船舶碰撞事故屢有發(fā)生,造成了巨大的生命財產(chǎn)損失。因此,有必要實現(xiàn)船舶對障礙物的自動預警。
目前,國內(nèi)外的大型船舶一般都配備了較為先進的預警系統(tǒng),但很多經(jīng)濟能力有限的中小型船舶,以及一些安全意識淡薄的漁船并不具備對障礙物的預警能力[1]。因此,有必要開發(fā)一種適用于中小型船舶的性價比較高的自動預警系統(tǒng)。超聲波有著很好的方向性和指向性,并且不易被干擾,在測距領域得到了廣泛應用[2]。市場上的超聲波探頭價格較低,防水性也很好,非常適合用于小型船舶的預警系統(tǒng)。
超聲波測距原理如圖1所示,超聲波發(fā)射探頭發(fā)出超聲波,超聲波在傳播過程中如果遇到障礙物就會發(fā)生反射,回波被接收探頭識別,只要測量出超聲波傳播的時間,就可以計算出超聲波傳播的距離,進而計算出障礙物和超聲波探頭之間的距離[3]。
圖1 超聲波測距原理圖
距離計算公式為:
式中:c為超聲波傳播速度;t為超聲波傳播時間;h為發(fā)射探頭和接收探頭之間的安裝距離。當H遠大于h時,距離計算公式可簡化為:
超聲波與其他聲波一樣,傳播速度受溫度的影響較大,為了提高測量精度,需要對溫度的影響進行補償和校正[4],經(jīng)推導,聲速和溫度的函數(shù)關(guān)系為:
式中:T為環(huán)境溫度。
預警系統(tǒng)主要包括:FPGA(Field Programmable Gate Array 現(xiàn)場可編程門陣列)、超聲波發(fā)射電路、超聲波接收電路、溫度補償模塊、LCD顯示模塊、報警模塊等。系統(tǒng)上電之后,F(xiàn)PGA芯片控制發(fā)射電路驅(qū)動發(fā)射探頭發(fā)出超聲波,同時開始計時,接收電路接收到的回波信號后FPGA停止計數(shù)。通過溫度補償后的聲速和計數(shù)器計數(shù)值換算得到的傳播時間計算出障礙物的距離。通過LCD顯示模塊顯示測量值,如果超出安全值則發(fā)出報警信號。預警系統(tǒng)的總體框圖如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)框圖
目前市場上的超聲波測距儀器多數(shù)是基于MCS-51單片機設計的,由于單片機本身硬件上的限制,導致系統(tǒng)的測量精度一般不高。系統(tǒng)選用Altera公司Cyclone Ⅱ系列的EP2C5T144C8N作為主控芯片,該芯片功耗低,帶有4608個邏輯單元,119808位RAM,89個I/O口,26個M4K存儲塊,13個乘法器,2個鎖相環(huán),其內(nèi)部資源可以滿足系統(tǒng)設計需要。利用FPGA芯片的并行處理能力,可以消除產(chǎn)生激勵信號和啟動計時之間的延時,其較高的工作頻率也保證了計時的精度以及超聲波激勵信號的穩(wěn)定性,從而提高測量精度。
系統(tǒng)采用光耦轉(zhuǎn)換驅(qū)動電路來激勵超聲波換能器發(fā)出超聲波,發(fā)射電路如圖3所示。FPGA產(chǎn)生的40kHz的驅(qū)動信號加載到三極管Q1的基極,增大電流,再接入高速光耦,將直流電壓轉(zhuǎn)換成高壓脈沖。電感L1的感抗和超聲波傳感器的感抗相互抵消,使傳感器表現(xiàn)為純電阻。
圖3 超聲波發(fā)射電路
超聲波在傳播過程中會發(fā)生衰減,如果傳播距離較遠,超聲波接收探頭所接收到的回波信號將非常微弱,一般只有毫伏級別。為了獲得能被FPGA識別的回波信號,采用雙運放NE5532對信號進行放大濾波處理,并利用單向比較器LM311實現(xiàn)對信號的整形。超聲波接收電路如圖4所示。NE5532采用單電源供電,優(yōu)化了電路設計,兩級放大之間的電容C5起到了隔離直流的作用。NE5532的輸出為模擬信號,需要經(jīng)過比較器LM311的處理才能被FPGA識別,可調(diào)電阻R7用來調(diào)節(jié)參考電壓的大小,進而調(diào)節(jié)測距范圍。
圖4 超聲波接收電路
由超聲波測距原理部分的分析可知,聲速是受溫度影響的,為了提高測量精度,需要對聲速進行溫度補償。系統(tǒng)選用DS18B20溫度傳感器進行溫度測量,該溫度傳感器測溫范圍為-55℃~125℃,測量誤差不超過±0.5℃,具有精度高、體積小、線路簡單等優(yōu)點,通過單總線和FPGA相連,提高了抗干擾性。為了便于顯示障礙物的距離,系統(tǒng)選用LCD1602液晶屏作為顯示模塊。該液晶屏具有低電壓、低功耗的優(yōu)點,可以顯示2行16個字符,R17用來調(diào)節(jié)液晶屏亮度。
當檢測到障礙物時,F(xiàn)PGA給蜂鳴器輸入方波信號,驅(qū)動蜂鳴器發(fā)出警報聲。電路連接如圖5所示。
圖5 溫度檢測、顯示和報警模塊電路
系統(tǒng)軟件采用模塊化設計,在QuartusⅡ集成開發(fā)環(huán)境中通過Verilog HDL語言進行設計[5]。FPGA芯片內(nèi)部模塊主要包括:時序發(fā)生模塊、高速計數(shù)模塊、回波識別模塊、溫度補償模塊、顯示模塊、報警模塊、距離計算模塊。其中,時序發(fā)生電路為整個系統(tǒng)提供時鐘信號,是各模塊同步工作的基礎。高速計數(shù)模塊的功能是采樣發(fā)出驅(qū)動信號到接收到回波信號之間的時間差,系統(tǒng)的時鐘頻率越高,計數(shù)精度越高,時間測量也就越準確?;夭ㄗR別模塊的功能是捕獲回波信號的達到時刻,是決定系統(tǒng)穩(wěn)定性的關(guān)鍵。
系統(tǒng)流程圖如圖6所示,系統(tǒng)啟動后,時序發(fā)生電路發(fā)出由8個頻率為40kHz的脈沖信號,激勵發(fā)射電路驅(qū)動超聲波換能器發(fā)出超聲波,延時1μs后高速計數(shù)器開始計數(shù),延時的作用是防止發(fā)射信號被接收電路誤判為回波信號。當回波識別模塊識別到回波時,高速計數(shù)器停止計數(shù),發(fā)出報警信號,超聲波傳播時間t=N/f,其中N為計數(shù)值,f為計數(shù)頻率。距離計算模塊會根據(jù)溫度補償模塊補償后的聲速和時間t計算出障礙物距離。最后控制LCD液晶屏顯示測量結(jié)果。
圖6 系統(tǒng)流程圖
為了驗證超聲波測距的測量精度,在實驗室正對平整墻面進行實驗,實驗中記錄了20次測量結(jié)果,如表1所示。其中,實際距離是用鋼制卷尺測量得到的。由實驗結(jié)果可知,系統(tǒng)的測距范圍在30~1000cm,測量誤差小于1%。
表1 實驗結(jié)果
船舶在航行過程中的機動性相對較差,為了避免碰撞事故的發(fā)生,需要提前識別船舶周圍的障礙物。本文將FPGA和超聲波測距技術(shù)相結(jié)合,設計了一種適用于中小型船舶的預警系統(tǒng)。該系統(tǒng)采用FPGA作為主控芯片,并具有溫度補償功能,從很大程度上提高了測量精度。當檢測到障礙物時,系統(tǒng)會發(fā)出報警,并通過LCD液晶屏實時顯示障礙物的距離,使船舶上的工作人員可以提前做好避障準備。該系統(tǒng)簡單實用,性價比高,具有一定的推廣價值。