1 超聲波測(cè)距原理
超聲波測(cè)距原理是利用超聲波從發(fā)射到接收過(guò)程中傳播的時(shí)間來(lái)計(jì)算出傳播距離,。本文的倒車(chē)?yán)走_(dá)系統(tǒng)采用反射接收回波方式,。設(shè)l為測(cè)量距離,t為往返時(shí)間差,,超聲波的傳播速度為c,,則有t=2l/c,而聲波在空氣中傳輸速率為,。式中T為環(huán)境溫度,;cO為絕對(duì)溫度時(shí)的速度,是常數(shù),。從上述兩式可以推出
,,故利用超聲波測(cè)量的距離與時(shí)間和環(huán)境溫度有關(guān),在本系統(tǒng)中利用AT89S52中的定時(shí)器測(cè)量超聲波傳播時(shí)間,,利用DSl8820測(cè)量環(huán)境溫度,,從而提高測(cè)距精度。
2 硬件設(shè)計(jì)
2.1 系統(tǒng)硬件總體設(shè)計(jì)
如圖1所示,,本系統(tǒng)硬件部分由AT89S52控制器,、超聲波發(fā)射電路、接收電路,、溫度測(cè)量電路,,聲音報(bào)警電路和LCD顯示電路組成。汽車(chē)行進(jìn)時(shí)LCD顯示環(huán)境溫度,,當(dāng)?shù)管?chē)時(shí),,發(fā)射和接收電路工作,,經(jīng)過(guò)AT89S52數(shù)據(jù)處理將距離也顯示到LCD上,如果距離小于設(shè)定時(shí),,報(bào)警電路會(huì)鳴叫,,提醒司機(jī)注意車(chē)距。AT89S52是主控芯片,,支持在線下載程序,,方便調(diào)試,有8kB的Flash,、32個(gè)I/O口,、三個(gè)16位定時(shí)/計(jì)數(shù)器、八個(gè)中斷源,、全雙工UART串行口和看門(mén)狗定時(shí)器等,,資源豐富,既滿(mǎn)足了本系統(tǒng)的設(shè)計(jì)要求,,也滿(mǎn)足了日后擴(kuò)展的需求,。
2.2 超聲波發(fā)射電路
超聲波發(fā)射器包括超聲波產(chǎn)生電路和超聲波發(fā)射控制電路兩部分,超聲波探頭選用CSB40T,??刹捎密浖l(fā)生法和硬件方法產(chǎn)生超聲波。本系統(tǒng)利用軟件產(chǎn)生40kHz的超聲波信號(hào),,經(jīng)過(guò)74HC04兩次和一次反向放大驅(qū)動(dòng)后輸出到CSB40T,,如圖2所示。
74HC04是一個(gè)高速CMOS六反相器,,具有對(duì)稱(chēng)的傳輸延遲和轉(zhuǎn)換時(shí)間,,而相對(duì)于LSTTL邏輯IC,它的功耗減少很多,。對(duì)于HC類(lèi)型,,其工作電壓為2~6V,,它具有高抗擾度,,可以兼容直接輸入LSTTL邏輯信號(hào)和CMOS邏輯輸入。
2.3 超聲波接收電路
由于超聲波在空氣中傳播,,其能量會(huì)隨傳輸距離的增大而減小,,從遠(yuǎn)距離障礙物反射的回波信號(hào)一般比較弱,所以在設(shè)計(jì)超聲波接收電路時(shí),,要有較大的放大倍數(shù),;為減小環(huán)境噪聲對(duì)回波信號(hào)的影響,也要考慮選用濾波特性較好的電路,,使回波易于檢測(cè),。超聲波接收電路使用集成電路CX20106A,,可用來(lái)完成信號(hào)的放大、限幅,、帶通濾波,、峰值檢波和波形整形等功能,如圖3所示,。
其中的前置放大器具有自動(dòng)增益控制功能,,可以保證在超聲傳感器接收較遠(yuǎn)反射信號(hào)輸出微弱電壓時(shí),放大器有較高的增益,,在近距離輸入信號(hào)強(qiáng)時(shí)放大器不會(huì)過(guò)載,;其帶通濾波器中心頻率可由芯片5腳的外接電阻調(diào)節(jié),不需要外接電感,,可避免外磁場(chǎng)對(duì)電路的干擾,,可靠性較高。CX20106A接收超聲波有很高的靈敏度和抗干擾能力,,可以滿(mǎn)足接收電路的要求,。同時(shí),使用集成電路也可以減少電路之間的相互干擾,,減小電噪聲,。當(dāng)接收到40kHz信號(hào)后,芯片7腳會(huì)出現(xiàn)較短的低電平,,接入單片機(jī)便可以使單片機(jī)產(chǎn)生中斷,。
2.4 溫度測(cè)量電路
由于超聲波的傳播速度v會(huì)受溫度、濕度,、壓強(qiáng)等的影響,,其中溫度的影響尤為嚴(yán)重。因此在測(cè)量精度要求高的場(chǎng)合,,應(yīng)通過(guò)溫度補(bǔ)償對(duì)超聲波的傳播速度進(jìn)行校正,,以減小誤差。
本系統(tǒng)采用DALLAS公司的DSl8820數(shù)字式溫度傳感器進(jìn)行溫度測(cè)量,,它所測(cè)量的溫度值用9位二進(jìn)制數(shù)直接表示,,這些值通過(guò)DSl8820的數(shù)據(jù)總線直接輸入CPU,無(wú)需A/D轉(zhuǎn)換,,而且讀寫(xiě)指令,、溫度轉(zhuǎn)換指令都是通過(guò)數(shù)據(jù)總線傳入DSl8820,無(wú)需外部電源,。DSl8820數(shù)字溫度傳感器與AD590,、LM35等溫度傳感器相比,具有相當(dāng)?shù)臏y(cè)溫范圍和精度,溫度測(cè)量精確,、不受外界干擾等優(yōu)點(diǎn),。硬件結(jié)構(gòu)如圖4所示。
2.5 顯示電路
本系統(tǒng)中的顯示部分采用1602LCD液晶顯示,。具體接口如圖5所示,。
如上圖,有兩組電源,,一組是模塊的電源 一組是背光板的電源 均為5V供電,。R3是調(diào)節(jié)對(duì)比度的引腳,調(diào)節(jié)此腳上的電壓可以改變黑白對(duì)比度,。RS是很多液晶上都有的引腳,,是命令/數(shù)據(jù)選擇引腳,該腳電平為高時(shí)表示將進(jìn)行數(shù)據(jù)操作,;為低時(shí)表示進(jìn)行命令操作,。RW也是很多液晶上都有的引腳,是讀寫(xiě)選擇端,,該腳電平為高時(shí)表示要對(duì)液晶進(jìn)行讀操作,;為低時(shí)表示要進(jìn)行寫(xiě)操作。同樣,,很多液晶模塊有E引腳,,通常在總線上信號(hào)穩(wěn)定后給一正脈沖通知把數(shù)據(jù)讀走,在此腳為高電平的時(shí)候總線不允許變化,。DO~D7 8位雙向并行總線,,用來(lái)傳送命令和數(shù)據(jù)。BLA是背光源正極,,BLK是背光源負(fù)極,。
3 軟件設(shè)計(jì)
本系統(tǒng)的軟件設(shè)計(jì)采用模塊化設(shè)計(jì),由主程序,、超聲波發(fā)射子程序,、超聲波接收子程序、溫度補(bǔ)償子程序,、報(bào)警子程序以及顯示子程序組成,。主程序流程圖如圖6所示。
超聲波倒車(chē)?yán)走_(dá)系統(tǒng),,最重要的就是對(duì)發(fā)射信號(hào)的控制及接收測(cè)量的時(shí)機(jī)控制,。在設(shè)計(jì)中,,AT89S52對(duì)發(fā)射的控制就是對(duì)40kHz方波產(chǎn)生電路的控制,。由AT89S52的Pl.0口控制超聲波發(fā)射電路以6個(gè)脈沖的序列發(fā)射出去,在程序中用延時(shí)實(shí)現(xiàn)。脈沖發(fā)射同時(shí)打開(kāi)定時(shí)器T0開(kāi)始計(jì)時(shí),,發(fā)射后等待1ms打開(kāi)外部中斷INT0,,等待回波反射到接收探頭。等待1ms的原因是,,超聲波發(fā)射探頭發(fā)射的超聲波一般都會(huì)存在余波干擾,,有部分聲波會(huì)直接傳到接收探頭,經(jīng)接收電路放大后,,系統(tǒng)就會(huì)把它誤認(rèn)為是檢測(cè)的回波信號(hào),,發(fā)射后等待1ms可以避免檢測(cè)到余波信號(hào),當(dāng)然這也會(huì)導(dǎo)致測(cè)量盲區(qū)的存在,。
4 結(jié)論
為了證明本文設(shè)計(jì)的倒車(chē)?yán)走_(dá)系統(tǒng)的可靠性,,在內(nèi)部進(jìn)行了實(shí)地測(cè)量。本系統(tǒng)測(cè)距范圍為0.2~5m,。最大誤差小于3cm,。因此,本系統(tǒng)具有工作穩(wěn)定,、抗干擾能力強(qiáng),、靈敏度高的特點(diǎn)。