超聲波身高測量儀自己寫的_第1頁
超聲波身高測量儀自己寫的_第2頁
超聲波身高測量儀自己寫的_第3頁
超聲波身高測量儀自己寫的_第4頁
超聲波身高測量儀自己寫的_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目錄摘 要2引 言.4第一章 系統(tǒng)方案設(shè)計(jì)5§1.1 設(shè)計(jì)要求5§1.2 設(shè)計(jì)思路5§1.2.1 超聲波的接收與處理5§1.2.2 身高測量算法構(gòu)思5§1.2.3 硬件部分調(diào)試分析構(gòu)思6§1.2.4 設(shè)計(jì)思路總結(jié)6第二章 設(shè)計(jì)原理及設(shè)計(jì)框圖7§2.1 設(shè)計(jì)原理7§2.2 設(shè)計(jì)框圖7第三章 傳感器和電源的比較與選擇9§3.1 傳感器設(shè)計(jì)的方案選擇9§超聲波T/R40-10傳感器設(shè)計(jì)電路9§超聲波LM1812傳感器設(shè)計(jì)電路9§3.2 電源電路設(shè)計(jì)的方案選擇10采用二極管穩(wěn)壓電路設(shè)

2、計(jì):10采用7805三端穩(wěn)壓器電源:11第四章 系統(tǒng)硬件電路設(shè)計(jì)12§4.1 單片機(jī)系統(tǒng)及顯示電路12§4.2 超聲波發(fā)射電路14§4.3 超聲波檢測接收電路14§4.4 共陰極七段LED數(shù)碼管15第五章 系統(tǒng)軟件設(shè)計(jì)16§5.1 程序流程圖16§5.2 主程序設(shè)計(jì)17§5.3 超聲波發(fā)射子程序和接收中斷程序設(shè)計(jì)17§5.3.1 超聲波發(fā)射子程序17§5.3.2 超聲波接收中斷程序18第六章 電路調(diào)試與分析20§6.1硬件部分調(diào)試與分析20§6.2程序調(diào)試與分析20參考文獻(xiàn).21附 錄

3、22附錄 A 主要原理圖22附錄 B 產(chǎn)品及市場成品圖23附錄 C C語言程序24超聲波身高測量儀摘 要:論文首先介紹了超聲波測身高的基本原理,隨后對幾種可性的方案進(jìn)行了方案論證,確定最后的設(shè)計(jì)方案,并對整個(gè)的設(shè)計(jì)方案作了詳細(xì)的介紹。在此本設(shè)計(jì)中硬件設(shè)計(jì)電路主要由單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接受電路組成。軟件設(shè)計(jì)由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序及顯示子程序等部分。本次設(shè)計(jì)用超聲波良好的反射性能,采用回波測距法來實(shí)現(xiàn)。使用在空氣中效率較高的中心頻率為40KHz的超聲波探頭來完成發(fā)射與接收功能,用四位數(shù)字顯示以達(dá)到1cm的分辨率和1-3m的測量范圍。公式如下:d=

4、s/2=(c*t)/2 。d為被測物與測發(fā)生器的距離,s為聲波的來回路程,c為聲速,t為聲波來回所用的時(shí)間。在此基礎(chǔ)上設(shè)計(jì)了系統(tǒng)的總體方案,最后通過硬件和軟件實(shí)現(xiàn)了各個(gè)功能模塊。相關(guān)部分附有硬件電路圖、程序流程圖。關(guān)鍵詞: AT89C52 超聲波 發(fā)射 接收Ultrasonic height measuring instrumentAbstract:Paper first introduces the basic principle of ultrasonic distance measurement, then the solution of several can be carried o

5、ut of the demonstration program to determine the final design, and design a whole were described in detail. In this design, hardware design of the circuit mainly by the SCM system and the display circuit, ultrasonic transmitter and ultrasonic testing to accept circuit. Software design from the main

6、program, subroutine ultrasound, ultrasound receiver interrupt program and display routines and other parts. The design of ultrasonic sound reflection properties, the use of echo ranging method to achieve. Higher efficiency in air using a center frequency of 40KHz ultrasound probe to complete transmi

7、t and receive functions, with four figures in order to achieve a resolution of 0.1cm and 1-3cm of the measuring range. The following formula: d = s / 2 = (c * t) / 2. d for the measured object and measuring the distance between generator, s is the sound of the round-trip distance, c is the speed of

8、sound, t is the sound back and forth the time spent. On this basis, the overall design of the system program, and finally achieved through various hardware and software modules. With the relevant parts of the hardware circuit, the program flow chart. Keywords: AT89C52,Ultrasonic,Launch,Receive引 言超聲波

