《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 業(yè)界動態(tài) > 用MC68HC705J1A實現(xiàn)超聲波汽車倒泊防撞報警器的設(shè)計

用MC68HC705J1A實現(xiàn)超聲波汽車倒泊防撞報警器的設(shè)計

2008-12-23
作者:王靜霞1, 朱明程 2, 李遠(yuǎn)輝

  摘?? 要: 介紹了MC68HC705J1A單片機的特點和性能,給出了超聲波汽車倒泊防撞報警器" title="防撞報警器">防撞報警器的設(shè)計方法和思路,并分析了超聲波測距" title="超聲波測距">超聲波測距的原理,討論了超聲波測距中需考慮的一些問題。

  關(guān)鍵詞: 超聲波探測器? 測距? 報警? MC68HC705J1A芯片

?

  超聲波汽車倒泊防撞報警器是超聲波測距的一個重要應(yīng)用。在汽車倒泊時,利用超聲波的反射可以探測汽車尾部與障礙物之間的距離,提供多級聲光報警。本文介紹一種以MC68HC705J1A單片機為核心的低成本超聲波汽車倒泊防撞報警器的設(shè)計方法,該報警器的感應(yīng)時間小于0.5s,測距精度可達(dá)0.1m。

1 超聲波測距原理

  超聲波測距原理是根據(jù)超聲波遇到障礙物后可反射回來的特性,記錄發(fā)射信號到收到第一個" title="第一個">第一個反射信號的時間t,利用公式s=c·t/2,計算出距離s。其中c是聲速,標(biāo)準(zhǔn)狀態(tài)下聲速c=331.4m/s。超聲波測距原理如圖1所示。

?

?

2 超聲波汽車倒泊防撞報警器的組成

  超聲波汽車倒泊防撞報警器的組成如圖2所示。

?

?

  報警器只在汽車倒泊時才使用,采用倒車燈的電源+12V供電。倒車時障礙物可能在車的后面,也可能在車的側(cè)面。為了保證各種情況下探測障礙物的準(zhǔn)確性,采用雙路探測結(jié)構(gòu),取兩路中距離較短的一路作為有效探測距離。超聲波探測頭具有電聲轉(zhuǎn)換和聲電轉(zhuǎn)換兩種功能,分時用于發(fā)送信號和接收信號。聲光報警電路由單片機直接控制,利用不同的蜂鳴器鳴叫聲音和不同顏色的LED閃動實現(xiàn)多段報警。

3 超聲波汽車倒泊防撞報警器的硬件電路設(shè)計

  超聲波汽車倒泊防撞報警器的硬件電路原理如圖3所示(圖中只給出了一路檢測電路,另一路與此相同)。

?

?

  MC68HC705J1A單片機是Motorola公司J系列單片機中性能價格比最高的單片機之一,廣泛應(yīng)用于各種中小型檢測控制系統(tǒng)中。MC68HC705J1A是一個具有1240字節(jié)EPROM/OTPROM的8位微控制器,主要硬件資源有:1240字節(jié)EPROM、64字節(jié)RAM、14個雙向輸入/輸出端口、多功能計數(shù)器、外部中斷等,同時具有看門狗和非法地址檢測、無最小時鐘頻率選擇等特點。在超聲波汽車倒泊防撞報警器中,充分利用其雙向并行口的輸入和輸出功能,進(jìn)行信號的發(fā)送、接收及聲光報警等控制。

