霍聰穎,張郡亮
(衡水學院 電子信息工程學院,河北 衡水 053000)
衡水湖國家級自然保護區(qū)坐落在河北省衡水、冀州、棗強之間的三角地帶,是華北平原唯一保持沼澤、水域、灘涂、草甸和森林等完整濕地生態(tài)系統(tǒng)的自然保護區(qū),占地面積 283 km2.其生物多樣性十分豐富,以內(nèi)陸淡水濕地生態(tài)系統(tǒng)和國家 I、II級鳥類為主要保護對象[1].衡水湖濕地具有非常明顯的生態(tài)效益,具有涵養(yǎng)水源、調(diào)蓄洪水、保護生物多樣性、保護土壤的重要作用,并且也是重要的旅游資源.目前為止,衡水湖已承辦兩次國際馬拉松體育賽事,日漸成為衡水的一張重要名片.衡水湖的水位影響著衡水湖的水生植被、生態(tài)環(huán)境及衡水周邊地區(qū)及其下游地區(qū)的水產(chǎn)養(yǎng)殖、工業(yè)和農(nóng)業(yè)生產(chǎn)用水等.所以,設(shè)計衡水湖的水位監(jiān)測系統(tǒng)是非常必要的.
水位監(jiān)測系統(tǒng)的功能如下:
1) 采用STC89C52單片機作為主控芯片,實現(xiàn)超聲波測距儀主控功能;
2) 采用液晶屏顯示當前距離等信息;
3) 采用US-100高精度超聲波收發(fā)模塊,提供非接觸式距離測量功能,測距精度達到3 mm;
4) 當測量距離達到預(yù)警范圍時,進行蜂鳴器聲音和燈光報警.
系統(tǒng)主要包括硬件設(shè)計和軟件設(shè)計兩大部分.
本系統(tǒng)硬件部分由單片機STC89C52主控模塊、超聲波收發(fā)模塊、顯示模塊、報警模塊及其他單片機外圍電路組成,如圖 1所示.單片機 STC89C52是整個系統(tǒng)的核心部件,協(xié)調(diào)和控制各部分電路的工作.由于選用的US-100超聲波收發(fā)模塊可以產(chǎn)生40 KHz的方波,故不再需要單片機編程產(chǎn)生40 KHz的方波,直接由超聲波發(fā)射探頭發(fā)射超聲波.單片機在超聲波信號發(fā)射的同時開始計時,超聲波信號在空氣中傳播遇到障礙物后發(fā)生反射,反射的回波信號經(jīng)過超聲波接收模塊處理后輸入到單片機的 INT0端產(chǎn)生中斷,計數(shù)器停止計時.通過計數(shù)器測得的脈沖數(shù)可得到超聲波信號往返所需要的時間,從而達到測距的目的.然后將測量結(jié)果通過 LCD顯示電路顯示到液晶屏上,便可直觀地觀察到測量距離.如果測量距離不在安全水位范圍,這時便觸發(fā)報警電路工作,通過指示燈和蜂鳴器進行聲光報警,整個系統(tǒng)通過協(xié)調(diào)、配合共同實現(xiàn)了超聲波測距的功能[2].
主控制模塊采用的是宏晶公司生產(chǎn)的高性能單片機STC89C52,該芯片是增強型80C51單片機.超聲波模塊與 STC89C52單片機的接口原理圖分別如圖 2所示.超聲波模塊引腳從上至下分別為 VCC、TRIG(控制端)、ECHO(接收端)、OUT(空腳)、GND,其中TRIG為單片機發(fā)送觸發(fā)信號的引腳,ECHO引腳為US-100模塊送回回響信號的引腳,接至單片機外部中斷 P3.2腳上,可以利用外部中斷測量回響信號寬度.當測量距離小于閾值時,單片機通過管腳P3.6發(fā)出燈光報警信號,觸發(fā)LED報警燈亮,同時通過管腳P3.7發(fā)出聲音報警信號beep,該信號用以觸發(fā)蜂鳴器鳴響報警.
圖1 系統(tǒng)原理框圖
圖2 單片機系統(tǒng)接口原理圖
超聲波測距的原理一般采用回波探測法[3].該超聲波收發(fā)模塊可產(chǎn)生 40 KHz的方波,并經(jīng)放大電路驅(qū)動超聲波發(fā)射探頭發(fā)射超聲波,發(fā)射出去的超聲波經(jīng)障礙物反射后由超聲波接收探頭接收.經(jīng)接收電路的檢波放大,積分整形,在ECHO引腳上產(chǎn)生方波脈沖,該脈沖寬度與被測距離成線性關(guān)系.只需要在Trig/TX管腳輸入一個10 us以上的高電平,系統(tǒng)便可發(fā)出8個40 KHz的超聲波脈沖,然后檢測回波信號,當檢測到回波信號后,模塊還要進行溫度值的測量,然后根據(jù)當前溫度對測距結(jié)果進行校正,將校正后的結(jié)果通過 ECHO/RX管腳輸出.在此模式下,模塊將距離值轉(zhuǎn)化為340 m/s時的時間值的2倍,通過ECHO端輸出一個高電平,可根據(jù)此高電平的持續(xù)時間來計算距離值.即距離值 = (高電平時間 × 340 m/s)/2[4].
使用 US-100超聲波收發(fā)模塊進行距離測量時,單片機只需要輸出觸發(fā)信號,并監(jiān)視回響引腳,通過定時器計算回響信號寬度,并換算成距離即可.該模塊簡化了發(fā)送和接收的模擬電路,工作穩(wěn)定可靠.需要注意是測量周期必須在 60 ms以上,防止發(fā)射信號對回響信號的影響.模塊共有兩個接口,即模式選擇跳線和 5pin接口.模式選擇跳線接口設(shè)置為當安裝上短路帽時為UART(串口)模式,拔掉時為電平觸發(fā)模式.
單片機管腳的灌電流比拉電流容量大,所以電路設(shè)計為低電平輸出時蜂鳴器響,高電平關(guān)閉.當單片機P3.7腳輸出低電平時,PNP型三極管8550導通,有集電極電流通過,蜂鳴器鳴響.當P3.7腳輸出高電平時,三極管截止,蜂鳴器關(guān)閉.
顯示模塊部分采用 LCD1602液晶屏進行數(shù)據(jù)顯示,LCD顯示器是利用液晶處理后,便能改變光線的傳輸方向特性來實現(xiàn)信息顯示的.LCD1602液晶屏與單片機接口電路如圖3所示.
圖3 LCD與單片機接口電路
圖4為主程序流程圖.開機后亮燈并發(fā)聲約0.5 s表示開始工作.T0用于記錄發(fā)射至接收的時間間隔t(單位是ms).初始化后,程序控制發(fā)射 40 KHZ的超聲波信號,發(fā)射開始立即啟動定時器 0開始計時.發(fā)射時間為1 ms.CPU接收回波信號后,立即產(chǎn)生INT0中斷同時T0立即停止計數(shù).定時器T0專門用于記錄CPU發(fā)射脈沖信號前沿至回波脈沖信號前沿之問的距離t,由此時間可換算出水面的距離,并決定“嘟”聲間隙.可設(shè)定T1的定時值,用來控制“嘟”聲間隙時間和閃爍顯示時間.水位計算公式為d = (t × 34 cm/ms)/2 = t × 17 cm/ms.
圖4 主程序流程圖
一旦CPU接收到回波信號,外部中斷服務(wù)程序立即啟動,進入外部中斷入口,首先讀取定時器的當前值,讀取完畢,便可以置測量成功標志,此程序便完成進行.具體流程如圖5所示.
圖5 中斷服務(wù)程序流程圖
利用超聲波傳輸距離與時間的關(guān)系,并采用STC89C52單片機進行控制及數(shù)據(jù)處理,設(shè)計出了能精確測量兩點間距離的超聲波水位監(jiān)測儀,可以省去人工測量的成本,具有一定的現(xiàn)實意義.
[1] 韓伏彬,石寶軍.衡水湖濕地生態(tài)建設(shè)“四護”策略構(gòu)想[J].濕地科學與管理,2012,8(2):57-59.
[2] 戴曰章,吳志勇.基于AT89C51單片機的超聲波測距系統(tǒng)設(shè)計[J].計量與測試技術(shù),2005(2):17-18.
[3] 吳勉.超聲波駐車暨倒車雷達系統(tǒng)研制[J].現(xiàn)代電子技術(shù),2007(17):182-183.
[4] 張春光.基于單片機的超聲波測距系統(tǒng)的設(shè)計[J].可編程控制器與工廠自動化,2008(9):16-19.