9、測身高就是利用反射特性,通過發(fā)生器不斷發(fā)射出40KHz超聲波遇到障礙物后反射會反射波,在通過接收器接收發(fā)射波信號,并將其轉(zhuǎn)換為電信號。相比于其他技術(shù),超聲波定位技術(shù)體積小、成本高,制作也簡易。非常適合短距離的測量定位。人體身高距離是在不同的場合和控制中需要檢測的一個(gè)參數(shù),測距成為數(shù)據(jù)采集中要解決的一個(gè)問題。超聲波檢測往往比較迅速、方便、計(jì)算簡單、易于做到實(shí)時(shí)控制由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測量,況且它適合與高溫,高粉塵,高濕度和高強(qiáng)電磁干擾等惡劣環(huán)境下工作。其用途極度廣泛,例如:測繪地形圖,建造房屋、橋梁、道路、開挖礦山、油井等。超聲測距儀

10、在先進(jìn)的機(jī)器人技術(shù)上也有應(yīng)用,把超聲波源安裝在機(jī)器人身上,由它不斷向周圍發(fā)射超聲波并且同時(shí)接收由障礙物反射回波來確定機(jī)器人的自身位置,用它作為傳感器控制機(jī)器人等等。單片機(jī)一般由中央處理器CUP、存儲器和輸入輸出I/O組成。自1979年第一臺單片機(jī)誕生以來,單片機(jī)作為微型計(jì)算機(jī)一個(gè)分支,以其體積小、功能多、應(yīng)用靈活等諸多優(yōu)勢,得到越來越廣泛的應(yīng)用。展望未來,超聲波測身高作為一種新型的非常重要有用的工具在各方面都將有很大的發(fā)展空間,它將朝著更高定位更高精度的方向發(fā)展,以滿足日益發(fā)展的社會需求。本設(shè)計(jì)采用超聲波在空氣中運(yùn)行原理設(shè)計(jì)的一種光機(jī)電一體化的身高測量儀。下面介紹本次設(shè)計(jì)的具體實(shí)現(xiàn)方法。第一章

11、 系統(tǒng)方案設(shè)計(jì)方案設(shè)計(jì)是整個(gè)設(shè)計(jì)首要解決的問題,沒有好的方案就沒有好的設(shè)計(jì)。下面做本次設(shè)計(jì)方案的詳細(xì)介紹。§1.1 設(shè)計(jì)要求設(shè)計(jì)一個(gè)超聲波測身高的作品,以空氣中超聲波傳播速度為確定條件,利用超聲波的發(fā)射與反射時(shí)間差來測量待測的身高距離。要求電路簡潔,制作方便、性能可靠。測量范圍不低于13米,測量精度為1cm,能夠清晰穩(wěn)定地顯示測量結(jié)果,測量結(jié)果以每1cm往上遞增,當(dāng)高位為“0”時(shí),則不顯示,以達(dá)到省電的目的,當(dāng)測量距離低于最小距離時(shí),則顯示最小距離“30”cm。§1.2 設(shè)計(jì)思路超聲波是指頻率高于20KHz的機(jī)械波。為了以超聲波作為檢測手段,必須產(chǎn)生超聲波和接收超聲波。超聲

12、波傳感器是利用壓電效應(yīng)的原理將電能和超聲波相互轉(zhuǎn)化,即在發(fā)射超聲波的時(shí)候,將電能轉(zhuǎn)換,發(fā)射超聲波;而在收到回波的時(shí)候,則將超聲振動轉(zhuǎn)換成電信號。§ 超聲波的接收與處理接收頭采用與發(fā)射頭配對的UCM40R,將超聲波調(diào)制脈沖變?yōu)榻蛔冸妷盒盘?,?jīng)運(yùn)算放大器IC1A和IC1B兩極放大后加至IC2。IC2是帶有鎖定環(huán)的音頻譯碼。集成塊LM567,內(nèi)部的壓控振蕩器的中心頻率f0=1/1.1R8C3,電容C4決定其鎖定帶寬。調(diào)節(jié)R8在發(fā)射的載頻上,則LM567輸入信號大于25mV,輸出端8腳由高電平躍變?yōu)榈碗娖?,作為中斷請求信號,送至單片機(jī)處理。§ 身高測量算法構(gòu)思超聲波發(fā)生器在某一時(shí)刻

13、發(fā)出一個(gè)超聲波信號,當(dāng)遇到被測物體后阿佘回來。被接收器所接收到。發(fā)出超聲波信號到接受到返回信號所用的時(shí)間,就可以算出超聲波發(fā)生器與反射物體的距離。公式如下:d=s/2=(c*t)/2 。d為被測物與測發(fā)生器的距離,s為聲波的來回路程,c為聲速,t為聲波來回所用的時(shí)間。§ 硬件部分調(diào)試分析構(gòu)思在硬件方面將超聲波接收電路用金屬殼屏蔽起來,從而提高抗干擾能力。聲波發(fā)射和接收采用15的超聲波換能器TCT40-10F1(T發(fā)射)和TCT40-10S1(R接收),中心頻率為40kHz,安裝時(shí)應(yīng)保持兩換能器中心軸線平行并相距48cm 。根據(jù)測量范圍要求不同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容的大