超聲波探測頭選頻頻率為40kHz方波,由軟件在單片機的發(fā)送管腳PA6和PA7上直接產(chǎn)生20個方波脈沖,再通過變壓器升壓變換,經(jīng)超聲波探測頭發(fā)射出去。由于傳感器本身的恢復(fù)過程,發(fā)射結(jié)束后仍有不大于500μs的阻尼震蕩。發(fā)射信號同時回送到接收電路" title="接收電路">接收電路。

  發(fā)射信號遇到障礙物后反射回來,由同一超聲波探測頭接收并送到接收電路。接收電路對反射信號進(jìn)行多級放大和檢波,最后通過開關(guān)電路到達(dá)單片機的接收管腳PA0或PA1。當(dāng)接收電路有信號時,開關(guān)三極管Q1導(dǎo)通,PA0或PA1為低電平;否則,三極管截止,PA0或PA1為高電平。檢測PA0或PA1的管腳狀態(tài),就可以得到超聲波探測頭接收到第一個反射信號的時刻,從而計算出從發(fā)送信號到接收到第一個反射信號的時間,再進(jìn)一步計算出障礙物與汽車的距離。發(fā)射信號波形、接收電路信號波形和單片機接收管腳信號波形如圖4所示。

?

?

4 超聲波汽車倒泊防撞報警器的軟件設(shè)計

  超聲波汽車倒泊防撞報警器的軟件采用匯編語言。程序流程如圖5所示。

?

?

  系統(tǒng)聯(lián)調(diào)時發(fā)現(xiàn),當(dāng)檢測環(huán)境比較復(fù)雜時,檢測值會出現(xiàn)常數(shù)0或隨機數(shù)的現(xiàn)象,因此,實際檢測并不是以一次檢測值進(jìn)行計算的,而是將本次檢測值與之前連續(xù)9次的檢測值(共10次)進(jìn)行比較(取平均值),從而得出一個最終檢測結(jié)果,再計算出距離,根據(jù)距離所屬的范圍報警。檢測一次所需時間為50ms。

  一般報警程序中所需的時間參數(shù)都是由定時器通過硬件計數(shù)進(jìn)行中斷控制,但是超聲波檢測中,在發(fā)射信號期間不允許中斷,否則導(dǎo)致發(fā)射信號頻率不精確;同時在檢測過程中如果產(chǎn)生定時器中斷,也會給計數(shù)帶來誤差。因此,報警程序不采用中斷方式,而是將檢測報警所需的時間參數(shù)與單次檢測時間(50ms)結(jié)合起來,將蜂鳴器的鳴響頻率和LED的閃動頻率規(guī)定為500ms,即檢測10次的時間。報警時間參數(shù)與檢測次數(shù)之間的關(guān)系如表1所示。

?

?

檢測主程序如下:

????????????? org?? ??? 0300h

????????????? lda?? ???? #00

????????????? sta?? ???? counta ??? ;報警計數(shù)器清0

????????????? lda?? ???? #$fd

????????????? sta?? ???? portad? ?? ;設(shè)置A口輸入/輸出方向

????????????? lda?? ???? #$ff

????????????? sta?? ???? portbd???? ;設(shè)置B口輸入/輸出方向

????????????? ldx?? ???? buffer?????;緩沖區(qū)首地址 → x

transmit:????jsr??? ??? transp???? ;調(diào)用發(fā)射20個脈寬為250μs方波子程序

????????????? jsr?? ???? del450μs? ;延時450μs

????????????? lda?? ???? #00

????????????? sta?? ???? ,x? ? ? ? ;用于計時的緩沖單元清0

next:????????lda?? ???? porta?? ?? ;檢測處理器接收管腳是否為低電平

????????????? and?? ???? #$03

????????????? cmp? ????? #$02

????????????? bne?? ???? check????? ;檢測到低電平,退出計時

????????????? cmp? ????? #$01

????????????? bne?? ???? check????? ;檢測到低電平,退出計時

????????????? cmp? ????? #$03

????????????? bne?? ???? check????? ;檢測到低電平,退出計時

????????????? jsr??? ??? del20μs

????????????? inc??? ??? ,x? ? ??? ;計時緩沖單元內(nèi)容加1

????????????? lda??? ??? #$max????????

????????????? cmp? ???? ,x?? ????? ;判斷計時值是否超過限定最大值max

????????????? beq??? ??? check??????;若超過,退出計時

????????????? jmp??? ??? next?????? ;否則,繼續(xù)檢測計時

check:???????incx????????????????? ;緩沖區(qū)地址加1

