基于ATmega8的超聲波倒車?yán)走_(dá)實(shí)現(xiàn)方案
由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中的傳播距離較遠(yuǎn),因而超聲波經(jīng)常用于距離測量,如測距儀和物位測量儀等都可以用超聲波來實(shí)現(xiàn)。利用超聲波檢測往往比較迅速、方便、計(jì)算簡單、易于做到實(shí)時(shí)控制,并且在測量精度方面能達(dá)到工業(yè)實(shí)用的要求,因此在移動機(jī)器人、汽車工業(yè)等領(lǐng)域中有廣泛的應(yīng)用。
本文根據(jù)筆者所在的武漢理工大學(xué)汽車電子電器研究所研發(fā)的一種由單片機(jī)開發(fā)的超聲波倒車?yán)走_(dá)報(bào)警器方案,詳細(xì)介紹了其硬件軟件實(shí)現(xiàn)過程。
2 設(shè)計(jì)目標(biāo)
報(bào)警器利用超聲波回聲測距的原理,測量車后一定距離內(nèi)的物體,并以AVRmega8系列單片機(jī)作為中心控制單元。這種超聲波雷達(dá)可以及時(shí)顯示車后障礙物的距離和方位,顯示范圍為0.5m~9.9m,當(dāng)距離大于2m時(shí)顯示車后障礙物的方位;當(dāng)距離小于2m時(shí),除了顯示其方位外,還可按照三段距離分別給出三種報(bào)警信號,以警示司機(jī)三種不同程度的緊急狀態(tài),使司機(jī)據(jù)此作出相應(yīng)的操作,防止事故的發(fā)生。
3 超聲波測距原理
3.1 超聲波發(fā)生器
超聲波發(fā)生器分為兩類:一類是用機(jī)械方式產(chǎn)生超聲波,包括加爾統(tǒng)笛、氣流笛等一類是用電氣方式產(chǎn)生超聲波,包括壓電型、磁致伸縮型和電動型等;它們所產(chǎn)生的超聲波的頻率、功能和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電型超聲波發(fā)生器。
3.2 壓電式超聲波發(fā)生器原理
壓電式超聲波發(fā)生器實(shí)際上是利用壓電晶體的諧振來工作的。超聲波發(fā)生器內(nèi)部有兩個(gè)壓電晶片和一個(gè)共振板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有頻率時(shí),壓電晶片將會發(fā)生共振,并帶動共振板振動,便產(chǎn)生超聲波。反之,如果兩電極間未加電壓,當(dāng)共振板接受到超聲波時(shí),將壓迫壓電晶片做振動,將機(jī)械能轉(zhuǎn)換為電信號,這是它就成為超聲波接收器了。
3.3 超聲波測距原理
超聲波測距是通過不斷檢測發(fā)射后遇到障礙物所反射的回波,從而測出發(fā)射和接收回波的時(shí)間差t,然后求出距離S=Ct/2,式中的C為超聲波波速。
由于超聲波也是一種聲波,其速度C與溫度有關(guān),在溫度確定后,只要測得超聲波往返時(shí)間,即可求得距離。
4 Atmega8的功能特點(diǎn)
ATMEL公司在2002年第一季度推出的一款新型AVR單片機(jī)。在AVR家族中,ATmega8L是一款非常特殊的單片機(jī),它的芯片內(nèi)部集成了大容量的寄存器和豐富的硬件接口電路,具有其他高檔AVR單片機(jī)MEGA系列的全部特點(diǎn),采用了小引腳封裝(為DIP28),價(jià)格卻與低檔單片機(jī)相當(dāng),同時(shí)具有 AVR單片機(jī)的ISP(在線編程)性能。是AVR高檔單片機(jī)中內(nèi)部接口豐富、功能齊全、性價(jià)比最好的品種。它的主要性能如下:
4.1 先進(jìn)的RISC精簡指令集結(jié)構(gòu)
130條功能強(qiáng)大的指令,大多數(shù)為單時(shí)鐘周期指令;32個(gè)8位通用工作寄存器;工作在16MHz時(shí)具有16MIPS的性能;執(zhí)行速度為2個(gè)時(shí)鐘周期的片內(nèi)乘法器。
4.2 大容量的非易失性程序和數(shù)據(jù)存儲器
ATmega8L具有可擦寫10000次的8K字節(jié)Flash程序存儲器;支持在線編程(ISP);擦寫100000次的512字節(jié)的,1K字節(jié)內(nèi)部SRAM。帶有獨(dú)立加密位的可選BOOT區(qū),通過BOOT區(qū)內(nèi)的引導(dǎo)程序區(qū)實(shí)現(xiàn)在系統(tǒng)編程,而且寫操作時(shí)真正可讀。
4.3 外部性能
2個(gè)比較模式的帶預(yù)分頻的8位定時(shí)/計(jì)數(shù)器;1個(gè)帶有預(yù)分頻器;一個(gè)獨(dú)立振蕩器的異步實(shí)時(shí)時(shí)鐘;3個(gè)PWN通道;8個(gè)通道A/D/轉(zhuǎn)換,6路10位A/D +2/路8位A/D;6個(gè)通道A/D轉(zhuǎn)換,4路10位A/D+2/路8位A/D;1個(gè)I2C的串行接口,1個(gè)串行USART接口,1個(gè)SPI同步串行接口;片內(nèi)看門狗定時(shí)器。
4.4 特殊功能
包括上電復(fù)位和可編程的低電壓檢測、內(nèi)部可校準(zhǔn)的RC振蕩器、五種睡眠模式(空閑模式、ADC噪聲抑制模式、省電模式、掉電模式、待命和擴(kuò)展待命模式)、可用軟件選擇時(shí)鐘頻率、可通過一個(gè)熔絲選定的兼容模式以及全局上拉禁止等。ATmega8L的獨(dú)有特點(diǎn)包括上電復(fù)位和可編程的低電壓檢測、內(nèi)部可校準(zhǔn)的RC振蕩器、五種睡眠模式(空閑模式、ADC噪聲抑制模式、省電模式、掉電模式、待命和擴(kuò)展待命模式)、可用軟件選擇時(shí)鐘頻率、可通過一個(gè)熔絲選定 ATmega8L的兼容模式以及全局上拉禁止等。
5 系統(tǒng)的硬件設(shè)計(jì)
5.1 超聲波發(fā)送
超聲波發(fā)送脈沖如圖1所示。40kHz的超聲波發(fā)送脈沖信號由單片機(jī)mega8的PB0口送出,其脈沖寬度及脈沖間隔均由軟件控制。脈沖寬度約為 125μs~200μs,即在一個(gè)調(diào)制脈沖內(nèi)包5~8個(gè)40kHz的方波。脈沖發(fā)送間隔取決于要求測量的最大距離及測量通道數(shù)。本系統(tǒng)有四路測距通道,采用分時(shí)工作,按左、中、右的順序循環(huán)測距。若在有效測距范圍內(nèi)有被測物的話,則在后一路超聲波束發(fā)出之前應(yīng)當(dāng)接收到前一路發(fā)同的反射波,否則認(rèn)為前一路無被測物。因此按有效測距范圍可以估算出最短的脈沖間隔發(fā)送時(shí)間。例如:最大測距范圍為5m時(shí),脈沖間隔時(shí)間t=2s/v=2×5/340≈30ms,實(shí)際應(yīng)取t≥30ms。
5.2 超聲波接收
回波很弱,因而轉(zhuǎn)換為電信號的幅值也較小,為此要求將信號放大60萬倍左右。采有三級放大。放大后的交流信號經(jīng)光電隔離送入比較器,比較器的作用是將交流信號整形輸出一個(gè)方波信號,此方波信號上升沿使 D觸發(fā)器觸發(fā),向CPU發(fā)中斷申請。在中斷服務(wù)程序中,讀取時(shí)間計(jì)數(shù)器的計(jì)數(shù)值,并結(jié)合溫度換算出的速度算出發(fā)射到接收的距離。
5.3 時(shí)間計(jì)測
超過波從發(fā)射到接收的間隔時(shí)間的測定是由單片機(jī)內(nèi)部的計(jì)數(shù)器T1來完成的。在調(diào)試過程中出現(xiàn)的發(fā)送部分與接收部分的直接串?dāng)_問題是由于換能器之間的距離不大,有部分聲波未經(jīng)被測物就直接繞射到接收換能器上。從發(fā)射開始一直到“虛假反射波”結(jié)束這段時(shí)間,不會發(fā)中斷申請,可有效躲避干擾,但也會形成所謂的 “盲區(qū)”。本系統(tǒng)的盲區(qū)約為20cm左右。
5.4 報(bào)警燈顯示
由于mega8有較強(qiáng)的驅(qū)動能力(驅(qū)動電流可達(dá)到20mA),可直接由mega8驅(qū)動三組(每組四路)的發(fā)光二級管作為報(bào)警顯示器。
6 系統(tǒng)的軟件設(shè)計(jì)
中斷服務(wù)程序分為INT0,INT1,T0
T0設(shè)置為30ms中斷一次,其任務(wù)就是每隔30ms產(chǎn)生5~8個(gè)40kHz的方波作為超聲波脈沖并按順序送到四個(gè)通道,即產(chǎn)生如圖1所示的超聲波發(fā)射脈沖。T0的中斷服務(wù)程序流程如圖2所示:
INT0中斷子程序讀取A/D轉(zhuǎn)換結(jié)果,并將相應(yīng)數(shù)據(jù)值轉(zhuǎn)換為環(huán)境溫度值;INT1停止T0、T1計(jì)數(shù),根據(jù)T1內(nèi)容計(jì)算時(shí)間T,并進(jìn)行最終距離的計(jì)算。先計(jì)算超聲波傳播速度:,再計(jì)算距離:D=CT/2,并將計(jì)算結(jié)果送入緩沖區(qū)以備通訊。T1工作在方式1。
7 誤差分析
本系統(tǒng)最大測距誤差在8cm左右,測距的盲區(qū)為20cm。
(1) 入射角
超聲波波束對探測目標(biāo)的入射角的影響。
(2) 過零點(diǎn)觸發(fā)
超聲波回波聲強(qiáng)與待測距離的遠(yuǎn)近有關(guān)系,所以實(shí)際測量時(shí),不一定是第一個(gè)回波的過零點(diǎn)觸發(fā)。
(3) 聲速修正
超聲波傳播速度對測距的影響。波的傳播速度取決于傳播媒質(zhì)的特性。傳播媒質(zhì)的溫度、壓力、密度對聲速都將產(chǎn)生直接的影響。因此需對聲速加以修正。對于測距而言,引起聲速變化的主要原因是媒質(zhì)溫度的變化。本文采用聲速預(yù)置和媒質(zhì)溫度測量結(jié)合的方法對聲速進(jìn)行修正,可有效地消除溫度變化對精度的影響。
8 結(jié)束語
該系統(tǒng)經(jīng)過大量實(shí)驗(yàn)數(shù)據(jù)測試表明系統(tǒng)滿足設(shè)計(jì)要求,通過修改部分子程序可根據(jù)需要擴(kuò)展成六通道、二通道、單通道的汽車后視儀及根據(jù)不同的要求作不同的報(bào)警處理。例如在該設(shè)計(jì)中加入了一時(shí)鐘芯片X1203 ,通過添加一些程序就可以實(shí)現(xiàn)時(shí)鐘
顯示與倒車報(bào)警的二合一產(chǎn)品,有較好的推廣價(jià)值。
參考文獻(xiàn)
[1]ATmega8L原理與應(yīng)用手冊. 北京:清華大學(xué)出版社
[2]國外電子元器件. 用AT89C2051設(shè)計(jì)超聲波測距儀 負(fù)離子發(fā)生器相關(guān)文章:負(fù)離子發(fā)生器原理 分頻器相關(guān)文章:分頻器原理 脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理 離子色譜儀相關(guān)文章:離子色譜儀原理 燃?xì)鈭?bào)警器相關(guān)文章:燃?xì)鈭?bào)警器原理
評論