摘 要:利用AT89C52單片機作為主控制器,結(jié)合超聲波測距原理,實現(xiàn)倒車防撞報警功能。進(jìn)行系統(tǒng)硬件和軟件的設(shè)計,檢波接收電路和溫度補償電路分別采用了CX20106A和DS18B20兩款集成芯片,減小了電路間的相互干擾,提高了精度。該系統(tǒng)的最大測距誤差不超過1 cm,測距范圍為10~300 cm。另外,系統(tǒng)還具有結(jié)構(gòu)簡單,體積小,使用方便等特點。
關(guān)鍵詞:防撞系統(tǒng);超聲波;測距;單片機
中圖分類號:TP29 文獻(xiàn)標(biāo)識碼:A
文章編號:1004-373X(2010)02-205-02
Ultrasonic Ranging Back-draft Anti-collision Alarm System Based on AT89C52
ZHANG Heng,LIU Yajie
(Wuhan University of Engineering,Wuhan,430073,China)
Abstract:Using single-chip AT89C52 as the master combined with the principle of ultrasonic distance measurement to realize the back-draft anti-collision alarm function.The integrated chips of CX20106A and DS18B20 are separately used in the detection receiving circuit and the temperature compensation circuit,the mutual disturbance between circuit is reduced.The maximum distance measurement error is less than 1 cm,and the range of the system is 10~300 cm.This system has simple structure,small size,easy-to-use features and so on.
Keywords:CAS;ultrasonic;distance measurement;single-chip microcomputer
0 引 言
隨著國民經(jīng)濟(jì)的高速發(fā)展,我國汽車的擁有量在大幅增加,造成道路擁堵,交通事故頻發(fā),給人們的生命和財產(chǎn)安全帶來了巨大的損失。安全駕駛成為大家關(guān)注的焦點,其中汽車防撞系統(tǒng)(Collision Avoidance System,CAS)的設(shè)計和需求顯得非常重要和迫切。針對這種情況,設(shè)計一種響應(yīng)快、可靠性高且較為經(jīng)濟(jì)的汽車防撞報警系統(tǒng)勢在必行。
超聲波作為一種頻率超過20 kHz的機械波,其指向性強,能量消耗緩慢,在介質(zhì)中傳播距離遠(yuǎn),因此超聲波測距法是最常見的一種距離測量方法。利用超聲波檢測距離,設(shè)計比較方便,計算處理也較簡單,而且精度也較高[1]。本設(shè)計采用AT89C52單片機作為主控器,結(jié)合超聲波測距原理,設(shè)計了汽車倒車防撞報警系統(tǒng)。該系統(tǒng)采用軟、硬件結(jié)合的方法,具有模塊化和多用化的特點。
1 超聲波的測距原理
本系統(tǒng)選用的是壓電式超聲波傳感器。超聲波測距原理有兩種方式:共振式和脈沖反射式。因為共振式的應(yīng)用要求復(fù)雜,在此使用脈沖反射式[2,3]。超聲波測距原理如圖1所示。
圖1 超聲波測距原理圖
圖1中被測距離為H,兩探頭中心距離的一半用M表示,超聲波單程所走過的距離用L表示,由圖中關(guān)系可得:
H=Lcos θ
(1)
θ=arctan(M/H)
(2)
將式(2)代入式(1)可得:
H=Lcos[arctan(M/H)]
(3)
在整個傳播過程中,超聲波所走過的距離為:
2L=vt
(4)
式中:v為超聲波的傳播速度;t為傳播時間,即為超聲波從發(fā)射到接收的時間。
將式(4)代入式(3)可得:
H=12vtcos[arctan(M/H)]
(5)
當(dāng)被測距離H遠(yuǎn)遠(yuǎn)大于M時,cos[arctan(M/H)]1,于是式(5)變?yōu)?
H=12vt
(6)
由此可見,要想測得距離H,只要測得超聲波的傳播時間t即可[4]。
2 系統(tǒng)的實現(xiàn)
根據(jù)設(shè)計要求并綜合各個方面因素,可以采用AT89C52單片機作為主控制器,用動態(tài)掃描實現(xiàn)LCD數(shù)字顯示,超聲波驅(qū)動信號用單片機的定時器完成,其具體的系統(tǒng)框圖如圖2所示[5]。
圖2 防撞報警系統(tǒng)設(shè)計框圖
該系統(tǒng)主要由單片機系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路等部分組成。采用AT89C52來實現(xiàn)對CX20106A紅外接收芯片和TCT40-10系列超聲波轉(zhuǎn)換模塊的控制。其中超聲波接收電路使用集成電路CX20106A,可用來完成信號的放大、限幅、帶通濾波、峰值檢波和波形整形等功能。顯示器件采用的是LCD12864顯示器,并選用D18B20溫度傳感器進(jìn)行溫度檢測,實行溫度補償[6]。主控器AT89C52單片機是一種低功耗、高性能CMOS 8位微控制器,具有8 KB的系統(tǒng)可編程FLASH存儲器。與AT80C51引腳和指令完全兼容。擁有1個8位CPU,1個片內(nèi)振蕩器及時鐘電路,3個16位定時/計數(shù)器,21個特殊功能寄存器,4個8位并行I/O口,共32條可編程I/O端線,1個可編程全雙工串行口,8個中斷源[7,8]。
本設(shè)計的實物如圖3所示。
3 系統(tǒng)的軟件設(shè)計
系統(tǒng)軟件部分包括主程序、中斷子程序和其他子程序[9,10]。主程序流程圖如圖4所示,其中中斷子程序的核心代碼如下:
void TT() interrupt 2
{
uint temp;
TR0=0;
ET1=0;
flag=1;
temp=TH0*256+TL0;
if((temp>0)(temp<30000))
{
high_time=TH0;
low_time=TL0;
}
else
{
high_time=0;
low_time=0;
}
}
void beep()
{
unsigned char i;
for (i=0;i<100;i++)
{
delay(4);
BEEP=!BEEP; //BEEP取反
}
BEEP=1; //關(guān)閉蜂鳴器
delay(250);//延時
4 結(jié) 語
此倒車防撞報警系統(tǒng),可以應(yīng)用于汽車倒車等場合,提醒駕駛員在倒車時能有效地避開可能對倒車造成危害的障礙物和行人。本系統(tǒng)針對普遍存在的抗干擾性問題加強了軟硬件處理措施。硬件方面例如把超聲波接收電路用金屬殼屏蔽起來,提高了系統(tǒng)的抗干擾能力;軟件方面系統(tǒng)結(jié)合使用DS18B20溫度傳感器實現(xiàn)溫度補償矯正,使系統(tǒng)可以正常工作在任何溫度下,誤差都不會超過指定范圍。并用帶字庫功能的LCD12864液晶實時顯示距離,當(dāng)滿足距離條件時,蜂鳴器蜂鳴工作提示駕駛員,具有較強的實用性,且硬件結(jié)構(gòu)簡單,體積小,使用方便。但該系統(tǒng)的測量距離有限,只有在10~300 cm距離內(nèi)有效,需要進(jìn)一步的改進(jìn)和提高。
參考文獻(xiàn)
[1]樊高妮,何永強.單片機AT89C2051在超聲波測距系統(tǒng)中的應(yīng)用[J].湖南文理學(xué)院學(xué)報,2006(18):17-18.
[2]戴曰章,吳志勇.基于AT89C51單片機的超聲波測距系統(tǒng)設(shè)計[J].計量與測量技術(shù),2005(32):17-19.
[3]趙廣濤,程蔭杭.基于超聲波傳感器的測距系統(tǒng)設(shè)計[J].傳感器與儀器儀表,2006,22(1):129-131.
[4]石峰.高精度低成本車用超聲波傳感器的研制[J].傳感器世界,2006(1):30-32.
[5]樓燃苗,李光飛.51系列單片機設(shè)計實例[M].北京:北京航空航天大學(xué)出版社,2003.
[6]何希才.傳感器及其應(yīng)用電路[M].北京:電子工業(yè)出版社,2001.
[7]李文娟,海霞,葉諶雯.一種基于超聲波的檢測防撞系統(tǒng)的設(shè)計[J].自動化博覽,2007(6):80-81.
[8]王安敏,張凱.基于AT89C52單片機的超聲波測距系統(tǒng)[J].儀表技術(shù)與傳感器,2006(6):45-46.
[9]謝維成,楊加國.單片機原理與應(yīng)用及C51程序設(shè)計[M].北京:清華大學(xué)出版社,2006.
[10]李光飛.單片機C程序設(shè)計實例指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2005.
作者簡介 張 珩 女,1973年出生,講師,碩士。研究方向為控制理論。