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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 汽車倒車雷達設計

          汽車倒車雷達設計

          作者: 時間:2011-11-16 來源:網(wǎng)絡 收藏

          在現(xiàn)代社會中,隨著汽車的增多和停車位日趨緊張,泊車成為很多車主頭痛的問題,這時倒車雷達就成了汽車的好助手。倒車雷達是汽車泊車安全輔助裝置,能以聲音或者更為直觀的顯示告知駕駛員周圍障礙物的情況,解除了駕駛員泊車時前后左右探視所引起的困擾,并幫助駕駛員掃除了視野死角和視線模糊的缺陷,提高了倒車的安全性。本文以ATmega16作為核心處理器,采用超聲波原理測量出障礙物距車尾的垂直距離。系統(tǒng)電路設計合理,工作穩(wěn)定,性能良好,精度高,實時檢測速度快,在未來市場上將有一定的實用價值。
          1 超聲波測距原理
          超聲測距的原理較簡單,一般采用渡越時間法,將超聲傳感器安裝在汽車尾部,則障礙物距車尾的垂直距離為:

          為了提高測距精度,本系統(tǒng)通過溫度補償?shù)姆椒▽鞑ニ俣燃右孕U?。因此只要測量超聲發(fā)射到超聲返回的時間間隔△t及環(huán)境溫度T,然后根據(jù)式(1)、式(2)即可計算出距離S。
          2 系統(tǒng)硬件設計
          本系統(tǒng)采用ATmega16 AVR為控制核心,外圍電路由超聲波發(fā)射電路、超聲波接收電路、溫度采集模塊、聲光報警電路、液晶顯示電路、接口電路及電源電路等部分組成。系統(tǒng)框圖如圖1所示。

          2.1 核心控制模塊
          Atmega16是Atmel公司近幾年才推向市場的新一代高性能、低功耗、高集成化的8位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間,加上片內32 個通用工作寄存器都直接與算術邏輯單元(ALU) 相連接,使得一條指令可以在一個時鐘周期內同時訪問兩個獨立的寄存器,大大提高了代碼效率,運行速度比AT89C51高出10倍。用于邊界掃描的JTAG接口,可以對片上16 KB閃存Flash在線編程和調試,非常方便軟件的升級。內部集成了較大容量的存儲器和豐富強大的硬件接口電路,如定時/計數(shù)器、實時時鐘、快速PWM通道、A/D轉換器、I2C的串行接口、可編程的串行USART接口、SPI串行接口和帶片內晶振的可編程看門狗定時器以及片內的模擬比較器等,除傳感器外幾乎可以不需要其他任何元件即可構成系統(tǒng),從而為本設計提供了靈活而低成本的解決方案。其主控電路如圖2所示。

          2.2 超聲波發(fā)射模塊
          超聲波發(fā)射電路原理圖如圖3所示。發(fā)射電路主要由施密特反向觸發(fā)器CD40106和超聲波發(fā)射換能器TCT40-10-T構成,PD6的端口輸出兩路40 kHz脈沖信號,一路經(jīng)一級反向器后送到超聲波換能器的一個電極;另一路經(jīng)兩級反向器后送到超聲波換能器的另一個電極。用這種推挽形式將脈沖信號加到超聲波換能器兩端,可以提高超聲波的發(fā)射強度。輸出端采用兩個反向器并聯(lián),用以提高驅動能力,所得到的波形比其他方式效果更理想。


          上一頁 1 2 3 下一頁

          關鍵詞: 汽車倒車雷達

          評論


          技術專區(qū)

          關閉
          看屁屁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); })();