基于51單片機(jī)的超聲波測距系統(tǒng)的畢業(yè)設(shè)計論文_第1頁
基于51單片機(jī)的超聲波測距系統(tǒng)的畢業(yè)設(shè)計論文_第2頁
基于51單片機(jī)的超聲波測距系統(tǒng)的畢業(yè)設(shè)計論文_第3頁
基于51單片機(jī)的超聲波測距系統(tǒng)的畢業(yè)設(shè)計論文_第4頁
基于51單片機(jī)的超聲波測距系統(tǒng)的畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

-.z.畢業(yè)設(shè)計報告〔論文〕報告〔論文〕題目:基于51單片機(jī)的超聲波測距系統(tǒng)設(shè)計作者所在系部:******作者所在專業(yè):******作者所在班級:****作者姓名:***作者學(xué)號:*******指導(dǎo)教師:***完成時間:****年*月*日中北大學(xué)畢業(yè)設(shè)計〔論文〕任務(wù)書姓名:**專業(yè):***班級:*****:********指導(dǎo)教師:***職稱:****完成時間:****年*月*日畢業(yè)設(shè)計〔論文〕題目:基于51單片機(jī)的超聲波測距系統(tǒng)設(shè)計設(shè)計目標(biāo):利用超聲波的指向性強(qiáng)、能量消耗慢、傳播距離遠(yuǎn)等特點,設(shè)計實現(xiàn)生活中很多場合如汽車倒車、機(jī)器人避障、工業(yè)測井、水庫液位測量等需要自動進(jìn)展非接觸測距的工作。技術(shù)要求:1、熟練使用AT89C51單片機(jī)、超聲波發(fā)射器、超聲波接收換能器各種儀器。掌握其原理,學(xué)以致用。設(shè)計出超聲波測距儀的硬件構(gòu)造電路。2、對設(shè)計的電路進(jìn)展分析能夠產(chǎn)生超聲波,實現(xiàn)超聲波的發(fā)送與接收,從而實現(xiàn)利用超聲波方法測量物體間的距離。3、對設(shè)計的電路進(jìn)展分析。所需儀器設(shè)備:AT89C51單片機(jī)、超聲波發(fā)射器、超聲波接收換能器成果驗收形式:原理圖、仿真結(jié)果參考文獻(xiàn):"單片機(jī)原理與接口技術(shù)"、"傳感器應(yīng)用A"、"電子測量技術(shù)"時間安排15周6周立題論證39周13周仿真調(diào)試27周8周方案設(shè)計414周16周成果驗收指導(dǎo)教師:教研室主任:系主任:-.z.摘要超聲波是指頻率在20kHz以上的聲波,它屬于機(jī)械波的疇。超聲波也遵循一般機(jī)械波在彈性介質(zhì)中的傳播規(guī)律,如在介質(zhì)的分界面處發(fā)生反射和折射現(xiàn)象,在進(jìn)入介質(zhì)后被介質(zhì)吸收而發(fā)生衰減等。正是因為具有這些性質(zhì),使得超聲波可以用于距離的測量中。隨著科技水平的不斷提高,超聲波測距技術(shù)被廣泛應(yīng)用于人們?nèi)粘9ぷ骱蜕钪?。系統(tǒng)的設(shè)計主要包括兩局部,即硬件電路和軟件程序。硬件電路主要包括單片機(jī)電路、發(fā)射電路、接收電路、顯示電路和電源電路,另外還有復(fù)位電路和LED控制電路等。我采用以AT89C51單片機(jī)為核心的低本錢、高精度、微型化數(shù)字顯示超聲波測距儀的硬件電路。整個電路采用模塊化設(shè)計,由信號發(fā)射和接收、供電、溫度測量、顯示等模塊組成。發(fā)射探頭的信號經(jīng)放大和檢波后發(fā)射出去,單片機(jī)的計時器開場計時,超聲波被發(fā)射后按原路返回,在經(jīng)過放大帶通濾波整形等環(huán)節(jié),然后被單片機(jī)接收,計數(shù)器停頓工作并得到時間。溫度測量后送到單片機(jī),通過程序?qū)λ俣冗M(jìn)展校正,結(jié)合兩者實現(xiàn)超聲波測距的功能。軟件程序主要由主程序、預(yù)置子程序、發(fā)射子程序、接收子程序、顯示子程序等模塊組成。它控制單片機(jī)進(jìn)展數(shù)據(jù)發(fā)送與接收,在一定溫度下對超聲波速度的校正,還有實現(xiàn)數(shù)據(jù)正確顯示在LED上。另外程序控制單片機(jī)消除各探頭對發(fā)射和接收超聲波的影響。相關(guān)局部附有硬件電路圖、程序流程圖。實際的環(huán)境對超聲波有很大的影響,如外部電磁干擾電源干擾信道干擾等等,空氣的溫度對超聲波的速度影響也很大。此外供電電源也會使測量差生很大的誤差。再設(shè)計的過程中考慮了這些因素,并給出了一些解決方案。關(guān)鍵詞AT89C51超聲波測距-.z.目錄摘要1第1章緒論11.1課題背景及重要意義11.2國超聲檢測開展綜述11.3超聲波測距存在的問題與課題的意義21.4本文主要研究容3第2章超聲波測距原理與方法52.1超聲波簡介52.1.1超聲波的三種形式52.1.2超聲波的物理性質(zhì)52.1.3超聲波對聲場產(chǎn)生的作用52.2超聲波傳感器介紹62.2.1超聲波測距原理及構(gòu)造6超聲波傳感器選擇9超聲波測距的原理9發(fā)射脈沖寬度10測量盲區(qū)112.3本章小結(jié)12第3章系統(tǒng)硬件設(shè)計133.1發(fā)射電路設(shè)計13發(fā)射電路設(shè)計方案14發(fā)射電路常用方案143.1.3超聲波發(fā)射器的考前須知153.2接收電路設(shè)計163.3單片機(jī)顯示電路設(shè)計173.3.1LCD顯示局部21報警局部223.4本章小結(jié)22第4章軟件設(shè)計和測量結(jié)果分析234.1系統(tǒng)軟件設(shè)計234.2外部中斷子程序274.3定時器中斷子程序274.4實現(xiàn)重要功能的程序分析284.4.1實現(xiàn)溫度讀取功能284.4.2實現(xiàn)根據(jù)溫度轉(zhuǎn)化聲速294.4.3實現(xiàn)距離計算294.5本章小結(jié)30第5章結(jié)論31致32參考文獻(xiàn)33附錄134附錄235北華航天工業(yè)學(xué)院畢業(yè)論文-PAGE2.z.**工學(xué)院畢業(yè)論文20101基于單片機(jī)的超聲測距系統(tǒng)設(shè)計第1章緒論1.1課題背景及重要意義近年來,隨著電子測量技術(shù)的開展,運用超聲波作出準(zhǔn)確測量已成可能。隨著經(jīng)濟(jì)開展,電子測量技術(shù)應(yīng)用越來越廣泛,而超聲波測量準(zhǔn)確高,本錢低,性能穩(wěn)定則備受青睞。超聲波是指頻率在20kHz以上的聲波,它屬于機(jī)械波的疇。超聲波也遵循一般機(jī)械波在彈性介質(zhì)中的傳播規(guī)律,如在介質(zhì)的分界面處發(fā)生反射和折射現(xiàn)象,在進(jìn)入介質(zhì)后被介質(zhì)吸收而發(fā)生衰減等。正是因為具有這些性質(zhì),使得超聲波可以用于距離的測量中。隨著科技水平的不斷提高,超聲波測距技術(shù)被廣泛應(yīng)用于人們?nèi)粘9ぷ骱蜕钪?。一般的超聲波測距儀可用于固定物位或液位的測量,適用于建筑物部、液位高度的測量等。由于超聲測距是一種非接觸檢測技術(shù),不受光線、被測對象顏色等的影響,較其它儀器更衛(wèi)生,更耐潮濕、粉塵、高溫、腐蝕氣體等惡劣環(huán)境,具有少維護(hù)、不污染、高可靠、長壽命等特點。因此可廣泛應(yīng)用于紙業(yè)、礦業(yè)、電廠、化工業(yè)、水處理廠、污水處理廠、農(nóng)業(yè)用水、環(huán)保檢測、食品〔酒業(yè)、飲料業(yè)、添加劑、食用油、奶制品〕、防汛、水文、明渠、空間定位、公路限高等行業(yè)中??稍诓煌h(huán)境中進(jìn)展距離準(zhǔn)確度在線標(biāo)定,可直接用于水、酒、糖、飲料等液位控制,可進(jìn)展差值設(shè)定,直接顯示各種液位罐的液位、料位高度。因此,超聲在空氣中測距在特殊環(huán)境下有較廣泛的應(yīng)用。利用超聲波檢測往往比擬迅速、方便、計算簡單、易于實現(xiàn)實時控制,并且在測量精度方面能到達(dá)工業(yè)實用的指標(biāo)要求,因此為了使移動機(jī)器人能夠自動躲避障礙物行走,就必須裝備測距系統(tǒng),以使其及時獲取距障礙物的位置信息〔距離和方向〕。因此超聲波測距在移動機(jī)器人的研究上得到了廣泛的應(yīng)用。同時由于超聲波測距系統(tǒng)具有以上的這些優(yōu)點,因此在汽車倒車?yán)走_(dá)的研制方面也得到了廣泛的應(yīng)用。1.2國超聲檢測開展綜述在基于傳統(tǒng)的測力距離存在不可克制的缺陷。例如,液面測量就是一種距離測量,傳統(tǒng)的電極法是采用差位分布電極,通過給電或脈沖來檢測液面,電極長期浸泡于水中或其他液體中,極易被腐蝕、電解,失去靈敏性。由于超聲波具有強(qiáng)度大,方向性好等特點,利用超聲波測量距離就可以解決這些問題,因此超聲波測量距離技術(shù)在工業(yè)控制、勘探測量、機(jī)器人定位和平安防等領(lǐng)域得到了廣泛的應(yīng)用。超聲波測距電路可以由傳統(tǒng)的模擬或者數(shù)字電路構(gòu)建,但是基于這些傳統(tǒng)電路構(gòu)建的系統(tǒng)往往可靠性差,調(diào)試?yán)щy,可擴(kuò)展性差,所以基于單片機(jī)的超聲波測距系統(tǒng)被廣泛的應(yīng)用。通過簡單的外圍電路發(fā)生和接收超聲波,單片機(jī)通過采樣獲取到超聲波的傳播時間,用軟件來計算出距離,并且可以采集環(huán)境溫度進(jìn)展測距補(bǔ)償,其測量電路小巧,精度高,反映速度快,可靠性好。1.3超聲波測距存在的問題與課題的意義我就影響超聲測距誤差的幾個因素做了分析,并為本系統(tǒng)選擇了比擬適合的傳感器,即由一支發(fā)射探頭UCM-T40KI和一支接收探頭UCM-R40KI的收發(fā)分體式傳感器。本節(jié)在此根底上就如何具體設(shè)計本系統(tǒng)進(jìn)展詳細(xì)分析。系統(tǒng)方案在實驗室實現(xiàn)小圍測距,測試距離約為0.2m—3m米,系統(tǒng)整體構(gòu)造如下圖。圖1-1系統(tǒng)設(shè)計方案圖發(fā)射電路采用單片機(jī)端口編程輸出40kHz左右的方波脈沖信號,同時開啟部計數(shù)器TO。由于單片機(jī)端口輸出功率很弱,為使測量距離滿足要求,驅(qū)動超聲傳感器UCM-40T發(fā)射超聲波距離足夠遠(yuǎn),故在此電路上加功率放大電路。從接收傳感器探頭UCM-40T傳來的超聲回波很微弱(幾十個mV級),又存在著較強(qiáng)的噪聲,所以放大信號和抑制噪聲是放大電路必須考慮的。本系統(tǒng)設(shè)計此局部電路時采用一級放大和帶通濾波電路,中心頻率4OKHz左右,放大濾波電路均采用了高速精細(xì)運算放大器TL082,輸出信號大約在5V左右。由于放大電路輸出的信號是連續(xù)的正弦波疊加信號,而單片機(jī)所能承受的中斷響應(yīng)信號常為下降沿脈沖信號,故信號在放大電路后通過LM393構(gòu)成的比擬電路,將正弦信號轉(zhuǎn)換成方波信號,用方波的負(fù)跳變作單片機(jī)的中斷輸入,使得單片機(jī)知道已接收到超聲信號,部計數(shù)器停頓計時。顯示電路采用動態(tài)掃描顯示,主要是處于節(jié)省硬件的考慮。通過單片機(jī)編程將部計數(shù)得到的時間數(shù)據(jù)轉(zhuǎn)換為距離信息,通過3位LED數(shù)碼管顯示,數(shù)據(jù)***,單位cm。語音播報局部就是將所測得的距離實時地,以模擬真人發(fā)音的形式報出來,例如“現(xiàn)在距離目標(biāo)物還有***cm〞或“現(xiàn)在所測得距離為***cm〞。這樣可以在視覺有限或不宜用眼觀察的情況下發(fā)揮更大的用處,或近距離配合視覺系統(tǒng)會此測距儀的優(yōu)點或方便之處得到最大程度的發(fā)揮,使用起來非常的靈活方便。本系統(tǒng)采用一種長時間非易失性語音芯片ISD2560,它采用模擬存儲技術(shù),音質(zhì)好,錄放音方便,且可以方便地進(jìn)展任意語音元素的組合。1.4本文主要研究容本系統(tǒng)硬件局部由AT89C51控制器、超聲波發(fā)射電路及接收電路、溫度測量電路、聲音報警電路和LCD顯示電路組成。汽車行進(jìn)時LCD顯示環(huán)境溫度,當(dāng)?shù)管嚂r,發(fā)射和接收電路工作,經(jīng)過AT89C51數(shù)據(jù)處理將距離也顯示到LCD上,如果距離小于設(shè)定值時,報警電路會鳴叫,提醒司機(jī)注意車距。超聲波測距器的系統(tǒng)框圖如以下圖所示:發(fā)射電路發(fā)射電路接收電路AT89C51LCDDS18B20報警電路圖1-2系統(tǒng)設(shè)計總框圖由單片機(jī)AT89C51編程產(chǎn)生10us以上的高電平,由指定引腳輸出,就可以在指定接收口等待高電平輸出。一旦有高電平輸出,即在模塊中經(jīng)過放大電路,驅(qū)動超聲波發(fā)射探頭發(fā)射超聲波。發(fā)射出去的超聲波經(jīng)障礙物反射回來后,由超聲波接收頭接收到信號,通過接收電路的處理,指定接收口即變?yōu)榈碗娖?,讀取單片機(jī)中定時器的值。單片機(jī)利用聲波的傳播速度和發(fā)射脈沖到接收反射脈沖的時間間隔計算出障礙物的距離,并由單片機(jī)控制顯示出來。由時序圖可以看出,超聲波測距模塊的發(fā)射端在T0時刻發(fā)射方波,同時啟動定時器開場計時,當(dāng)收到回波后,產(chǎn)生一負(fù)跳變到單片機(jī)中斷口,單片機(jī)響應(yīng)中斷程序,定時器停頓計數(shù)。計算時間差,即可得到超聲波在媒介中傳播的時間t,由此便可計算出距離。圖1-3時序圖第2章超聲波測距原理與方法2.1超聲波簡介超聲波技術(shù)是一門以物理、電子、機(jī)械、以及材料科學(xué)為根底的、各行各業(yè)都可使用的通用技術(shù)之一。超聲波技術(shù)是通過超聲波的產(chǎn)生、傳播以及接收的物理過程完成的。該技術(shù)在國民經(jīng)濟(jì)中,對提高產(chǎn)品質(zhì)量,保障生產(chǎn)平安和設(shè)備平安運作,降低生產(chǎn)本錢,提高生產(chǎn)效率特別具有潛在能力。因此,我國對超聲波的研究特別活潑。2.1.1超聲波的三種形式超聲波在介質(zhì)中可以產(chǎn)生三種形式的振蕩波:橫波,質(zhì)點振動方向垂直于傳播方向的波;縱波,質(zhì)點振動方向與傳播方向一致的波;外表波,質(zhì)點振動介于縱波和橫波之間,沿外表傳播的波。橫波只能在固體中傳播,縱波能在固體液體中和氣體中傳播,外表波隨深度的增加其衰減很快。為了測量各種狀態(tài)下的物理量多采用縱波形式的超聲波。2.1.2超聲波的物理性質(zhì)(1)超聲波的反射和折射當(dāng)超聲波傳播到兩種特性阻抗不同介質(zhì)的平面分界面上時,一局部超聲波被反射;另一局部透射過界面,在相鄰介質(zhì)部繼續(xù)傳播。這樣的兩種情況稱之為超聲波的反射和折射。(2)超聲波的衰減超聲波在一種介質(zhì)中傳播,其聲壓和聲強(qiáng)按指數(shù)函數(shù)規(guī)律衰減。(3)超聲波的干預(yù)如果在一種介質(zhì)中傳播幾個聲波,于是產(chǎn)生波的干預(yù)現(xiàn)象。由于超聲波的干預(yù),在輻射器的周圍形成一個包括最大最小的揚聲場。2.1.3超聲波對聲場產(chǎn)生的作用(1)機(jī)械作用超聲波傳播過程中,會引起介質(zhì)質(zhì)點交替的壓縮與伸,構(gòu)成了壓力的變化,這種壓力的變化將引起機(jī)械效應(yīng)。超聲波引起質(zhì)點的運動,雖然位移和速度不大,但是與超聲波振動的頻率的平方成正比的質(zhì)點的加速度卻很大,有時足以到達(dá)破壞介質(zhì)的程度。(2)空化作用在流體動力學(xué)指出,存在于液體中的微氣泡在聲場的作用下振動,當(dāng)聲壓到達(dá)一定的值時,氣泡將迅速膨脹,然后突然閉合,在氣泡閉合時產(chǎn)生沖擊波,這種膨脹、閉合、振動等一系列動力學(xué)過程稱為空化。(3)熱學(xué)作用如果超聲波作用于介質(zhì)時被介質(zhì)所吸收,實際上也就是有能量吸收,同時,由于超聲波的振動,使介質(zhì)產(chǎn)生強(qiáng)烈的高頻振蕩介質(zhì)相互摩擦產(chǎn)生熱熱量,這種能量使介質(zhì)溫度升高。2.2超聲波傳感器介紹總體上講,超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。他們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不一樣,因而用途也各不一樣。目前較為常用的是壓電式超聲波發(fā)生器。壓電式超聲波發(fā)生器實際上是利用壓電晶體的諧振來工作的。它有兩個壓電晶片和一個共振板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,便產(chǎn)生超聲波。反之,如果兩極間未外加電壓,當(dāng)共振板接收到超聲波時,將壓迫壓電晶片作振動,將機(jī)械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收器了。超聲波傳感器構(gòu)造如下:圖2-1超聲波傳感器外部構(gòu)造圖2-2超聲波傳感器部構(gòu)造2.2.1超聲波測距原理及構(gòu)造電能或機(jī)械能轉(zhuǎn)換成聲能,接收端則反之。本次設(shè)計超聲波傳感器采用電氣方式中的壓電式超聲波傳感器分機(jī)械方式和電氣方式兩類,它實際上是一種換能器,在發(fā)射端它把超聲波換能器,它是利用壓電晶體的諧振來工作的。它有兩個壓電晶片和一個共振板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當(dāng)共振板接收到超聲波時,將壓迫壓電晶片作振動,將機(jī)械能轉(zhuǎn)換為電信號,就成為超聲波接收器。在超聲波電路中,發(fā)射端輸出一系列脈沖方波,脈沖寬度越大,輸出的個數(shù)越多,能量越大,所能測的距離也越遠(yuǎn)。超聲波發(fā)射換能器與接收換能器其構(gòu)造上稍有不同,使用時應(yīng)分清器件上的標(biāo)志。超聲波測距的方法有多種:如往返時間檢測法、相位檢測法、聲波幅值檢測法。本設(shè)計采用往返時間檢測法測距。其原理是超聲波傳感器發(fā)射一定頻率的超聲波,借助空氣媒質(zhì)傳播,到達(dá)測量目標(biāo)或障礙物后反射回來,經(jīng)反射后由超聲波接收器接收脈沖,其所經(jīng)歷的時間即往返時間,往返時間與超聲波傳播的路程的遠(yuǎn)近有關(guān)。測試傳輸時間可以得出距離。假定s為被測物體到測距儀之間的距離,測得的時間為t/s,超聲波傳播速度為v/m·s-1表示,則有關(guān)系式(2-1)s=vt/2(2-1)在精度要求較高的情況下,需要考慮溫度對超聲波傳播速度的影響,按式(2-2)對超聲波傳播速度加以修正,以減小誤差。v=331.4+0.607T(2-2)式中,T為實際溫度單位為℃,v為超聲波在介質(zhì)中的傳播速度單位為m/s。超聲波為直線傳播方式,頻率越高,繞射能力越弱,但反射能力越強(qiáng),為此,利用超聲波的這種性質(zhì)就可制成超聲波傳感器。它是一種將其他形式的能轉(zhuǎn)變?yōu)樗桀l率的超聲能或是把超聲能轉(zhuǎn)變?yōu)橥l率的其他形式的能的器件。目前常用的超聲傳感器有兩大類,即電聲型與流體動力型。電聲型主要有:1.壓電傳感器;2.磁致伸縮傳感器;3.靜電傳感器。流體動力型中包括有氣體與液體兩種類型的哨笛。由于工作頻率與應(yīng)用目的不同,超聲傳感器的構(gòu)造形式是多種多樣的,并且名稱也有不同,例如在超聲檢測和診斷中習(xí)慣上都把超聲傳感器稱作探頭,而工業(yè)中采用的流體動力型傳感器稱為“哨〞或“笛〞。壓電傳感器屬于超聲傳感器中電聲型的一種。探頭由壓電晶片、楔塊、接頭等組成,是超聲檢測中最常用的實現(xiàn)電能和聲能相互轉(zhuǎn)換的一種傳感器件,是超聲波檢測裝置的重要組成局部。壓電材料分為晶體和壓電瓷兩類。屬于晶體的如石英,妮酸鋰等,屬于壓電瓷的有鋯鈦酸鉛,欽酸鋇等。其具有以下的特性:把這種材料置于電場之中,它就產(chǎn)生一定的應(yīng)變;相反,對這種材料施以外力,則由于產(chǎn)生了應(yīng)變就會在其部產(chǎn)生一定方向的電場。所以,只要對這種材料加以交變電場,它就會產(chǎn)生交變的應(yīng)變,從而產(chǎn)生超聲振動。因此,用這種材料可以制成超聲傳感器。A壓電晶片B傳感器的主要組成局部是壓電晶片,當(dāng)壓電晶片發(fā)射電脈沖鼓勵后產(chǎn)生振動,即可發(fā)射聲脈沖,是逆壓電效應(yīng)。當(dāng)超聲波作用于晶片時,晶片受迫振動引起的形變可轉(zhuǎn)換成相應(yīng)的電信號,是正壓電效應(yīng)。前者用于超聲波的發(fā)射,后者即為超聲波的接收。超聲波傳感器一般采用雙壓電瓷晶片制成。這種超聲傳感器需要的壓電材料較少,價格低廉,且非常適用于氣體和液體介質(zhì)中。在壓電瓷上加有大小和方向不斷變化的交流電壓時,根據(jù)壓電效應(yīng),就會使壓電瓷晶片產(chǎn)生機(jī)械變形,這種機(jī)械變形的大小和方向A壓電晶片BA壓電晶片B圖2-3雙壓電晶片示意圖雙壓電晶片如圖2-3所示,當(dāng)在AB間施加交流電壓時,假設(shè)A片的電場方向與極化方向一樣,則下面的方向相反,因此,上下一伸一縮,形成超聲波振動。圖2-4雙壓電晶片的等效電路圖雙壓電晶片的等效電路如圖2-4所示,為靜電電容,R為瓷材料介電損耗,并聯(lián)電阻Cm和Lm為機(jī)械共振回路的電容和電感,為損耗串聯(lián)電阻。壓電瓷晶片有一個固定的諧振頻率,即中心頻率?o。發(fā)射超聲波時,加在其上面的交變電壓的頻率要與它的固有諧振頻率一致。這樣,超聲傳感器才有較高的靈敏度。當(dāng)所用壓電材料不變時,改變壓電瓷晶片的幾何尺寸,就可非常方便的改變其固有諧振頻率,利用這一特性可制成各種頻率的超聲傳感器。超聲波傳感器采用雙晶振子,即把雙壓電瓷片以相反極化方向粘在一起,在長度方向上,一片伸長另一片就縮短。在雙晶振子的兩面涂敷薄膜電極,其上面用引線通過金屬板(振動板)接到一個電極端,下面用引線直接接到另一個電極端。雙晶振子為正方形,正方形的左右兩邊由圓弧形凸起局部支撐著。這兩處的支點就成為振子振動的節(jié)點。金屬板的中心有圓錐形振子,發(fā)送超聲波時,圓錐形振子有較強(qiáng)的方向性,因而能高效率地發(fā)送超聲波;接收超聲波時,超聲波的振動集中于振子的中心,所以能產(chǎn)生高效率的高頻電壓。2.2.2超聲波傳感器選擇超聲波傳感器有多種構(gòu)造形式,可分成直探頭(接收縱波)、斜探頭(接收橫波)、外表波探頭(接收外表波)、收發(fā)一體式探頭、收發(fā)分體式雙探頭等。超聲波傳感器分通用型、寬頻帶型、耐高溫型、密封放水型等多種產(chǎn)品。一般電子市場上出售的超聲波傳感器常見的有收發(fā)一體式和收發(fā)分體式兩種。其中收發(fā)一體式就是發(fā)送器和承受器為一體的傳感器,即可發(fā)送超聲波,又可承受超聲波;收發(fā)分體式是發(fā)送器用作發(fā)送超聲波,承受器用作承受超聲波。在超聲波測量系統(tǒng)中,頻率取得太低,外界的雜音干擾較多;頻率取得太高,在傳播的過程中衰減較大,檢測距離越短,分辨力也變高。本文中選用的探頭是4OKHz的收發(fā)分體式超聲傳感器,由一支發(fā)射傳感器UCM-T40KI和一支接收傳感器UCM-R4OKI組成,其特性參數(shù)如表2-5所示。表2-5傳感器特性參數(shù)表型號UCM-T40K1UCM-R40KQ構(gòu)造開放式開放式使用方式發(fā)射接收中心頻率頻帶寬靈敏度聲壓指向角容量2.2.3超聲波測距的原理超聲波測距方法主要有三種:1〕相位檢測法:精度高,但檢測圍有限;2〕聲波幅值檢測法:易受反射波的影響;3〕渡越時間法:工作方式簡單,直觀,在硬件控制和軟件設(shè)計上都容易實現(xiàn),其原理為:檢測從發(fā)射傳感器發(fā)射的超聲波經(jīng)氣體介質(zhì)傳播到接收傳感器的時間t,這個時間就是渡越時間,然后求出距離l。設(shè)l為測量距離,t為往返時間差,超聲波的傳播速度為c,則有l(wèi)=ct/2。綜合以上分析,本設(shè)計將采用渡越時間法。圖2-6測距原理由于超聲波也是一種聲波,其聲速c與空氣溫度有關(guān),一般來說,溫度每升高1攝氏度,聲速增加0.6米/秒。表2-7列出了幾種溫度下的聲速:表2-7聲速與溫度的關(guān)系表溫度〔攝氏度〕-30-20-100102030100聲速〔米/秒〕313319325323338344349386在使用時,如果溫度變化不大,則可認(rèn)為聲速c是根本不變的,計算時取c為340m/s。如果測距精度要求很高,則可通過改變硬件電路增加溫度補(bǔ)償電路的方法或者在硬件電路根本不變的情況下通過軟件改良算法的方法來加以校正。在本系統(tǒng)中利用AT89S52中的定時器測量超聲波傳播時間,利用DS18B20測量環(huán)境溫度,從而提高測距精度。空氣中聲速與溫度的關(guān)系可表示為:(2-3)聲速確定后,只要測得超聲波往返的時間,即可求得距離:L=1/2(331.4+0.6T)t?!蚕到y(tǒng)中應(yīng)用該式進(jìn)展溫度補(bǔ)償〕如果為了進(jìn)一步提高測量精度,本設(shè)計中將根據(jù)需要利用軟件方式增加角度補(bǔ)償?shù)脑O(shè)計:?!蚕到y(tǒng)中應(yīng)用該式進(jìn)展角度補(bǔ)償〕2.2.4發(fā)射脈沖寬度發(fā)射脈沖寬度決定了測距儀的測量盲區(qū),也影響測量精度,同時與信號的發(fā)射能量有關(guān)。減小發(fā)射脈沖寬度,可以提高測量精度,減小測量盲區(qū),但同時也減小了發(fā)射能量,對接收回波不利。但是根據(jù)實際的經(jīng)歷,過寬的脈沖寬度會增加測量盲區(qū),對接收回涉及比擬電路都造成一定困難。在具體設(shè)計中,比擬了25μs(l個40KHz方波脈沖),100μs(4個40KHz方波脈沖),200μs(8個40KHz方波脈沖),800μs(32個40KHz方波脈沖)的發(fā)射脈沖寬度,作為發(fā)射信號后的接收信號。最終采用短距離(2m)發(fā)射200μs(8個40KHz方波脈沖)發(fā)射脈沖寬度;長距離(2m外)發(fā)射800μs(32個40KHz脈沖方波)的發(fā)射脈沖寬度,同時單片機(jī)編程避開盲區(qū)。此時,從接收回波信號幅度和測量盲區(qū)兩個方面來衡量比擬適中,并且接收準(zhǔn)確響應(yīng)速度快。2.2.5測量盲區(qū)在以傳感器脈沖反射方式工作的情況下,電壓很高的發(fā)射電脈沖在鼓勵傳感器的同時也進(jìn)入接收局部。此時,在短時間放大器的放大倍數(shù)會降低,甚至沒有放大作用,這種現(xiàn)象稱為阻塞。不同的檢測儀阻塞程度不一樣。根據(jù)阻塞區(qū)的缺陷回波高度對缺陷進(jìn)展定量評價會使結(jié)果偏低,有時甚至不能發(fā)現(xiàn)障礙物,這是需要注意的。由于發(fā)射聲脈沖自身有一定的寬度,加上放大器有阻塞問題,在靠近發(fā)射脈沖一段時間圍,所要求發(fā)現(xiàn)的缺陷往往不能被發(fā)現(xiàn),這段距離,稱為盲區(qū),具體分析如下:圖2-8傳感器回波測距原理分析圖如下圖,當(dāng)發(fā)射超聲波時,發(fā)射信號雖然只維持一個極短時間,但停頓施加發(fā)射信號后,探頭上還存在一定余振(由于機(jī)械慣性作用)。因此,在一段較長時間,加在接收放大器輸入端的發(fā)射信號幅值仍具一定幅值高度,可以到達(dá)限幅電路的限幅電平Vm;另一方面,接收探頭上接收到的各種反射信號卻遠(yuǎn)比發(fā)射信號小,即使是離探頭較近的外表反射回來的信號,也達(dá)不到限幅電路的限幅電平。當(dāng)反射面離探頭愈來愈遠(yuǎn),接收和發(fā)射信號相隔時間愈來愈長,其幅值也愈來愈小。在超聲波檢測中,接收信號的衰減總是比發(fā)射信號余振衰減慢的多。為保證一定的信噪比,接收信號幅值需到達(dá)規(guī)定的閾值Vm,亦即接收信號的幅值必須大于這一閾值才能使承受放大器有輸入信號。由圖2-8可見,從b點以后,接收的信號低于閩值,相當(dāng)于測距的遠(yuǎn)限。另外,從圖中A點以后,接收信號才比發(fā)射信號大,但還將與發(fā)射信號相迭加,難以分辨。從c點以后,發(fā)射信號低出閾值Vm,接收信號才根本擺脫發(fā)射信號干擾,而能明顯的被分辨,所以在要求較高時,把oc這段時間規(guī)定為盲區(qū)時間。從距離上說,根據(jù)盲區(qū)時間和聲速,就可以求得盲區(qū)距離。因此,cb為可測距圍;b點就為測距遠(yuǎn)限,其外部就為測量不到的區(qū)域。2.3本章小結(jié)本章首先介紹了超聲波的形成、超聲波在傳播過程中的反射折射規(guī)律以及如何衰減;通過詳細(xì)分析超聲傳感器的部構(gòu)造以及影響超聲傳感器的幾個重要參數(shù)給出本系統(tǒng)設(shè)計中所用超聲傳感器的特性參數(shù);分析了超聲波測距的根本原理,并在此根底上給出了測距的幾種常用方法以及傳感器指向角、工作頻率、環(huán)境溫度、發(fā)射脈沖寬度和測量盲區(qū)對超聲測距精度的影響。第3章系統(tǒng)硬件設(shè)計系統(tǒng)硬件主要由單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路、超聲波檢測接收電路和溫度補(bǔ)償電路四局部組成。隨著超聲波測量技術(shù)的不斷提高,用超聲波測量任何目標(biāo)物體,都存在著超聲波的發(fā)射和接收問題。不管超聲波傳感器的大小、形狀、靈敏度有何不同,其工作原理都有是一樣的〔都是利用壓電晶體將電能轉(zhuǎn)換為機(jī)械振動彈性能,即在媒質(zhì)中產(chǎn)生超聲波〕,要提高超聲測量的精度或分辨力,必須從超聲波的發(fā)射和接收兩方面入手,這也是設(shè)計超聲測量儀器的關(guān)鍵和難點所在。發(fā)射電路采用單片機(jī)P1.0端口編程輸出40KHz左右的方波脈沖信號,同時開啟部計數(shù)器T0。由于單片機(jī)端口輸出功率很弱,在此電路上加功率放大電路使測量距離滿足要求,驅(qū)動超聲傳感器UCM-40T1發(fā)射超聲波距離足夠遠(yuǎn)。由于從接收傳感器探頭UCM40T傳來的超聲波回波很微弱〔幾十個mV級〕,又存在著較強(qiáng)的噪聲,所以放大信號和抑制噪聲是放大電路必須考慮。這里使用C*20106A集成電路對接收探頭承受到的信號進(jìn)展放大、濾波,信號經(jīng)過P2.7端口送入單片機(jī)中進(jìn)展處理。為節(jié)省硬件考慮,顯示電路采用動態(tài)掃描顯示。通過單片機(jī)編程將部計數(shù)得到的時間數(shù)據(jù),轉(zhuǎn)換為距離信息,通過三位LED數(shù)碼管顯示。3.1發(fā)射電路設(shè)計超聲波發(fā)射局部是為了讓超聲波發(fā)射換能器TCT40-16T能向外界發(fā)出40kHz左右的方波脈沖信號。40kHz左右的方波脈沖信號的產(chǎn)生通常有兩種方法:采用硬件如由555振蕩產(chǎn)生或軟件如單片機(jī)軟件編程輸出,本系統(tǒng)采用后者。編程由單片機(jī)P1.0端口輸出40kHz左右的方波脈沖信號,由于單片機(jī)端口輸出功率不夠,40kHz方波脈沖信號分成兩路,送給一個由74HC04組成的推挽式電路進(jìn)展功率放大以便使發(fā)射距離足夠遠(yuǎn),滿足測量距離要求,最后送給超聲波發(fā)射換能器TCT40-16T以聲波形式發(fā)射到空氣中。發(fā)射局部的電路,如圖3-1所示。圖中輸出端上拉電阻R31,R32,一方面可以提高反向器74HC04輸出高電平的驅(qū)動能力,另一方面可以增加超聲換能器的阻尼效果,縮短其自由振蕩的時間。圖3-1超聲波發(fā)射電路框圖圖3-1超聲波發(fā)射電路框圖3.1.1發(fā)射電路設(shè)計方案一、發(fā)射電路輸出波形分析1.發(fā)射波形的重復(fù)性為獲得高分辨力,發(fā)射電路設(shè)計應(yīng)保證發(fā)射的超聲波波形有良好的重復(fù)性;此外,所發(fā)射的超聲波應(yīng)盡量單純,即發(fā)射波的各個振動應(yīng)近似為同一頻率的振動,以便接收時可采用帶通濾波器消除干擾和每次都接收到同一個振動波峰。為防止超聲波在障礙物外表反射時造成的各種損失和干擾。由于超聲波是換能器壓電晶片振動時推動附近的空氣發(fā)出的疏密波,其“波形〞應(yīng)與晶片振動規(guī)律一樣。發(fā)射電路設(shè)計的是否合理直接影響發(fā)射波功率和波形的重復(fù)性。通常發(fā)射電路按發(fā)射方式分為:單脈沖發(fā)射、多脈沖發(fā)射和連續(xù)發(fā)射。測距所用超聲波一般都是連續(xù)單脈沖發(fā)射,每測距一次,發(fā)送、接收一次。連續(xù)地激發(fā)換能器晶片振動。此方法測試距離太近;本系統(tǒng)采用連續(xù)多脈沖發(fā)射,系統(tǒng)自動識別被測距離遠(yuǎn)近,設(shè)置發(fā)射脈沖個數(shù)。2.發(fā)射波形電壓及功率傳感器發(fā)射電壓大小主要取決于發(fā)射信號損失及接收機(jī)的靈敏度,綜合各種損耗的因素,包括往返傳播損失,聲波傳輸損失,聲波反射損失,環(huán)境噪聲損失;另外考慮實際發(fā)射傳感器的最大輸入電壓為20Vp-p,以及單片機(jī)正常工作輸出最大電壓5V,傳感器發(fā)射信號的功率直接決定發(fā)射探頭發(fā)出超聲信號的遠(yuǎn)近,所以考慮電壓的同時應(yīng)該考慮如何提高其功率,才能使得發(fā)射電路更合理。3.1.2發(fā)射電路常用方案由上面的分析,我們知道發(fā)射電路設(shè)計的主要目的是抬高輸入到發(fā)射探頭的電壓及其功率。本系統(tǒng)用單片機(jī)P1.0發(fā)射一組方波脈沖信號,其輸出波形穩(wěn)定可靠,但輸出電流和輸出功率很低,不能夠推動發(fā)射傳感器發(fā)出足夠強(qiáng)度的超聲信號,所以在此間參加一個單電源乙類互補(bǔ)對稱功率放大電路,如圖3-2所示。圖3-2超聲波發(fā)射電路3.1.3超聲波發(fā)射器的考前須知超聲波發(fā)射器向*一方向發(fā)射超聲波,在發(fā)射超聲波的同時開場計時,超聲波在空氣中傳播,途中碰到障礙物反射后立即返回來,超聲波接收器收到反射波就立即停頓計時。超聲波在空氣中的傳播速度約為340m/s,根據(jù)計時器記錄的時間t,就可以計算出超聲波發(fā)射點距障礙物的距離(s),即為:s=340t/2,這就是所謂的時間差測距法。存在4個因素限制了該系統(tǒng)的最大可測距離:超聲波的幅度、反射的質(zhì)地、反射回波和入射聲波之間的夾角以及接收換能器的靈敏度。測距誤差主要來源于以下幾個方面:〔1〕超聲波波束對探測目標(biāo)的入射角的影響;〔2〕超聲波回波聲強(qiáng)與待測距離的遠(yuǎn)近有直接關(guān)系,所以實際測量時,不一定是第一個回波的過零點觸發(fā);〔3〕超聲波傳播速度對測距的影響。穩(wěn)定準(zhǔn)確的超聲波傳播速度是保證測量精度的必要條件,波的傳播速度取決于傳播媒質(zhì)的特性。傳播媒質(zhì)的溫度、壓力、密度對聲速都將產(chǎn)生直接的影響,因此需對聲速加以修正?!?〕由于超聲波利用接收發(fā)射波來進(jìn)展距離的計算,因而不可防止地存在發(fā)射和反射之間的夾角,其大小為2,當(dāng)很小的時候,可直接按式進(jìn)展距離的計算;當(dāng)夾角很大的時候,必須進(jìn)展距離的修正,修正的公式為:(3-1)實際的調(diào)試過程中,要十分注意發(fā)射和接收探頭在電路板上的安裝位置,這是因為每一種超聲波發(fā)射、接收頭都有一個有效測量夾角,這里用到的發(fā)射、接收頭有效測量夾角為45°。接收換能器對超聲波脈沖的直接接收能力將決定該系統(tǒng)最小的可測距離。為了增加所測量的覆蓋圍、減小測量誤差,可采用多個超聲波換能器分別作為多路超聲波發(fā)射/接收的設(shè)計方法。3.2接收電路設(shè)計接收換能器晶片接收到超聲波垂直作用后,因諧振而形成逐步加強(qiáng)的機(jī)械振動。因壓電效應(yīng)晶片兩面出現(xiàn)交變的等量異號電荷,電荷量很少,只能提供微小交變的電壓信號,而不能提供電流信號。所以需要一個前置放大電路將這一微小交變電壓信號充分放大,同時考慮可能出現(xiàn)干擾信號,放大有用信號的同時參加濾波電路,驅(qū)動后面的比擬器輸出電位跳變,作為確定接收到的時刻。前置放大電路單元的作用是對有用的信號進(jìn)展放大,并抑制其它的噪聲和干擾,從而到達(dá)最大信噪比,以利于后續(xù)電路的設(shè)計。圖3-3前置放大電路圖電路如圖3-3所示,考慮到超聲換能器的輸出電阻比擬大(一般數(shù)百兆歐姆以上),因此前置放大器必須有足夠大的輸入阻抗(InputImpedance));同時,換能器的輸出電壓很小(數(shù)十毫伏),這就要求前置放大電路有很高的精度、很小的輸入偏置電壓(InputOffsetVoltage)。前置放大電路是由一個高精度、高輸入阻抗放大器TL082及電阻R、和R構(gòu)成,組成反向比例放大電路,這樣可以減小地線噪聲的影響。由電路的根本知識,可列出:I〔3-2)I(3-3)根據(jù)放大器理想化的兩個重要概念:1.集成運放兩個輸入端之間的凈輸入電壓U通常接近于零,即U=U-UO,假設(shè)把它理想化,則有U=0,但不是短路,故常稱為虛短。2.集成運放兩輸入端幾乎不取用電流,即凈輸入電流I0,如把它理想化,則有,但不是斷開,故常稱為虛斷。故可知本電路中:U,且I所以有(3-4)上式說明,輸出電壓與輸入電壓成比例運算關(guān)系,式中的負(fù)號表示與反相。電路的電壓放大倍數(shù)為:(3-5)利用反相比例放大器可實現(xiàn)對交直流輸入信號的放大,且電路構(gòu)造簡單,只需要調(diào)節(jié)和阻值即可實現(xiàn)調(diào)節(jié)電壓放大倍數(shù)。圖中運放的同相輸入端接有電阻,參數(shù)選擇時應(yīng)使兩輸入端外接直流通路等效電阻平衡,即,靜態(tài)時使輸入級偏置電流平衡并讓輸入級的偏置電流在運算放大器的兩個輸入端的外接電阻上產(chǎn)生相等的壓降,以便消除放大器的偏置電流及漂移對輸出端的影響,故又稱為平衡電阻。根據(jù)本設(shè)計系統(tǒng)需要,接收傳感器輸出電壓很小(數(shù)十毫伏),故分別取;;,即放大電路將輸入信號放大200倍。3.3單片機(jī)顯示電路設(shè)計顯示器是一個典型的輸出設(shè)備,而且其應(yīng)用是極為廣泛的,幾乎所有的電子產(chǎn)品都要使用顯示器,其差異僅在于顯示器的構(gòu)造類型不同而己。最簡單的顯示器可以使LED發(fā)光二極管,給出一個簡單的開關(guān)量信息,而復(fù)雜的較完整的顯示器應(yīng)該是CRT監(jiān)視器或者屏幕較大的LCD于顯示的距離圍在4米之,選用3位LED示,表示距離的***cm數(shù)值。液晶屏。綜合課題的實際要求由數(shù)碼管,通過單片機(jī)編程實現(xiàn)顯示,表示距離的***cm數(shù)值。LED數(shù)碼管顯示與單片機(jī)接口通常涉及以下幾個問題:1.LED數(shù)碼管顯示用共陰極管還是共陽極管2.由數(shù)碼轉(zhuǎn)換為筆劃信息借軟件譯碼還是硬件譯碼3.顯示掃描采用動態(tài)掃描還是靜態(tài)掃描問題1采用共陰極數(shù)碼管還是共陽極數(shù)碼管沒有太明顯的優(yōu)缺點。如圖3-4〔a〕所示數(shù)碼管,每個數(shù)碼管部,由8個發(fā)光二極管組成,其中七個組成8字形的七段筆劃,分別編號為a、b、c、d、e、f、g,還有一個為小數(shù)點,標(biāo)為DP。當(dāng)發(fā)光二極管導(dǎo)通時,相應(yīng)的一段筆劃或點就發(fā)亮,控制不同二極管導(dǎo)通就能顯示出不同符號。發(fā)光二極管的陰極連在一起的稱為共陰極數(shù)碼管,如圖3-4〔b〕所示;發(fā)光二極管的陽極連在一起的稱為共陽,如圖3-4〔c〕所示。兩種數(shù)碼管僅在單片機(jī)編程時數(shù)碼對應(yīng)的筆劃信息碼不同。圖3-4數(shù)碼管構(gòu)造圖問題2軟件譯碼是將各數(shù)碼的筆劃信息構(gòu)成一個表格預(yù)儲于存,以后根據(jù)要顯示的每一數(shù)碼執(zhí)行一段查表程序,查得相應(yīng)筆劃信息再送數(shù)碼管顯示;硬件譯碼則采用CD4511、74LS46、74LS47、74LS48、74LS49等BCD碼七段鎖存、譯碼、驅(qū)動芯片直接譯出筆劃信息。問題3動態(tài)掃描顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一。其接口電路是把所有顯示器的8個筆劃段a—h同名端連在一起,而每一個顯示器的公共極是各自獨立地受I/O線控制。CPU向字段輸出口送出字形碼時,所有顯示器接收到一樣的字形碼,但終究是那個顯示器亮,則取決于端,而這一端是由I/O控制的,所以我們就可以自行決定何時顯示哪一位了。而所謂動態(tài)掃描就是指我們采用分時的方法,輪流控制各個顯示器的端,使各個顯示器輪流點亮。在輪流點亮掃描過程中,每位顯示器的點亮?xí)r間是極為短暫的(約1ms),但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。采用靜態(tài)掃描方式控制點亮LED數(shù)碼管無位選信號,各數(shù)碼管是同時點亮的;每數(shù)碼管應(yīng)顯示數(shù)碼的筆劃信息也分路同時送給。其原理比擬簡單。靜態(tài)掃描顯示編程容易,顯示比擬清晰,亮度一般較高;但要求占用很多I/O接口線和增用不少硬件芯片,本錢較高。因此,動態(tài)掃描用得更多。圖3-5顯示局部電路圖針對以上3個問題,實際考慮節(jié)約單片機(jī)的接口資源以及減少硬件芯片本錢投入,本單元電路設(shè)計如圖3-5所示,采用3位共陰極數(shù)碼顯示管,顯示字符由單片機(jī)P2口送至鎖存器74HC574鎖存,再經(jīng)顯示驅(qū)動芯片ULN2O03驅(qū)動數(shù)碼管顯示,P0.1-P0.3分別控制每一位的動態(tài)顯示。74HC574為三態(tài)輸出D型上升沿觸發(fā)器,圖3-6為其引腳圖,在輸入使能端有效時,當(dāng)時鐘脈沖CK有上升沿跳變,觸發(fā)器發(fā)生翻轉(zhuǎn),將鎖存的8路輸入數(shù)據(jù)(即單片機(jī)P2口送出的字符數(shù)據(jù))送出顯示。其功能表,如表3-1所示。OE120Vcc1B1161C1D2191Q2B2152C2D3182Q3B3143C3D4173Q4B4134C4D5164Q5B5125C5D6155Q6B6116C6D7146Q7B7107C7D8137Q8B898D9128Q9D1011CLK圖3-674HC574引腳圖圖3-7ULN2003引腳圖表3-174HC574功能表INPUTSOUTPUTQCLKDL↑HL↑LLHorL*H**HLQ0ZULN2003為顯示驅(qū)動芯片,抬升單片機(jī)的輸出電流,提高負(fù)載驅(qū)動能力。其引腳如圖3-7所示,其部含七對達(dá)林頓放大管,其主要功能:當(dāng)輸入為高電平時,輸出為低電平;輸入為低電平時,輸出為高電平。本課題讓單片機(jī)P0.1-P0.3經(jīng)此芯片提升驅(qū)動能力從而控制數(shù)碼管的位選,實現(xiàn)數(shù)據(jù)動態(tài)掃描輸出。由于聲音的速度在不同的溫度下有所不同,為提高系統(tǒng)的精度,采用了溫度補(bǔ)償功能。這里采用的主要元器件是是美國Dallas半導(dǎo)體公司生產(chǎn)的單總線數(shù)字溫度傳感器DS18B20,其具有精度高、智能化、體積小、線路簡單等特點。將DS18B20數(shù)據(jù)線與單片機(jī)的P1.1口相連,就可以實現(xiàn)溫度測量,如圖3-8所示。圖3-8DS18B20溫度測量電路圖3-8DS18B20溫度測量電路3.3.1LCD顯示局部本設(shè)計顯示局部采用字符型TC1602液晶顯示所測距離值。TC1602顯示的容量為2行16個字。液晶顯示屏有微功耗、體積小、顯示容豐富、超薄輕巧、使用方便等諸多優(yōu)點,與數(shù)碼管相比,顯得更專業(yè)、美觀。使用時,可將P0與LCD的數(shù)據(jù)線相連,P2口與LCD的控制線相連,如下圖。圖3-9TC1602液晶顯示電路圖3-9TC1602液晶顯示電路其中,TC1602第4腳RS為存放器選擇,第5腳RW為讀寫信號線,第6腳E為使能端。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。這里要注意的是,為了布線方便,單片機(jī)端的D0~D7是接到LCD/602的D1~D0,正好相反,因此在編寫軟件時需要做處理,使讀取正確。3.3.2報警局部采用一個蜂鳴器,由P1.2輸出一定頻率的信號,在連接到蜂鳴器之前,經(jīng)過一個三極管9012的放大。報警局部的連線,如圖3-10所示。圖3-10報警電路3.4本章小結(jié)本章主要介紹了基于單片機(jī)的超聲測距系統(tǒng)的具體硬件設(shè)計電路。對其中主要硬件單元:發(fā)射電路、接收電路、檢測電路以及顯示電路的設(shè)計給出原理圖并進(jìn)展了分析計算。第4章軟件設(shè)計和測量結(jié)果分析4.1系統(tǒng)軟件設(shè)計系統(tǒng)程序構(gòu)造:(1)DS18B20溫度傳感器接口模塊,分為初始化程序、寫入命令以及讀取子程序等局部;(2)基于YB1602的顯示模塊,分為初始化子程序、寫入子程序以及顯示子程序;(3)溫度補(bǔ)償與距離計算模塊、分為超聲波發(fā)送控制程序、接收處理程序、溫度補(bǔ)償子程序等;(4)本次設(shè)計使用C語言編寫程序,C語言相比匯編有許多的優(yōu)勢;編譯器使用KeilVersion2進(jìn)展程序編譯,Keil功能強(qiáng)大使用方便。主程序,分為系統(tǒng)初始化、按鍵處理以及各個子程序的調(diào)度管理等局部。如圖4-1所示描述了各個模塊的關(guān)系:圖4-1系統(tǒng)軟件方框圖系統(tǒng)主程序:本設(shè)計主程序的思想如下:(1)溫度為兩位顯示,距離為四位顯示單位為mm;(2)溫度每隔900ms采樣一次,DS18B20在12位精度下轉(zhuǎn)換周期為750ms,故900ms滿足該速度要求;超聲波每隔60ms發(fā)送一次。(3)按鍵S為測量啟動鍵;(4)系統(tǒng)采用AT89S52的時鐘:12MHz;(5)沒有使用看門狗功能;(6)超聲波發(fā)送一定時間后才開場啟動檢測,防止直達(dá)信號造成誤判。所以系統(tǒng)最小測量約為112mm;系統(tǒng)主程序如下:voidmain(void){uchari,j;for(i=0;i<255;i++)for(j=0;j<255;j++);//延時,等待系統(tǒng)外圍復(fù)位完成sys_init();//初始化display();//顯示sta_flag=0;//標(biāo)準(zhǔn)復(fù)位waitforstarting://檢測按鍵while(START);for(i=0;i<20;i++)delay1ms();if(START)gotowaitforstarting;BUZZER=0;//蜂鳴器鳴音一次提示按鍵按下i=100000;while(i--);BUZZER=1;i=100000;while(i--);TR0=1;//啟動定時器0ET0=1;testtemp();//啟動溫度轉(zhuǎn)換while(1){if(sta_flag)//60MS到了,超聲波已經(jīng)發(fā)送{while(0==CSBIN);//等待超聲波返回TR1=0;jsh=TH1;//停頓計數(shù)jsl=TL1;if(15==count)//1S到,檢測溫度{temp=wd();count=0;testtemp();//重新啟動轉(zhuǎn)換display();//刷新顯示}puter();//計算距離he*tobcd();//轉(zhuǎn)化成BCD碼sta_flag=0;//標(biāo)志清零}}}voidsys_init(void){uchari;for(i=0;i<29;i++)//顯示清零{num[i]=0;}TMOD=0*11;TH0=0*15;TL0=0*A0;P0=0;T=0;//超聲波發(fā)送關(guān)閉CSBIN=1;EA=1;//開放總中斷Init_LCD();}4.2外部中斷子程序如下圖,中斷效勞程序是響應(yīng)單片機(jī)的外部中斷。在系統(tǒng)主程序中,發(fā)射的4OKHz脈沖信號遇到障礙物反射后,經(jīng)接收檢測電路產(chǎn)生外中斷信號至單片機(jī)。在中斷效勞程序中,首先進(jìn)展必要的現(xiàn)場保護(hù),再把進(jìn)入中斷效勞程序處的計數(shù)值讀出并對該數(shù)據(jù)進(jìn)展處理,計算得到相應(yīng)的距離值,同時轉(zhuǎn)換為十進(jìn)制,最后送到P2口顯示輸出。RECEIVE:PUSHPSW;中斷現(xiàn)場保護(hù)PUSHACLRE*O;關(guān)閉外部中斷INTOMOVR0,TL0;讀取時間MOVR1,TH0LCALLMULD;調(diào)用乘法子程序計算機(jī)距離LCALLADJ;調(diào)用十進(jìn)制調(diào)整子程序LCALLDISPSETBE*0;翻開外部中斷INT0POPAPOPPSWRETI4.3定時器中斷子程序定時器中斷子程序流程圖如圖4-2所示。由于51單片機(jī)是16位定時器,最大計時時間為65536us,當(dāng)測量的距離很遠(yuǎn)的時候,定時器就會發(fā)生溢出;所以必須對溢出中斷進(jìn)展相應(yīng)的設(shè)置才能使得單片機(jī)正常工作。同時由于電路的測量距離有限最遠(yuǎn)為5米,當(dāng)測量距離超出5米時,接收探頭就不能檢測回波,即不能產(chǎn)出外部中斷更不可能關(guān)閉定時器。程序如下:TIME0:PUSHPSW;中斷現(xiàn)場保護(hù)PUSHACLRE*0CLRTR0MOVTL0,*00HMOVTH0,*00HSETBTR0SETBE*0LCALLPULSE;調(diào)用發(fā)射脈沖子程序POPA定時中斷關(guān)閉定時器定時器初始化發(fā)射脈沖串翻開定時器返回定時中斷關(guān)閉定時器定時器初始化發(fā)射脈沖串翻開定時器返回RETI圖4-2定時中斷子程序流程4.4實現(xiàn)重要功能的程序分析4.4.1實現(xiàn)溫度讀取功能uintRead_Temperature(void) //讀取溫度,返回整數(shù)值{uintc; reset(); //復(fù)位18b20芯片 tu=0; //先置位溫度正負(fù)標(biāo)示為正if(r){ write(0*CC); //跳過多傳感器識別skiorom write(0*BE); //發(fā)讀部9字節(jié)容指令 c=read(); //讀兩個字 reset(); //讀完兩個字節(jié)后復(fù)位 write(0*CC); //跳過多傳感器識別skiorom write(0*44); //發(fā)啟動溫度變換指令if(c>0*1000){c=c+1;tu=1;} //假設(shè)溫度小于0,tu=1 c>>=4; //去掉低四位即為整數(shù)溫度值,無需*0.0625returnc; }else{returnr;} //返回0*FF表示未檢測到18B20芯片}4.4.2實現(xiàn)根據(jù)溫度轉(zhuǎn)化聲速intC_speed(void)//根據(jù)溫度查算聲速值{uchary;y=Read_Temperature(); //采溫度if(r){ //假設(shè)溫度有變化則按溫度值取聲速 { T_C=y; //溫度值=變化后的溫度值 if(tu==0)speed=332+T_C*0.607;//溫度為正則+聲速 elsespeed=332-T_C*0.607;//溫度為負(fù)則-聲速 } }elsespeed=346.5; //假設(shè)1820不存在即無法讀取溫度,聲速=346.5M/S〔取25度〕returnspeed;}4.4.3實現(xiàn)距離計算floatDis_count() //距離計算函數(shù){ floatcm; cm=TH1*256+TL1; cm-=7610; //減去限制10M的初值+可調(diào)誤差值 cm*=speed; //計算距離uS*34650m cm/=20000; //轉(zhuǎn)換為s單程 returncm;}4.5本章小結(jié)本章主要結(jié)合超聲測距系統(tǒng)的硬件設(shè)計方案,給出具體實現(xiàn)時單片機(jī)涉及到的軟件構(gòu)造及其相關(guān)編程。主要包括整個程序的算法思想,采用模塊化設(shè)計,大量采用子程序設(shè)計的方法,大大縮短編程開發(fā)周期,方便程序閱讀以及程序查錯。程序采用先在計算機(jī)上進(jìn)展軟件仿真,后灌進(jìn)單片機(jī)中和硬件結(jié)合調(diào)試。第5章結(jié)論本設(shè)計是以AT89C51為核心,借助于模數(shù)電技術(shù)和單片機(jī)技術(shù)的結(jié)合,解決了超聲波測距的一些難題。靈活的運用超聲波換能集成電路作為超聲波的接收電路,在討論了超聲波測距原理、硬件電路實現(xiàn)和軟件設(shè)計方法根底上,完成了超聲波測距的設(shè)計要求。利用單片機(jī)的運算和控制功能,利用超聲波的特性設(shè)計出的一種簡單的測距系統(tǒng)。利用超聲波檢測往往比擬迅速、方便、計算簡單、易于做到實時控制,并且在測量精度方面能到達(dá)工業(yè)實用的要求,隨著科學(xué)技術(shù)的快速開展,超聲波的應(yīng)用將越來越廣。但就目前技術(shù)水平來說,人們可以具體利用的超聲波技術(shù)還十分有限,因此,這是一個正在蓬勃開展而又有無限前景的技術(shù)及產(chǎn)業(yè)領(lǐng)域。從課題選擇、方案論證到具體設(shè)計,我查閱了大量的資料。對一些疑難的問題,我得到了教師和同學(xué)的幫助。在三年的專科學(xué)習(xí)和生活期間,也始終感受著導(dǎo)師的精心指導(dǎo)和無私的關(guān)心,我受益匪淺。在此向教師們表示深深的感和崇高的敬意。致本文研究工作是在我的導(dǎo)師志通教師的精心指導(dǎo)和悉心關(guān)心下完成的,從開題伊始到論文完畢,我所取得的每一個進(jìn)步、編寫的每一段程序都無不傾注著導(dǎo)師辛勤的汗水和心血。導(dǎo)師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、淵博的各科知識、無私的奉獻(xiàn)精神使我深受啟迪,從尊敬的導(dǎo)師身上,我不僅學(xué)到了扎實、寬廣的專業(yè)知識,也學(xué)到了做人的道理。在今后的學(xué)習(xí)工作中,我將銘記恩師對我的教導(dǎo)和鼓勵,盡自己最大的努力取得更好的成績。在此我要向我的導(dǎo)師志通教師致以最衷心的感和深深的敬意!在三年的大學(xué)學(xué)習(xí)期間,每位教師對我的學(xué)習(xí)、生活和工作都給予了熱情的關(guān)心和幫助,使我的水平得到了很大的提高,取得了長足的進(jìn)步。在此,向所有關(guān)心和幫助過我的教師、同學(xué)和朋友表示由衷的意!衷心感在百忙之中評閱論文和參加辯論的各位專家、教授。參考文獻(xiàn)[1]維成,加國.單片機(jī)原理與應(yīng)用及C51程序設(shè)計.:清華大學(xué),2006[2]蔡菲娜.單片微型計算機(jī)原理和應(yīng)用.:大學(xué),1995[3]建忠.單片機(jī)原理及應(yīng)用.:電子科技大學(xué),2002[4]齊等.單片機(jī)應(yīng)用系統(tǒng)設(shè)計技術(shù)基于C語言編程.:電子工業(yè),2004[5]吳延海.微型計算機(jī)接口技術(shù).:大學(xué),1997[6]麗霞.單片機(jī)在超聲波測距中的應(yīng)用[J].電子技術(shù),2002[7]道連,寧延一,袁世良.用AT89C2051設(shè)計超聲波測距儀[J].國外電子元器件,2000[8]鵬,有志.一種新型超生測距系統(tǒng)[J].:大學(xué)學(xué)報,2003,33(1)[9]學(xué)海.PIC單片機(jī)實用教程-根底篇〔第1版〕[M].航天航空大學(xué).:2002年2月[10]賈伯年.傳感器技術(shù).:東南大學(xué),2000[11]大新,胡學(xué)同,周杏鵬.利用FPGA改良超聲波測距模塊設(shè)計[J].傳感器技術(shù),2005,24(2):57~59[12]閻石.數(shù)字電子技術(shù)根底.:高等教育,1998[13]樓然苗.51系列單片機(jī)設(shè)計實例.:航空航天大學(xué),1999[14]譚浩強(qiáng).C程序設(shè)計〔第三版〕.:清華大學(xué),2005附錄1系統(tǒng)原理圖系統(tǒng)PCB板圖附錄2源程序*include<reg52.h>*include<intrins.h>*include<math.h>*defineucharunsignedchar*defineuintunsignedintucharcodedispBUF[33]={"Temperature:Distance:mm"};ucharnumcode[10]={'0','1','2','3','4','5','6','7','8','9'};uintnum[29]={0};ucharjsh,jsl; //計數(shù)器的上下位ucharcount=0; //10秒計次數(shù)uintdistance; //距離uinttemp; //溫度變量ucharbdataflag; //DS18B20存在標(biāo)準(zhǔn)sbitRS=P2^0; //LCDRSsbitRW=P2^1; //LCDRWsbitE=P2^2; //LCDEsbitDQ=P2^7; //DS18B20數(shù)字端口sbitBusy=P0^7; //LCD忙voidDelay(uinttime);voiddelay1ms(uintms);voiddelay();voiddelay15(ucharus);voidBUMA(void);voidB20_WDAT(uchardat);ucharB20_RDAT(void);voidInit_18B20(void); //初始化18B20voidWrite_m(uchar); //寫入LCD命令voidWrite_Data(uchar); //寫入LCD數(shù)據(jù)voidInit_LCD(void);sbitsta_flag=flag^0; //10MS到標(biāo)準(zhǔn)位,flag即通用標(biāo)志位,當(dāng)sta_flag=1時,表示到了10mssbitfuhao=flag^1; //溫度的符號位sbitSTART=P1^0; //啟動測距sbitT=P2^5; //發(fā)射超聲波sbitCSBIN=P2^6; //返回信號sbitBUZZER=P3^7;/******************定時器1溢出***************************/voidtimer1(void)interrupt2using1{TR1=0;} //關(guān)閉定時器/計數(shù)器1/*********定時器0溢出中斷函數(shù),每60MS溢出****************/voidtimer0(void)interrupt1using0 //定時器0{TH0=0*15;TL0=0*A0; //定時器0設(shè)定初值TH1=0;TL1=0; //計數(shù)器1清零sta_flag=1;count++;_nop_();_nop_();_nop_();_nop_();T=1; //先延時,后開場發(fā)送40KHz的超聲波_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();//40KHZ的倒數(shù)就是25us,12個_nop_();就是24usT=0; //保持一段時間高電平_nop_();_nop_();_nop_();_nop_();TR1=1; //延時,防止直達(dá)信號干擾,啟動定時器/計數(shù)器1delay15(50); //延時避開直達(dá)信號}/***************系統(tǒng)初始化*************************/voidSYS_INIT(){uchari;for(i=0;i<29;i++) //顯示清零{num[i]=0;}TMOD=0*11; //工作方式存放器TMOD,設(shè)置定時器/計數(shù)器0和1均為16位定時/計數(shù)器TH0=0*15;TL0=0*A0;//設(shè)置定時器/計數(shù)器0的初值,60ms溢出P0=0;T=0; //P2^5口,發(fā)射發(fā)射超聲波CSBIN=1; //P2^6口,接收信號EA=1; //開總中斷}/******************距離計算***************************/voidJULIJS()//使用全局變量,可以定義為空{(diào)floatc,d,s;uintt;if(temp<0*8000)c=331.4+0.61*temp*0.0625;else //溫度為負(fù)c=331.4-0.61*temp*0.0625;t=jsh*256+jsl-120; //計算計數(shù)值d=(c*t*0.001)/2;d*=d;s=d-7.98;distance=sqrt(s); //修正后的值,數(shù)據(jù)通過全局變量distance傳輸}/****************轉(zhuǎn)換成2進(jìn)制***************/voidHE*toBCD(){floattp;unsignedlonginttmp;fuhao=0; //溫度符號位if(temp<0*8000)tp=temp*0.0625;else //溫度為負(fù),則求補(bǔ)碼得到原碼{BUMA();tp=temp*0.0625;fuhao=1;}tp*=10;tmp=tp;num[12]=tmp/100; //數(shù)據(jù)轉(zhuǎn)換后放到顯示數(shù)組里面if(fuhao)num[12]=num[12]|0*80; //最高位加上符號位num[13]=tmp/10-(tmp/100)*10;tmp=distance;num[25]=tmp/1000;tmp%=1000;num[26]=tmp/100;tmp%=100;num[27]=tmp/10;tmp%=10;num[28]=tmp/1;}/**************溫度轉(zhuǎn)換函數(shù)***************************/voidTESTTEMP(){Init_18B20(); //初始化18B20if(flag){B20_WDAT(0*CC); //跳過讀序號列號的操作,忽略ROM匹配B20_WDAT(0*44); //發(fā)送溫度轉(zhuǎn)化命令}}/***********讀取溫度函數(shù)**************/uintGET_WD(void){uinta=0,b=0,t=0;Init_18B20(); //初始化18B20B20_WDAT(0*CC); //跳過讀序號列號的操作B20_WDAT(0*BE); //發(fā)送讀溫度命令a=B20_RDAT();b=B20_RDAT(); //讀取一個字節(jié)〔讀出高8位和低8位〕t=b;t<<=8;t=t|a; //字節(jié)合并return(t); //返回結(jié)果給調(diào)用}/***************18B20復(fù)位函數(shù)***********************/voidInit_18B20(){DQ=1; //DQ復(fù)位Delay(10);DQ=0; //單片機(jī)將DQ拉低Delay(80); //480usDQ=1; //拉高總線Delay(10); //稍做延時后如果*=0則初始化成功,*=1則初始化失敗if(DQ)flag=0;elseflag=1;Delay(20);}/*******************讀數(shù)據(jù)******************************/ucharB20_RDAT(void) //讀取一個字節(jié){uchari=0;uchardat=0;for(i=8;i>0;i--){DQ=0; //拉低數(shù)據(jù)線,開場讀數(shù)據(jù)dat>>=1;DQ=1; //拉高數(shù)據(jù)線,停頓讀數(shù)據(jù)if(DQ)dat|=0*80; //拼裝處理Delay(15);}return(dat); //注意讀取的為補(bǔ)碼}/*********************寫數(shù)據(jù)****************************/voidB20_WDAT(uchardat){uchari=0;for(i=8;i>0;i--){DQ=0; //拉低數(shù)據(jù)線至少15us以作為起始信號DQ=dat&0*01; //取出低位的一位數(shù)據(jù)Delay(5); //稍作延時DQ=1; //將數(shù)據(jù)線拉高以作為停頓信號dat>>=1; //移位,為寫入下一位數(shù)據(jù)做準(zhǔn)備}}/*******************數(shù)據(jù)轉(zhuǎn)換函數(shù)**************************/voidBUMA(){temp=~temp; //按位取反temp+=1;}/**************************LCD顯示函數(shù)*******************/voidLCD_DISP(){uchara,b,d;Init_LCD();Write_m(0*01); //清顯示W(wǎng)rite_m(0*80); //寫首地址for(a=0;a<16;a++){d=dispBUF[a];if((a>11)&&(a<14))

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論