14、小,以獲得合適的接收靈敏度和抗干擾能力。在軟件方面根據(jù)所設(shè)計(jì)的電路參數(shù)和程序,測距儀能測的范圍為1m3m,測距儀最大誤差不超過1cm。系統(tǒng)調(diào)試完后應(yīng)對測量誤差和重復(fù)一致性進(jìn)行多次實(shí)驗(yàn)分析,不斷優(yōu)化系統(tǒng)使其達(dá)到實(shí)際使用的測量要求。同時(shí)可以修改超聲波發(fā)生子程序每次發(fā)送的脈沖寬度和兩次測量的間隔時(shí)間,以適應(yīng)不同距離的測量需要。由于采用的電路使用了很多的集成電路。對集成電路有很大的要求,對元器件方面五特別的要求。因?yàn)橥鈬脑骷皇呛芏?,所以在調(diào)試方面應(yīng)該不會出現(xiàn)很大的問題,但在焊接方面需要留心,最好無誤。§ 設(shè)計(jì)思路總結(jié)由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播距離較遠(yuǎn),因而超聲波可以

15、用于距離的測量。比如本次身高的測量。超聲波測身高的原理一般首先測出超聲波從發(fā)射到遇到人體頭部返回所經(jīng)歷的時(shí)間,再乘以超聲波的速度就得到二倍的聲源與人體頭部之間的距離。超聲波發(fā)生器可以分為兩類:一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械方式產(chǎn)生超聲波。本課題屬于近距離測量,可以采用常用的壓電式超聲波換能器來實(shí)現(xiàn)。利用超聲波檢測身高,設(shè)計(jì)比較方便,計(jì)算處理也較簡單,并且在測量精度方面也能達(dá)到要求。超聲波在標(biāo)準(zhǔn)空氣中的傳播速度為331.45米/秒,由單片機(jī)負(fù)責(zé)計(jì)時(shí),單片機(jī)使用12MHz晶振,所以此系統(tǒng)的測量精度理論上可以達(dá)到毫米級。根據(jù)設(shè)計(jì)要求并綜合各方面因素,可以采用AT89C52單片機(jī)作為主控制器

16、,用動態(tài)掃描法實(shí)現(xiàn)LED數(shù)字顯示,超聲波驅(qū)動信號用單片機(jī)的定時(shí)器完成。第二章 設(shè)計(jì)原理及設(shè)計(jì)框圖§2.1 設(shè)計(jì)原理該原理是主要利用超聲波在空氣中的傳播速度為已知。根據(jù)測量聲波發(fā)射到反射回來的時(shí)間差計(jì)算實(shí)際身高距離。由單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射和檢測接收電路三部分組成。采用AT89C52來實(shí)現(xiàn)對CX20106A紅外接收芯片和TCT40-10系列超聲波轉(zhuǎn)換模塊的控制。單片機(jī)發(fā)出信號,經(jīng)過放大輸出,經(jīng)過鎖相環(huán)檢波處理,氣動單片機(jī)的中斷程序,測得時(shí)間t,同時(shí)對系統(tǒng)軟件進(jìn)行分析、辨別、計(jì)算,得出數(shù)據(jù),用動態(tài)掃描法實(shí)現(xiàn)LED顯示結(jié)果。超聲波的驅(qū)動信號用單片機(jī)的定時(shí)器完成。單片機(jī)通過P1.0

17、引腳經(jīng)反相器來控制超聲波的發(fā)送,然后單片機(jī)不停的檢測INT0引腳,當(dāng)INT0引腳的電平由高電平變?yōu)榈碗娖綍r(shí)就認(rèn)為超聲波已經(jīng)返回。計(jì)數(shù)器所計(jì)的數(shù)據(jù)就是超聲波所經(jīng)歷的時(shí)間,通過換算就可以得到傳感器與障礙物之間的距離S。設(shè)其往返時(shí)間為t,速度為v,則得距離為s=vt/2 。傳感器通過聲波的波長和發(fā)射聲波以及接收到返回聲波的時(shí)間差就能確定人的身高,在發(fā)送脈沖的同時(shí),接收器的計(jì)數(shù)器啟動并開始計(jì)數(shù),直到接收傳感器接收反射回波后,計(jì)數(shù)停止,該時(shí)間差相當(dāng)于測量的距離,從而測算出人體的身高。§2.2 設(shè)計(jì)框圖由單片機(jī)產(chǎn)生40KHz左右的脈沖并輸出,經(jīng)調(diào)制器將脈沖信號放大和振蕩器振蕩后,由超聲波發(fā)射器發(fā)

