侯佳辛,宋廣軍
(浙江海洋大學(xué) 數(shù)理與信息學(xué)院,舟山316000)
隨著科技的進(jìn)步發(fā)展,電子技術(shù)已被廣泛應(yīng)用到測(cè)量技術(shù)中,使得自動(dòng)精確測(cè)量得以實(shí)現(xiàn)。在此基礎(chǔ)上,由于使用超聲波完成測(cè)距精度高、受被測(cè)介質(zhì)影響較小,因此得到了更加廣泛的利用。
針對(duì)工農(nóng)業(yè)生產(chǎn)中由于性質(zhì)特殊不能使用直接接觸式傳感器的特殊性質(zhì)液體,設(shè)計(jì)了一種基于單片機(jī)的超聲波液位智能控制系統(tǒng),不同于單純的超聲波測(cè)距儀器,該系統(tǒng)可以通過系統(tǒng)中的能量轉(zhuǎn)換裝置實(shí)現(xiàn)超聲波和電脈沖信號(hào)的相互轉(zhuǎn)換,這樣就能夠在完成對(duì)特殊性質(zhì)液體液面高度測(cè)量的同時(shí),由單片機(jī)接受并進(jìn)行傳輸信號(hào)的處理,以完成自動(dòng)化液位控制。
系統(tǒng)實(shí)現(xiàn)的超聲波自動(dòng)測(cè)距技術(shù)可廣泛應(yīng)用于環(huán)境條件較為特殊的工業(yè)和農(nóng)業(yè)等行業(yè)生產(chǎn)中,對(duì)實(shí)現(xiàn)液位自動(dòng)測(cè)量及實(shí)時(shí)控制,提高控制精準(zhǔn)度等均有較強(qiáng)的實(shí)用參考價(jià)值。
本設(shè)計(jì)選擇基于AT89C51 單片機(jī)作為中央處理器進(jìn)行液位控制。如圖1所示,整個(gè)控制系統(tǒng)由中央處理模塊、超聲波測(cè)距模塊、A/D 轉(zhuǎn)換模塊、報(bào)警模塊、顯示模塊、鍵盤輸入模塊以及電機(jī)控制模塊組成。以AT89C51 芯片為核心,采用超聲波傳感技術(shù)測(cè)量液位、單片機(jī)控制水泵運(yùn)作的方式達(dá)到控制液位的目的。
圖1 液位控制系統(tǒng)框圖Fig.1 Block diagram of the liquid level control system
首先系統(tǒng)采用超聲波傳感技術(shù)實(shí)時(shí)監(jiān)測(cè)液位高度的變化,通過傳感器模塊將測(cè)量結(jié)果經(jīng)A/D 轉(zhuǎn)換處理成電信號(hào)后傳輸?shù)絾纹瑱C(jī)。由單片機(jī)控制水泵包括抽水電機(jī)和排水電機(jī)以及顯示和報(bào)警裝置等發(fā)出動(dòng)作指令:當(dāng)液位高于規(guī)定范圍上限時(shí),電機(jī)啟動(dòng)抽水水泵抽出液體使液面下降;當(dāng)液位低于規(guī)定水位下限時(shí),電機(jī)啟動(dòng)排水水泵注入液體使液面上升,從而實(shí)現(xiàn)對(duì)液位的實(shí)時(shí)測(cè)量和控制。
從電路角度來說,可以理解為在系統(tǒng)初始化的狀態(tài)下能夠體現(xiàn)出3 個(gè)狀態(tài),分別是低水位狀態(tài)、高水位狀態(tài)和正常水位狀態(tài)。傳感器在檢測(cè)到低水位狀態(tài)時(shí)會(huì)傳輸給單片機(jī)一個(gè)高電平信號(hào),與此同時(shí)報(bào)警系統(tǒng)形成通路,驅(qū)動(dòng)水泵注水。
超聲波測(cè)距模塊是系統(tǒng)設(shè)計(jì)的核心技術(shù)。超聲波是以人耳剛能聽到的聲音頻率為零起點(diǎn),其頻率高于20 kHz,是人們聽不到的聲波,超聲波頻率可高達(dá)1011 Hz[1]。超聲波最重要的特點(diǎn)是可以在各種介質(zhì)中傳播,利用超聲波的脈沖反射及脈沖反射回波就可以完成相應(yīng)測(cè)量。
反射式超聲波測(cè)距方法的原理如圖2所示。首先使用超聲波發(fā)射器向外界被測(cè)目標(biāo)發(fā)射超聲波,并同時(shí)開始計(jì)時(shí),隨即超聲波在傳播途中會(huì)遇到障礙物即目標(biāo)被測(cè)物體導(dǎo)致反射,接收器接收到反射回來的超聲波脈沖回波,同時(shí)立即停止計(jì)時(shí)。此時(shí)計(jì)時(shí)器記下了超聲波發(fā)射到目標(biāo)被測(cè)物體以及從目標(biāo)被測(cè)物體反射回接收器的時(shí)間t。超聲波的速度即聲速為340 m/s,通過計(jì)算公式S=Vt/2 就可以算出從超聲波發(fā)送器到目標(biāo)被測(cè)物體之間的距離。
圖2 超聲波測(cè)距原理圖Fig.2 Ultrasonic ranging principle
系統(tǒng)中采用的是ATMEL 的AT89C51 單片機(jī)作為主控芯片。它的優(yōu)點(diǎn)在于靈活的編程設(shè)計(jì)和內(nèi)部豐富的I/O 端口,以及控制的準(zhǔn)確性[2]。其內(nèi)部的可擦除只讀處理器可反復(fù)擦除1000 次,具有很快的數(shù)據(jù)處理速度和高集成性,芯片內(nèi)部不僅集成了CPU、RAM、IO 口、Flash 等資源,還集成有串口通信接口、看門狗電路等,可以滿足大多數(shù)的外設(shè)使用。
當(dāng)前應(yīng)用比較廣泛的超聲波傳感器有以下幾種:通用型傳感器、寬頻帶型傳感器、封閉型傳感器、高頻型傳感器[3]。本液位控制系統(tǒng)的設(shè)計(jì)主要針對(duì)工業(yè)中特殊性質(zhì)液體進(jìn)行超聲波測(cè)距,在這個(gè)特殊條件的約束下,測(cè)距需要有特殊針對(duì)性的傳感器。因此采用封閉型傳感器,封閉型傳感器由于有封閉空間的保護(hù)[4],可以應(yīng)用在更惡劣的或者特殊的測(cè)量環(huán)境中,相對(duì)于其他類型傳感器更加精準(zhǔn)。
系統(tǒng)中采用ADC0808 型號(hào)的A/D 轉(zhuǎn)換器,其與AT89C51 的嵌入式微型計(jì)算機(jī)電路的連接如圖3所示。輸入通道是IN0;ALE 接地,000 地址鎖定[5];數(shù)字輸出通道連接到微型計(jì)算機(jī)的P0 端口; 打開A/D 轉(zhuǎn)換針START 開始連接微控制器P3.0,確認(rèn)已完成EOC 引腳的使用;微控制器P3.1 及其連接用于查詢ADC0809 轉(zhuǎn)換器的狀態(tài);OE 引腳是ADC0809轉(zhuǎn)換器控制數(shù)據(jù)的輸出,與微處理器的P3.2 引腳相連,完成數(shù)字信號(hào)的傳輸。
圖3 A/D 轉(zhuǎn)換電路Fig.3 A/D conversion circuit
顯示電路是由4 個(gè)共陰極數(shù)字管組成,其發(fā)光段按字母順序連接到微控制器上的P1 端口,每個(gè)數(shù)字管1、2、3、4 連接到每臺(tái)控制器上P2 端口的低4 位[6]。
報(bào)警電路采用晶體管2N2219 和蜂鳴器一起來組成[7]。晶體管2N2219 收集器連接到P3.3 端口的外拉電阻上,將發(fā)射器的聲音發(fā)生裝置連接到主機(jī)。當(dāng)P3 接收低電平時(shí),2N2219 截止,不會(huì)觸發(fā)報(bào)警電路。當(dāng)P3 接收高電平時(shí),晶體管2N2219 就會(huì)被導(dǎo)通,電路隨之連通,報(bào)警裝置被激活,蜂鳴器發(fā)出報(bào)警。
控制電機(jī)是否啟動(dòng)以及何時(shí)啟動(dòng)的電路結(jié)構(gòu)如圖4所示,使用2N2219 晶體管放大器驅(qū)動(dòng)電磁繼電器。繼電器的兩端使用了1N4001 二極管來完成連接,選擇此類型二極管是為了在線圈供電時(shí)不會(huì)由于線圈供電產(chǎn)生的干擾影響到驅(qū)動(dòng)電路。
圖4 電機(jī)控制電路Fig.4 Motor control circuit
在液位控制系統(tǒng)的軟件設(shè)計(jì)中,主程序主要由3 個(gè)函數(shù)部分組成,用作將系統(tǒng)歸為初始位的初始化函數(shù)部分;負(fù)責(zé)監(jiān)測(cè)液位情況的液位檢測(cè)函數(shù)部分;控制電機(jī)在何時(shí)以何種方式運(yùn)行的電機(jī)控制函數(shù)部分。程序流程如圖5所示。主程序?qū)崿F(xiàn)將整個(gè)系統(tǒng)的參數(shù)初始化,如報(bào)警控制部分系統(tǒng)參數(shù)和電機(jī)控制部分系統(tǒng)參數(shù)完成初始化設(shè)置,調(diào)試到模擬仿真階段的初始狀態(tài);設(shè)定所需液位高度上下限范圍及實(shí)時(shí)顯示液位的高度等。
圖5 主程序流程Fig.5 Main program flow chart
鍵盤輸入部分同樣是控制系統(tǒng)中很重要的組成部分。鍵盤部分所需的軟件系統(tǒng)設(shè)計(jì)的程序流程如圖6所示。
軟件設(shè)計(jì)中鍵盤輸入部分的功能需要使用程序中的掃描查詢方式來完成。若想要判斷出按鍵中的哪些部分被按下就需要根據(jù)嵌入式微處理器P2 端口的高四位按鍵是否讀入的狀態(tài)來確定。若其中某一位發(fā)生了電平由高到低的變化,則表示此按鍵被按下;未被按下的按鍵依然體現(xiàn)的是高電平的狀態(tài)。
圖6 按鍵處理流程圖Fig.6 Flow chart of key processing
基于單片機(jī)的超聲波液位智能控制系統(tǒng)的設(shè)計(jì)主要應(yīng)用于工農(nóng)業(yè)生產(chǎn)中特殊性質(zhì)的液體進(jìn)行自動(dòng)精確液位控制。在充分利用超聲波測(cè)距技術(shù)的基礎(chǔ)上,將其與自動(dòng)化、智能化有效結(jié)合,實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)的同時(shí)對(duì)液體進(jìn)行擺脫人工的自動(dòng)化控制調(diào)整,將其運(yùn)用到工農(nóng)業(yè)生產(chǎn)中,會(huì)大大減少勞動(dòng)力,提高工作效率,且保障了控制和檢測(cè)過程準(zhǔn)確性,有廣泛的應(yīng)用前景和使用價(jià)值。