《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > AT89C2051單片機(jī)結(jié)合溫度補(bǔ)償?shù)某暡y距系統(tǒng)設(shè)計(jì)
AT89C2051單片機(jī)結(jié)合溫度補(bǔ)償?shù)某暡y距系統(tǒng)設(shè)計(jì)
電子設(shè)計(jì)工程
張 敏 莫兆威
摘要: 本設(shè)計(jì)實(shí)現(xiàn)了一種以AT89C2051單片機(jī)為核心的超聲波測距系統(tǒng),它具有低成本,高精度,微型化數(shù)字顯示的特點(diǎn)。為提高測量精度,在測量時使用了DS18B20溫度傳感器對系統(tǒng)進(jìn)行有效的溫度補(bǔ)償。經(jīng)實(shí)驗(yàn)證明,本系統(tǒng)電路設(shè)計(jì)合理、工作穩(wěn)定、檢測速度快、測量簡單、易于做到實(shí)時控制。
Abstract:
Key words :

0 引言
超聲波是一種在彈性介質(zhì)中的機(jī)械震蕩,它是由與介質(zhì)相接觸的震蕩源所引起的,其頻率在20kHz以上。由于超聲波的速度相對于光速要小得多,其傳播時間就比較容易檢測,并且易于定向發(fā)射,方向性好,強(qiáng)度好控制,因而利用超聲波測距在很多距離探測應(yīng)用中有很重要的用途,包括無損檢測、過程測量、機(jī)器人測量和定位,以及流體液面高度測量等。利用單片機(jī)控制超聲波檢測往往比較迅速、方便、計(jì)算簡單、易于實(shí)現(xiàn),并且測量精度高。

1 系統(tǒng)設(shè)計(jì)
超聲波測距的最遠(yuǎn)距離和分辨能力,不僅需要良好的換能器,也需要合理的驅(qū)動電路及回波探測電路。對發(fā)射而言,為了使電能到機(jī)械能的轉(zhuǎn)換效益最大,換能器必須工作在它的共振頻率處。對接收電路而言,為了使機(jī)械能到電能的轉(zhuǎn)換效率最大,最佳工作點(diǎn)必須取在反共振頻率處,在傳感器系統(tǒng)中,發(fā)射部分的共振頻率要與接收部分的反共振頻率相匹配。同時,溫度對聲速有著較大的影響,溫度補(bǔ)償無疑是減少誤差的很好方法。本設(shè)計(jì)選用T40-16T/R超聲波傳感器,設(shè)計(jì)了一種以AT89C2051單片機(jī)為核心的低成本、高精度、微型化數(shù)字顯示超聲波測距儀。為了進(jìn)一步提高系統(tǒng)測量精度和系統(tǒng)穩(wěn)定性,在硬件上增加了溫度傳感器測溫電路,采取聲速預(yù)置和媒質(zhì)溫度測量相結(jié)合的辦法對聲速進(jìn)行修正,降低了溫度變化對測距精度的影響。有力提高了超聲波測距系統(tǒng)的測量精度。
設(shè)計(jì)系統(tǒng)由單片機(jī)主控模塊、顯示模塊、超聲波發(fā)射模塊、接收模塊、溫度測量補(bǔ)償模塊等五個模塊組成,組成框圖如圖1所示。

a.JPG


超聲波發(fā)射電路由單片機(jī)輸出端直接驅(qū)動超聲波發(fā)送,超聲波接收電路輸出端與單片機(jī)相連接,單片機(jī)的輸出端與顯示電路輸入端相連接。單片機(jī)在TO時刻發(fā)射方波,同時啟動定時器開始計(jì)時,當(dāng)收到回波后,產(chǎn)生一負(fù)跳變到單片機(jī)中斷口,單片機(jī)響應(yīng)中斷程序,定時器停止計(jì)數(shù)。計(jì)算時間差即可得到超聲波在媒介中傳播的時間t,由此便可計(jì)算出距離。
2.1 超聲波測距單片機(jī)控制系統(tǒng)
單片機(jī)AT89C2051采用12MHz高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。單片機(jī)P3.5端口輸出超聲波換能器所需的40kHz的方波信號,P3.6端口監(jiān)測超聲波接收電路輸出的返回信號。顯示電路采用簡單實(shí)用的3位共陽LED數(shù)碼管,段碼輸出端口為單片機(jī)的P1口,位碼輸出端口分別為單片機(jī)的P3.2、P3.1、P3.0口,數(shù)碼管位驅(qū)運(yùn)用PNP三極管S9012三極管驅(qū)動。而溫度測量采用簡單的DS18B20溫度傳感器,測量結(jié)果送入P3.4口,利用公式算出聲速。

