【導(dǎo)讀】目前國(guó)內(nèi)在液位自動(dòng)控制方面缺少長(zhǎng)期可靠的使用范例,還沒(méi)有適用于液位測(cè)量和自動(dòng)控制的定型產(chǎn)品。本文設(shè)計(jì)液位自動(dòng)控制,能實(shí)時(shí)顯示當(dāng)前液位狀態(tài)和瓶?jī)?nèi)液體重量以及閥門(mén)狀態(tài)。
系統(tǒng)功能概述及框圖
本設(shè)計(jì)利用MCS-51 單片機(jī)結(jié)合數(shù)字芯片、模擬電路,完成對(duì)水位的檢測(cè)和自動(dòng)控制。
基本工作流程為:主機(jī)通過(guò)鍵盤(pán)設(shè)定自己和從機(jī)的液位,超聲波傳感器測(cè)出當(dāng)前水位對(duì)應(yīng)的電壓值,再經(jīng)過(guò)ICL7135 模數(shù)轉(zhuǎn)化送入控制器與設(shè)定值比較,單片機(jī)通過(guò)控制電磁閥調(diào)節(jié)主機(jī)液位,并把設(shè)定值與當(dāng)前值顯示在LCD 上;主機(jī)控制器通過(guò)485 通訊對(duì)從機(jī)控制器傳輸設(shè)定值,從機(jī)控制器也可以如主機(jī)控制器一樣對(duì)液位進(jìn)行控制,并通過(guò)LCD 顯示主機(jī)給定值與當(dāng)前液位值;并利用485 通訊把從機(jī)當(dāng)前液位傳送給主機(jī)顯示出來(lái)。
系統(tǒng)由單片機(jī)系統(tǒng)數(shù)據(jù)處理模塊、A/D 數(shù)據(jù)輸入模塊、485 通訊模塊、液位控制及報(bào)警模塊及鍵盤(pán)和顯示模塊等幾部分組成。系統(tǒng)總框圖如圖1 所示。
方案論證與比較
考慮系統(tǒng)的要求,在對(duì)器件的選擇過(guò)程中,側(cè)重于對(duì)傳感器和模數(shù)轉(zhuǎn)換芯片的選擇。
傳感器
系統(tǒng)設(shè)計(jì)過(guò)程中,主要對(duì)以下三種傳感器進(jìn)行了選擇比較。
方案一:壓力傳感器
圖1:系統(tǒng)框圖
目前的液位壓力傳感器大部分是投入式靜壓液位變送器,而投入式靜壓液位傳感器只有參考大氣壓才能進(jìn)行準(zhǔn)確測(cè)量,然而連接電纜中的通氣會(huì)受到環(huán)境的影響,造成氣管內(nèi)壁冷凝,結(jié)露。露水滴到電子器件和傳感器上,會(huì)影響精度或者輸出漂移。同時(shí),結(jié)露過(guò)快,變送器的使用壽命也會(huì)大大縮短。此壓力傳感器容易受到環(huán)境的影響而造成測(cè)量不準(zhǔn)確,并且安裝不方便。
方案二:壓阻式壓力傳感器
壓阻式傳感器是用集成電路工藝直接在硅平膜片上按一定晶向制作擴(kuò)散壓敏電阻;硅平膜片在微小變形時(shí)有良好的彈性特性,當(dāng)硅片受壓后,膜片的變形使擴(kuò)散電阻的阻值發(fā)生變化;此變阻器容易受外部環(huán)境的影響,如溫度,從而造成測(cè)量不準(zhǔn)確,而且體積一般比較大,不易安裝、不易攜帶;一般其精確度也比較低。不能滿足設(shè)計(jì)的需要,所以不選擇。
方案三:超聲波傳感器
超聲波傳感器是工業(yè)領(lǐng)域內(nèi)第一款在產(chǎn)品上帶有按鍵設(shè)定功能和自診斷功能的小型傳感器。它雖然體積小,但是具有其它大型傳感器所具有的功能,安裝使用方便而且不受被測(cè)物體的顏色影響,有許多特設(shè)功能,如:具有自診斷LED 顯示和按鍵設(shè)定功能、溫度補(bǔ)償功能、可選擇模擬量或開(kāi)關(guān)量輸出等;其供電電壓為10~30V,測(cè)量范圍為30mm~300mm,輸出電壓0V~10V,輸出電流為4mA~20mA,最小負(fù)載阻抗2.5 歐,精度可達(dá)到0.5mm,外形分為直線型和直角型。感應(yīng)口徑為18mm。
超聲波傳感器所具有的條件滿足設(shè)計(jì)所需要0~25cm 的液位控制,以及液位誤差不超過(guò)±0.3cm 的要求,并且解決了安裝不方便的難題。所以本設(shè)計(jì)選擇了精度高,體型小的超聲波傳感器。
A/D 轉(zhuǎn)換器
所采用的A/D 轉(zhuǎn)換器的精度和性能直接影響后端單片機(jī)接收數(shù)據(jù)的精度,在此我們對(duì)以下兩種AD 轉(zhuǎn)換器進(jìn)行比較分析。
方案一:采用8 位ADC0809 A/D 轉(zhuǎn)換器
ADC0809 是常用的8 位A/D 轉(zhuǎn)換器,屬逐次逼近型,ADC0809 由單一+5V 供電,片內(nèi)含帶有鎖存功能的8 路模擬電子開(kāi)關(guān),可對(duì)0~+5V 8 路的模擬電壓信號(hào)分時(shí)進(jìn)行轉(zhuǎn)換,完成一次轉(zhuǎn)換約需100us,所以速度較快,但是ADC0809 芯片分辨率低,精度不夠,不能滿足本系統(tǒng)要求,不予采用。
方案二:采用4 位半雙積分A/D 轉(zhuǎn)換器ICL7135
ICL7135 是應(yīng)用廣泛的A/D 轉(zhuǎn)換器,動(dòng)態(tài)BCD 碼輸出的積分型A/D 轉(zhuǎn)換器。其特點(diǎn)是:精度高、極性自動(dòng)轉(zhuǎn)換輸出、自動(dòng)校零、單一電源工作、動(dòng)態(tài)BCD 碼輸出。由于雙積分方法的二次積分時(shí)間比較長(zhǎng),所以A/D 轉(zhuǎn)換速度慢,通常為(3~10)次/s,此外,對(duì)周期變化的干擾信號(hào)積分為零,抗干擾性能也比較好。在同等精度的情況下,價(jià)格低于逐次逼近式A/D 轉(zhuǎn)換器,因而在對(duì)速度要求不高的場(chǎng)合,更宜于采用這類(lèi)A/D 轉(zhuǎn)換器。
考慮系統(tǒng)的要求,本設(shè)計(jì)采用控制精度較高的ICL7135 A/D 轉(zhuǎn)換器。
硬件電路及軟件設(shè)計(jì)
本設(shè)計(jì)的硬件電路包括最小系統(tǒng)電路、液位控制及報(bào)警電路、 信號(hào)采集傳輸電路、鍵盤(pán)和顯示模塊等。
最小系統(tǒng)(電源供電電路與I/O 擴(kuò)展及選通電路)
本設(shè)計(jì)使用的最小系統(tǒng)板是以80C52 單片機(jī)為內(nèi)核,并且具有良好的擴(kuò)展性。CPU 外接11.0592MHz 的晶振,主要由74LS373 鎖存電路、74LS138 譯碼電路以及按鍵、顯示器件、ICL7135 及其外圍典型電路組成,并用8255 外擴(kuò)了I/O 接口。最小系統(tǒng)電路如圖2 所示。
圖2:最小系統(tǒng)電路圖
本電路需外接一個(gè)AC220/9V 的變壓器,變壓器的二次側(cè)通過(guò)整流濾波后輸入CW7805便可得到+5V 電壓,此電壓做最小系統(tǒng)的電源。
系統(tǒng)中通過(guò)8255外擴(kuò)了PA、PB、PC共24個(gè)I/O口,以便作為系統(tǒng)的輸入輸出通道。用74LS138的輸出作為各個(gè)芯片的譯碼選擇端,除最小系統(tǒng)中使用的Y0~Y3外,還有Y4~Y7可供其它擴(kuò)展使用。
[page]
液位控制及報(bào)警電路
本設(shè)計(jì)的液位控制電路是一閉環(huán)電路,傳感器把液位傳給單片機(jī)與設(shè)定值比較,單片機(jī)通過(guò)對(duì)電磁閥的控制來(lái)控制液位。用9V 電源對(duì)繼電器供電,使用了24V 電源對(duì)傳感器供電,用220V 交流電對(duì)電磁閥供電;在報(bào)警電路中,利用9V 電源對(duì)蜂鳴器供電,當(dāng)液位超過(guò)25cm或低于2cm 時(shí)發(fā)出報(bào)警。在供水回路中,用電動(dòng)機(jī)進(jìn)行循環(huán)供水,保證程序的連續(xù)運(yùn)行。
ICL7135 信號(hào)采集傳輸電路
本電路由一個(gè)小型集成電路來(lái)實(shí)現(xiàn),采樣后的信號(hào)經(jīng)過(guò)電位器送到ICL7135 進(jìn)行處理,將處理后信號(hào)直接送到單片機(jī)最小系統(tǒng)。ICL7135 量程為0~2V,基準(zhǔn)電壓由MC1403 輸出(2.5V)分壓獲得1V 電壓。
HC240 是八位緩沖線/線驅(qū)動(dòng)器,內(nèi)含八個(gè)具有三態(tài)輸出反相緩沖器。三態(tài)輸出的反相緩沖器,輸出允許控制端(ENA、ENB),每一個(gè)EN 控制四個(gè)緩沖器,1A、2A 數(shù)據(jù)輸入,1Y、2Y 輸出。輸出分別送出個(gè)、十、百、千、萬(wàn)位。
HC157 是四路二選一開(kāi)關(guān),1 為選擇輸入端,S 為低電平時(shí),選擇A 輸出;S 為高電平時(shí),選擇B 輸出ICL7135 的BCD 碼的位選通輸出端D1-D5 分別接8 位可編程邏輯接口電路8255的PA0~PA3 和PB0~PB4。CPU 可讀取各個(gè)位的狀態(tài)并判斷,在ICL7135 的B1~B8 輸出端讀取BCD 數(shù)據(jù)。ICL7135 信號(hào)采集傳輸電路如圖3 所示。
圖3:ICL7135 信號(hào)采集傳輸電路
軟件設(shè)計(jì)
軟件部分主要是利用51 系列單片機(jī)作控制器,傳感器輸出電壓進(jìn)行采樣,將采樣值與設(shè)定值比較,單片機(jī)對(duì)電磁閥控制來(lái)調(diào)節(jié)液位,主機(jī)通過(guò)485 通訊給分機(jī)設(shè)定數(shù)值,分機(jī)控制器對(duì)分機(jī)液位進(jìn)行控制。軟件部分包括ICL7135 采樣部分、485 通訊部分、數(shù)字處理部分、顯示部分、鍵盤(pán)部分等。為了避免在傳感器移動(dòng)造成測(cè)量數(shù)據(jù)不準(zhǔn)確,特別增加了調(diào)零功能,進(jìn)一步提高了系統(tǒng)的準(zhǔn)確性。主程序流程圖如圖4 所示。
圖4:主程序流程圖
實(shí)驗(yàn)結(jié)果及分析
需要的測(cè)試設(shè)備有4 位1/2 高精度數(shù)字萬(wàn)用表、刻度尺、100M 雙蹤數(shù)字示波器。測(cè)試結(jié)果如表4-1 所示。
由以上數(shù)據(jù)我們可以看出,系統(tǒng)的各個(gè)檢測(cè)單元的測(cè)試數(shù)據(jù)精度很高、液晶顯示值和測(cè)量值與設(shè)定值非常接近,與傳感器輸出電壓成線性關(guān)系,與重量也成一定的比例關(guān)系,這與硬件的選擇及其參數(shù)的匹配以及軟件控制算法的選擇是不可分割的。
設(shè)計(jì)總結(jié)
本設(shè)計(jì)在硬件上,使用S18UUA 超聲波傳感器,ICL7135 等高精度芯片和儀器進(jìn)行液位測(cè)量,使所測(cè)量的液位精度遠(yuǎn)高于液位誤差不超過(guò)±0.3cm 的要求。本設(shè)計(jì)還應(yīng)用了MAX485 通訊,OCM4X8C 液晶顯示LCD 等芯片和元件,使設(shè)計(jì)更符合實(shí)際應(yīng)用的要求,也相應(yīng)的降低了軟件設(shè)計(jì)的難度。在軟件上,采用規(guī)范化的編程方法,有效的減少了程序所需要的存儲(chǔ)空間。目前本課題主要用于地下水位的檢測(cè),項(xiàng)目經(jīng)濟(jì)效益接近15 萬(wàn)元。