基于MSP430單片機(jī)的倒車?yán)走_(dá)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
超聲波雷達(dá)又稱泊車輔助系統(tǒng),是一種利用超聲波原理,由裝載于車尾保險(xiǎn)杠上的探頭發(fā)送超生波撞擊障礙物后, 反射此聲波探頭,從而計(jì)算出車體與障礙物之間的距離。倒車?yán)走_(dá)主要由三部分組成:
感應(yīng)器(探頭),主機(jī),顯示設(shè)備。感應(yīng)器發(fā)出和接收超聲波信號(hào),然后將得到的信號(hào)傳輸?shù)街鳈C(jī)里面的電腦進(jìn)行分析,再通過顯示設(shè)備顯示出來(lái)。隨著人們對(duì)汽車駕駛輔助系統(tǒng)易用性要求的提高,以及單片機(jī)價(jià)格不斷下降和汽車電子系統(tǒng)網(wǎng)絡(luò)化發(fā)展的要求,新型的倒車?yán)走_(dá)都是以單片機(jī)為核心的智能測(cè)距傳感系統(tǒng)。本文介紹了一種基于MSP430 單片機(jī)的超聲波倒車?yán)走_(dá)監(jiān)測(cè)報(bào)警系統(tǒng)。
1 系統(tǒng)的硬件設(shè)計(jì)
本倒車?yán)走_(dá)主要用來(lái)顯示汽車后面的情景,測(cè)量和障礙物之間的距離。整個(gè)設(shè)計(jì)主要由MSP430 單片機(jī)、超聲波發(fā)生模塊、超聲波接受模塊、視頻采集模塊、LCD 顯示模塊以及語(yǔ)音報(bào)警模塊組成。單片機(jī)外圍擴(kuò)展一系列功能模塊如LCD、USB 接口等,USB 主機(jī)接口連接攝像頭模塊采集視頻圖像信息系統(tǒng),結(jié)合ARM 處理器實(shí)現(xiàn)視頻/圖像的采集、壓縮,并將采集后的數(shù)據(jù)發(fā)送到接收端,并通過LCD 顯示出來(lái)。
1.1 倒車?yán)走_(dá)總體結(jié)構(gòu)
倒車?yán)走_(dá)的設(shè)計(jì)由五部分組成:超聲波發(fā)生模塊、超聲波接受模塊、攝像頭視頻采集系統(tǒng)、LCD 顯示模塊、語(yǔ)音報(bào)警系統(tǒng),其總體體系結(jié)構(gòu)見圖1.1.
圖1.1 系統(tǒng)的總體設(shè)計(jì)
各模塊完成的具體任務(wù)如下:
1.1.1 測(cè)距系統(tǒng):由超聲波發(fā)生模塊、超聲波接受模塊、單片機(jī)控制系統(tǒng)組成,用來(lái)測(cè)量汽車與障礙物之間的距離。
1.1.2 顯示報(bào)警系統(tǒng):主要由USB 攝像頭、控制系統(tǒng)、顯示模塊和語(yǔ)音報(bào)警組成, 用來(lái)顯示車后和車側(cè)面的詳細(xì)情景并通過彩色液晶顯示,同時(shí)通過語(yǔ)音提示報(bào)警。
1.1.3 控制系統(tǒng):是本系統(tǒng)的核心,采用MSP430 單片機(jī),控制整個(gè)系統(tǒng)的運(yùn)行,對(duì)各種接口電路進(jìn)行控制。
1.2 超聲波發(fā)射與接收
單穩(wěn)觸發(fā)器接收來(lái)自S430F1101 的P1.3 端口輸出的40ms 脈沖波,經(jīng)過觸發(fā)器的電壓提升和脈寬控制輸出頻率不變、高電平寬度為160us 的方波,方波周期為40ms.此脈沖信號(hào)作為555 振蕩器的置位脈沖。在置位期問,555 定時(shí)產(chǎn)生40kHz 的振蕩信號(hào),由超聲波發(fā)射頭T40K 將電信號(hào)轉(zhuǎn)化成超聲波發(fā)射出去。超聲發(fā)射器便發(fā)射出脈沖數(shù)為7 個(gè)的脈沖串(1 / 40kHz=O.25ms),超聲波發(fā)射器的聲波傳播到反射物,再由反射物反射到接收器。
超聲波接收UCM-R40 接收到的回波信號(hào)轉(zhuǎn)換成電壓信號(hào),經(jīng)過兩級(jí)放大及電壓整形電路,整形后的直流電壓并不平滑,需加一個(gè)電容C5 濾波,濾波后的電壓范圍基本穩(wěn)定,用這個(gè)電壓驅(qū)動(dòng)光電耦合器件SFH65A-1 的發(fā)光二極管,這時(shí)光敏三極管導(dǎo)通,經(jīng)過一個(gè)反相器輸出電平信號(hào),再經(jīng)過一個(gè)反相器使電平信號(hào)基本穩(wěn)定。電平信號(hào)直接輸入單片機(jī)的外部中斷入口,該高電平作為MSP430 的外部中斷的中斷信號(hào)使單片機(jī)產(chǎn)生中斷, 在中斷服務(wù)程序中停止計(jì)數(shù)器的計(jì)時(shí),并計(jì)算出有關(guān)數(shù)據(jù)。
1.3 顯示電路設(shè)計(jì)
采用實(shí)時(shí)圖像視頻具有直觀生動(dòng)、快速便捷、內(nèi)容豐富的特點(diǎn),便于司機(jī)及時(shí)詳盡掌握周圍的環(huán)境,做出準(zhǔn)確的判斷。使用USB 攝像頭作為本系統(tǒng)的圖像采集器件。選擇主控芯片型號(hào)為中芯微公司的ZC301 攝像頭通過USB 接口與AT91RM9200 通信,ARM 經(jīng)過相應(yīng)的數(shù)據(jù)處理,通過液晶屏實(shí)時(shí)顯示。
2 系統(tǒng)的軟件設(shè)計(jì)
2.1 總體思路
軟件設(shè)計(jì)采用模塊化設(shè)計(jì), 包括主程序設(shè)計(jì)、T1 中斷服務(wù)子程序、INT0 外部中斷服務(wù)子程序、距離計(jì)算子程序、顯示子程序、延時(shí)子程序和報(bào)警子程序設(shè)計(jì)等。
系統(tǒng)初始化后就啟動(dòng)定時(shí)器T1 從0 開始計(jì)數(shù), 此時(shí)主程序進(jìn)入等待,當(dāng)?shù)竭_(dá)65 ms 時(shí)T1 溢出進(jìn)入T1 中斷服務(wù)子程序;在T1 中斷服務(wù)子程序中將啟動(dòng)一次新的超聲波發(fā)射, 此時(shí)將在P1.0 引腳上開始產(chǎn)生40 kHz 的方波,同時(shí)開啟定時(shí)器T0 計(jì)時(shí),為了避免直射波的繞射, 需要延遲1 ms 后再開INT0 中斷允許;INT0 中斷允許打開后,若此時(shí)P3.2(INT0)引腳出現(xiàn)低電平則代表收到回波信號(hào),將提出中斷請(qǐng)求進(jìn)入INT0 中斷服務(wù)子程序,在INT0 中斷服務(wù)子程序中將停止定時(shí)器T0 計(jì)時(shí),讀取定時(shí)器T0 時(shí)間值到相應(yīng)的存儲(chǔ)區(qū),同時(shí)設(shè)置接收成功標(biāo)志;主程序一旦檢測(cè)到接收成功標(biāo)志,將調(diào)用測(cè)溫子程序,采集超聲波測(cè)距時(shí)的環(huán)境溫度,并換算出準(zhǔn)確的聲速,存儲(chǔ)到RAM 存儲(chǔ)單元中;單片機(jī)再調(diào)用距離計(jì)算子程序進(jìn)行計(jì)算,計(jì)算出傳感器到目標(biāo)物體之間的距離;此后主程序調(diào)用顯示子程序進(jìn)行顯示;若超過設(shè)定的最小報(bào)警距離還將啟動(dòng)揚(yáng)聲器報(bào)警;當(dāng)一次發(fā)射、接收、顯示的過程完成后,系統(tǒng)將延遲100 ms 重新讓T1 置初值,再次啟動(dòng)T1 以溢出,進(jìn)入下一次測(cè)距。如果由于障礙物過遠(yuǎn),超出量程,以致在T0 溢出時(shí)尚未接收到回波,則顯示"ERROR"重新回到主流程進(jìn)入新一輪測(cè)試。
2.2 超聲波發(fā)射和接收部分軟件
超聲波的接收及障礙物和汽車之間的距離判斷方法,并根據(jù)判斷出的距離觸發(fā)報(bào)警器工作,其工作原理的流程圖如圖2.1 所示。
圖2.1 超聲波測(cè)距流程圖
超聲波發(fā)射子程序的任務(wù): 控制時(shí)基電路輸出若干個(gè)超聲波,并同時(shí)啟動(dòng)T0 開始計(jì)時(shí)。在此過程中,要計(jì)時(shí)采用屏蔽中斷,開中斷等操作,避免外中斷影響該子程序的有效執(zhí)行。
本系統(tǒng)使用一個(gè)中斷,即外部中斷INTO 是超聲波有效回送的指示信號(hào),當(dāng)中斷觸發(fā)時(shí),可以根據(jù)時(shí)間差計(jì)算出超聲波的傳輸距離。內(nèi)部定時(shí)器TO 用來(lái)計(jì)時(shí),在發(fā)射子程序開始時(shí),啟動(dòng)T0 開始工作,而在INTO 中斷服務(wù)程序時(shí), 停止T0 計(jì)時(shí), 并讀取計(jì)時(shí)值用以計(jì)算距離。
距離子程序是根據(jù)MSP430 芯片計(jì)數(shù)器所提供的傳輸時(shí)間進(jìn)行計(jì)算,并根據(jù)計(jì)算得出超聲波的傳輸距離。根據(jù)主程序的需要,將相關(guān)數(shù)據(jù)存入相關(guān)單元,以供主程序進(jìn)行下一步處理。INTO 中斷服務(wù)程序?qū)⒍〞r(shí)器中的值存入R1、R0 兩個(gè)寄存器中, 根據(jù)模值減去處置所得到的數(shù)值得出時(shí)間差。傳輸距離根據(jù)公式S=V*T 進(jìn)行計(jì)算。目標(biāo)物的距離值,也按公式計(jì)算,其中T 為測(cè)出的額計(jì)數(shù)器的計(jì)時(shí)差值,單位為us.使用該公式即可計(jì)算出目標(biāo)物與汽車的距離。
3 總結(jié)
系統(tǒng)利用超聲波在空氣中的可傳播性,實(shí)時(shí)測(cè)得超聲波在空氣中的傳播時(shí)間和傳播速度,在將時(shí)間和速度相乘即得距離的原理,設(shè)計(jì)了一個(gè)基于MSP430 的超聲波倒車?yán)走_(dá)監(jiān)測(cè)報(bào)警系統(tǒng),用于實(shí)時(shí)測(cè)得汽車尾部與障礙物的距離,通過LCD 顯示距離值,將距離值提供給司機(jī),該系統(tǒng)具有成本低、非接觸、速度快、可靠性強(qiáng)、適應(yīng)性好、操作方便,有著廣泛的應(yīng)用前景。
實(shí)踐應(yīng)用表明,該設(shè)計(jì)在生產(chǎn)應(yīng)用和科學(xué)研究方面均具有一定的價(jià)值。一方面產(chǎn)品設(shè)計(jì)的人機(jī)界面更為人性化,司機(jī)可直接通過LCD顯示屏觀察車后的詳細(xì)狀況,不需要回頭就可以倒車,大大減少了汽車司機(jī)的工作量,避免了引導(dǎo)車不慎造成交通事故;另一方面系統(tǒng)不斷采集汽車與障礙物之間的距離, 并通過語(yǔ)音報(bào)警系統(tǒng)實(shí)時(shí)提醒司機(jī),為我們的倒車提供了更為安全的保障,從而使我們?cè)诘管嚨臅r(shí)候更方便快捷,同時(shí)也更為安全可靠。