邵陽(yáng)學(xué)院信息工程系 李 忠 許建明 申 穎 粟成發(fā) 曹勝果
隨著電子技術(shù)的發(fā)展,超聲波傳感器在測(cè)量方面有著廣泛和普遍的應(yīng)用,特別在測(cè)距儀中的應(yīng)用。采用超聲波傳感器進(jìn)行距離測(cè)量能夠適應(yīng)煙霧環(huán)境、黑暗環(huán)境、電磁干擾、有毒有害氣體空間等惡劣環(huán)境的場(chǎng)合,是一種非接觸式測(cè)距的測(cè)量方法,因而在液體流量和液位測(cè)量、倒車(chē)?yán)走_(dá)、建筑施工等各種應(yīng)用領(lǐng)域有較大的實(shí)用價(jià)值[1]。利用微控制器控制超聲波測(cè)量距離具有快捷方便、成本低廉、電路簡(jiǎn)單、實(shí)時(shí)控制等特點(diǎn),本設(shè)計(jì)就是采用單片機(jī)作為主控制器,利用超聲波測(cè)距原理實(shí)現(xiàn)數(shù)顯、快速、高精度的超聲波測(cè)距儀的設(shè)計(jì)。
超聲波電路包括發(fā)射電路和接收電路,計(jì)時(shí)開(kāi)始時(shí)發(fā)射電路向被測(cè)物發(fā)射超聲波,超聲波在空氣中進(jìn)行傳播[2],途中遇到被測(cè)物體產(chǎn)生反射,接收器接收后立即停止計(jì)時(shí)。由于超聲波在空氣中傳播的速度是340m/s,單片機(jī)定時(shí)器記時(shí)為t,計(jì)算得到發(fā)射點(diǎn)到被測(cè)物體的距離(s),即:s=340t/2。原理圖如圖1所示。
圖1 超聲波測(cè)距原理圖
超聲波測(cè)距儀系統(tǒng)主要包括:超聲波模塊、ISD4004語(yǔ)音模塊、存儲(chǔ)模塊、LCD顯示模塊和按鍵控制模塊四個(gè)部分,系統(tǒng)方框圖如圖2所示。
圖2 系統(tǒng)硬件方框圖
由于目前市場(chǎng)上成型的超聲波測(cè)距模塊應(yīng)用日益廣泛,性能穩(wěn)定且精度高,因此本設(shè)計(jì)采用KS103超聲波測(cè)距模塊代替超聲波發(fā)射與接收電路[3]。KS103超聲波模塊測(cè)較大平面物體量程可達(dá)10米,平均精度2mm,最高可達(dá)1mm,且?guī)囟妊a(bǔ)償功能,減小了測(cè)量誤差。
ISD4004芯片工作電壓3V,單片錄放時(shí)間8至16分鐘,還可以在斷電情況下保存,非常適合于便攜式電子產(chǎn)品設(shè)計(jì)。因此語(yǔ)音模塊采用了ISD4004芯片。語(yǔ)音模塊電路如圖3所示。
本系統(tǒng)采用AT24C02作為存儲(chǔ)電路[4],因AT24C02的工作電壓范圍教寬,且具有接口方便、體積小、可靠性高、數(shù)據(jù)掉電不丟失等特點(diǎn)。所以采用AT24C02來(lái)存儲(chǔ)測(cè)量數(shù)據(jù),通過(guò)按鍵可以調(diào)出之前30次的測(cè)量數(shù)據(jù)。
考慮到數(shù)碼管顯示過(guò)于簡(jiǎn)單,而且顯示效果也不如LCD1602,為方便查看測(cè)量數(shù)據(jù),故顯示模塊采用LCD1602。為使測(cè)距儀操作盡量簡(jiǎn)單,按鍵控制模塊一共只設(shè)計(jì)了三個(gè)按鍵,其功能分別是:測(cè)量、上翻數(shù)據(jù)、下翻數(shù)據(jù)。
圖3 語(yǔ)音模塊電路
超聲波測(cè)距程序由主程序、超聲波發(fā)射和接收程序、距離計(jì)算程序以及LCD顯示程序組成。主程序?qū)Ω髂K初始化,并給LCD1602發(fā)送開(kāi)機(jī)顯示字符。三個(gè)按鍵分別連接到單片機(jī)的三個(gè)引腳,采用掃描的方式判斷三個(gè)按鍵(測(cè)距、記錄加和記錄減)是否某一個(gè)按鍵被按下,再調(diào)用相應(yīng)的子程序進(jìn)行處理;超聲波脈沖的發(fā)送由超聲波發(fā)送子程序?qū)崿F(xiàn),為避免超聲波從發(fā)射到接收出現(xiàn)直接波的觸發(fā),增加一定的延時(shí)時(shí)間。從發(fā)出超聲波的時(shí)候開(kāi)始計(jì)時(shí),當(dāng)接收到返回的超聲波時(shí)停止計(jì)時(shí),最后根據(jù)時(shí)間計(jì)算出所測(cè)量的距離。本設(shè)計(jì)采用主頻為12MHz,1μs的機(jī)器周期,當(dāng)成功接收的標(biāo)志位被主程序檢測(cè)到之后,按式(1)可計(jì)算出測(cè)距儀與被測(cè)物體間的距離:
式(1)中計(jì)數(shù)器T0中的值為發(fā)送到接收的時(shí)間,C為速度,d為距離。計(jì)算出的距離結(jié)果以十進(jìn)制BCD碼形式進(jìn)行LCD顯示,接著進(jìn)行重復(fù)測(cè)量。程序主流程圖如圖4所示。
圖4 主程序流程圖
按以上步驟完成超聲波測(cè)距儀的設(shè)計(jì)后,對(duì)完成的實(shí)物進(jìn)行實(shí)際的數(shù)據(jù)測(cè)量。測(cè)量結(jié)果如表1所示。
表1結(jié)果分析:在小于1cm時(shí)與大于450cm時(shí)誤差較大,在1cm-450cm區(qū)間內(nèi)誤差在1mm以內(nèi),大于500cm無(wú)數(shù)據(jù)。
實(shí)物制作與測(cè)量數(shù)據(jù)如圖5所示。
表1 測(cè)試結(jié)果(環(huán)境溫度25°C)
圖5 實(shí)物測(cè)試圖
本設(shè)計(jì)利用STC89C51單片機(jī)設(shè)計(jì)的高精度超聲波語(yǔ)音測(cè)距儀,將測(cè)量的結(jié)果用LCD1602液晶直接顯示,通過(guò)ISD4004語(yǔ)音模塊對(duì)測(cè)量結(jié)果進(jìn)行實(shí)時(shí)播報(bào)。超聲波測(cè)距模塊采用KS103,測(cè)距結(jié)果通過(guò)I2C總線協(xié)議輸出,這種通過(guò)電路模塊化的設(shè)計(jì)方式非常符合當(dāng)今電子產(chǎn)品發(fā)明設(shè)計(jì)主流。本超聲波語(yǔ)音測(cè)距儀通過(guò)仿真和實(shí)物的雙重驗(yàn)證,具有性能穩(wěn)定、測(cè)量精度高、操作簡(jiǎn)單,且有非常好的推廣和應(yīng)用價(jià)值。
[1]卜英勇,王紀(jì)嬋,趙海嗚等.基于單片機(jī)的高精度超聲波測(cè)距系統(tǒng)[J].儀表技術(shù)與傳感器,2007(3):66-68.
[2]郁有文,常健,程繼紅.傳感器原理及工程應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2008.
[3]胡曉,巴力登.基于AT89C52的超聲波測(cè)距系統(tǒng)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2014,27(3):125-126.
[4]江世明,許建明,朱群峰,申壽云.單片機(jī)原理及應(yīng)用[M].上海:上海交通大學(xué)出版社,2013.