王鋼等
摘 要:本設(shè)計(jì)是基于STC89C52 RC單片機(jī)為控制核心的無(wú)損探傷儀的高精度超聲波測(cè)距系統(tǒng)。本設(shè)計(jì)的特色在于增加了溫度補(bǔ)償模塊,對(duì)超聲波的傳播速度進(jìn)行校正,進(jìn)而提高了該測(cè)距系統(tǒng)的壞境適應(yīng)能力與精確度;顯示模塊為T(mén)FT觸屏顯示;同時(shí),為了提高系統(tǒng)的智能性在本設(shè)計(jì)中加入了實(shí)時(shí)語(yǔ)音播報(bào)模塊。該系統(tǒng)在工業(yè)控制、機(jī)器人定位、車(chē)體無(wú)損探傷、汽車(chē)防撞雷達(dá)、水利監(jiān)測(cè)等領(lǐng)域具有廣泛的應(yīng)用,特別是在實(shí)時(shí)性要求比較高的領(lǐng)域具有更大的優(yōu)勢(shì)和更廣闊的應(yīng)用前景。
關(guān)鍵詞:STC89C52 RC;超聲波;測(cè)距;溫度補(bǔ)償;實(shí)時(shí)語(yǔ)音
引言
超聲波定位技術(shù)是蝙蝠等一些無(wú)目視能力的生物作為防御天敵及捕獲獵物的生存手段, 這些生物體可發(fā)射超聲波然后借助空氣介質(zhì)傳播, 根據(jù)獵物或障礙物反射回來(lái)的回波的時(shí)間間隔及強(qiáng)弱, 判斷獵物的質(zhì)或障礙物的位置。人們根據(jù)仿生學(xué)原理, 開(kāi)發(fā)了超聲波測(cè)距和無(wú)損探傷等一系列實(shí)用技術(shù)。
1 超聲波測(cè)距及系統(tǒng)工作原理
1.1 超聲波測(cè)距原理
超聲波具有直線(xiàn)傳播特性,頻率越高,反射能力越強(qiáng)。利用超聲波的這種特性,采用時(shí)間差值檢測(cè)法(常稱(chēng)渡越時(shí)間檢測(cè)法)進(jìn)行距離的測(cè)量。其測(cè)距原理是超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射的同時(shí)開(kāi)始計(jì)時(shí)。超聲波在空氣中傳播,碰到障礙物反射回來(lái),超聲波接收器接收到反射波就立即停止計(jì)時(shí),根據(jù)計(jì)時(shí)器記錄的時(shí)間,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離。系統(tǒng)根據(jù)時(shí)間延遲計(jì)算出距離,計(jì)算公式為:
1.2 系統(tǒng)工作原理
該系統(tǒng)的核心部件為超聲波傳感器和STC89C52RC 單片機(jī)。STC89C52RC 用定時(shí)器1(T1)定時(shí)70ms,每隔70ms P2.6 端口發(fā)出一個(gè)40kHz 的方波信號(hào)驅(qū)動(dòng)超聲波發(fā)射器發(fā)射出一串超聲波脈沖,同時(shí)啟動(dòng)單片機(jī)計(jì)時(shí)器0(T0)計(jì)時(shí)測(cè)量超聲波傳播的時(shí)間。當(dāng)脈沖到達(dá)被測(cè)目標(biāo)時(shí),利用定時(shí)器1中斷口監(jiān)測(cè)超聲波接收電路輸出的返回信號(hào)。當(dāng)接收到信號(hào)時(shí),定時(shí)器1中斷發(fā)出指令讓計(jì)數(shù)器0(T0)停止計(jì)數(shù),這樣就能夠得到發(fā)射到接收的時(shí)間差t。同時(shí)溫度補(bǔ)償電路也將由溫度傳感器DS18B20采集到的現(xiàn)場(chǎng)環(huán)境溫度送到單片機(jī),提供計(jì)算距離時(shí)對(duì)超聲波傳播速度的修正。最終單片機(jī)利用公式(1)、(2)計(jì)算出被測(cè)距離,在TFT觸屏上顯示出結(jié)果,并由語(yǔ)音芯片WT588D讀出實(shí)時(shí)溫度和距離。
2 系統(tǒng)硬件設(shè)計(jì)
主控制器主要由單片機(jī)STC89C52RC、振蕩器和復(fù)位電路三部分組成,它是單片機(jī)工作的必要組成部分,又稱(chēng)為單片機(jī)最小系統(tǒng)。它是測(cè)距系統(tǒng)的控制中樞,也是整個(gè)系統(tǒng)的核心部分。在測(cè)距系統(tǒng)中發(fā)揮四個(gè)作用:(1)實(shí)現(xiàn)實(shí)時(shí)顯示和語(yǔ)音播報(bào);(2)控制超聲波的發(fā)射;(3)處理超聲波接收電路和溫度補(bǔ)償電路接收的信號(hào);(4)時(shí)間轉(zhuǎn)化成距離的數(shù)據(jù)處理。
2.1 超聲波模塊HC-SR04
采用超聲波模塊HC-SR04,該模塊的工作原理如下:
(1)采用IO口TRIG觸發(fā)測(cè)距,給至少10us的高電平信號(hào)。(2)模塊自動(dòng)發(fā)送8個(gè)40kHz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回。(3)有信號(hào)返回,通過(guò)IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)試距離=(高電平時(shí)間*聲速)/2。
2.2 溫度采集DS18B20模塊
溫度對(duì)于超聲波測(cè)距系統(tǒng)的影響是不可忽略的。為了得到較為精確的測(cè)量結(jié)果, 必須對(duì)波速進(jìn)行溫度補(bǔ)償。從(2)式中可看出, 要獲得準(zhǔn)確的波速值, 必須首先獲取現(xiàn)場(chǎng)溫度T 的大小。文章采用DS18B20 檢測(cè)現(xiàn)場(chǎng)溫度, 用以實(shí)現(xiàn)實(shí)際波速的校準(zhǔn)。
2.3 TFT觸屏顯示模塊
TFT屬于有源矩陣液晶顯示器。TFT屏幕,也是中高端彩屏手機(jī)中普遍采用的屏幕,分65536 色及26萬(wàn)色,1600萬(wàn)色三種,其顯示效果非常出色。
3)控制IC為ILI9325。
2.4 WT588D語(yǔ)音模塊
本設(shè)計(jì)中采用WT588D-16p(16引腳)芯片作為語(yǔ)音模塊的主芯片并采用其三線(xiàn)串口模式進(jìn)行連接與控制。三線(xiàn)串口控制模式由三條通信線(xiàn)組成,分別是片選CS,數(shù)據(jù)DATA,時(shí)鐘CLK,時(shí)序根據(jù)標(biāo)準(zhǔn)SPI通信方式。通過(guò)三線(xiàn)串口可以實(shí)現(xiàn)語(yǔ)音芯片命令控制、語(yǔ)音播放。時(shí)序仿照標(biāo)準(zhǔn)SPI 通信方式,發(fā)數(shù)據(jù)時(shí)先發(fā)低位,再發(fā)高位。發(fā)碼完成后DATA、CLK、CS 均要保持高電平。在發(fā)送數(shù)據(jù)時(shí), 無(wú)需先發(fā)送命令碼再發(fā)送指令。D0~D7表示一個(gè)地址或者命令數(shù)據(jù),數(shù)據(jù)中的00H~DBH為地址指令,E0H~E7H為音量調(diào)節(jié)命令, F2H為循環(huán)播放命令,F(xiàn)EH為停止播放命令,F(xiàn)5H為進(jìn)入三線(xiàn)串口控制I/O口擴(kuò)展輸出命令,F(xiàn)6H為退出三線(xiàn)串口控制I/O口擴(kuò)展輸出命令。
2.5 蜂鳴器模塊
本次設(shè)計(jì)通過(guò)一只蜂鳴器來(lái)提示用戶(hù)測(cè)距是否在測(cè)量范圍,當(dāng)不在測(cè)量范圍時(shí)蜂鳴器會(huì)報(bào)警。蜂鳴器是一塊壓電晶片,在其兩端加上3~5V的直流電壓,就能產(chǎn)生3KHz的蜂鳴聲。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)程序結(jié)構(gòu):
(1)DS18B20溫度傳感器接口模塊,分為初始化程序、寫(xiě)入命令以及讀取子程序等部分;(2)TFT顯示模塊,分為初始化、寫(xiě)入以及檢測(cè)、顯示部分;(3)溫度補(bǔ)償與距離計(jì)算模塊,分為超聲波發(fā)送控制、接收處理程序、溫度補(bǔ)償程序等;(4)報(bào)警模塊,當(dāng)T0技術(shù)溢出或測(cè)量距離不在2-400cm的范圍時(shí),則蜂鳴提示;(5)WT588D語(yǔ)音模塊,匯報(bào)實(shí)時(shí)溫度和所測(cè)距離;(6)本次設(shè)計(jì)使用C語(yǔ)言編寫(xiě)程序,C語(yǔ)言相比匯編有許多的優(yōu)勢(shì);編譯器使用Keil Version2進(jìn)行程序編譯,Keil功能強(qiáng)大使用方便;(7)主程序,分為系統(tǒng)初始化以及各個(gè)子程序的調(diào)度管理等部分。
本超聲波測(cè)距系統(tǒng)設(shè)計(jì)程序的思想如下:
(1)對(duì)系統(tǒng)進(jìn)行溫度補(bǔ)償,以便達(dá)到更精確的測(cè)量;(2)溫度每隔900ms采樣一次,DS18B20在12位精度下轉(zhuǎn)換周期為750ms,故900ms滿(mǎn)足該速度要求;(3)超聲波每隔70ms發(fā)送一次,以防止發(fā)射信號(hào)對(duì)回響信號(hào)的影響;(4)超聲波發(fā)送一定時(shí)間后才開(kāi)始啟動(dòng)檢測(cè),避免直達(dá)信號(hào)造成誤判。所以系統(tǒng)最小測(cè)量約為2cm;(5)沒(méi)有使用看門(mén)狗功能;(6)本設(shè)計(jì)中需注意當(dāng)距離過(guò)遠(yuǎn)或者沒(méi)有返回信號(hào)時(shí)候,定時(shí)器T0的溢出,報(bào)警提示;(7)溫度為四位顯示,單位為℃,距離為四位顯示,單位為cm;(8)TFT觸屏啟動(dòng)及返回觸鍵;(9)系統(tǒng)采用STC89C52的內(nèi)時(shí)鐘:24MHz。
4 實(shí)驗(yàn)數(shù)據(jù)
一般情況下,應(yīng)測(cè)量幾次數(shù)據(jù)取其平均值,目的是為減少由于測(cè)量過(guò)程中的系統(tǒng)抖動(dòng)引起的誤差。表2 的數(shù)據(jù)都是在測(cè)距系統(tǒng)固定的情況下測(cè)量的。由于本設(shè)計(jì)沒(méi)有考慮其他環(huán)境因素(如:氣壓、濕度…)的影響,只考慮了溫度補(bǔ)償?shù)挠绊?,所以在測(cè)量的時(shí)候給測(cè)量結(jié)果帶來(lái)了一定的誤差。由表2 可見(jiàn)測(cè)量精度達(dá)到設(shè)計(jì)要求。
5 結(jié)束語(yǔ)
為了驗(yàn)證系統(tǒng)的測(cè)量精度,進(jìn)行了實(shí)地測(cè)量。利用本系統(tǒng)對(duì)2~400cm范圍進(jìn)行了多次測(cè)試,經(jīng)補(bǔ)償后在1-150cm內(nèi)最大誤差不超過(guò)3mm,在150-400cm內(nèi)誤差在3-6mm內(nèi),線(xiàn)性度、穩(wěn)定性和重復(fù)性都比較好。系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、體積小、實(shí)時(shí)TFT顯示和報(bào)警、帶溫度補(bǔ)償、實(shí)時(shí)語(yǔ)音播報(bào)、抗干擾性能好等優(yōu)點(diǎn)。系統(tǒng)的誤差主要來(lái)自于環(huán)境因素、角度補(bǔ)償和時(shí)間誤差,此外電子元器件自身的時(shí)延、干擾等也造成一定影響??梢愿鶕?jù)具體場(chǎng)合,選擇合適功率的探頭,在程序中為變量選擇合適的數(shù)據(jù)類(lèi)型以及調(diào)整程序中脈沖的頻率、寬度和個(gè)數(shù)等提高精度,擴(kuò)大系統(tǒng)的應(yīng)用范圍。
參考文獻(xiàn)
[1]杜功煥,朱哲民,龔秀芬.聲學(xué)基礎(chǔ)[M].南京:南京大學(xué)出版社,2001.
[2]求實(shí)科技.單片機(jī)典型外圍器件及應(yīng)用實(shí)例[M].北京:人民郵電出版社,2001.
[3]居榮,郭怡倩.DS18B20在溫控系統(tǒng)中的應(yīng)用[J].農(nóng)機(jī)化研究,2005,20(1):224-226.
摘 要:本設(shè)計(jì)是基于STC89C52 RC單片機(jī)為控制核心的無(wú)損探傷儀的高精度超聲波測(cè)距系統(tǒng)。本設(shè)計(jì)的特色在于增加了溫度補(bǔ)償模塊,對(duì)超聲波的傳播速度進(jìn)行校正,進(jìn)而提高了該測(cè)距系統(tǒng)的壞境適應(yīng)能力與精確度;顯示模塊為T(mén)FT觸屏顯示;同時(shí),為了提高系統(tǒng)的智能性在本設(shè)計(jì)中加入了實(shí)時(shí)語(yǔ)音播報(bào)模塊。該系統(tǒng)在工業(yè)控制、機(jī)器人定位、車(chē)體無(wú)損探傷、汽車(chē)防撞雷達(dá)、水利監(jiān)測(cè)等領(lǐng)域具有廣泛的應(yīng)用,特別是在實(shí)時(shí)性要求比較高的領(lǐng)域具有更大的優(yōu)勢(shì)和更廣闊的應(yīng)用前景。
關(guān)鍵詞:STC89C52 RC;超聲波;測(cè)距;溫度補(bǔ)償;實(shí)時(shí)語(yǔ)音
引言
超聲波定位技術(shù)是蝙蝠等一些無(wú)目視能力的生物作為防御天敵及捕獲獵物的生存手段, 這些生物體可發(fā)射超聲波然后借助空氣介質(zhì)傳播, 根據(jù)獵物或障礙物反射回來(lái)的回波的時(shí)間間隔及強(qiáng)弱, 判斷獵物的質(zhì)或障礙物的位置。人們根據(jù)仿生學(xué)原理, 開(kāi)發(fā)了超聲波測(cè)距和無(wú)損探傷等一系列實(shí)用技術(shù)。
1 超聲波測(cè)距及系統(tǒng)工作原理
1.1 超聲波測(cè)距原理
超聲波具有直線(xiàn)傳播特性,頻率越高,反射能力越強(qiáng)。利用超聲波的這種特性,采用時(shí)間差值檢測(cè)法(常稱(chēng)渡越時(shí)間檢測(cè)法)進(jìn)行距離的測(cè)量。其測(cè)距原理是超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射的同時(shí)開(kāi)始計(jì)時(shí)。超聲波在空氣中傳播,碰到障礙物反射回來(lái),超聲波接收器接收到反射波就立即停止計(jì)時(shí),根據(jù)計(jì)時(shí)器記錄的時(shí)間,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離。系統(tǒng)根據(jù)時(shí)間延遲計(jì)算出距離,計(jì)算公式為:
1.2 系統(tǒng)工作原理
該系統(tǒng)的核心部件為超聲波傳感器和STC89C52RC 單片機(jī)。STC89C52RC 用定時(shí)器1(T1)定時(shí)70ms,每隔70ms P2.6 端口發(fā)出一個(gè)40kHz 的方波信號(hào)驅(qū)動(dòng)超聲波發(fā)射器發(fā)射出一串超聲波脈沖,同時(shí)啟動(dòng)單片機(jī)計(jì)時(shí)器0(T0)計(jì)時(shí)測(cè)量超聲波傳播的時(shí)間。當(dāng)脈沖到達(dá)被測(cè)目標(biāo)時(shí),利用定時(shí)器1中斷口監(jiān)測(cè)超聲波接收電路輸出的返回信號(hào)。當(dāng)接收到信號(hào)時(shí),定時(shí)器1中斷發(fā)出指令讓計(jì)數(shù)器0(T0)停止計(jì)數(shù),這樣就能夠得到發(fā)射到接收的時(shí)間差t。同時(shí)溫度補(bǔ)償電路也將由溫度傳感器DS18B20采集到的現(xiàn)場(chǎng)環(huán)境溫度送到單片機(jī),提供計(jì)算距離時(shí)對(duì)超聲波傳播速度的修正。最終單片機(jī)利用公式(1)、(2)計(jì)算出被測(cè)距離,在TFT觸屏上顯示出結(jié)果,并由語(yǔ)音芯片WT588D讀出實(shí)時(shí)溫度和距離。
2 系統(tǒng)硬件設(shè)計(jì)
主控制器主要由單片機(jī)STC89C52RC、振蕩器和復(fù)位電路三部分組成,它是單片機(jī)工作的必要組成部分,又稱(chēng)為單片機(jī)最小系統(tǒng)。它是測(cè)距系統(tǒng)的控制中樞,也是整個(gè)系統(tǒng)的核心部分。在測(cè)距系統(tǒng)中發(fā)揮四個(gè)作用:(1)實(shí)現(xiàn)實(shí)時(shí)顯示和語(yǔ)音播報(bào);(2)控制超聲波的發(fā)射;(3)處理超聲波接收電路和溫度補(bǔ)償電路接收的信號(hào);(4)時(shí)間轉(zhuǎn)化成距離的數(shù)據(jù)處理。
2.1 超聲波模塊HC-SR04
采用超聲波模塊HC-SR04,該模塊的工作原理如下:
(1)采用IO口TRIG觸發(fā)測(cè)距,給至少10us的高電平信號(hào)。(2)模塊自動(dòng)發(fā)送8個(gè)40kHz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回。(3)有信號(hào)返回,通過(guò)IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)試距離=(高電平時(shí)間*聲速)/2。
2.2 溫度采集DS18B20模塊
溫度對(duì)于超聲波測(cè)距系統(tǒng)的影響是不可忽略的。為了得到較為精確的測(cè)量結(jié)果, 必須對(duì)波速進(jìn)行溫度補(bǔ)償。從(2)式中可看出, 要獲得準(zhǔn)確的波速值, 必須首先獲取現(xiàn)場(chǎng)溫度T 的大小。文章采用DS18B20 檢測(cè)現(xiàn)場(chǎng)溫度, 用以實(shí)現(xiàn)實(shí)際波速的校準(zhǔn)。
2.3 TFT觸屏顯示模塊
TFT屬于有源矩陣液晶顯示器。TFT屏幕,也是中高端彩屏手機(jī)中普遍采用的屏幕,分65536 色及26萬(wàn)色,1600萬(wàn)色三種,其顯示效果非常出色。
3)控制IC為ILI9325。
2.4 WT588D語(yǔ)音模塊
本設(shè)計(jì)中采用WT588D-16p(16引腳)芯片作為語(yǔ)音模塊的主芯片并采用其三線(xiàn)串口模式進(jìn)行連接與控制。三線(xiàn)串口控制模式由三條通信線(xiàn)組成,分別是片選CS,數(shù)據(jù)DATA,時(shí)鐘CLK,時(shí)序根據(jù)標(biāo)準(zhǔn)SPI通信方式。通過(guò)三線(xiàn)串口可以實(shí)現(xiàn)語(yǔ)音芯片命令控制、語(yǔ)音播放。時(shí)序仿照標(biāo)準(zhǔn)SPI 通信方式,發(fā)數(shù)據(jù)時(shí)先發(fā)低位,再發(fā)高位。發(fā)碼完成后DATA、CLK、CS 均要保持高電平。在發(fā)送數(shù)據(jù)時(shí), 無(wú)需先發(fā)送命令碼再發(fā)送指令。D0~D7表示一個(gè)地址或者命令數(shù)據(jù),數(shù)據(jù)中的00H~DBH為地址指令,E0H~E7H為音量調(diào)節(jié)命令, F2H為循環(huán)播放命令,F(xiàn)EH為停止播放命令,F(xiàn)5H為進(jìn)入三線(xiàn)串口控制I/O口擴(kuò)展輸出命令,F(xiàn)6H為退出三線(xiàn)串口控制I/O口擴(kuò)展輸出命令。
2.5 蜂鳴器模塊
本次設(shè)計(jì)通過(guò)一只蜂鳴器來(lái)提示用戶(hù)測(cè)距是否在測(cè)量范圍,當(dāng)不在測(cè)量范圍時(shí)蜂鳴器會(huì)報(bào)警。蜂鳴器是一塊壓電晶片,在其兩端加上3~5V的直流電壓,就能產(chǎn)生3KHz的蜂鳴聲。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)程序結(jié)構(gòu):
(1)DS18B20溫度傳感器接口模塊,分為初始化程序、寫(xiě)入命令以及讀取子程序等部分;(2)TFT顯示模塊,分為初始化、寫(xiě)入以及檢測(cè)、顯示部分;(3)溫度補(bǔ)償與距離計(jì)算模塊,分為超聲波發(fā)送控制、接收處理程序、溫度補(bǔ)償程序等;(4)報(bào)警模塊,當(dāng)T0技術(shù)溢出或測(cè)量距離不在2-400cm的范圍時(shí),則蜂鳴提示;(5)WT588D語(yǔ)音模塊,匯報(bào)實(shí)時(shí)溫度和所測(cè)距離;(6)本次設(shè)計(jì)使用C語(yǔ)言編寫(xiě)程序,C語(yǔ)言相比匯編有許多的優(yōu)勢(shì);編譯器使用Keil Version2進(jìn)行程序編譯,Keil功能強(qiáng)大使用方便;(7)主程序,分為系統(tǒng)初始化以及各個(gè)子程序的調(diào)度管理等部分。
本超聲波測(cè)距系統(tǒng)設(shè)計(jì)程序的思想如下:
(1)對(duì)系統(tǒng)進(jìn)行溫度補(bǔ)償,以便達(dá)到更精確的測(cè)量;(2)溫度每隔900ms采樣一次,DS18B20在12位精度下轉(zhuǎn)換周期為750ms,故900ms滿(mǎn)足該速度要求;(3)超聲波每隔70ms發(fā)送一次,以防止發(fā)射信號(hào)對(duì)回響信號(hào)的影響;(4)超聲波發(fā)送一定時(shí)間后才開(kāi)始啟動(dòng)檢測(cè),避免直達(dá)信號(hào)造成誤判。所以系統(tǒng)最小測(cè)量約為2cm;(5)沒(méi)有使用看門(mén)狗功能;(6)本設(shè)計(jì)中需注意當(dāng)距離過(guò)遠(yuǎn)或者沒(méi)有返回信號(hào)時(shí)候,定時(shí)器T0的溢出,報(bào)警提示;(7)溫度為四位顯示,單位為℃,距離為四位顯示,單位為cm;(8)TFT觸屏啟動(dòng)及返回觸鍵;(9)系統(tǒng)采用STC89C52的內(nèi)時(shí)鐘:24MHz。
4 實(shí)驗(yàn)數(shù)據(jù)
一般情況下,應(yīng)測(cè)量幾次數(shù)據(jù)取其平均值,目的是為減少由于測(cè)量過(guò)程中的系統(tǒng)抖動(dòng)引起的誤差。表2 的數(shù)據(jù)都是在測(cè)距系統(tǒng)固定的情況下測(cè)量的。由于本設(shè)計(jì)沒(méi)有考慮其他環(huán)境因素(如:氣壓、濕度…)的影響,只考慮了溫度補(bǔ)償?shù)挠绊?,所以在測(cè)量的時(shí)候給測(cè)量結(jié)果帶來(lái)了一定的誤差。由表2 可見(jiàn)測(cè)量精度達(dá)到設(shè)計(jì)要求。
5 結(jié)束語(yǔ)
為了驗(yàn)證系統(tǒng)的測(cè)量精度,進(jìn)行了實(shí)地測(cè)量。利用本系統(tǒng)對(duì)2~400cm范圍進(jìn)行了多次測(cè)試,經(jīng)補(bǔ)償后在1-150cm內(nèi)最大誤差不超過(guò)3mm,在150-400cm內(nèi)誤差在3-6mm內(nèi),線(xiàn)性度、穩(wěn)定性和重復(fù)性都比較好。系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、體積小、實(shí)時(shí)TFT顯示和報(bào)警、帶溫度補(bǔ)償、實(shí)時(shí)語(yǔ)音播報(bào)、抗干擾性能好等優(yōu)點(diǎn)。系統(tǒng)的誤差主要來(lái)自于環(huán)境因素、角度補(bǔ)償和時(shí)間誤差,此外電子元器件自身的時(shí)延、干擾等也造成一定影響??梢愿鶕?jù)具體場(chǎng)合,選擇合適功率的探頭,在程序中為變量選擇合適的數(shù)據(jù)類(lèi)型以及調(diào)整程序中脈沖的頻率、寬度和個(gè)數(shù)等提高精度,擴(kuò)大系統(tǒng)的應(yīng)用范圍。
參考文獻(xiàn)
[1]杜功煥,朱哲民,龔秀芬.聲學(xué)基礎(chǔ)[M].南京:南京大學(xué)出版社,2001.
[2]求實(shí)科技.單片機(jī)典型外圍器件及應(yīng)用實(shí)例[M].北京:人民郵電出版社,2001.
[3]居榮,郭怡倩.DS18B20在溫控系統(tǒng)中的應(yīng)用[J].農(nóng)機(jī)化研究,2005,20(1):224-226.
摘 要:本設(shè)計(jì)是基于STC89C52 RC單片機(jī)為控制核心的無(wú)損探傷儀的高精度超聲波測(cè)距系統(tǒng)。本設(shè)計(jì)的特色在于增加了溫度補(bǔ)償模塊,對(duì)超聲波的傳播速度進(jìn)行校正,進(jìn)而提高了該測(cè)距系統(tǒng)的壞境適應(yīng)能力與精確度;顯示模塊為T(mén)FT觸屏顯示;同時(shí),為了提高系統(tǒng)的智能性在本設(shè)計(jì)中加入了實(shí)時(shí)語(yǔ)音播報(bào)模塊。該系統(tǒng)在工業(yè)控制、機(jī)器人定位、車(chē)體無(wú)損探傷、汽車(chē)防撞雷達(dá)、水利監(jiān)測(cè)等領(lǐng)域具有廣泛的應(yīng)用,特別是在實(shí)時(shí)性要求比較高的領(lǐng)域具有更大的優(yōu)勢(shì)和更廣闊的應(yīng)用前景。
關(guān)鍵詞:STC89C52 RC;超聲波;測(cè)距;溫度補(bǔ)償;實(shí)時(shí)語(yǔ)音
引言
超聲波定位技術(shù)是蝙蝠等一些無(wú)目視能力的生物作為防御天敵及捕獲獵物的生存手段, 這些生物體可發(fā)射超聲波然后借助空氣介質(zhì)傳播, 根據(jù)獵物或障礙物反射回來(lái)的回波的時(shí)間間隔及強(qiáng)弱, 判斷獵物的質(zhì)或障礙物的位置。人們根據(jù)仿生學(xué)原理, 開(kāi)發(fā)了超聲波測(cè)距和無(wú)損探傷等一系列實(shí)用技術(shù)。
1 超聲波測(cè)距及系統(tǒng)工作原理
1.1 超聲波測(cè)距原理
超聲波具有直線(xiàn)傳播特性,頻率越高,反射能力越強(qiáng)。利用超聲波的這種特性,采用時(shí)間差值檢測(cè)法(常稱(chēng)渡越時(shí)間檢測(cè)法)進(jìn)行距離的測(cè)量。其測(cè)距原理是超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射的同時(shí)開(kāi)始計(jì)時(shí)。超聲波在空氣中傳播,碰到障礙物反射回來(lái),超聲波接收器接收到反射波就立即停止計(jì)時(shí),根據(jù)計(jì)時(shí)器記錄的時(shí)間,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離。系統(tǒng)根據(jù)時(shí)間延遲計(jì)算出距離,計(jì)算公式為:
1.2 系統(tǒng)工作原理
該系統(tǒng)的核心部件為超聲波傳感器和STC89C52RC 單片機(jī)。STC89C52RC 用定時(shí)器1(T1)定時(shí)70ms,每隔70ms P2.6 端口發(fā)出一個(gè)40kHz 的方波信號(hào)驅(qū)動(dòng)超聲波發(fā)射器發(fā)射出一串超聲波脈沖,同時(shí)啟動(dòng)單片機(jī)計(jì)時(shí)器0(T0)計(jì)時(shí)測(cè)量超聲波傳播的時(shí)間。當(dāng)脈沖到達(dá)被測(cè)目標(biāo)時(shí),利用定時(shí)器1中斷口監(jiān)測(cè)超聲波接收電路輸出的返回信號(hào)。當(dāng)接收到信號(hào)時(shí),定時(shí)器1中斷發(fā)出指令讓計(jì)數(shù)器0(T0)停止計(jì)數(shù),這樣就能夠得到發(fā)射到接收的時(shí)間差t。同時(shí)溫度補(bǔ)償電路也將由溫度傳感器DS18B20采集到的現(xiàn)場(chǎng)環(huán)境溫度送到單片機(jī),提供計(jì)算距離時(shí)對(duì)超聲波傳播速度的修正。最終單片機(jī)利用公式(1)、(2)計(jì)算出被測(cè)距離,在TFT觸屏上顯示出結(jié)果,并由語(yǔ)音芯片WT588D讀出實(shí)時(shí)溫度和距離。
2 系統(tǒng)硬件設(shè)計(jì)
主控制器主要由單片機(jī)STC89C52RC、振蕩器和復(fù)位電路三部分組成,它是單片機(jī)工作的必要組成部分,又稱(chēng)為單片機(jī)最小系統(tǒng)。它是測(cè)距系統(tǒng)的控制中樞,也是整個(gè)系統(tǒng)的核心部分。在測(cè)距系統(tǒng)中發(fā)揮四個(gè)作用:(1)實(shí)現(xiàn)實(shí)時(shí)顯示和語(yǔ)音播報(bào);(2)控制超聲波的發(fā)射;(3)處理超聲波接收電路和溫度補(bǔ)償電路接收的信號(hào);(4)時(shí)間轉(zhuǎn)化成距離的數(shù)據(jù)處理。
2.1 超聲波模塊HC-SR04
采用超聲波模塊HC-SR04,該模塊的工作原理如下:
(1)采用IO口TRIG觸發(fā)測(cè)距,給至少10us的高電平信號(hào)。(2)模塊自動(dòng)發(fā)送8個(gè)40kHz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回。(3)有信號(hào)返回,通過(guò)IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)試距離=(高電平時(shí)間*聲速)/2。
2.2 溫度采集DS18B20模塊
溫度對(duì)于超聲波測(cè)距系統(tǒng)的影響是不可忽略的。為了得到較為精確的測(cè)量結(jié)果, 必須對(duì)波速進(jìn)行溫度補(bǔ)償。從(2)式中可看出, 要獲得準(zhǔn)確的波速值, 必須首先獲取現(xiàn)場(chǎng)溫度T 的大小。文章采用DS18B20 檢測(cè)現(xiàn)場(chǎng)溫度, 用以實(shí)現(xiàn)實(shí)際波速的校準(zhǔn)。
2.3 TFT觸屏顯示模塊
TFT屬于有源矩陣液晶顯示器。TFT屏幕,也是中高端彩屏手機(jī)中普遍采用的屏幕,分65536 色及26萬(wàn)色,1600萬(wàn)色三種,其顯示效果非常出色。
3)控制IC為ILI9325。
2.4 WT588D語(yǔ)音模塊
本設(shè)計(jì)中采用WT588D-16p(16引腳)芯片作為語(yǔ)音模塊的主芯片并采用其三線(xiàn)串口模式進(jìn)行連接與控制。三線(xiàn)串口控制模式由三條通信線(xiàn)組成,分別是片選CS,數(shù)據(jù)DATA,時(shí)鐘CLK,時(shí)序根據(jù)標(biāo)準(zhǔn)SPI通信方式。通過(guò)三線(xiàn)串口可以實(shí)現(xiàn)語(yǔ)音芯片命令控制、語(yǔ)音播放。時(shí)序仿照標(biāo)準(zhǔn)SPI 通信方式,發(fā)數(shù)據(jù)時(shí)先發(fā)低位,再發(fā)高位。發(fā)碼完成后DATA、CLK、CS 均要保持高電平。在發(fā)送數(shù)據(jù)時(shí), 無(wú)需先發(fā)送命令碼再發(fā)送指令。D0~D7表示一個(gè)地址或者命令數(shù)據(jù),數(shù)據(jù)中的00H~DBH為地址指令,E0H~E7H為音量調(diào)節(jié)命令, F2H為循環(huán)播放命令,F(xiàn)EH為停止播放命令,F(xiàn)5H為進(jìn)入三線(xiàn)串口控制I/O口擴(kuò)展輸出命令,F(xiàn)6H為退出三線(xiàn)串口控制I/O口擴(kuò)展輸出命令。
2.5 蜂鳴器模塊
本次設(shè)計(jì)通過(guò)一只蜂鳴器來(lái)提示用戶(hù)測(cè)距是否在測(cè)量范圍,當(dāng)不在測(cè)量范圍時(shí)蜂鳴器會(huì)報(bào)警。蜂鳴器是一塊壓電晶片,在其兩端加上3~5V的直流電壓,就能產(chǎn)生3KHz的蜂鳴聲。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)程序結(jié)構(gòu):
(1)DS18B20溫度傳感器接口模塊,分為初始化程序、寫(xiě)入命令以及讀取子程序等部分;(2)TFT顯示模塊,分為初始化、寫(xiě)入以及檢測(cè)、顯示部分;(3)溫度補(bǔ)償與距離計(jì)算模塊,分為超聲波發(fā)送控制、接收處理程序、溫度補(bǔ)償程序等;(4)報(bào)警模塊,當(dāng)T0技術(shù)溢出或測(cè)量距離不在2-400cm的范圍時(shí),則蜂鳴提示;(5)WT588D語(yǔ)音模塊,匯報(bào)實(shí)時(shí)溫度和所測(cè)距離;(6)本次設(shè)計(jì)使用C語(yǔ)言編寫(xiě)程序,C語(yǔ)言相比匯編有許多的優(yōu)勢(shì);編譯器使用Keil Version2進(jìn)行程序編譯,Keil功能強(qiáng)大使用方便;(7)主程序,分為系統(tǒng)初始化以及各個(gè)子程序的調(diào)度管理等部分。
本超聲波測(cè)距系統(tǒng)設(shè)計(jì)程序的思想如下:
(1)對(duì)系統(tǒng)進(jìn)行溫度補(bǔ)償,以便達(dá)到更精確的測(cè)量;(2)溫度每隔900ms采樣一次,DS18B20在12位精度下轉(zhuǎn)換周期為750ms,故900ms滿(mǎn)足該速度要求;(3)超聲波每隔70ms發(fā)送一次,以防止發(fā)射信號(hào)對(duì)回響信號(hào)的影響;(4)超聲波發(fā)送一定時(shí)間后才開(kāi)始啟動(dòng)檢測(cè),避免直達(dá)信號(hào)造成誤判。所以系統(tǒng)最小測(cè)量約為2cm;(5)沒(méi)有使用看門(mén)狗功能;(6)本設(shè)計(jì)中需注意當(dāng)距離過(guò)遠(yuǎn)或者沒(méi)有返回信號(hào)時(shí)候,定時(shí)器T0的溢出,報(bào)警提示;(7)溫度為四位顯示,單位為℃,距離為四位顯示,單位為cm;(8)TFT觸屏啟動(dòng)及返回觸鍵;(9)系統(tǒng)采用STC89C52的內(nèi)時(shí)鐘:24MHz。
4 實(shí)驗(yàn)數(shù)據(jù)
一般情況下,應(yīng)測(cè)量幾次數(shù)據(jù)取其平均值,目的是為減少由于測(cè)量過(guò)程中的系統(tǒng)抖動(dòng)引起的誤差。表2 的數(shù)據(jù)都是在測(cè)距系統(tǒng)固定的情況下測(cè)量的。由于本設(shè)計(jì)沒(méi)有考慮其他環(huán)境因素(如:氣壓、濕度…)的影響,只考慮了溫度補(bǔ)償?shù)挠绊懀栽跍y(cè)量的時(shí)候給測(cè)量結(jié)果帶來(lái)了一定的誤差。由表2 可見(jiàn)測(cè)量精度達(dá)到設(shè)計(jì)要求。
5 結(jié)束語(yǔ)
為了驗(yàn)證系統(tǒng)的測(cè)量精度,進(jìn)行了實(shí)地測(cè)量。利用本系統(tǒng)對(duì)2~400cm范圍進(jìn)行了多次測(cè)試,經(jīng)補(bǔ)償后在1-150cm內(nèi)最大誤差不超過(guò)3mm,在150-400cm內(nèi)誤差在3-6mm內(nèi),線(xiàn)性度、穩(wěn)定性和重復(fù)性都比較好。系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、體積小、實(shí)時(shí)TFT顯示和報(bào)警、帶溫度補(bǔ)償、實(shí)時(shí)語(yǔ)音播報(bào)、抗干擾性能好等優(yōu)點(diǎn)。系統(tǒng)的誤差主要來(lái)自于環(huán)境因素、角度補(bǔ)償和時(shí)間誤差,此外電子元器件自身的時(shí)延、干擾等也造成一定影響??梢愿鶕?jù)具體場(chǎng)合,選擇合適功率的探頭,在程序中為變量選擇合適的數(shù)據(jù)類(lèi)型以及調(diào)整程序中脈沖的頻率、寬度和個(gè)數(shù)等提高精度,擴(kuò)大系統(tǒng)的應(yīng)用范圍。
參考文獻(xiàn)
[1]杜功煥,朱哲民,龔秀芬.聲學(xué)基礎(chǔ)[M].南京:南京大學(xué)出版社,2001.
[2]求實(shí)科技.單片機(jī)典型外圍器件及應(yīng)用實(shí)例[M].北京:人民郵電出版社,2001.
[3]居榮,郭怡倩.DS18B20在溫控系統(tǒng)中的應(yīng)用[J].農(nóng)機(jī)化研究,2005,20(1):224-226.