魯 可,張曉東,馬宏旭
(河南工業(yè)大學(xué)電氣工程學(xué)院,河南鄭州 450007)
基于單片機(jī)的超聲波液位檢測(cè)系統(tǒng)設(shè)計(jì)
魯 可,張曉東,馬宏旭
(河南工業(yè)大學(xué)電氣工程學(xué)院,河南鄭州 450007)
為解決腐蝕性液體的液位測(cè)量中電極特別容易被電解腐蝕的問題,將超聲波技術(shù)應(yīng)用到工業(yè)生產(chǎn)液位或物料的檢測(cè)中。以AT89S52單片機(jī)為核心,建立超聲波測(cè)得距離和聲速與傳輸時(shí)間之間的關(guān)系,提出通過硬件電路設(shè)計(jì)和軟件編程實(shí)現(xiàn)對(duì)液位高度的檢測(cè)的方法,進(jìn)行了超聲波測(cè)距在20 cm和80 cm兩種距離的試驗(yàn)。由于超聲波受溫度的影響較大,采用溫度傳感器對(duì)溫度進(jìn)行測(cè)量,根據(jù)公式進(jìn)行溫度補(bǔ)償,并設(shè)計(jì)了報(bào)警模塊,當(dāng)溫度過高時(shí)進(jìn)行報(bào)警。結(jié)果表明,超聲波測(cè)距的相對(duì)誤差分別為2.5%和1.25%,這樣的精度能夠滿足實(shí)際需求,達(dá)到了預(yù)期目標(biāo)。該系統(tǒng)具有測(cè)量準(zhǔn)確、功耗低、使用壽命長等特點(diǎn),可以滿足一般的工業(yè)需要。
液位檢測(cè);超聲波;單片機(jī)
液位測(cè)量是與生活息息相關(guān)的一個(gè)話題,在現(xiàn)實(shí)生活中,有許多行業(yè)都需要對(duì)液位進(jìn)行測(cè)量。傳統(tǒng)的測(cè)量方法,如差位分布電極法,需要電極長時(shí)間地浸泡在液體中,特別容易被電解,腐蝕。為了解決這個(gè)問題,本課題采用一種非接觸性的測(cè)量技術(shù),即超聲波傳感技術(shù)進(jìn)行液位檢測(cè),實(shí)現(xiàn)對(duì)液位或物料的檢測(cè)。超聲波液位測(cè)量是液位測(cè)量中最常用也是最為便捷有效的測(cè)量方法[1]。利用超聲波檢測(cè)或感知物體時(shí),具有非破壞性、遙控性、實(shí)時(shí)性、可穿透性等優(yōu)點(diǎn),因此利用超聲波測(cè)距十分方便[2]。
超聲波,是一種聲波,頻率高于人耳能聽到的頻率,大多數(shù)用于超聲波檢測(cè),下限頻率為20 kHz,上限為100 kHz。超聲波傳感器就是利用超聲波在超聲場(chǎng)中的物理特性和各種效應(yīng)研制而成的傳感器[3]。超聲波在液體中傳播的過程中,方向性比較好,并且傳播過程中能量損失比較少,在其遇到分界面時(shí),能夠反射,用反射測(cè)距的原理,測(cè)得超聲波在發(fā)射之后遇到分界面反射的時(shí)間,來確定液面的高度。
超聲波液位檢測(cè)有脈沖回波法、共振法、頻差法以及聲衰減法,其中應(yīng)用較廣的是脈沖回波法[4]。本文采用脈沖回波法來進(jìn)行測(cè)距,其基本原理是:將超聲波發(fā)射器、接收器裝于一個(gè)容器頂部,在同一高度,利用超聲波遇到不同物質(zhì)界面反射的性質(zhì),超聲波發(fā)射器發(fā)出信號(hào)和接收器收到信號(hào)的時(shí)間記錄下來,即可測(cè)得距離。其原理如圖1所示。
圖1 超聲波測(cè)距原理圖
超聲波傳輸?shù)膯未尉嚯xS與聲速v和傳輸時(shí)間t之間的關(guān)系可以表示為:
其中S為超聲波傳輸?shù)膯未尉嚯x,v為超聲波傳播速度,t為回波時(shí)間,t=T1+T2。
同理,超聲波測(cè)液位就是要測(cè)量距離液面的距離,把超聲波測(cè)距儀安裝在所測(cè)液面的上方,通過換算來求得液位高度。超聲波液位檢測(cè)原理圖如圖2所示。
圖2 超聲波液位測(cè)量原理圖
由圖2可知,提前測(cè)得超聲波探頭到所測(cè)容器的底部的距離,假定為H,超聲波探頭距前液面的距離為S,即可得知液面高度,h=H-S。因此超聲波液位測(cè)量的關(guān)鍵工作就是測(cè)量探頭到液面的的距離S。
本系統(tǒng)由AT89S52單片機(jī)、超聲波發(fā)射接受模塊、LCD液晶顯示模塊、溫度檢測(cè)模塊和聲音報(bào)警模塊組成。系統(tǒng)總體框圖如圖3所示。
圖3 系統(tǒng)總體框圖
AT89S52單片機(jī)作為整個(gè)系統(tǒng)的核心部件,協(xié)調(diào)著各模塊的工作。超聲波收發(fā)器模塊連接到單片機(jī)進(jìn)行超聲波發(fā)射和接收。溫度測(cè)量模塊也將現(xiàn)場(chǎng)的環(huán)境溫度數(shù)據(jù)采集到單片機(jī)。在這個(gè)過程中,LCD液晶顯示電路不斷更新當(dāng)前值。如果溫度過高,則觸發(fā)聲音報(bào)警模塊。
(1)AT89S52單片機(jī)
AT89S52最小系統(tǒng)如圖4所示。
(2)超聲波發(fā)射接受模塊
本系統(tǒng)選用HC-SR04超聲波發(fā)射接受模塊。HC-SR04超聲波發(fā)射接受模塊可以提供2 cm~400 cm的非接觸距離測(cè)量,此模塊包括超聲波發(fā)射器、接收器、控制電路三個(gè)部分。在Trig引腳上產(chǎn)生一個(gè)寬度大于10μs的高電平脈沖,即可激活模塊,模塊將會(huì)自動(dòng)發(fā)送8個(gè)40 kHz的方波脈沖,并且發(fā)送完成后模塊將自動(dòng)檢測(cè)是否有反射信號(hào)返回,若在一定時(shí)間內(nèi)收到反射信號(hào),則模塊會(huì)在Echo引腳上輸出一個(gè)和信號(hào)傳輸時(shí)間成正比的高電平信號(hào),系統(tǒng)通過檢測(cè)這個(gè)高電平的寬度時(shí)間T即可計(jì)算出反射物體距模塊的距離S。假設(shè)校準(zhǔn)后的聲速為v,那么距離S為:
超聲波發(fā)射接受模塊的實(shí)物圖如圖5所示。
圖4 AT89S52最小系統(tǒng)
(3)液晶顯示模塊
數(shù)碼管是比較常用的顯示器件,在各種系統(tǒng)中都得到了廣泛的應(yīng)用,數(shù)碼管的體積相對(duì)較小,而且重量輕、它的功耗也很低,是一種相對(duì)理想的數(shù)據(jù)輸出的器件。考慮到本系統(tǒng)對(duì)顯示方面的要求,確保溫度和液位高度同時(shí)準(zhǔn)確清晰的顯示,本系統(tǒng)的液位顯示部分采用1602液晶顯示模塊。
1602液晶顯示器一般的自帶ASCII字庫,其基本特性如下:
(1)顯示32個(gè)英文字符;
(2)內(nèi)置ASCII碼字庫;
(3)通訊方式:8線/4線并行可選,本設(shè)計(jì)選用8線并行方式。
圖5 超聲波發(fā)射接受模塊實(shí)物圖
(4)溫度測(cè)量模塊
在空氣中,常溫下超聲波的傳播速度是334 m/s,由于超聲波的傳播速度V受到空氣中溫度、濕度、壓強(qiáng)等因素的影響,其中受溫度的影響較大,如溫度每升高1℃,聲速增加約0.6 m/s。因此在測(cè)距準(zhǔn)確度要求很高的情況下,應(yīng)通過溫度補(bǔ)償?shù)姆椒▽?duì)傳播速度加以校正[5]。
超聲波受溫度影響較大,其速度與溫度的表達(dá)式為c=331.5+ 0.607T,所以要想保證測(cè)量的精度,必須要補(bǔ)償溫度,本設(shè)計(jì)使用 DS18B20進(jìn)行溫度測(cè)量。DSl8B20是美國DALLAS半導(dǎo)體公司,研發(fā)推出的一種智能溫度傳感器。它能夠直接測(cè)出溫度,使用方便,并且性能較為良好。
(5)報(bào)警模塊
當(dāng)溫度過高時(shí),超聲波速度會(huì)受到較大影響,從而影響測(cè)量精度,因此報(bào)警電路在液位測(cè)量中必不可少,通過蜂鳴器來實(shí)現(xiàn)報(bào)警功能。蜂鳴器是一個(gè)電子發(fā)聲器件,分為電磁式蜂鳴器、壓電式蜂鳴器兩種。設(shè)計(jì)采用的是壓電式蜂鳴器。當(dāng)電源接通時(shí)(1.5~15 V的工作電壓DC),多諧振蕩器啟動(dòng),1.5~2.5 kHz的音頻信號(hào)輸出。蜂鳴器的發(fā)聲原理是激勵(lì)電流通過蜂鳴器發(fā)聲元件的電磁線圈,通電的線圈產(chǎn)生的磁場(chǎng)和原來固定磁場(chǎng)作用產(chǎn)生震動(dòng)從而發(fā)聲。由于線圈產(chǎn)生磁場(chǎng)完全靠電流驅(qū)動(dòng),因此,蜂鳴器發(fā)聲需要一定大的電流來驅(qū)動(dòng),一般電流越大,聲音越大。
三極管型號(hào)是S8550,是一個(gè)PNP型三極管,BELL引腳為低電平時(shí)蜂鳴器發(fā)聲,為高電平時(shí)蜂鳴器關(guān)斷。
整個(gè)系統(tǒng)的軟件設(shè)計(jì)分為兩大部分,主程序和中斷服務(wù)程序。主程序完成對(duì)單片機(jī)自身以及外圍模塊的初始化、控制超聲波模塊的發(fā)射和接收以及溫度測(cè)量、距離計(jì)算、結(jié)果顯示等大部分主要工作。中斷服務(wù)程序部分主要是定時(shí)器溢出中斷,用于產(chǎn)生超時(shí)標(biāo)志。在正常模式下,讀取定時(shí)器計(jì)數(shù)器寄存器的值來獲取時(shí)間信息,當(dāng)發(fā)生中斷則意味著超時(shí),測(cè)距失敗。
圖6 主程序以及中斷服務(wù)程序流程圖
本系統(tǒng)單片機(jī)時(shí)鐘采用的是12 MHz的晶振,所以單片機(jī)內(nèi)部計(jì)數(shù)器每計(jì)一個(gè)數(shù)的時(shí)間為1μs,當(dāng)主程序調(diào)用超聲波測(cè)距函數(shù)啟動(dòng)超聲波發(fā)送后,進(jìn)入等待回響狀態(tài),當(dāng)超聲波測(cè)距函數(shù)檢測(cè)到了接收成功的標(biāo)志后,會(huì)將計(jì)數(shù)器中的計(jì)數(shù)值(即超聲波發(fā)送和返回所耗的總時(shí)間)保存,這樣就得到了時(shí)間信息,再根據(jù)溫度補(bǔ)償公式計(jì)算超聲波的速度,從而測(cè)得被測(cè)物體與超聲波發(fā)射接收模塊之間的距離。最后將測(cè)得的距離進(jìn)行判斷是否超出預(yù)定范圍,判斷是否需要報(bào)警,然后將測(cè)得的溫度、距離信息送往LCD顯示,然后主程序繼續(xù)執(zhí)行,重復(fù)上述過程。
本次設(shè)計(jì)使用C語言編寫所需程序,寄存器分配、不同存儲(chǔ)器的尋址及數(shù)據(jù)類型等細(xì)節(jié),可由編譯器管理。主程序首先初始化單片機(jī),開啟總中斷,設(shè)置定時(shí)器0工作方式以及定時(shí)器0的初值,然后再對(duì)LCD1602和18B20初始化,進(jìn)入主程序循環(huán),每隔大約500 ms測(cè)一次距離值和溫度值,若測(cè)距成功則將計(jì)算出的距離值和溫度值送到LCD1602上顯示。中斷服務(wù)程序的主要作用是計(jì)算超時(shí)和計(jì)時(shí)。主程序以及中斷服務(wù)程序流程圖如圖6所示。
本系統(tǒng)的實(shí)物圖如圖7所示。為了反映測(cè)距的精確度,分別在20 cm和80 cm的距離下進(jìn)行測(cè)試,測(cè)試對(duì)象為垂直桌面,測(cè)試結(jié)果如圖8和圖9所示。
圖7 實(shí)物圖
圖8 20 cm測(cè)距結(jié)果
從圖8和9中可以看到,兩次測(cè)距的誤差分別為2.5%和1.25%,這樣的精度能夠滿足實(shí)際需求,達(dá)到了預(yù)期目標(biāo)。
整個(gè)系統(tǒng)以單片機(jī)為核心,具有測(cè)量準(zhǔn)確、軟件可升級(jí)、功能可擴(kuò)展、功耗低、使用壽命長等特點(diǎn)。通過實(shí)際測(cè)試,也發(fā)現(xiàn)了一些限制因素,比如方向性不好,只有正射液面才能獲得準(zhǔn)確的結(jié)果。在實(shí)際使用中,得到了以下結(jié)論:系統(tǒng)會(huì)受到距離的影響,距離越短,相對(duì)誤差越大;在測(cè)量時(shí),涉及到的模塊要盡量平穩(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