<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 超聲波倒車防撞系統(tǒng)

          超聲波倒車防撞系統(tǒng)

          作者: 時(shí)間:2012-05-10 來源:網(wǎng)絡(luò) 收藏
            0 引言

            隨著中國汽車數(shù)量的不斷增多,道路擁堵,交通事故頻發(fā),給人們生活帶了諸多不便,安全成為了第一要素,汽車防撞系統(tǒng)的設(shè)計(jì)和需求也迫在眉睫。因此,設(shè)計(jì)了一種利用測(cè)距,通過單片機(jī)實(shí)現(xiàn)的倒車防撞報(bào)警系統(tǒng),主要考慮它的設(shè)計(jì)簡(jiǎn)單,易于操作。

            1 測(cè)距原理

            是指頻率高于20 kHz 的。而倒車時(shí),為了防止撞上障礙物,需要測(cè)量障礙物到車之間的距離,這就需要使用超聲波傳感器。超聲波傳感器又稱為超聲波換能器或超聲波探頭。超聲波傳感器包括超聲波發(fā)送器和超聲波接收器,但一個(gè)超聲波傳感器也可具有發(fā)送和接收聲波的雙重作用。超聲波傳感器是利用壓電效應(yīng)的原理將電能和超聲波相互轉(zhuǎn)化,即在發(fā)射超聲波的時(shí)候,將電能轉(zhuǎn)換成振動(dòng)發(fā)射超聲波;而在收到回波的時(shí)候,則將超聲振動(dòng)轉(zhuǎn)換成電信號(hào)。

            超聲波測(cè)距的原理一般采用渡越時(shí)間法 (TOF,time offlight)。超聲波發(fā)射傳感器向某一方向發(fā)射超聲波,在發(fā)射同時(shí)開始計(jì)時(shí),超聲波在空氣中傳播,傳播的途中碰到障礙物就立刻返回來,超聲波接收器接收到反射回來的波就立即停止計(jì)時(shí),計(jì)算出超聲波從發(fā)射到遇到障礙物返回時(shí)所用的時(shí)間t,常溫下超聲波在空氣中的傳播速度為V=340 m/s,根據(jù)公式S =V × t / 2,就可以計(jì)算出障礙物到超聲波傳感器之間的距離。

            2 系統(tǒng)總體電路

            單片機(jī)AT89C51 編寫程序產(chǎn)生方波,通過P1.0 口輸出40 kHz 的脈沖信號(hào),經(jīng)超聲波發(fā)射電路中CD4069 放大后驅(qū)動(dòng)超聲波發(fā)射探頭UCM40T,產(chǎn)生超聲波。傳播過程中遇到障礙物后產(chǎn)生回波送入超聲波接收器,接收探頭采用和發(fā)射探頭配對(duì)的UCM40R,將超聲波調(diào)制脈沖變?yōu)榻涣麟妷盒盘?hào),經(jīng)超聲波接收電路中CX20106A 進(jìn)行處理,通過7 腳輸出,作為一個(gè)中斷請(qǐng)求信號(hào),送至單片機(jī)進(jìn)行處理。在單片機(jī)發(fā)射方波的同時(shí),也就是超聲波發(fā)射電路發(fā)射超聲波的同時(shí)開啟單片機(jī)內(nèi)部定時(shí)器T0,通過定時(shí)器來記錄超聲波發(fā)射的時(shí)間和收到反射波的時(shí)間。當(dāng)超聲波接收電路收到超聲波反射波時(shí),超聲波接收電路輸出端產(chǎn)生一個(gè)低電平輸出到INTO端產(chǎn)生一個(gè)中斷請(qǐng)求信號(hào),單片機(jī)AT89C51 響應(yīng)外部中斷請(qǐng)求,執(zhí)行外部中斷服務(wù)程序,根據(jù)定時(shí)器的值讀取時(shí)間差,通過公式S =V × t / 2計(jì)算相應(yīng)的距離,并將結(jié)果顯示到LED數(shù)碼管上。如果S 的值小于報(bào)警距離0.5 m,則單片機(jī)AT89C51便給P2.5 口一個(gè)低電平信號(hào),使得報(bào)警電路工作,實(shí)現(xiàn)聲光報(bào)警。

            超聲波倒車防撞系統(tǒng)
          圖1 系統(tǒng)總體框圖

            3 系統(tǒng)硬件電路

            3.1 AT89C51

            AT89C51 是一個(gè)低電壓、高性能CMOS 8 位微處理器,片內(nèi)含4 KB 的可反復(fù)擦寫的Flash 只讀程序存儲(chǔ)器(ROM)和128 B 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),與標(biāo)準(zhǔn)MCS-51 指令系統(tǒng)和管腳兼容,片內(nèi)置通用8 位CPU 和Flash 存儲(chǔ)單元,ATMEL的AT89C51 是一種高效微控制器。

            AT89C51 是一個(gè)低功耗高性能單片機(jī),它有40 個(gè)引腳,32 個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2 個(gè)外部中斷,2 個(gè)16 位可編程定時(shí)計(jì)數(shù)器,2 個(gè)全雙工串行通信口。

            AT89C51 可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash 存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash 存儲(chǔ)器可有效地降低開發(fā)成本。

            3.2 超聲波發(fā)射電路

            超聲波發(fā)射電路主要由驅(qū)動(dòng)電路CD4069 及超聲波發(fā)射器T 組成。如圖2 所示,超聲波探頭采用壓電陶瓷傳感器UCM40T,當(dāng)在它的兩級(jí)加上脈沖信號(hào),其頻率等于壓電晶片的頻率時(shí)就會(huì)產(chǎn)生共振,產(chǎn)生超聲波。由于超聲波在空氣中最佳傳播頻率為40 kHz,同時(shí)使用的是壓電陶瓷傳感器,其驅(qū)動(dòng)頻率為40 kHz,因此通過單片機(jī)P1.0 口產(chǎn)生40 kHz 的方波信號(hào),經(jīng)過雙路反相器處理在超聲波振蕩器的外接電路兩端產(chǎn)生振蕩,雙路反相器可以提高驅(qū)動(dòng)能力,也能增強(qiáng)接收信號(hào),抑制其他噪聲與干擾。超聲波發(fā)射探頭兩端產(chǎn)生的振蕩波近似于方波。

            3.3 超聲波接收電路

            超聲波接收電路使用了集成電路CX20106A,它可用來完成信號(hào)的放大、限幅、帶通濾波、峰值檢測(cè)和波形整形等功能,電路如圖3 所示。發(fā)射電路發(fā)出的脈沖信號(hào),在碰到障礙物后,經(jīng)反射后的超聲波脈沖變成微弱的交流信號(hào),接收電路接收后送到CX20106A 的1 腳,為信號(hào)的輸入端,經(jīng)過前置放大器的放大,限幅放大器的放大,由于其有自動(dòng)增益控制功能,可以保證超聲傳感器接收較遠(yuǎn)反射信號(hào)輸出微弱電壓時(shí),放大器具有較高的增益,而在近距離輸入信號(hào)強(qiáng)時(shí)放大器不會(huì)過載,其帶通濾波器中心頻率可由芯片5 腳的外接電阻調(diào)節(jié),取200 kΩ,控制在38 kHz。通過帶通濾波器濾波,峰值濾波,積分比較,最后經(jīng)整形電路輸出脈沖信號(hào)。

            CX20106A 接收超聲波具有很高的靈敏度和較強(qiáng)的抗干擾能力,可以滿足超聲波接收電路的要求。同時(shí)集成電路也可以減少干擾。

            超聲波倒車防撞系統(tǒng)
          圖2 超聲波發(fā)射電路

           超聲波倒車防撞系統(tǒng)  
          圖3 超聲波接收電路


          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();