周琳博
(哈爾濱市水務(wù)科學(xué)研究院,哈爾濱 150001)
隨著工業(yè)生產(chǎn)日趨自動化,對液位檢測技術(shù)的要求也越來越高。雖然水箱液位控制器的功能日益趨向于完善,然而水箱液位控制器的許多相關(guān)理論與技術(shù)仍在不斷發(fā)展。本文采用以STC89C52單片機為控制核心,應(yīng)用超聲波測距模塊HC-SR04,實現(xiàn)了對容器高度為400 cm水箱內(nèi)的液位高度進行非接觸測量。
超聲波液位測量其實就是要測量超聲波測距儀到液面的距離,如果超聲波測距儀安裝在底部,測得的距離即為液位高度;如果超聲波測距儀安裝在液面上方,需要通過換算來算得液位高度(容器總高度減去測得的距離即為液位高度)。本文選擇把測距儀安裝在液面上面,測距儀安裝相對方便些。超聲波傳感器液位測量方法框圖見圖1。
圖1 超聲波傳感器液位測量方法框圖
由圖1可知,h=H-S,式中S為超聲波測距模塊到液面的距離,可經(jīng)測量得到;H為超聲波探頭到容器底的距離,需要提前測定;h即為所要測的液位高度。那么可以看出,測量液位的關(guān)鍵步驟是對模塊到液面距離的測量,核心理論是超聲波測距原理。
h=H-S
(1)
單片機是整個系統(tǒng)的核心部件,協(xié)調(diào)各部件的工作。單片機控制發(fā)射模塊產(chǎn)生40 kHz的頻率信號來驅(qū)動超聲波傳感器,每次發(fā)射包含若干個脈沖(發(fā)射持續(xù)約0.15 ms),當(dāng)?shù)谝粋€超聲波脈沖發(fā)射后,計數(shù)器開始計數(shù),在檢測到第一個回波脈沖的瞬間,計數(shù)器停止計數(shù),這樣就能夠得到從發(fā)射到接收的時間t。最終單片機利用式(1)計算出被測距離,然后與系統(tǒng)預(yù)設(shè)距離比較,如果小于預(yù)設(shè)最低液位或者大于預(yù)設(shè)最高液位,單片機啟動報警電路通知工作人員進行人為干預(yù)。完成這些步驟進行第二次超聲波發(fā)射。在這個過程中,單片機LED四位數(shù)碼管顯示電路不斷更新液位值。
整體電路的控制核心為單片機STC89C52。超聲波發(fā)射和接收電路中均對相應(yīng)信號進行整形及放大,以保證測量結(jié)果盡可能精確。超聲波收發(fā)模塊通過TRIG、ECHO、VCC、GND 4條口線連接到單片機實現(xiàn)超聲波的發(fā)射和接收。
該測距裝置是由超聲波模塊、單片機、LED顯示電路組成。傳感器輸入端與發(fā)射接收電路組成超聲波測距模塊,模塊的輸入輸出端與單片機相連接,單片機的輸出端與顯示電路輸入端相連接。
其總體設(shè)計框圖見圖2。
圖2 水箱水位控制器系統(tǒng)總體原理框圖
為了提高測量結(jié)果的準(zhǔn)確性及考慮到人為手動操作的不確定因素所帶來的誤差風(fēng)險,本設(shè)計最后選用HC-SR04超聲波測距模塊。HC-SR04超聲波模塊有兩個探頭,其中一個(TRIG)探頭與單片機P36端口連接負(fù)責(zé)發(fā)射并接收超聲波,另一個(ECHO)探頭與單片機P37端口連接的作用是輸出回響。HC-SR04超聲波測距模塊可提供2~400 cm的非接觸式距離感測功能;測距精度可達(dá)高到3 mm;模塊包括超聲波發(fā)射器、接收器與控制電路。
1) 實物圖及設(shè)計中的接口電路見圖3。
圖3 超聲波模塊實物圖及接口電路
2) 電氣參數(shù)見表1。
表1 電氣參數(shù)
本文的顯示電路是四位一體的共陽極數(shù)碼管及相應(yīng)的驅(qū)動電路組成,段碼由單片機的8位P0端口送到數(shù)碼管中顯示時間信息,再由單片機P2端口的低四位控制位選信號。
本系統(tǒng)實現(xiàn)的是液位數(shù)值顯示及報警閾值的上下限顯示功能,即分別在四位數(shù)碼管的3個顯示界面中進行顯示信息的手動操作切換,并且可以通過第一個獨立按鍵(K1)進行設(shè)置功能的控制,再通過第二個獨立按鍵(K2)進行數(shù)值的加一控制,通過第三個獨立按鍵(K3)進行數(shù)值的減一控制,這使本設(shè)計更具實用性、靈活性。本文選用LED數(shù)碼管顯示,連接電路圖見圖4。
圖4 LED數(shù)碼管顯示電路圖
由于控制器引腳輸出電流過小,無法直接驅(qū)動水泵進行工作。所以,本文采用繼電器控制電路來驅(qū)動抽水泵和注水泵進行工作。該繼電器控制電路采用低電平控制信號繼電器的吸合,高電平控制信號繼電器的斷開。在自動控制模式下。當(dāng)液位高度高于設(shè)置閾值時,單片機P16端口立即輸出低電平信號,繼電器JDX1立即吸合,抽水泵啟動,進行排水;當(dāng)液位高度低于設(shè)置閾值時,單片機P17端口立即輸出低電平信號,繼電器JDX2立即吸合,注水泵啟動,進行注水;當(dāng)手動按鍵K4按下時,單片機P16端口也會輸出低電平信號,繼電器JDX1立即吸合,抽水泵啟動,進行排水。本設(shè)計的繼電器控制電路圖見圖5。
圖5 繼電器控制電路圖
本系統(tǒng)具體工作過程如下:由超聲波傳感器進行容器內(nèi)液位高度測量,將測量得到的數(shù)據(jù)送入STC89C52 單片機進行處理,四位數(shù)碼管顯示實時的液位數(shù)值,并與程序中設(shè)定的報警液位上下限值進行比較。若液位高于設(shè)定的上限值,蜂鳴器發(fā)出報警,同時單片機控制繼電器帶動抽水泵工作,進行排水;當(dāng)檢測到液位下降到設(shè)定液位上限值以下之后,抽水泵自動停止轉(zhuǎn)動,蜂鳴器不響,數(shù)碼管照常顯示即時液位;若液位低于設(shè)定的小限值,蜂鳴器發(fā)出報警,同時單片機控制繼電器帶動注水泵工作,進行注水;當(dāng)檢測到液位上升到設(shè)定液位下限值以上之后,注水泵自動停止轉(zhuǎn)動,蜂鳴器不響,數(shù)碼管照常顯示即時液位。該系統(tǒng)主程序流程圖見圖6。
圖6 主程序流程圖
本系統(tǒng)可以完成水箱水位控制器的測量與顯示、容器高度為400 cm的液位自動控制及越限報警等功能,通過軟件程序設(shè)置液晶的測量范圍50~300 cm,測量精度可以到達(dá)0.5 cm。當(dāng)液位高度高于設(shè)置閾值上限(即300 cm),抽水泵自動啟動進行排水;當(dāng)液位高度低于設(shè)置閾值下限(即50 cm),注水泵自動啟動進行補水。本系統(tǒng)具有結(jié)構(gòu)簡單、靈敏度高、工作穩(wěn)定等諸多特點。