2.2 超聲波發(fā)射、接收電路
超聲波發(fā)射、接收電路如圖2所示。超聲波發(fā)射電路由電阻R2及超聲波發(fā)送頭T40組成;接收電路由BG1、BG2X組成的兩組三級管放大電路組成;檢波電路、比較整形電路由C7、D1、D2及BG3組成。

b.JPG


40kHz的方波由AT89C2051單片機(jī)的P3.5驅(qū)動超聲波發(fā)射頭發(fā)射超聲波,經(jīng)反射后由超聲波接收頭接收到40kHz的正弦波,由于聲波在空氣中傳播時衰減,所以接收到的波形幅值較低,經(jīng)接收電路放大、整形,最后輸出一負(fù)跳變,輸入單片機(jī)的P3.7腳。由于單片機(jī)系統(tǒng)的晶振為12M晶振,所以只能產(chǎn)生半周期為12μs或13μs的方波信號,頻率分別為41.67kHz和38.46kHz。本系統(tǒng)在編程時選用了后者。接收到的信號加到BG1、BG2組成的兩級放大器上進(jìn)行放大。每級放大器的放大倍數(shù)為70倍。放大的信號通過檢波電路得到解調(diào)后的信號。這里使用的是IN4148檢波二極管,輸出的直流信號即兩二極管之間電容電壓。該接收電路結(jié)構(gòu)簡單,性能較好,制作難度小。
2.3 溫度測量補(bǔ)償電路
在空氣中,常溫下超聲波的傳播速度是334m/s,但其傳播速度受空氣中溫度、濕度等因素的影響,其中受溫度影響較大,如溫度每升高1℃,聲速就會增加約0.6m/s。因此在相同的間隔測量距離,由于波的傳播時間是相同的,不同溫度下的聲速不同,所以最終造成測量出來的距離不相等,在距離測量精度要求很高的情況下,必須要對溫度進(jìn)行測量和補(bǔ)償,以避免溫度對測量精度的影響。本系統(tǒng)選用DS18B20溫度傳感器作為溫度測量、誤差補(bǔ)償裝置,與單片機(jī)交換信息僅需要一根I/O口線,其供電電源可來源于單片機(jī)I/O口數(shù)據(jù)線,而無需額外電源。不同溫度下超聲波在空氣中傳播速度隨溫度變化的關(guān)系如下:
v=331.4+0.61T (1)
式中,T為實(shí)際溫度(℃),v為當(dāng)前環(huán)境下聲速,單位為m/s。

3 系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)部分采用模塊化設(shè)計(jì),由主程序、發(fā)射子程序、接收子程序、中斷子程序、溫度測量等組成。超聲波測距的程序既有較復(fù)雜的計(jì)算(計(jì)算距離時),又要求精細(xì)計(jì)算程序運(yùn)行時間(超聲波測距時),所以控制程序采用C語言編程。主程序完成初始化工作、超聲波發(fā)射和接收順序的控制、距離上下限超限報警。定時中斷服務(wù)子程序完成超聲波回波接收,外部中斷服務(wù)子程序主要完成時間值的讀取、距離計(jì)算、結(jié)果的輸出等工作。

d.JPG

  主程序首先是對系統(tǒng)環(huán)境初始化,設(shè)定時器0為計(jì)數(shù),設(shè)定時器1定時。置位總中斷允許位EA。進(jìn)行主程序后,進(jìn)行定時測距判斷,當(dāng)測距標(biāo)志位c1=1,即進(jìn)行測量一次,程序設(shè)計(jì)中,超聲波測距頻度是2次/秒。測距間隔中,整個程序主要進(jìn)行循環(huán)顯示測量結(jié)果。當(dāng)調(diào)用超聲波測距子程序后,首先由單片機(jī)產(chǎn)生6~8個頻率為38.46kHz超聲波脈沖,加載至超聲波發(fā)送頭上。超聲波頭發(fā)送完超聲波后,立即啟動內(nèi)部計(jì)時器T0進(jìn)行計(jì)時,為了避免超聲波從發(fā)射頭直接傳送到接收頭引起的直射波觸發(fā),這時,單片機(jī)需要延時約1.5~2ms時間(這也就是超聲波測距儀會有一個最小可測距離的原因,稱之為盲區(qū)值)后,才啟動對單片機(jī)P3.7腳的電平判斷程序。當(dāng)檢測到P3.7腳的電平由高轉(zhuǎn)為低電平時,立即停止T0計(jì)時。