18、射出超聲波,遇到障礙物返回被超聲波接收器接收到后,經(jīng)過接收檢測裝置對接受信號進(jìn)行處理和計(jì)時(shí)器計(jì)時(shí)后,由單片機(jī)計(jì)算超聲波發(fā)射器到障礙物之間的距離,并將計(jì)算結(jié)果由顯示器顯示。為此設(shè)計(jì)了超聲波測身高原理框圖如下(圖2.1):超聲波發(fā)射器放大電路放大電路單片機(jī)控制LED顯示掃描驅(qū)動鎖相環(huán)檢波超聲波接收器定時(shí)器圖2.1超聲波測身高原理框圖第三章 傳感器和電源的比較與選擇§3.1 傳感器設(shè)計(jì)的方案選擇超聲波測身高設(shè)計(jì)電路主要由電源電路、單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接受電路組成。下面方案選擇具體介紹。§超聲波T/R40-10傳感器設(shè)計(jì)電路電路主要由以下電路構(gòu)成:超聲波

19、傳感器T/R40-10、超聲波發(fā)射與接收構(gòu)成的收發(fā)電路;中央控制處理器AT89C52組成的主機(jī)電路;輸出顯示電路等。它是一種性能優(yōu)良的發(fā)射與接收配對的傳感器。該電路主要用電磁式輸出與輸入振蕩電路,所輸入的信號經(jīng)過放大,直接發(fā)送到單片機(jī)AT89C52單片機(jī)進(jìn)行處理,通過編程可以進(jìn)行自動控制。該電路的主要特點(diǎn)有: 該產(chǎn)品的互換性好,響應(yīng)速度快,抗干擾能力強(qiáng),外圍電路簡單,不需要布線直接通過發(fā)射模塊進(jìn)行無線發(fā)射。因此體積小。 該電路的測量精度很高,能在TA = +25oC、UCC = +5V 的條件下,測量誤差不超過2cm。§超聲波LM1812傳感器設(shè)計(jì)電路電路采用LM1812并有時(shí)基電路

20、來控制LM1812的發(fā)送與接收(LM1812即發(fā)送又接收)??刂凭嚯x可用5千歐的電位器來調(diào)節(jié)。LM1812是一種性能優(yōu)良,且既能發(fā)送又能接收超聲波的通用型超聲波集成器件。芯片內(nèi)包括:脈沖調(diào)制C類振蕩器,高增益接收器,脈沖調(diào)制檢測器及噪音抑制器。它除了可用于遙控器、報(bào)警器、自動門控制及通信方面外,還可用于工業(yè)上的料位或液位的測量與控制、測距及測厚等方面,應(yīng)用廣泛。采用LM1812的特點(diǎn)有:(1)檢測器輸出可驅(qū)動1A的峰值電流(2)器件內(nèi)部有保護(hù)電路(3)在電路中使用時(shí)不用外接晶體管驅(qū)動(4)使用時(shí)不用外接散熱器(5)器件具有互換性(6)可以使用一個(gè)發(fā)送/接收換能器工作,也可使用兩個(gè)換能器分別發(fā)送

21、和接收超聲波(7)發(fā)送功率可達(dá)12W(峰值)所以此方案響應(yīng)速度慢,抗干擾能力相對較弱,外圍電路相對較復(fù)雜。通過以上方案的分析,決定根據(jù)方案一作為設(shè)計(jì)方案。無論是在性能、特點(diǎn)、還是電路材料上,或者是在原理圖上、設(shè)計(jì)上等都具有簡單、使用性強(qiáng)等特點(diǎn)。§32 電源電路設(shè)計(jì)的方案選擇電源系統(tǒng)通常由電源變壓器、整流電路、濾波電路、穩(wěn)壓電路等構(gòu)成。各種電子線路均需要直流電源來供電,而電網(wǎng)能提供給我們的電源卻是交流的,這就需要有一個(gè)轉(zhuǎn)換電路把交流電壓變成比較穩(wěn)定的直流電電壓。電源變壓器將電網(wǎng)提供的交流電壓變換到電子線路所需的交流電壓范圍,同時(shí)還可起到直流電源與電網(wǎng)的隔離作用,可升壓也可降壓。實(shí)現(xiàn)這種

22、功能的電路就叫直流穩(wěn)壓電源,簡稱直流電源。下面方案選擇具體介紹。§采用二極管穩(wěn)壓電路設(shè)計(jì):在圖3.1中,穩(wěn)壓二極管的穩(wěn)壓值為5.1V,即當(dāng)D1陰極加電壓超過5.1V時(shí),二極管陰極電壓就會保持5.1V不變。在電路中R1的作用是限流,這是由于D1陰極電壓超過5.1V穩(wěn)壓值后,穩(wěn)壓二極管被反向擊穿,流過D1的電流將迅速增大,此時(shí)R1上的電壓也會隨之而增大,以保證穩(wěn)壓管功耗限制在安全區(qū)內(nèi)。此時(shí)即使輸入電壓在一定的范圍增加,輸出端都會保持穩(wěn)定電壓。但若反向電流增大到一定數(shù)值后,穩(wěn)壓二極管則會被徹底擊穿而損壞。電路如圖3.1所示,該電路是用硅穩(wěn)壓二極管的反向擊穿特性實(shí)現(xiàn)穩(wěn)壓的。不過該電路設(shè)計(jì)現(xiàn)在

