周琳博
(哈爾濱市水務科學研究院,哈爾濱 150001)
隨著工業生產日趨自動化,對液位檢測技術的要求也越來越高。雖然水箱液位控制器的功能日益趨向于完善,然而水箱液位控制器的許多相關理論與技術仍在不斷發展。本文采用以STC89C52單片機為控制核心,應用超聲波測距模塊HC-SR04,實現了對容器高度為400 cm水箱內的液位高度進行非接觸測量。
超聲波液位測量其實就是要測量超聲波測距儀到液面的距離,如果超聲波測距儀安裝在底部,測得的距離即為液位高度;如果超聲波測距儀安裝在液面上方,需要通過換算來算得液位高度(容器總高度減去測得的距離即為液位高度)。本文選擇把測距儀安裝在液面上面,測距儀安裝相對方便些。超聲波傳感器液位測量方法框圖見圖1。

圖1 超聲波傳感器液位測量方法框圖
由圖1可知,h=H-S,式中S為超聲波測距模塊到液面的距離,可經測量得到;H為超聲波探頭到容器底的距離,需要提前測定;h即為所要測的液位高度。那么可以看出,測量液位的關鍵步驟是對模塊到液面距離的測量,核心理論是超聲波測距原理。
h=H-S
(1)
單片機是整個系統的核心部件,協調各部件的工作。單片機控制發射模塊產生40 kHz的頻率信號來驅動超聲波傳感器,每次發射包含若干個脈沖(發射持續約0.15 ms),當第一個超聲波脈沖發射后,計數器開始計數,在檢測到第一個回波脈沖的瞬間,計數器停止計數,這樣就能夠得到從發射到接收的時間t。最終單片機利用式(1)計算出被測距離,然后與系統預設距離比較,如果小于預設最低液位或者大于預設最高液位,單片機啟動報警電路通知工作人員進行人為干預。完成這些步驟進行第二次超聲波發射。在這個過程中,單片機LED四位數碼管顯示電路不斷更新液位值。
整體電路的控制核心為單片機STC89C52。超聲波發射和接收電路中均對相應信號進行整形及放大,以保證測量結果盡可能精確。超聲波收發模塊通過TRIG、ECHO、VCC、GND 4條口線連接到單片機實現超聲波的發射和接收。
該測距裝置是由超聲波模塊、單片機、LED顯示電路組成。傳感器輸入端與發射接收電路組成超聲波測距模塊,模塊的輸入輸出端與單片機相連接,單片機的輸出端與顯示電路輸入端相連接。
其總體設計框圖見圖2。

圖2 水箱水位控制器系統總體原理框圖
為了提高測量結果的準確性及考慮到人為手動操作的不確定因素所帶來的誤差風險,本設計最后選用HC-SR04超聲波測距模塊。HC-SR04超聲波模塊有兩個探頭,其中一個(TRIG)探頭與單片機P36端口連接負責發射并接收超聲波,另一個(ECHO)探頭與單片機P37端口連接的作用是輸出回響。HC-SR04超聲波測距模塊可提供2~400 cm的非接觸式距離感測功能;測距精度可達高到3 mm;模塊包括超聲波發射器、接收器與控制電路。
1) 實物圖及設計中的接口電路見圖3。

圖3 超聲波模塊實物圖及接口電路
2) 電氣參數見表1。

表1 電氣參數
本文的顯示電路是四位一體的共陽極數碼管及相應的驅動電路組成,段碼由單片機的8位P0端口送到數碼管中顯示時間信息,再由單片機P2端口的低四位控制位選信號。
本系統實現的是液位數值顯示及報警閾值的上下限顯示功能,即分別在四位數碼管的3個顯示界面中進行顯示信息的手動操作切換,并且可以通過第一個獨立按鍵(K1)進行設置功能的控制,再通過第二個獨立按鍵(K2)進行數值的加一控制,通過第三個獨立按鍵(K3)進行數值的減一控制,這使本設計更具實用性、靈活性。本文選用LED數碼管顯示,連接電路圖見圖4。

圖4 LED數碼管顯示電路圖
由于控制器引腳輸出電流過小,無法直接驅動水泵進行工作。所以,本文采用繼電器控制電路來驅動抽水泵和注水泵進行工作。該繼電器控制電路采用低電平控制信號繼電器的吸合,高電平控制信號繼電器的斷開。在自動控制模式下。當液位高度高于設置閾值時,單片機P16端口立即輸出低電平信號,繼電器JDX1立即吸合,抽水泵啟動,進行排水;當液位高度低于設置閾值時,單片機P17端口立即輸出低電平信號,繼電器JDX2立即吸合,注水泵啟動,進行注水;當手動按鍵K4按下時,單片機P16端口也會輸出低電平信號,繼電器JDX1立即吸合,抽水泵啟動,進行排水。本設計的繼電器控制電路圖見圖5。

圖5 繼電器控制電路圖
本系統具體工作過程如下:由超聲波傳感器進行容器內液位高度測量,將測量得到的數據送入STC89C52 單片機進行處理,四位數碼管顯示實時的液位數值,并與程序中設定的報警液位上下限值進行比較。若液位高于設定的上限值,蜂鳴器發出報警,同時單片機控制繼電器帶動抽水泵工作,進行排水;當檢測到液位下降到設定液位上限值以下之后,抽水泵自動停止轉動,蜂鳴器不響,數碼管照常顯示即時液位;若液位低于設定的小限值,蜂鳴器發出報警,同時單片機控制繼電器帶動注水泵工作,進行注水;當檢測到液位上升到設定液位下限值以上之后,注水泵自動停止轉動,蜂鳴器不響,數碼管照常顯示即時液位。該系統主程序流程圖見圖6。

圖6 主程序流程圖
本系統可以完成水箱水位控制器的測量與顯示、容器高度為400 cm的液位自動控制及越限報警等功能,通過軟件程序設置液晶的測量范圍50~300 cm,測量精度可以到達0.5 cm。當液位高度高于設置閾值上限(即300 cm),抽水泵自動啟動進行排水;當液位高度低于設置閾值下限(即50 cm),注水泵自動啟動進行補水。本系統具有結構簡單、靈敏度高、工作穩定等諸多特點。