當(dāng)停止計(jì)時時,立刻啟動測溫程序,通過對溫度的讀取,算得此時聲速。由于采用單片機(jī)采用的是12MHz的晶振,計(jì)時器每計(jì)一個數(shù)就是1μs,當(dāng)超聲波測距子程序檢測到接收成功的標(biāo)志位后,將計(jì)數(shù)器T0中的數(shù)(即超聲波來回所用的時間)計(jì)算,即可得被測物體與測距儀之間的距離。測出距離后結(jié)果將以十進(jìn)制BCD碼方式送往LED顯示約0.5s,然后再發(fā)超聲波脈沖重復(fù)測量過程。我們知道,溫度對聲速的影響是很大的,因而應(yīng)該先測量溫度,再計(jì)算出此溫度下的聲速。

4 調(diào)試及數(shù)據(jù)分析
系統(tǒng)組裝調(diào)試時先焊接各個模塊,再進(jìn)行模塊的單獨(dú)測試,原件安裝完畢后,將寫好程序的AT89C2051機(jī)裝到測距板上,通電后將測距板的超聲波頭對著墻面往復(fù)移動,觀察數(shù)碼管在測量范圍內(nèi)能否正常顯示。超聲波發(fā)送功率較大時,測量距離遠(yuǎn),則相應(yīng)的下限值(盲區(qū))應(yīng)設(shè)置為較高值。
系統(tǒng)測距實(shí)驗(yàn)時在不同的實(shí)測溫度下,整個系統(tǒng)在11個特定的距離都測量7次,共計(jì)77次測量。每組7個數(shù)據(jù),去掉一個最大值和最小值,再求其平均值,用來作為最終的測量數(shù)據(jù)。

e.JPG


由圖4可見,不同的實(shí)測溫度下,在30~300cm范圍內(nèi)測量線和實(shí)際線幾乎完全重合,此時測量的精確度最高。所以本設(shè)計(jì)系統(tǒng)的可測距離為28~400cm,但是最佳測量距離為30~250cm。

5 結(jié)論
本設(shè)計(jì)完成的測距系統(tǒng)進(jìn)行了有效的溫度補(bǔ)償,測量精度可達(dá)0.01m,而且測量結(jié)果清晰穩(wěn)定,響應(yīng)時間短,0.5s刷新一次數(shù)據(jù),測量的實(shí)時性和連續(xù)性好。本系統(tǒng)可在做細(xì)微調(diào)整、改進(jìn)后用于多個應(yīng)用領(lǐng)域,比如簡單的移動機(jī)器人、汽車防碰撞等。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 欧美在线第一二三四区| 香港三级电影免费看| 精品一区二区三区AV天堂| 在线播放国产一区二区三区| 久久伊人精品青青草原高清| 欧美视频免费在线播放| 国产成人三级经典中文| 中国陆超帅精瘦ktv直男少爷| 狠狠操精品视频| 国产剧果冻传媒星空在线| 一区二区三区视频观看| 欧美日韩一区二区三区四区在线观看| 国产大陆xxxx做受视频| 一本大道无码人妻精品专区| 日韩高清一区二区| 又大又黄又粗又爽的免费视频| 999在线视频精品免费播放观看 | 久久精品国产99国产精品| 精品欧美一区二区在线观看| 国产高跟踩踏vk| 久久国产欧美日韩精品免费| 欧美激情一欧美吧| 国产一国产a一级毛片| 99爱免费视频| 日韩精品一卡2卡3卡4卡三卡 | 可以免费观看的一级毛片| 91手机视频在线| 日本特黄特黄刺激大片| 伊人五月天婷婷| 舌头伸进去里面吃小豆豆| 国色天香论坛社区在线视频 | 大香煮伊在2020一二三久应用| 五月婷婷伊人网| 精品久久久久久无码中文字幕| 国产精品国产三级在线专区| 丰满肥臀风间由美357在线| 柔佳呻吟乳峰喘息高耸入云| 免费黄网站在线看| 日本高清视频色wwwwww色| 少妇大叫太大太爽受不了| 亚洲av日韩综合一区久热|