23、應(yīng)用不廣泛,一般都采用集成穩(wěn)壓電路,所以此方案不選用。圖3.1 二極管穩(wěn)壓電路§采用7805三端穩(wěn)壓器電源:集成穩(wěn)壓器是將直流穩(wěn)壓電路的調(diào)整管、穩(wěn)壓管、比較放大器和多種保護(hù)電路集成到一塊芯片上的單片集成穩(wěn)壓電源。它具有體積小、可靠性高、使用簡單安全等特點(diǎn)。而三端集成穩(wěn)壓器又是集成穩(wěn)壓器最常用的一種。7805是固定式三端集成穩(wěn)壓器,其輸出為+5v。它輸出最大電流可達(dá)1A(需加散熱片)。溫度范圍為0°C125°C。如圖3.2所示,7805是由它只有三個(gè)外部接線端子,即輸入端、輸出端和公共端(輸出腳VO,輸入腳Vi和接地腳GND)組成。三端固定式集成穩(wěn)壓器有正穩(wěn)壓器78

24、XXX系列和負(fù)穩(wěn)壓器79XXX系列。78L05輸出額定電壓為5V,最大輸出電流為100mA。78系列與79系列的輸出引腳號不同,在使用時(shí)應(yīng)特別注意。電路中C1為主濾波電容,對額定輸出電流100mA,500mA,1.5A的穩(wěn)壓電路,C1最好分別用220µF、1000µF、3300µF以上,以取得良好的濾波效果,C2、C3在印制板上要盡可能靠近集成穩(wěn)壓器的輸入輸出端以消除可能產(chǎn)生的高頻自激振蕩。它們的輸入電壓至少比輸出的額定電壓大3V以上(本設(shè)計(jì)中輸入電壓為12V),才能有良好的穩(wěn)定電壓輸出,但兩者差別太大,集成穩(wěn)壓器上的管耗大,發(fā)熱量也大。圖3.2 7805穩(wěn)壓電源

25、電路第四章 系統(tǒng)硬件電路設(shè)計(jì)§4.1 單片機(jī)系統(tǒng)及顯示電路單片機(jī)采用AT89C52或其兼容系列。采用12MHz高精度的晶振,以獲得較穩(wěn)定的時(shí)鐘頻率,減小測量誤差。單片機(jī)用P1.0端口輸出超聲波轉(zhuǎn)換器所需的40KHz方波信號,利用外中斷0口檢測超聲波接收電路輸出的返回信號。顯示電路采用簡單實(shí)用的4位共陽LED數(shù)碼管,段碼用74LS245驅(qū)動,位碼用PNP三極管驅(qū)動。單片機(jī)系統(tǒng)及顯示電路如下圖所示:圖4.1 單片機(jī)系統(tǒng)及顯示電路§4.2 超聲波發(fā)射電路超聲波發(fā)射電路原理圖主要由反相器74LS04和超聲波發(fā)射換能器T構(gòu)成,單片機(jī)P1.0端口輸出的40kHz的方波信號一路經(jīng)一級反向

26、器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級反向器后送到超聲波換能器的另一個(gè)電極,用這種推換形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強(qiáng)度。單片機(jī)產(chǎn)生40KHz的脈沖,由P1.0口輸出,經(jīng)74LS04六反向器將脈沖信號放大后,由壓電超聲波轉(zhuǎn)換器T40-10發(fā)射超聲波。壓電超聲波轉(zhuǎn)換器的功能:利用壓電晶體諧振工作。它有兩個(gè)壓電晶片和一個(gè)共振板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片將會發(fā)生共振,并帶動共振板振動產(chǎn)生超聲波,這時(shí)它就是一超聲波發(fā)生器。如沒加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電振蕩器作振動,將機(jī)械能轉(zhuǎn)換為電信號,這時(shí)它就成為超聲波接收

27、轉(zhuǎn)換器。超聲波發(fā)射轉(zhuǎn)換器與接收轉(zhuǎn)換器其結(jié)構(gòu)稍有不同。圖4.2 超聲波發(fā)射電路輸出端采兩個(gè)反向器并聯(lián),用以提高驅(qū)動能力。上位電阻R19、R20一方面可以提高反向器74LS04輸出高電平的驅(qū)動能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時(shí)間。§4.3 超聲波檢測接收電路考慮到紅外遙控常用的載波頻率38 kHz與測距的超聲波頻率40 kHz較為接近,可以利用集成電路CX20106A制作超聲波檢測接收電路如圖4.3。這是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器??紤]到紅外遙控常用的載波頻率38KHz與測距超聲波頻率40KHz較為接近,可以利用它作為超聲波檢測電

