汽車倒車?yán)走_(dá)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著中國(guó)經(jīng)濟(jì)的持續(xù)增長(zhǎng)和汽車價(jià)格的持續(xù)下降,越來(lái)越多的家庭擁有了私家車。在享受汽車給人們帶來(lái)便利的同時(shí),由于倒車而產(chǎn)生的問(wèn)題也日益突出。據(jù)初步調(diào)查統(tǒng)計(jì),15%的汽車事故是由汽車倒車“后視”不良造成的。早期的倒車防撞儀可以測(cè)試車后一定距離范圍的障礙物從而發(fā)出警報(bào),后來(lái)發(fā)展到根據(jù)距離分段報(bào)警。隨著人們對(duì)汽車駕駛輔助系統(tǒng)易用性要求的提高,對(duì)汽車倒車?yán)走_(dá)的要求也越來(lái)越高。本文設(shè)計(jì)的基于單片機(jī)AT89C51的倒車?yán)走_(dá),采用美國(guó)DAL-LAS半導(dǎo)體公司生產(chǎn)的DS18B20單總線型數(shù)字溫度傳感器進(jìn)行溫度補(bǔ)償提高了測(cè)距精度,采用OC-MJ12232C_3液晶顯示模塊對(duì)車距進(jìn)行實(shí)時(shí)顯示和ISD4004語(yǔ)音芯片實(shí)現(xiàn)了倒車?yán)走_(dá)語(yǔ)音報(bào)警的功能,并可以根據(jù)距離的不同做出不同的語(yǔ)音提示。由于采用了超聲波專用集成電路芯片LM1812,有效地提高了系統(tǒng)的可靠性和穩(wěn)定性。
1 超聲波測(cè)距原理
超聲傳感器是一種將其他形式的能轉(zhuǎn)變?yōu)樗桀l率的超聲能或是把超聲能轉(zhuǎn)變?yōu)橥l率的其他形式的能的器件。超聲波測(cè)距原理是利用單片機(jī)在超聲波傳感器發(fā)射超聲波的同時(shí)單片機(jī)的T0計(jì)數(shù)器開始計(jì)數(shù),當(dāng)檢測(cè)到回波信號(hào)后單片機(jī)的T0計(jì)數(shù)器停止計(jì)數(shù)。測(cè)得的時(shí)間和聲速相乘就可以得到超聲波往返過(guò)程中走過(guò)的路程,所以所測(cè)距離S為聲波傳輸距離的一半:
S=Ct/2
式中:S為超聲波發(fā)射點(diǎn)與被測(cè)障礙物之間的距離;C為聲波在介質(zhì)中的傳輸速率;t為超聲波發(fā)射到超聲波返回的時(shí)間間隔。聲波在空氣中傳輸速率為:
式中:T為絕對(duì)溫度;C0=331.45 m/s。
采用單片機(jī)脈沖計(jì)數(shù)的方法,可精確測(cè)出t的值。假設(shè)單片機(jī)的機(jī)器周期為T機(jī),則有t=NT機(jī),則測(cè)得的距離為:
2 系統(tǒng)硬件電路設(shè)計(jì)
2.1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)框圖如圖1所示。該系統(tǒng)由單片機(jī)控制電路、超聲波發(fā)射與接收電路、溫度補(bǔ)償電路、LCD顯示電路以及語(yǔ)音報(bào)警電路等幾部分組成。單片機(jī)AT89C51是整個(gè)系統(tǒng)的核心部件,協(xié)調(diào)各部分電路的工作。單片機(jī)在超聲波信號(hào)發(fā)射的同時(shí)開始計(jì)時(shí),超聲波信號(hào)在空氣中傳播遇到障礙物后發(fā)生反射,反射的回波信號(hào)經(jīng)過(guò)處理后輸入到單片機(jī)的INTO端產(chǎn)生中斷,計(jì)數(shù)器停止計(jì)數(shù)。通過(guò)計(jì)數(shù)器測(cè)得的脈沖數(shù)可得到超聲波信號(hào)往返所需要的時(shí)間,從而達(dá)到測(cè)距的目的。超聲波探頭選用TCF40-25TR1型收發(fā)一體式超聲波傳感器,諧振頻率為40 kHz;超聲發(fā)射與接收電路采用LM1812專業(yè)集成電路,不僅外圍元件較少,電路簡(jiǎn)單,而且有更好的穩(wěn)定性及可靠性;溫度補(bǔ)償電路采用一線制數(shù)字溫度傳感器DS18B20,利用聲速和溫度之間的關(guān)系對(duì)聲速進(jìn)行校正,從而消除溫度對(duì)聲速的影響;語(yǔ)音報(bào)警電路采用ISD4004,可實(shí)現(xiàn)汽車倒車過(guò)程中的語(yǔ)音報(bào)警。
2.2 單片機(jī)控制電路
系統(tǒng)控制部分的核心是ATMEL公司生產(chǎn)的AT89C51。AT89C51采用40引腳的雙列直插式封裝(DIP)形式,內(nèi)部由CPU,4 KB的ROM,256 B的RAM,2個(gè)16位的定時(shí)/計(jì)數(shù)器T0和T1,4個(gè)8位的I/O端口和一個(gè)全雙工串行通信口等部分組成。AT89C51單片機(jī)具有系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,成本低,可靠性高,低功耗等特點(diǎn)。特別是內(nèi)部集成了4 KB的FLASH程序存儲(chǔ)器,使單片機(jī)系統(tǒng)的結(jié)構(gòu)更加簡(jiǎn)單,也使其得到了廣泛的應(yīng)用。同時(shí),它還具有高級(jí)語(yǔ)言編程的特點(diǎn),指令豐富,軟件開發(fā)簡(jiǎn)單。AT89C51單片機(jī)是整個(gè)系統(tǒng)的核心部件,其作用是控制超聲波專用集成芯片LM1812的發(fā)射和接收,對(duì)計(jì)時(shí)器的計(jì)數(shù)結(jié)果進(jìn)行數(shù)據(jù)處理后送入LCD顯示以及控制語(yǔ)音報(bào)警電路工作。
2.3 超聲波發(fā)射和接收電路
本系統(tǒng)采用超聲波專用集成電路LM1812作為超聲波發(fā)射和接收電路的主控芯片。LM1812是一種通用型超聲波收發(fā)器,主要用在各種各樣的測(cè)距、定向和通信中。芯片包括一個(gè)脈沖調(diào)制C類發(fā)射器,一個(gè)高增益接收器,一個(gè)脈沖調(diào)制檢測(cè)器及噪音抑制電路。LM1812第1腳外接L1,C1決定了電路發(fā)送或接收的工作頻率,其工作頻率為:
改變電感L1,電容C1的值可以改變振蕩頻率(本系統(tǒng)中f0為40 kHz),最高可達(dá)325 kHz。
超聲波發(fā)射和接收電路如圖2所示。當(dāng)LM1812的8腳為高電平時(shí),LM1812處于發(fā)射模式;當(dāng)8腳為低電平時(shí),LM1812處于接收模式。值得注意的是,單片機(jī)到LM1812的連接要進(jìn)行5~12 V的電平轉(zhuǎn)換。當(dāng)LM1812處于發(fā)射模式時(shí),L1,C1振蕩槽路被切換為振蕩模式,振蕩信號(hào)經(jīng)驅(qū)動(dòng)放大后,由13腳及6腳輸出。6,13腳之間所接變壓器線圈的匝數(shù)比是根據(jù)TCF40-25TR1型收發(fā)一體式超聲波傳感器的阻抗來(lái)確定的。實(shí)驗(yàn)證明,變壓器線圈的匝數(shù)比大約為4:1時(shí)可實(shí)現(xiàn)與超聲波發(fā)送器阻抗相匹配。超聲波接收器接收到的超聲波信號(hào)經(jīng)電容耦合由4腳輸入,再經(jīng)內(nèi)部?jī)杉?jí)放大后同由1腳的諧振回路取出的信號(hào)一起送到檢測(cè)器。當(dāng)檢測(cè)到超聲波回波信號(hào)時(shí),LM1812的14腳(與單片機(jī)的INT0端相連)變?yōu)榈碗娖?,使單片機(jī)的T0計(jì)數(shù)器停止計(jì)數(shù)。
2.4 溫度補(bǔ)償電路
溫度補(bǔ)償電路采用了美國(guó)DALLAS半導(dǎo)體公司的DS18B20單總線型數(shù)字溫度傳感器。單總線即只用一根信號(hào)線來(lái)傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,單總線具有“線與”功能,連接方便,便于擴(kuò)展。DS18B20集溫度測(cè)量、A/D轉(zhuǎn)換于一體,具有體積小、動(dòng)態(tài)范圍寬、測(cè)量精度高等優(yōu)點(diǎn)。DS18B20和單片機(jī)接口電路如圖3所示。
DS18B20采用單總線方式和AT89C51單片機(jī)相連,即DS18B20的1腳接地,3腳接地,2腳接至AT89C51的P11引腳,同時(shí)將P11引腳采用一只4.7 kΩ的電阻上拉至VCC。測(cè)得的溫度值以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1,2字節(jié),單片機(jī)通過(guò)單總線接口讀到該數(shù)據(jù)后,即可通過(guò)計(jì)算得到實(shí)時(shí)環(huán)境溫度值。
2.5 LCD顯示電路
本系統(tǒng)顯示電路采用金鵬電子的OCMJ12232C_3液晶顯示模塊,此液晶模塊內(nèi)含字庫(kù),能非常方便地顯示漢字。OCMJ12232C_3液晶和單片機(jī)AT89C51的接口電路如圖3所示,其中OCMJ12232C_3液晶的15腳接地,即采用串口通信方式。顯示內(nèi)容包括倒車距離和車外溫度兩部分,分兩行顯示:第一行顯示倒車距離,第二行顯示車外溫度。倒車距離以cm為單位,精確到0.1 cm;溫度以℃為單位,精確到O.1℃。
2.6 語(yǔ)音報(bào)警電路
本系統(tǒng)的語(yǔ)音報(bào)警電路采用ISD4004語(yǔ)音芯片。ISD4004與單片機(jī)接口電路如圖3所示。從圖中可以看出,ISD4004和單片機(jī)AT89C51之間的連接較少。單片機(jī)的P00接ISD4004的片選引腳SS,控制ISD4004是否選通;P0l接ISD4004的串行輸入引腳MOSI,從該引腳讀入放音的地址;P02接ISD4004的串行輸出引腳MISO;P03接ISD4004的串行時(shí)鐘引腳SLCK;P04接撥動(dòng)開關(guān),用于選擇錄音或者放音;P05接STOP按鈕,用來(lái)對(duì)ISD4004進(jìn)行復(fù)位;P06接AN按鈕,按下時(shí)ISD4004開始工作;P33(INT1)接ISD4004的中斷引腳INT。ISD4004芯片所需要的連接還有音頻信號(hào)輸出引腳AUD OUT,該引腳通過(guò)一個(gè)濾波電容,經(jīng)功率放大電路LM386后與揚(yáng)聲器連接;MIC接入ISD4004:的錄音信號(hào)輸入端(ANA IN-、ANA IN+);AMCAP為自動(dòng)靜音端,使用時(shí)通過(guò)一電容接地。此外,由于ISD4004的工作電壓為3 V,而單片機(jī)所需供電電壓為5 V,因此需要采用LM317變壓電路得到3 V電壓供ISD4004使用。
當(dāng)?shù)管嚲嚯x大于3 m時(shí),語(yǔ)音提示為“倒車安全”;當(dāng)?shù)管嚲嚯x在2~3 m之間時(shí),語(yǔ)音提示為“倒車”;當(dāng)?shù)管嚲嚯x在1~2 m之間時(shí),語(yǔ)音提示為“倒車小心”;當(dāng)?shù)管嚲嚯x在0.5~1 m之間時(shí),語(yǔ)音提示為“倒車危險(xiǎn)”;當(dāng)?shù)管嚲嚯x小于0.5 m時(shí),語(yǔ)音提示為“非常危險(xiǎn),緊急停車”。
3 軟件設(shè)計(jì)部分
軟件設(shè)計(jì)采用模塊化設(shè)計(jì),由主程序、測(cè)溫及聲速修正子程序、T0中斷子程序、距離計(jì)算子程序、LCD顯示子程序和語(yǔ)音報(bào)警子程序等模塊組成。主程序流程圖如圖4所示。
程序初始化后,先調(diào)用測(cè)溫及聲速修正子程序?qū)β曀龠M(jìn)行修正。當(dāng)進(jìn)行超聲波測(cè)距時(shí),單片機(jī)發(fā)出一個(gè)寬為125μs的脈沖信號(hào),此脈沖信號(hào)控制超聲波集成電路LM1812發(fā)射5個(gè)40 kHz的超聲波脈沖串。T0定時(shí)器定時(shí)30 ms,即每隔30 ms發(fā)射5個(gè)40 kHz的超聲波脈沖串。發(fā)射脈沖串的同時(shí)單片機(jī)的T0計(jì)數(shù)器開始計(jì)數(shù),一旦接收到回波信號(hào)立刻停止計(jì)數(shù)。利用距離計(jì)算子程序?qū)y(cè)得的時(shí)間和修正后的聲速進(jìn)行數(shù)據(jù)處理后,將結(jié)果送入LCD顯示和進(jìn)行語(yǔ)音報(bào)警。
4 實(shí)驗(yàn)結(jié)果
通過(guò)對(duì)平面物體做了多次測(cè)量發(fā)現(xiàn),30~500 cm范圍內(nèi)可實(shí)現(xiàn)準(zhǔn)確測(cè)距,能滿足司機(jī)的倒車要求。測(cè)距結(jié)果如表1所示。
5 結(jié) 語(yǔ)
本文設(shè)計(jì)的倒車?yán)走_(dá)系統(tǒng)采用AT89C51作為主控芯片,可以實(shí)現(xiàn)實(shí)時(shí)的超聲波測(cè)距,并將所測(cè)距離在LCD上顯示出來(lái),同時(shí)通過(guò)語(yǔ)音報(bào)警電路對(duì)不同距離段進(jìn)行不同的語(yǔ)音提示,實(shí)驗(yàn)驗(yàn)證了本系統(tǒng)的可行性及可靠性。該系統(tǒng)具有集成度高、測(cè)量范圍廣、成本低和使用方便等特點(diǎn),能滿足司機(jī)在倒車中的需要,可得到廣泛的應(yīng)用。