趙宗坤
(武昌工學(xué)院智能制造學(xué)院,湖北武漢,430065)
隨著人民生活水平的提高,人民群眾擁有私家汽車的數(shù)量逐年增多。但司機(jī)在駕車行駛過程中,發(fā)生碰碰撞撞在所難免,為了保障行車的穩(wěn)定性,設(shè)計(jì)一款汽車倒車防撞系統(tǒng)。而超聲波測距相較于其他的非接觸式測距而言,有著一定的優(yōu)勢,如電磁會受到電磁的干擾,光線會受到陽光和霧霾的影響。這些對超聲波來說都不具有影響,對各種惡劣的環(huán)境都有一定的適應(yīng)能力。目前我國的非接觸式測距儀常采用超聲波、激光和雷達(dá),紅外線等。相比超聲波,制作雷達(dá)或激光測距儀的成本過高,還有紅外線測距儀的測距距離又偏短。因此,以超聲波作為測距工具已越來越受到我國的關(guān)注,應(yīng)用的領(lǐng)域也越來越廣,包括機(jī)器人行走,自動導(dǎo)航,水位監(jiān)測等。隨著自動駕駛汽車作為如今汽車領(lǐng)域研究的熱點(diǎn),能夠自動避開障礙的技術(shù)也越來越受到關(guān)注。作為自動駕駛技術(shù)的領(lǐng)跑者,美國特斯拉公司已經(jīng)研發(fā)出一套自動駕駛系統(tǒng),包括8 個(gè)攝像頭、12 個(gè)超聲波傳感器、一個(gè)雷達(dá)、一個(gè)強(qiáng)大的計(jì)算機(jī)芯片和大量軟件開發(fā)。其不僅可以使駕駛員在疲勞的時(shí)候放手小憩,而且對于一些非常難停的車位,也能依靠這套系統(tǒng),實(shí)現(xiàn)自主停車,充分解決了司機(jī)停車難,易剮蹭的倒車難題。而我國雖然在自動駕駛方面的研究落后于國外,但是我國也研發(fā)出了半自動的輔助駕駛系統(tǒng),如最新上市的寶駿RS-5,其包含77GHz 毫米波雷達(dá),再加上高清攝像頭,從而實(shí)現(xiàn)ACC 自適應(yīng)巡航、主動剎車和車道保持等多達(dá)14 項(xiàng)智能駕駛輔助功能。大大提高了汽車在行駛或者倒車過程中的安全性。
為了節(jié)約成本,減少外部因素的干擾,本系統(tǒng)在比較各種測距工具后選擇了以超聲波來作為測距工具。
本設(shè)計(jì)主要包括:單片機(jī)最小系統(tǒng)、電源模塊、液晶LCD顯示器超、聲波模塊、WT588D 語音模塊。
如圖1 所示,單片機(jī)最小系統(tǒng)在本設(shè)計(jì)中就是控制核心,而汽車在倒車過程中,超聲波一直作為測距工具實(shí)時(shí)反饋數(shù)據(jù),并且每3 秒自動更新一次,然后單片機(jī)根據(jù)接受到數(shù)據(jù),以數(shù)字的形式在LCD1602 液晶顯示屏上顯示,然后WT588D 語音模塊把汽車和障礙物之間的距離用語音播報(bào)出來。
圖1 系統(tǒng)總體設(shè)計(jì)
單片機(jī)的最小系統(tǒng)由復(fù)位電路、單片機(jī)和時(shí)鐘電路組成,電路圖如圖2 所示。在單片機(jī)外界加一個(gè)5V 的電源。是因?yàn)閱纹瑱C(jī)工作所需的最多電壓為5.5V,最低的電壓也要4V。單片機(jī)中的VCC 部分要和5V 的正極相連接,VSS 則是接地的一端。確定單片機(jī)的工作是否處于開始狀態(tài),都得復(fù)位電路來決定。當(dāng)MCU 上電時(shí),它會產(chǎn)生一個(gè)復(fù)位信號,MCU開始確定MCU 的初始工作狀態(tài)。當(dāng)MCU 系統(tǒng)運(yùn)行且程序由于外部環(huán)境的干擾而運(yùn)行時(shí),復(fù)位按鈕內(nèi)的程序從頭開始自動執(zhí)行。通常,外部按鈕的上電和手動復(fù)位有自動復(fù)位功能。當(dāng)時(shí)鐘電路開始工作,此時(shí),RESET 端子連續(xù)提供2 個(gè)機(jī)器周期的高電平,MCU 復(fù)位操作就完成了。外部的那個(gè)手動按鈕就是復(fù)位電路的按鈕,需要與上拉電阻連接以增加輸出高電平的值。時(shí)鐘電路就像微控制器的核心,它控制著微控制器的工作節(jié)奏。時(shí)鐘電路同時(shí)也可看作一個(gè)振蕩電路,微控制器收到它所提供的正弦波信號,一次來作為標(biāo)準(zhǔn),然后來決定執(zhí)行速度是快還是慢。XTAL1 對應(yīng)反相放大器的輸入,而XTAL2 則是對應(yīng)輸出,片內(nèi)振蕩器的配置都是由它們來完成的。在外部時(shí)鐘源被驅(qū)動器件使用的情況下,XTAL2 就不用連接了。由于一個(gè)機(jī)器周期等于6 個(gè)狀態(tài)周期,2 個(gè)振蕩周期又一個(gè)狀態(tài)周期相等,所以一個(gè)機(jī)器周期等于12 個(gè)振蕩周期。假設(shè)一個(gè)振蕩周期的值為1/12us,那么就可以得出外部石英晶體振蕩器的振蕩頻率是12MHz。
電源部分的設(shè)計(jì)由6 節(jié)5 號干電池供電9V,由LM7805穩(wěn)壓器模塊調(diào)節(jié)為5V 電源,為MCU 和每個(gè)模塊供電。該電路由電源開關(guān),穩(wěn)壓器模塊,電阻器,電容器和發(fā)光二極管組成。該電容器主要用于過濾超聲波和單片機(jī)模塊,以提供穩(wěn)定的電源。具體電路如圖3 所示。
為了得到更加清晰和精準(zhǔn)的數(shù)字,選擇采用LCD1602 來作為顯示屏。這樣有利于司機(jī)進(jìn)行判斷。電路如圖4 所示,圖中的液晶的RS、RW、EN 叫做命令操作腳,P1 則是數(shù)據(jù)接口。
圖4 液晶顯示模塊
一個(gè)超聲波模塊的組成包括超聲波發(fā)射器,接收器和控制電路。其距離感應(yīng)最遠(yuǎn)為8.88m ,最近為0.04m,采用的是非接觸式的方式,精度保持在3mm 左右?;竟ぷ髟恚菏紫仁荌O端口TRIG被觸發(fā)測距,給出一個(gè)至少10us高電平信號。8 個(gè)40KHZ 方波也會由模塊來自動發(fā)射,自動檢測是否有信號返回;如果有信號返回,IO 口ECHO 就會輸出一個(gè)高電平。高電平持續(xù)的時(shí)間為多久,超聲波從發(fā)射到返回的時(shí)間就是多久。超聲波傳感器有兩個(gè)探頭,一個(gè)負(fù)責(zé)發(fā)射,一個(gè)負(fù)責(zé)接收,這兩個(gè)過程都是由其內(nèi)部的壓電晶片完成的。
如圖5 所示,當(dāng)程序運(yùn)行開始的時(shí)候,單片機(jī)首先進(jìn)行初始化,然后判斷自動播放按鍵是否按下,如果沒有按下,就要手動按下播放鍵,這時(shí),超聲波測距儀開始工作,發(fā)送超聲波,在碰到障礙物后返回,然后超聲波測距儀開始計(jì)算與障礙物的距離,然后將數(shù)據(jù)傳輸?shù)揭壕э@示器上顯示距離,同時(shí)通過語音播報(bào)器告知駕駛員安全距離還有多少,這個(gè)過程每隔3 秒自動更新一次。超聲波傳感器的發(fā)射探頭發(fā)射出聲波,單片機(jī)內(nèi)部定時(shí)器就開始計(jì)時(shí),當(dāng)接收探頭檢測到信號返回時(shí),定時(shí)器停止計(jì)時(shí),定時(shí)器計(jì)時(shí)的這段時(shí)間就是聲波傳送的時(shí)間,然后根據(jù)公式就可以計(jì)算出汽車與障礙物之間的距離。
圖5 主程序流程設(shè)計(jì)圖
如圖6 所示,當(dāng)程序啟動時(shí),IO 口觸發(fā),給Trig 口至少10us 的高電平,超聲波測距儀開始工作。此時(shí),定時(shí)器0 關(guān)閉,計(jì)數(shù)器清零。信號返回時(shí),先判斷I/O 口ECH0 是否輸出為高電平,如果不是,則返回重新判斷,如果是,啟動定時(shí)器0,定時(shí)器0 啟動開始計(jì)時(shí),。然后判斷I/O 口ECH0 輸出的是不是低電平,如果不是,返回判斷,如果是,關(guān)閉定時(shí)器0,停止計(jì)時(shí)。由高電平到低電平的這段持續(xù)時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。然后計(jì)算出時(shí)間,重新開始測距。
圖6 超聲波程序設(shè)計(jì)圖
單片機(jī)的編程,設(shè)計(jì)涉及到很多模塊,單片機(jī)模塊、LED液晶顯示模塊、WT588D 語音模塊等,采用C 語言編程,對于超聲波測距,要設(shè)定一個(gè)固定值,是的超聲波能夠一直循環(huán)測距,而不是一次性測距,本系統(tǒng)設(shè)定的時(shí)間為3S,為了對司機(jī)有非常清楚的提示,不僅要在液晶顯示屏上顯示出來,而且還得通過語音播報(bào)進(jìn)行語音提醒,所以,在設(shè)計(jì)時(shí),要確保到聲波傳回來的時(shí),要把數(shù)據(jù)用顯示屏和語音播報(bào)同時(shí)提示,確保不會發(fā)生語音播報(bào)后,顯示屏缺沒有數(shù)據(jù)顯示的情況,對于測距,要利用單片機(jī)I/O 口的觸發(fā),激活超聲波,同時(shí),確保單片機(jī)定時(shí)器對聲波從發(fā)射到返回這段時(shí)間的記錄,然后通過時(shí)間數(shù)據(jù)來計(jì)算出汽車和障礙物之間的距離。
如圖7 所示,為實(shí)物調(diào)試效果示意圖,汽車與障礙物的距離實(shí)時(shí)顯示在LED 顯示器上面,此為超聲波能夠測出的最遠(yuǎn)距離,當(dāng)超出這個(gè)距離的時(shí)候,語音模塊就會發(fā)出“超出量程”的提示,說明已超出超聲波所能測出的距離,但小于這個(gè)距離時(shí),超聲波重新開始測距,依然是每3 秒更新一次,司機(jī)也能在這個(gè)距離里有操作反饋。
圖7 最遠(yuǎn)距離測試顯示
圖8 最近距離測距顯示
圖中的黃色信號燈為語音模塊的busy 輸出端,當(dāng)它亮?xí)r,表示語音模塊可放音,藍(lán)色按鍵為電源啟動鍵,液晶顯示器下方的黑色按鍵則為復(fù)位按鍵。
右上角像喇叭形狀的就是超聲波傳感器的兩個(gè)探頭,一個(gè)用來發(fā)送超聲波信號,一個(gè)則用來接收,然后數(shù)據(jù)通過液晶顯示器顯示出來,液晶顯示器的數(shù)據(jù)標(biāo)識采用拼音的形式,來提示各個(gè)數(shù)據(jù)所表示的意義。
實(shí)物比較簡便,易于加裝在汽車中,有很好的實(shí)用性,不足的地方在于,揚(yáng)聲器沒有進(jìn)行加固保護(hù),容易在碰撞出受損,從而導(dǎo)致播出的聲音帶著雜音,極大的影響播出聲音的效果,解決辦法就是將揚(yáng)聲器焊接在電路板上,使其固定,不會在汽車的行駛過程中發(fā)生碰撞而受損。
實(shí)物調(diào)試分別做了超聲波的最遠(yuǎn)距離和最近距離的測試,闡述了在兩種不同的狀態(tài)下,汽車防撞倒車系統(tǒng)會作出怎樣的表現(xiàn),然后司機(jī)根據(jù)顯示的數(shù)值和播報(bào)的語音來調(diào)整車的位置,避免事故的發(fā)生,該調(diào)試時(shí)人為的用手拿著進(jìn)行的調(diào)試,在汽車上的效果如何,還需要進(jìn)一步的實(shí)驗(yàn)和調(diào)試。
本設(shè)計(jì)研究的倒車防撞系統(tǒng)是基于超聲波測距的。該系統(tǒng)的工作處理器核心是STC89C52 單片機(jī),超聲波的原理是利用發(fā)射和接收超聲波,根據(jù)超聲波在空氣中的傳播時(shí)間來計(jì)算出傳播距離。經(jīng)過單片機(jī)的處理在液晶上顯示距離,并通過語音模塊把當(dāng)前的具體播報(bào)出來。