28、路。圖4.3超聲波接收電路驗(yàn)證明用CX20106A接收超聲波(無信號時(shí)輸出高電平),具有很好的靈敏度和較強(qiáng)的抗干擾能力。適當(dāng)更改電容C4的大小,可以改變接收電路的靈敏度和抗干擾力。§4.4 共陰極七段LED數(shù)碼管數(shù)碼管是常用的數(shù)值數(shù)據(jù)顯示組件,通常實(shí)現(xiàn)一位數(shù)碼管顯示的控制,是使用靜態(tài)的控制方式,將顯示的數(shù)據(jù)送到數(shù)碼管后程序可做其他事情,這在程序設(shè)計(jì)上十分容易。但是在設(shè)計(jì)多位數(shù)碼管顯示控制時(shí),靜態(tài)的控制方式就比較浪費(fèi)I/O的控制線了,對于多位數(shù)碼管顯示的實(shí)現(xiàn),最常用的認(rèn)識方法是掃描法。當(dāng)工作時(shí),每次只點(diǎn)亮一位數(shù)字進(jìn)行顯示,延遲一小段時(shí)間后再點(diǎn)亮下一位數(shù)字進(jìn)行顯示,因?yàn)槿藗円曈X暫留的現(xiàn)象

29、,而感覺4位數(shù)字同時(shí)被點(diǎn)亮。第五章 系統(tǒng)軟件設(shè)計(jì)超聲波測身高的軟件設(shè)計(jì)主要由主程序、超聲波發(fā)射子程序及超聲波接收中斷程序組成。§5.1 程序流程圖軟件分為兩部分, 主程序和中斷服務(wù)程序, 如圖5.1所示。主程序完成初始化工作、超聲波發(fā)射和接收順序的控制。定時(shí)中斷服務(wù)子程序完成超聲波回波接收, 外部中斷服務(wù)子程序主要完成時(shí)間值的讀取、距離計(jì)算、結(jié)果的輸出等工作。 開始超聲波脈沖發(fā)射接收超聲波脈沖初始化計(jì)數(shù)并儲存數(shù)據(jù) 0.5s關(guān)閉定時(shí)器中斷關(guān)閉讀取時(shí)間值設(shè)置距離結(jié)束標(biāo)志輸出數(shù)據(jù)中斷打開返回?cái)?shù)碼管顯示聲波接收到?NY開始測量圖5.1主程序及外中斷程序流程圖§5.2 主程序設(shè)計(jì)主程

30、序首先對系統(tǒng)環(huán)境初始化,設(shè)置定時(shí)器T0工作模式為16位的定時(shí)計(jì)數(shù)器模式,置位總中斷允許位EA并給顯示端口P0和P2清0。然后調(diào)用超聲波發(fā)生子程序送出一個(gè)超聲波脈沖,為避免超聲波從發(fā)射器直接傳送到接收器引起的直接波觸發(fā),需延遲0.1ms(這也就是測距器會有一個(gè)最小可測距離的原因)后,才打開外中斷0接收返回的超聲波信號。由于采用12MHz的晶振,機(jī)器周期為1us,當(dāng)主程序檢測到接收成功的標(biāo)志位后,將計(jì)數(shù)器T0中的數(shù)(即超聲波來回所用的時(shí)間)按下式計(jì)算即可測得被測物體與測距儀之間的距離,設(shè)計(jì)時(shí)取20時(shí)的聲速為344m/s則有: d=(C*T0)/2=172T0/10000cm(其中T0為計(jì)數(shù)器T0的

31、計(jì)數(shù)值)。 測出距離后結(jié)果將以十進(jìn)制BCD碼方式顯示,然后再發(fā)超聲波脈沖重復(fù)測量過程。§5.3 超聲波發(fā)射子程序和接收中斷程序設(shè)計(jì)超聲波發(fā)射子程序的作用是通過P1.0端口發(fā)送2個(gè)左右的超聲波信號頻率約40KHz的方波,脈沖寬度為12us左右,同時(shí)把計(jì)數(shù)器T0打開進(jìn)行計(jì)時(shí)。超聲波測距器主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(INT0引腳出現(xiàn)低電平),立即進(jìn)入中斷程序。進(jìn)入該中斷后就立即關(guān)閉計(jì)時(shí)器T0停止計(jì)時(shí),并將測距成功標(biāo)志字賦值1。如果當(dāng)計(jì)時(shí)器溢出時(shí)還未檢測到超聲波返回信號,則定時(shí)器T0溢出中斷將外中斷0關(guān)閉,并將測距成功標(biāo)志字賦值2以表示此次測距不成功。&#