????????????? jsr???? ?? distance?? ;調(diào)用計算距離子程序

????????????? jsr???? ?? aver?????? ;調(diào)用求平均值子程序" title="子程序">子程序,同時設(shè)置距離標(biāo)志flag和報警參數(shù)

????????????? jsr???? ?? alarm ???? ;調(diào)用報警子程序,根據(jù)報警參數(shù)報警

????????????? jsr???? ?? del30ms??? ;延時30ms

?????? ?????? jmp?? ???? transmit?? ;繼續(xù)下一次檢測

????????????? end

  實際使用證明,該報警器性能比較穩(wěn)定,已達(dá)到實用要求。硬件設(shè)計中充分考慮了反射信號的復(fù)雜性和不穩(wěn)定性,對反射信號進(jìn)行了一系列的濾波、放大與檢波處理。軟件設(shè)計采用結(jié)構(gòu)化程序設(shè)計思想,結(jié)構(gòu)簡潔,尤其是獨特的報警算法,避免了定時器中斷對檢測精度的影響。

  分析可知,該報警器在性能上還可以做如下改進(jìn):

  (1)采集數(shù)據(jù)的處理算法問題。該報警器采用的是連續(xù)10次采集數(shù)據(jù)求平均值的處理算法。當(dāng)環(huán)境比較復(fù)雜時,采集數(shù)據(jù)會出現(xiàn)0或隨機數(shù)情況,對平均值算法的結(jié)果有很大影響,不利于測距精度的提高,所以選擇優(yōu)化算法是軟件設(shè)計仍需改進(jìn)的難點之一。

  (2)改進(jìn)采樣方式。該報警器采用查詢方式采樣數(shù)據(jù),查詢一次的步長是50ms,因此每次采樣的最大誤差是50ms。如果采用其它方式檢測,例如中斷方式,還可以將采樣誤差控制到最小。

  (3)溫度對聲速的影響。如果考慮環(huán)境溫度變化對聲速的影響,硬件設(shè)計中必須進(jìn)行溫度檢測,在軟件中進(jìn)行溫度補償計算,進(jìn)一步減小測距誤差,使性能更加穩(wěn)定。

?

參考文獻(xiàn)

1 余永權(quán),林偉. Motorola? J,K系列廉價單片機原理及應(yīng)用.北京:北京航空航天大學(xué)出版社.1998

2 謝宋和.Motorola單片機原理及應(yīng)用系統(tǒng)開發(fā)技術(shù).北京:北京航空航天大學(xué)出版社.1999

3 吳東鑫.新型實用傳感器應(yīng)用指南.北京:電子工業(yè)出版社,1998

4 張福學(xué).現(xiàn)代實用傳感器電路.北京:中國計量出版社,1997

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲另类老妇videos | 国产成人精品日本亚洲语言 | 婷婷在线网 | 免费黄色欧美视频 | 久久亚洲最大成人网4438 | 久在线 | 美女激情影院午夜网 | 亚洲精品专区 | 无限看免费视频大全在线播放 | www.99热.com| 亚洲国产精品久久久久久网站 | 日本日韩欧美 | 欧美一区二区三区久久综合 | 国产日韩成人 | 波多野结衣一区二区三区四区 | aaa在线视频| 一级毛片 在线播放 | 国产草逼视频 | 人人射人人插 | 国产精品99爱免费视频 | 五月天婷婷免费观看视频在线 | 久久成人免费观看全部免费 | 成人看片黄a毛片 | 天天做人人爱夜夜爽2020 | 精品一区一区三区新区乱码 | 全黄毛片 | 亚洲三级视频 | 一级视频在线免费观看 | 草草影院www色欧美极品 | 欧美精品xxx | 51自拍| 日日干日日插 | 成年免费网站 | 美日韩在线视频 | 国产不卡免费 | 天天都色 | 天天摸夜班摸天天碰 | 日日插日日操 | 国产一级特黄高清免费大片dvd | 黄色大片免费网站 | 免费的一级片网站 |