超聲波倒車防撞系統(tǒng)
3.4 聲光報警報警電路
如圖4 所示,聲報警電路選用壓電式蜂鳴器,它大約需要10 mA 的驅(qū)動電流。當(dāng)單片機(jī)輸出低電平時,三極管導(dǎo)通,蜂鳴器報警。光報警電路如圖5 所示,當(dāng)單片機(jī)p2.5 口輸出低電平時,二極管導(dǎo)通,燈亮發(fā)出光報警信號。
圖4 聲報警電路
圖5 光報警電路
4 系統(tǒng)軟件設(shè)計
首先,微處理器AT89C51 先把P1.0 置0,通過軟件編程產(chǎn)生方波,送給超聲波傳感器,通過壓電陶瓷晶片發(fā)射超聲波(40 kHz 方波),延時300 us 左右(或者大于這個時間,這個延時是為了避免超聲波直接對反射過來的波的干擾,它決定了盲區(qū)的大小,延時時間越長,盲區(qū)越大,300 us 延時大概是10 cm 的盲區(qū))抑制輸出干擾,同時啟動內(nèi)部定時器T0 開始計時。當(dāng)超聲波信號碰到障礙物時信號立即返回,而微處理器在不斷的掃描INT0 引腳,如果INT0 接收到的信號由高電平變?yōu)榈碗娖剑砻餍盘栆呀?jīng)返回,微處理器進(jìn)入中斷處理程序,同時關(guān)閉定時器T0。再把定時器中的數(shù)據(jù)經(jīng)過處理就可以得出超聲波傳感器與障礙物之間的距離,顯示在LED 數(shù)碼管上。然后再根據(jù)相應(yīng)的情況判斷是否要進(jìn)行聲光報警。
程序啟動時,首先進(jìn)行初始化,接著是一個不斷發(fā)射方波的過程,即調(diào)用發(fā)射子程序幾遍,而且每次發(fā)射周期結(jié)束后都會在延時等待的過程中判斷是否發(fā)生了中斷,即是否有反射回波產(chǎn)生,當(dāng)有反射回波產(chǎn)生時,進(jìn)入中斷服務(wù)程序,首先是關(guān)閉中斷,讀取定時器的時間t,根據(jù)時間,用超聲波測距公式S=340×t/2,就可以得到障礙物到超聲波發(fā)射器之間的距離,根據(jù)計算的結(jié)果,將距離顯示到LED 數(shù)碼管上。
同時判斷距離是否小于0.5 m,如果小于0.5 m,就進(jìn)行聲光報警。程序流程圖如圖6 所示。
圖6 程序流程圖
5 結(jié)語
該系統(tǒng)利用51 系列單片機(jī)設(shè)計,設(shè)計簡單,操作方便。經(jīng)實(shí)驗(yàn)測試證明,該系統(tǒng)工作穩(wěn)定,能滿足倒車防撞的要求,且成本較低,具有良好的性價比??梢詰?yīng)用到汽車倒車場合。由于超聲波受外界環(huán)境的影響,所以該系統(tǒng)存在一定的誤差,可以進(jìn)行溫度補(bǔ)償,減小誤差,增強(qiáng)系統(tǒng)性能。
評論