32、167; 超聲波發(fā)射子程序#define k1 P3_4 #define csbout P3_5 /超聲波發(fā)送 #define csbint P3_7 /超聲波接收 #define csbc=0.034 #define bg P3_3  unsigned char csbds,opto,digit,buffer3,xm1,xm2,xm0,key,jpjs;/顯示標(biāo)識 unsigned char convert10= 0x3F,0x06,

33、0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/09段碼 unsigned int s,t,i, xx,j,sj1,sj2,sj3,mqs,sx1; bit cl;    void csbcj(); void delay(j); /延時(shí)函數(shù) void scanLED(); /顯示函數(shù) void timeToBuffer(); /顯示轉(zhuǎn)換函數(shù) void keyscan(); void k1cl(); void

34、60;k2cl(); void k3cl(); void k4cl(); void offmsd();§ 超聲波接收中斷程序void main() /主函數(shù)  EA=1; /開中斷  TMOD=0x11; /設(shè)定時(shí)器0為計(jì)數(shù),設(shè)定時(shí)器1定時(shí)  ET0=1; /定時(shí)器0中斷允許   ET1=1; /定時(shí)器1中斷允許   TH0=0x00;  TL0=0x00;  TH1=0x9E;  TL1=0x5

35、7;  csbds=0;  csbint=1;  csbout=1;  cl=0;  opto=0xff;  jpjs=0;  sj1=45;  sj2=200;  sj3=400; k4cl();  TR1=1;   while(1)    keyscan();  if(jpjs<1)    csbcj();  if(s>sj3)    buffer2=0x76; 

36、;  buffer1=0x76;   buffer0=0x76;     else if(s<sj1)    buffer2=0x40;   buffer1=0x40;   buffer0=0x40;    else timeToBuffer();     else timeToBuffer(); /將值轉(zhuǎn)換成LED段碼  offmsd();  scanLED(

37、); /顯示函數(shù)  if(s<sj2)  bg=0;  bg=1;   第六章 電路調(diào)試與分析§6.1硬件部分調(diào)試與分析超聲波發(fā)射和接收采用15的超聲波換能器TCT40-10F1(T發(fā)射)和TCT40-10S1(R接收),中心頻率為40kHz,安裝時(shí)應(yīng)保持兩換能器中心軸線平行并相距48cm,其余元件無特殊要求。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。在對該電路進(jìn)行調(diào)試時(shí),VCC應(yīng)輸出5V直流穩(wěn)定的電壓,接通電源后電源指示燈亮,正常發(fā)光。一對電源部分進(jìn)行調(diào)試。先將整流、濾波部分元件焊上,然后接上電源變壓器,用交流

38、檔測變壓器輸出電壓為12V左右,再用直流檔測整流濾波后的電壓為直流14.4V左右,測試正常后,接上三端穩(wěn)壓(7805)后再測其輸出電壓,為5V±0.25V,這些數(shù)據(jù)說明電源部全部工作正常。二根據(jù)測量范圍要求不同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容C7的大小,以獲得合適的接收靈敏度和抗干擾能力。三硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。根據(jù)實(shí)際情況可以修改超聲波發(fā)生子程序每次發(fā)送的脈沖寬度和兩次測量的間隔時(shí)間,以適應(yīng)不同距離的測量需要。四在實(shí)際測身高調(diào)試中,當(dāng)測量距離在13m范圍內(nèi)時(shí),測量值與實(shí)際值相差2cm左右;當(dāng)測量距離在1.5m2.5m時(shí),測量值與實(shí)際值

39、相差3cm左右。系統(tǒng)調(diào)試完后應(yīng)對測量誤差和重復(fù)一致性進(jìn)行多次實(shí)驗(yàn)分析,不斷優(yōu)化系統(tǒng)使其達(dá)到實(shí)際使用的測量要求。§6.2程序調(diào)試與分析多步調(diào)試:完成程序后,我首先采用了多步調(diào)試,時(shí)間正常顯示與更新,但定時(shí)到了繼電器不會吸合。由是我采用斷點(diǎn)調(diào)試。斷點(diǎn)調(diào)試:在程序中插入斷點(diǎn),即為斷點(diǎn)調(diào)試。但由于不太會用,所以也未能找到錯(cuò)誤。單步調(diào)試:由于程序在設(shè)計(jì)過程中產(chǎn)生了錯(cuò)誤,而多步調(diào)試及斷點(diǎn)調(diào)試又找不出錯(cuò)誤所在,這時(shí)就要采用單步調(diào)試,終于找到錯(cuò)誤所在。經(jīng)過思考與多次調(diào)試,錯(cuò)誤被更正。參 考 文 獻(xiàn)1羅忠輝.提高超聲波測距精度的方法J.機(jī)械設(shè)計(jì)與制造,2005年1月第一期.2張有志.一種新型超聲波測距

