魯 可,張曉東,馬宏旭
(河南工業(yè)大學(xué)電氣工程學(xué)院,河南鄭州 450007)
基于單片機的超聲波液位檢測系統(tǒng)設(shè)計
魯 可,張曉東,馬宏旭
(河南工業(yè)大學(xué)電氣工程學(xué)院,河南鄭州 450007)
為解決腐蝕性液體的液位測量中電極特別容易被電解腐蝕的問題,將超聲波技術(shù)應(yīng)用到工業(yè)生產(chǎn)液位或物料的檢測中。以AT89S52單片機為核心,建立超聲波測得距離和聲速與傳輸時間之間的關(guān)系,提出通過硬件電路設(shè)計和軟件編程實現(xiàn)對液位高度的檢測的方法,進(jìn)行了超聲波測距在20 cm和80 cm兩種距離的試驗。由于超聲波受溫度的影響較大,采用溫度傳感器對溫度進(jìn)行測量,根據(jù)公式進(jìn)行溫度補償,并設(shè)計了報警模塊,當(dāng)溫度過高時進(jìn)行報警。結(jié)果表明,超聲波測距的相對誤差分別為2.5%和1.25%,這樣的精度能夠滿足實際需求,達(dá)到了預(yù)期目標(biāo)。該系統(tǒng)具有測量準(zhǔn)確、功耗低、使用壽命長等特點,可以滿足一般的工業(yè)需要。
液位檢測;超聲波;單片機
液位測量是與生活息息相關(guān)的一個話題,在現(xiàn)實生活中,有許多行業(yè)都需要對液位進(jìn)行測量。傳統(tǒng)的測量方法,如差位分布電極法,需要電極長時間地浸泡在液體中,特別容易被電解,腐蝕。為了解決這個問題,本課題采用一種非接觸性的測量技術(shù),即超聲波傳感技術(shù)進(jìn)行液位檢測,實現(xiàn)對液位或物料的檢測。超聲波液位測量是液位測量中最常用也是最為便捷有效的測量方法[1]。利用超聲波檢測或感知物體時,具有非破壞性、遙控性、實時性、可穿透性等優(yōu)點,因此利用超聲波測距十分方便[2]。
超聲波,是一種聲波,頻率高于人耳能聽到的頻率,大多數(shù)用于超聲波檢測,下限頻率為20 kHz,上限為100 kHz。超聲波傳感器就是利用超聲波在超聲場中的物理特性和各種效應(yīng)研制而成的傳感器[3]。超聲波在液體中傳播的過程中,方向性比較好,并且傳播過程中能量損失比較少,在其遇到分界面時,能夠反射,用反射測距的原理,測得超聲波在發(fā)射之后遇到分界面反射的時間,來確定液面的高度。
超聲波液位檢測有脈沖回波法、共振法、頻差法以及聲衰減法,其中應(yīng)用較廣的是脈沖回波法[4]。本文采用脈沖回波法來進(jìn)行測距,其基本原理是:將超聲波發(fā)射器、接收器裝于一個容器頂部,在同一高度,利用超聲波遇到不同物質(zhì)界面反射的性質(zhì),超聲波發(fā)射器發(fā)出信號和接收器收到信號的時間記錄下來,即可測得距離。其原理如圖1所示。
圖1 超聲波測距原理圖
超聲波傳輸?shù)膯未尉嚯xS與聲速v和傳輸時間t之間的關(guān)系可以表示為:
其中S為超聲波傳輸?shù)膯未尉嚯x,v為超聲波傳播速度,t為回波時間,t=T1+T2。
同理,超聲波測液位就是要測量距離液面的距離,把超聲波測距儀安裝在所測液面的上方,通過換算來求得液位高度。超聲波液位檢測原理圖如圖2所示。
圖2 超聲波液位測量原理圖
由圖2可知,提前測得超聲波探頭到所測容器的底部的距離,假定為H,超聲波探頭距前液面的距離為S,即可得知液面高度,h=H-S。因此超聲波液位測量的關(guān)鍵工作就是測量探頭到液面的的距離S。
本系統(tǒng)由AT89S52單片機、超聲波發(fā)射接受模塊、LCD液晶顯示模塊、溫度檢測模塊和聲音報警模塊組成。系統(tǒng)總體框圖如圖3所示。
圖3 系統(tǒng)總體框圖
AT89S52單片機作為整個系統(tǒng)的核心部件,協(xié)調(diào)著各模塊的工作。超聲波收發(fā)器模塊連接到單片機進(jìn)行超聲波發(fā)射和接收。溫度測量模塊也將現(xiàn)場的環(huán)境溫度數(shù)據(jù)采集到單片機。在這個過程中,LCD液晶顯示電路不斷更新當(dāng)前值。如果溫度過高,則觸發(fā)聲音報警模塊。
(1)AT89S52單片機
AT89S52最小系統(tǒng)如圖4所示。
(2)超聲波發(fā)射接受模塊
本系統(tǒng)選用HC-SR04超聲波發(fā)射接受模塊。HC-SR04超聲波發(fā)射接受模塊可以提供2 cm~400 cm的非接觸距離測量,此模塊包括超聲波發(fā)射器、接收器、控制電路三個部分。在Trig引腳上產(chǎn)生一個寬度大于10μs的高電平脈沖,即可激活模塊,模塊將會自動發(fā)送8個40 kHz的方波脈沖,并且發(fā)送完成后模塊將自動檢測是否有反射信號返回,若在一定時間內(nèi)收到反射信號,則模塊會在Echo引腳上輸出一個和信號傳輸時間成正比的高電平信號,系統(tǒng)通過檢測這個高電平的寬度時間T即可計算出反射物體距模塊的距離S。假設(shè)校準(zhǔn)后的聲速為v,那么距離S為:
超聲波發(fā)射接受模塊的實物圖如圖5所示。
圖4 AT89S52最小系統(tǒng)
(3)液晶顯示模塊
數(shù)碼管是比較常用的顯示器件,在各種系統(tǒng)中都得到了廣泛的應(yīng)用,數(shù)碼管的體積相對較小,而且重量輕、它的功耗也很低,是一種相對理想的數(shù)據(jù)輸出的器件??紤]到本系統(tǒng)對顯示方面的要求,確保溫度和液位高度同時準(zhǔn)確清晰的顯示,本系統(tǒng)的液位顯示部分采用1602液晶顯示模塊。
1602液晶顯示器一般的自帶ASCII字庫,其基本特性如下:
(1)顯示32個英文字符;
(2)內(nèi)置ASCII碼字庫;
(3)通訊方式:8線/4線并行可選,本設(shè)計選用8線并行方式。
圖5 超聲波發(fā)射接受模塊實物圖
(4)溫度測量模塊
在空氣中,常溫下超聲波的傳播速度是334 m/s,由于超聲波的傳播速度V受到空氣中溫度、濕度、壓強等因素的影響,其中受溫度的影響較大,如溫度每升高1℃,聲速增加約0.6 m/s。因此在測距準(zhǔn)確度要求很高的情況下,應(yīng)通過溫度補償?shù)姆椒▽鞑ニ俣燃右孕U齕5]。
超聲波受溫度影響較大,其速度與溫度的表達(dá)式為c=331.5+ 0.607T,所以要想保證測量的精度,必須要補償溫度,本設(shè)計使用 DS18B20進(jìn)行溫度測量。DSl8B20是美國DALLAS半導(dǎo)體公司,研發(fā)推出的一種智能溫度傳感器。它能夠直接測出溫度,使用方便,并且性能較為良好。
(5)報警模塊
當(dāng)溫度過高時,超聲波速度會受到較大影響,從而影響測量精度,因此報警電路在液位測量中必不可少,通過蜂鳴器來實現(xiàn)報警功能。蜂鳴器是一個電子發(fā)聲器件,分為電磁式蜂鳴器、壓電式蜂鳴器兩種。設(shè)計采用的是壓電式蜂鳴器。當(dāng)電源接通時(1.5~15 V的工作電壓DC),多諧振蕩器啟動,1.5~2.5 kHz的音頻信號輸出。蜂鳴器的發(fā)聲原理是激勵電流通過蜂鳴器發(fā)聲元件的電磁線圈,通電的線圈產(chǎn)生的磁場和原來固定磁場作用產(chǎn)生震動從而發(fā)聲。由于線圈產(chǎn)生磁場完全靠電流驅(qū)動,因此,蜂鳴器發(fā)聲需要一定大的電流來驅(qū)動,一般電流越大,聲音越大。
三極管型號是S8550,是一個PNP型三極管,BELL引腳為低電平時蜂鳴器發(fā)聲,為高電平時蜂鳴器關(guān)斷。
整個系統(tǒng)的軟件設(shè)計分為兩大部分,主程序和中斷服務(wù)程序。主程序完成對單片機自身以及外圍模塊的初始化、控制超聲波模塊的發(fā)射和接收以及溫度測量、距離計算、結(jié)果顯示等大部分主要工作。中斷服務(wù)程序部分主要是定時器溢出中斷,用于產(chǎn)生超時標(biāo)志。在正常模式下,讀取定時器計數(shù)器寄存器的值來獲取時間信息,當(dāng)發(fā)生中斷則意味著超時,測距失敗。
圖6 主程序以及中斷服務(wù)程序流程圖
本系統(tǒng)單片機時鐘采用的是12 MHz的晶振,所以單片機內(nèi)部計數(shù)器每計一個數(shù)的時間為1μs,當(dāng)主程序調(diào)用超聲波測距函數(shù)啟動超聲波發(fā)送后,進(jìn)入等待回響狀態(tài),當(dāng)超聲波測距函數(shù)檢測到了接收成功的標(biāo)志后,會將計數(shù)器中的計數(shù)值(即超聲波發(fā)送和返回所耗的總時間)保存,這樣就得到了時間信息,再根據(jù)溫度補償公式計算超聲波的速度,從而測得被測物體與超聲波發(fā)射接收模塊之間的距離。最后將測得的距離進(jìn)行判斷是否超出預(yù)定范圍,判斷是否需要報警,然后將測得的溫度、距離信息送往LCD顯示,然后主程序繼續(xù)執(zhí)行,重復(fù)上述過程。
本次設(shè)計使用C語言編寫所需程序,寄存器分配、不同存儲器的尋址及數(shù)據(jù)類型等細(xì)節(jié),可由編譯器管理。主程序首先初始化單片機,開啟總中斷,設(shè)置定時器0工作方式以及定時器0的初值,然后再對LCD1602和18B20初始化,進(jìn)入主程序循環(huán),每隔大約500 ms測一次距離值和溫度值,若測距成功則將計算出的距離值和溫度值送到LCD1602上顯示。中斷服務(wù)程序的主要作用是計算超時和計時。主程序以及中斷服務(wù)程序流程圖如圖6所示。
本系統(tǒng)的實物圖如圖7所示。為了反映測距的精確度,分別在20 cm和80 cm的距離下進(jìn)行測試,測試對象為垂直桌面,測試結(jié)果如圖8和圖9所示。
圖7 實物圖
圖8 20 cm測距結(jié)果
從圖8和9中可以看到,兩次測距的誤差分別為2.5%和1.25%,這樣的精度能夠滿足實際需求,達(dá)到了預(yù)期目標(biāo)。
整個系統(tǒng)以單片機為核心,具有測量準(zhǔn)確、軟件可升級、功能可擴(kuò)展、功耗低、使用壽命長等特點。通過實際測試,也發(fā)現(xiàn)了一些限制因素,比如方向性不好,只有正射液面才能獲得準(zhǔn)確的結(jié)果。在實際使用中,得到了以下結(jié)論:系統(tǒng)會受到距離的影響,距離越短,相對誤差越大;在測量時,涉及到的模塊要盡量平穩(wěn)放置,以減少誤差;可以通過精確標(biāo)定和修正算法來減小誤差。
Design of Ultrasonic Liquid Level Control System Based on MCU
LU Ke,ZHANG Xiao-dong,MA Hong-xu
(Henan University of Technology,College of Electrical Engineering,Zhengzhou450001,China)
To solve the problem of the electrode especially vulnerable to electrolytic corrosion in corrosive liquid level measurement,the detection of ultrasonic technology is applied to the industrial production level or materials.Carries out AT89S52 MCU as the core,establishes ultrasonic measurement of relationship between distance and speed and the transmission time,the method of detecting the height of the liquid level is realized by hardware circuit design and software programming,the ultrasonic ranging in the test of 20cm and 80cm two kinds of distance.The ultrasonic influenced by temperature,measure the temperature by temperature sensor,according to the temperature compensation formula,and the design of alarm module,when the temperature is too high.The results show that,the relative error of ultrasonic distance measurement was 2.5%and 1.25%respectively,the accuracy can meet the actual demand,to achieve the expected goal.The system has the characteristics of accurate measurement,low power consumption,long service life,can meet the general needs of industry.
liquid level measurement;ultrasonic;MCU
TP273
A
1009-9492(2014)08-0013-04
10.3969/j.issn.1009-9492.2014.08.004
2013-10-27;
2014-06-29