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