40、系統(tǒng)J.山東大學(xué)學(xué)報(bào),2003年2月第3卷第1期.3王霞、曹茂永。超聲測距數(shù)字信號采集系統(tǒng)J.電測與儀表,2000年第8期.4劉曄。王峰等。超聲波測距儀的研究J.計(jì)算機(jī)測量與控制.2002,10(7):480-482.5老虎工作室 趙晶.電路設(shè)計(jì)與制版-Protel 99高級應(yīng)用M.北京:人民有點(diǎn)出版社,2000.6張謙琳.超聲波檢測原理和方法.北京:中國科技大學(xué)出版社,2006.10.7蘇偉、鞏壁建.超聲波測距誤差分析.傳感器技術(shù),2004.8張義和.Protel PCB99設(shè)計(jì)與應(yīng)用技巧M.北京:科學(xué)出版社,2000.9隋衛(wèi)平.高精度實(shí)時(shí)超聲波測距技術(shù)研究D.國防科學(xué)技術(shù)大學(xué)碩士論文,20

41、03年1月.10恒清、張靖.加強(qiáng)單片機(jī)系統(tǒng)抗干擾能力的方法.通化師范學(xué)院學(xué)報(bào),2004.10.附錄附錄 A 主要原理圖 附錄 B 產(chǎn)品及市場成品圖附錄C C語言程序 #include<iom8v.h> #include<macros.h> #pragma interrupt_handler intt0:10       /T0溢出中斷 #pragma interrupt_handler icp_timer1:6    /T1捕捉中斷 #pragma data:code 

42、/設(shè)定數(shù)據(jù)區(qū)為程序存儲器   const unsigned char tab1=0X28,0XEE,0X32,0XA2,0XE4,   0XA1,0X21,0XEA,0X20,0XA0;/七段譯碼字型表(lm,cm)   const unsigned char tab2=0X08,0XCE,0X12,0X82,0XC4,   0X81,0X01,0XCA,0X00,0X80;/七段譯碼字型表(m)       #pragma data:data /設(shè)定數(shù)據(jù)區(qū)回到數(shù)據(jù)存儲器 &

43、#160;     unsigned char ledbuff=0X08,0X28,0X28;/顯示緩沖區(qū)       unsigned char count;       unsigned char newcount;       unsigned char oldcount;       void intt0(void)/T0中斷定時(shí)程序,定時(shí)58US,

44、即測距1CM.             TCNT0=0XC6;       count+;             void icp_timer1(void)/ICP1捕捉中斷,捕捉頻率38.541.6             if (96<=

45、ICR1<=104)               SREG&=0X7f;         newcount=count-13;         ICR1=0;         TCNT1=0;      &

46、#160;  TCCR1B=0X81;                   void delay_1us(void)/1us             asm("nop");             void delay_

47、us(unsigned int t)/tus             unsigned int i=0;       for(i=0;i<t;i+)       delay_1us();             void delay_1ms(void)/1ms   

48、0;         unsigned int i;       for(i=1;i<1142;i+);             void delay_ms(unsigned char t)             unsigned char  i=0; 

49、0;     for(i=0;i<t;i+)               delay_1ms();                   void send40kHz(void)         

50、  /發(fā)射40KHz超聲波             count=0;       TIMSK&=0XDF;/禁止ICP1使能       OCR2=0X64;       TCCR2=0X19;             void c

51、lose40kHz(void)         /停止發(fā)射超聲波             TCCR2=0X00;             void hextobcd(unsigned char m)/將count十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換為LED七段碼        &

52、#160;    unsigned char temp;       temp=m%10;       ledbuff0=tab1temp;/mm位       m=m/10;       temp=m%10;       ledbuff1=tab1temp;/lm位     &

53、#160; temp=m/10;       ledbuff2=tab2temp;/m位               void display3led(void)        /數(shù)碼管顯示             unsigned char i;  

54、0;      for(i=0;i<3;i+)               PORTD=ledbuff;         PORTC=(1<<i);/PC0-mm位,PC1-lm位,PC2-m位         delay_1ms();    

55、;     PORTC=(1<<i);                     void display8led(void)        /8LED顯示               &#

56、160; if(newcount<10)                             PORTD=0XFE;           else if (newcount<20)    

57、60;             PORTD=0XFD;           else if (newcount<30)                PORTD=0XFB;       

58、;    else if (newcount<40)             PORTD=0XF7;           else if (newcount<50)               PORTD=0XEF;  

59、;         else if (newcount<100)              PORTD=0XDF;           else if (newcount<180)          

60、0;   PORTD=0XBF;           else                                    PORTD=0X

61、7F;                void mcu_init(void)/MCU初始化             DDRD=0XFF;       PORTD=0XFF;       DDRC=0XDF;      

62、/PC5為輸入       PORTC=0XFF;       DDRB=0XFE;       PORTB=0XF7;       TCNT2=0X00;       TCNT0=0XC6;      /T0定時(shí)58US       TCCR0=0X02;      /T0定時(shí)器1/8分頻       TCNT1=0X00;       TCCR1A=0X00;   &

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論