劉萌雅,張麗艷,徐銘峰,費(fèi)繼友
(大連交通大學(xué) 電氣信息學(xué)院,遼寧 大連 116028)
液位監(jiān)控在工業(yè)生產(chǎn)和人們生活中有很多應(yīng)用.近年來(lái)采用的聲、光、射線的監(jiān)控方法,如雷達(dá)液位監(jiān)控[1]、超聲波液位監(jiān)控[2]、激光液位監(jiān)控[3]等許多工作仍處于實(shí)驗(yàn)室的研究階段,即便有適用的系統(tǒng)問(wèn)世,成本也是比較高的,且維修起來(lái)很麻煩.針對(duì)現(xiàn)階段這種狀況,本文給出了一種以STC89C52為處理器的系統(tǒng),該系統(tǒng)的電路組成比較簡(jiǎn)單,調(diào)試起來(lái)也很方便,能較好的實(shí)現(xiàn)液位監(jiān)控.本文非接觸式的測(cè)量方式避免了與液體的直接接觸,使得液位測(cè)量不會(huì)受到酸、堿、水垢等的影響.相比接觸式的測(cè)量方式,該系統(tǒng)在使用時(shí)長(zhǎng)和安裝上也會(huì)有明顯的優(yōu)勢(shì),一經(jīng)安裝該系統(tǒng)便可長(zhǎng)期穩(wěn)定地運(yùn)行在無(wú)人監(jiān)控的狀態(tài)下.
本系統(tǒng)硬件[4-7]由電源電路、單片機(jī)最小系統(tǒng)、超聲波測(cè)距模塊、繼電器控制水泵注水/排水電路、顯示電路、報(bào)警電路還有蓄水容器組成,其硬件功能框圖如圖1所示.系統(tǒng)工作原理如下:當(dāng)液位處于低位時(shí),處理器經(jīng)過(guò)分析液位傳感器傳來(lái)的信息,驅(qū)動(dòng)蜂鳴器報(bào)警,同時(shí)也輸出一個(gè)低電平信號(hào)使2路繼電器的左邊一路吸合,水泵1開(kāi)始往容器內(nèi)注入液體;當(dāng)液位處于高位的時(shí)候,處理器經(jīng)過(guò)分析液位傳感器傳來(lái)的信息,驅(qū)動(dòng)蜂鳴器報(bào)警,同時(shí)也輸出一個(gè)低電平信號(hào)使2路繼電器的右邊一路吸合,水泵2開(kāi)始抽出容器內(nèi)的液體;隨著液位的變化,當(dāng)?shù)竭_(dá)設(shè)定液位時(shí),送入處理器液位傳感器的接口為高電平,繼電器釋放,水泵就會(huì)停止工作.另外,當(dāng)超聲波測(cè)距模塊檢測(cè)出的液位高度正好等于設(shè)定值時(shí),系統(tǒng)保持靜態(tài)無(wú)反應(yīng).整個(gè)監(jiān)控過(guò)程,液位的高度都會(huì)通過(guò)LCD1602顯示出來(lái).對(duì)于液位的調(diào)整,本系統(tǒng)工作電壓較低,再綜合考慮成本及可操作性,選用了齒輪泵來(lái)實(shí)現(xiàn).下面給出部分硬件電路的設(shè)計(jì)介紹.
圖1 硬件功能框圖
當(dāng)處理器把一個(gè)周期大于10 μs的脈沖信號(hào)給超聲波測(cè)距模塊,模塊的內(nèi)部就會(huì)發(fā)射出8個(gè)40 kHz的周期性的電平來(lái)檢測(cè)回波,如果檢測(cè)到回波信號(hào)就立刻輸出一個(gè)回響信號(hào).所以測(cè)量的距離S由式(1)計(jì)算得出.
式中:S表示測(cè)量距離;t表示發(fā)射信號(hào)與收到的回響信號(hào)的時(shí)間差;V表示聲速.
繼電器是一種大電流被小電流控制的自動(dòng)開(kāi)關(guān)元件.設(shè)計(jì)中使用如圖2所示的方法連接繼電器和電機(jī)(水泵內(nèi)的電機(jī)),能夠?qū)崿F(xiàn)硬件互鎖,防止兩個(gè)電機(jī)同時(shí)工作.具體過(guò)程為:給1號(hào)電機(jī)控制信號(hào)時(shí),1號(hào)電機(jī)啟動(dòng);給2號(hào)電機(jī)控制信號(hào)時(shí),2號(hào)電機(jī)啟動(dòng),如出現(xiàn)程序故障導(dǎo)致兩電機(jī)都得到啟動(dòng)信號(hào),兩路繼電器都發(fā)生動(dòng)作,此時(shí)兩個(gè)電機(jī)均沒(méi)有被接通,即不會(huì)出現(xiàn)同時(shí)工作的故障.
圖2 繼電器和電機(jī)的連接電路
圖3 蜂鳴器的驅(qū)動(dòng)電路圖
本次設(shè)計(jì)選用有源蜂鳴器,并采用低電平有效的輸出方式.單片機(jī)I/O引腳輸出的電流比較小,為了能夠驅(qū)動(dòng)蜂鳴器,就需增加一個(gè)來(lái)放大電流的電路.圖3為蜂鳴器的驅(qū)動(dòng)電路.
系統(tǒng)主程序流程圖[8-12]如圖4所示.其工作過(guò)程如下:首先完成系統(tǒng)的初始化,接下來(lái)控制超聲波模塊重復(fù)的發(fā)射信號(hào),每次發(fā)射周期結(jié)束,再判斷信號(hào)發(fā)出后等待的時(shí)間里回波是否到達(dá),也就是說(shuō)判斷是否有中斷(見(jiàn)下文2.1節(jié)的回波檢測(cè)部分),體現(xiàn)在主程序流程圖中是每一次的判斷過(guò)程.之后是計(jì)算距離值并將其顯示是由中斷子程序?qū)崿F(xiàn)的,即先將超聲波模塊發(fā)射程序初始化,然后等待中斷響應(yīng)(見(jiàn)下文2.2節(jié)的中斷服務(wù)程序部分),體現(xiàn)在主程序流程圖中是每一次的判斷之后的執(zhí)行,待有中斷響應(yīng)之后,經(jīng)函數(shù)計(jì)算將原始時(shí)間數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制液位數(shù)據(jù)顯示輸出.
圖4 主程序流程圖
STC89C52單片機(jī)通過(guò) P3.3口(連接 HCSR04的觸發(fā)控制信號(hào)輸入端Tx),發(fā)送出一連串的脈沖,以此來(lái)控制時(shí)間,隨后啟動(dòng)定時(shí)器T0,當(dāng)檢測(cè)到回波時(shí),通過(guò)P3.2口(連接HC-SR04的回響信號(hào)輸出端Rx)產(chǎn)生外部中斷信號(hào),T0停止計(jì)時(shí),記錄下接收到回波所耗的時(shí)間.
系統(tǒng)發(fā)射出40 kHz的脈沖信號(hào)后,T0開(kāi)始計(jì)時(shí),當(dāng)遇到液面后返回回波信號(hào),經(jīng)回波檢測(cè)電路產(chǎn)生外部中斷信號(hào)傳至單片機(jī),即激發(fā)外部中斷0,開(kāi)始響應(yīng)中斷服務(wù)程序,T0停止計(jì)數(shù).而中斷服務(wù)程序就是響應(yīng)外部中斷.在中斷服務(wù)程序中,進(jìn)入中斷服務(wù)程序的計(jì)數(shù)值c被讀出來(lái),保存到隨機(jī)存儲(chǔ)器中,再由式(2)算出距離distance的值:
首先,系統(tǒng)進(jìn)行硬件調(diào)試.該調(diào)試過(guò)程相對(duì)簡(jiǎn)單,主要需要做的是檢查開(kāi)發(fā)板與模塊連線是否連接正常,然后對(duì)超聲波測(cè)距模塊、LCD1602液晶屏、繼電器、蜂鳴器、水泵等分別進(jìn)行測(cè)試,直接將主控單片機(jī) STC89C52、LCD1602液晶屏、HCSR04超聲波測(cè)距模塊、繼電器、蜂鳴器、水泵等連接構(gòu)成自動(dòng)液位監(jiān)控系統(tǒng),編寫適當(dāng)程序進(jìn)行液位監(jiān)控,測(cè)試出系統(tǒng)的絕對(duì)誤差.
本次的設(shè)計(jì)完成了預(yù)定的基本性能要求,實(shí)現(xiàn)了自動(dòng)液位監(jiān)控的功能,具體結(jié)果如下:①能實(shí)時(shí)輸出當(dāng)前的水位情況;②能根據(jù)要求動(dòng)態(tài)的調(diào)整水位到指定數(shù)值;③在水平面基本靜止的條件下,動(dòng)態(tài)調(diào)整水位到規(guī)定數(shù)值,誤差小于3 cm;④系統(tǒng)應(yīng)具備電傳功能,實(shí)現(xiàn)液位數(shù)據(jù)向PC的傳輸;⑤功耗較低.
此外,本文給出了本設(shè)計(jì)的正程—回程實(shí)測(cè)圖,其理論液位顯示數(shù)據(jù)與實(shí)際液位的數(shù)據(jù)曲線為階梯狀,如圖5所示.
圖5 正程—回程實(shí)測(cè)圖
由圖5實(shí)驗(yàn)數(shù)據(jù)可知,該系統(tǒng)的平均測(cè)量誤差小于0.3 cm,液位顯示分辨率為1 cm.由于實(shí)際情況下,液面存在一定的波動(dòng)或震動(dòng),尤其是在注水或排水的情況下,液面不穩(wěn)定程度加劇,如果顯示分辨率太高,會(huì)造成顯示數(shù)據(jù)的頻繁變動(dòng),無(wú)法順利的讀取數(shù)據(jù).因此,在設(shè)計(jì)時(shí)應(yīng)該選取合適的系統(tǒng)分辨率,經(jīng)調(diào)試本設(shè)計(jì)將系統(tǒng)分辨率設(shè)為1 cm.實(shí)驗(yàn)結(jié)果表明了本設(shè)計(jì)合理可靠性.
本次設(shè)計(jì)的自動(dòng)液位監(jiān)控系統(tǒng)主要目的是使液位始終保持在一定范圍,避免液位過(guò)高或過(guò)低現(xiàn)象的發(fā)生.本設(shè)計(jì)采用STC89C52單片機(jī)為系統(tǒng)控制,應(yīng)用超聲波測(cè)距原理,能實(shí)現(xiàn)對(duì)范圍在0~14 cm內(nèi)的液位的有效測(cè)量,其絕對(duì)誤差小于3 cm,重復(fù)性也好,能夠確保水位在允許的范圍內(nèi)浮動(dòng),同時(shí)還兼有了高低液位報(bào)警功能.可見(jiàn)基于STC89C52單片機(jī)設(shè)計(jì)的超聲波液位監(jiān)控系統(tǒng)的硬件部分簡(jiǎn)單、可靠性高、測(cè)量誤差范圍小.
[1]范飛飛.基于雷達(dá)液位計(jì)的水文信息實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的研究[D].湖北:湖北工業(yè)大學(xué),2013.
[2]盧偉.高精度超聲波液位測(cè)量系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].河北:河北工業(yè)大學(xué),2012.
[3]閆達(dá)海,胥光申.面曝光快速成形激光液位檢測(cè)系統(tǒng)的研究[J].天津工業(yè)大學(xué)學(xué)報(bào),2013(1):81-85.
[4]普仕凡,張麗艷,李桂林,等.基于89C52單片機(jī)的智能溫控儀設(shè)計(jì)[J].大連交通大學(xué)學(xué)報(bào),2008,29(3):91-94.
[5]劉振超,張麗艷,普仕凡.基于W78E516控制的觸摸液晶顯示屏AG320240A4STCW-T51的應(yīng)用[J].現(xiàn)代顯示,2009(1):44-47.
[6]胡汪洋,冀恩祥,費(fèi)繼友.基于單片機(jī)控制電子胸卡的設(shè)計(jì)[J].儀表技術(shù),2010(5):23-25.
[7]費(fèi)繼友,周茉.基于ARM+FPGA的嵌入式數(shù)控裝置設(shè)計(jì)[J].制造技術(shù)與機(jī)床,2010(12):70-73.
[8]郭天祥.51單片機(jī)C語(yǔ)言教程—入門、提高、開(kāi)發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社,2009.
[9]劉昌華,易逵.8051單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)與實(shí)踐[M].北京:國(guó)防工業(yè)出版社,2007.
[10]劉坤,宋戈,趙紅波,等.51單片機(jī)C語(yǔ)言應(yīng)用開(kāi)發(fā)技術(shù)大全[M].北京:人民郵電出版社,2008.
[11]張忠梅.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2007.
[12]王昌明,孔德仁,何云峰.傳感與測(cè)試技術(shù)[M].北京:北京航空航天大學(xué)出版社,2005.