秦連升,曹詩詠,李明海,王玉博
(1.西南石油大學(xué)電氣信息學(xué)院,成都,610500;2.中海油湛江分公司,湛江,524057)
隨著汽車工業(yè)的發(fā)展,智能型小車也逐漸受到人們的關(guān)注,自動(dòng)駕駛則是人們對(duì)小車技術(shù)的急切要求[1]。所以,如何實(shí)現(xiàn)一種在行車過程中,能夠使小車達(dá)到智能距離控制的目的,則是自動(dòng)駕駛的一項(xiàng)關(guān)鍵技術(shù)。由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實(shí)現(xiàn)[2]。利用超聲波檢測往往比較迅速、方便、計(jì)算簡單、易于做到實(shí)時(shí)控制,而且硬件容易實(shí)現(xiàn),因此在自動(dòng)駕駛技術(shù)的研制上也得到了廣泛的應(yīng)用。
本系統(tǒng)主要由超聲波測距、步進(jìn)電機(jī)控制、LED顯示以及報(bào)警電路組成。系統(tǒng)的控制核心是由AT89S52單片機(jī)實(shí)現(xiàn)的。單片機(jī)輸出脈沖驅(qū)動(dòng)超聲波發(fā)送器發(fā)送超聲波、接受超聲波,通過計(jì)算求出被測距離,通過單片機(jī)驅(qū)動(dòng)LED數(shù)字顯示。然后調(diào)整步進(jìn)電機(jī)的旋轉(zhuǎn)步數(shù),控制車子與障礙物保持一定的安全距離。當(dāng)距離超過限制時(shí),驅(qū)動(dòng)蜂鳴器發(fā)出報(bào)警。GPS定位裝置能夠幫助用戶準(zhǔn)確定位當(dāng)前位置,并通過8255擴(kuò)展I/O口電路驅(qū)動(dòng)LCD液晶顯示器,顯示出車輛的當(dāng)前位置、時(shí)間、海拔高度信息,這是實(shí)時(shí)監(jiān)測車子狀態(tài)的一種關(guān)鍵指標(biāo)。本系統(tǒng)還特別安裝了人體紅外傳感器,它可判斷車子前方是否有人,然后通過單片機(jī)驅(qū)動(dòng)語音裝置,使車子進(jìn)行緊急語音提醒。智能車距離控制系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。
圖1 智能車距離控制系統(tǒng)總體設(shè)計(jì)框圖
智能車距離控制系統(tǒng)主要由五部分單元電路組成,分別是:AT89S52單片機(jī)最小系統(tǒng),超聲波測距系統(tǒng),步進(jìn)電機(jī)控制系統(tǒng),GPS定位系統(tǒng),報(bào)警系統(tǒng)。下面將一一介紹各部分電路。
主控制器主要由單片機(jī)AT89S52、振蕩器和復(fù)位電路3部分組成,它是單片機(jī)工作的必要組成部分,又稱為單片機(jī)最小系統(tǒng)。它是整個(gè)測距系統(tǒng)的控制中樞,也是整個(gè)系統(tǒng)的核心部分。在測距系統(tǒng)中發(fā)揮重要的作用:控制超聲波的發(fā)射;處理超聲波接收電路信號(hào);時(shí)間轉(zhuǎn)化成距離的數(shù)據(jù)處理;步進(jìn)電機(jī)的控制;GPS信息的處理;發(fā)送位置信息到LCD去顯示等。AT89C52單片機(jī),是一種低功耗、高性能的含有8k字節(jié)快閃可編程/擦除只讀存儲(chǔ)器的單片機(jī),計(jì)數(shù)精度達(dá) μs,8位數(shù)據(jù)總線[3]。有一個(gè)可編程全雙工串行通信接口,能同時(shí)進(jìn)行串行發(fā)送和接收。
超聲波是指頻率高于20kHz的機(jī)械波。超聲波測距的主要原理是,超聲波在均勻媒質(zhì)里的傳播速度一定,不隨聲波頻率的變化而變化,只要計(jì)算出超聲波從A地傳播到B地的時(shí)間,就能計(jì)算出AB兩地之間的距離[4]。為了以超聲波作為檢測手段,必須產(chǎn)生超生波和接收超聲波。超聲波測距系統(tǒng)包括超聲波發(fā)射電路,超聲波接收電路,這兩個(gè)電路主要由LM386和CX20106A這兩塊芯片及其外部電路組成。LM386具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),利用LM386的驅(qū)動(dòng)放大功能將單片機(jī)產(chǎn)生的40 kHz方波放大輸出,使得硬件電路相對(duì)簡單。CX20106A是一款紅外線檢波接收的集成電路,考慮到紅外遙控常用的載波頻率38 kHz與測距超聲波頻率40 kHz較為接近,可以利用它作為超聲波檢測電路。實(shí)驗(yàn)證明,它其具有很高的靈敏度和較強(qiáng)的抗干擾能力。
單片機(jī)AT89S52控制振蕩源發(fā)出40kHz的脈沖信號(hào),由于單片機(jī)端口產(chǎn)生的方波信號(hào)太弱了,需放大該信號(hào)。放大后的脈沖信號(hào)驅(qū)動(dòng)超聲波發(fā)送器,發(fā)出超聲波。單片機(jī)在發(fā)送第一個(gè)超聲波脈沖的同時(shí)啟動(dòng)定時(shí)器T0計(jì)時(shí),工作在方式1。當(dāng)超聲波遇到障礙物后產(chǎn)生回波,該回波被超聲波接收器接收。超聲波接收電路通過超聲波傳感器接收回波信號(hào)并將其濾波放大,之后將放大的信號(hào)整形為數(shù)字信號(hào),作為中斷信號(hào)送STC89C52RC外中斷器,使其產(chǎn)生中斷,關(guān)閉定時(shí)器,停止計(jì)時(shí)。這樣可以得到從發(fā)射超聲波到接收到超聲波的時(shí)間T。然后利用公式S=CT/2求出被測距離,還要通過程序進(jìn)行距離值的修正,然后將距離數(shù)值送LCD顯示。超聲波發(fā)射接收電路,如圖2所示。
圖2 超聲波發(fā)射接收電路
步進(jìn)電機(jī)是純粹的數(shù)字控制電動(dòng)機(jī)。它將電脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此非常適合于單片機(jī)控制[5]。通過單片機(jī)按順序給繞組施加有序的脈沖電流,就可以控制電機(jī)的轉(zhuǎn)動(dòng),從而實(shí)現(xiàn)數(shù)字—角度的轉(zhuǎn)換。轉(zhuǎn)動(dòng)的角度大小與施加的脈沖數(shù)成正比,轉(zhuǎn)動(dòng)的速度與脈沖頻率成正比,而轉(zhuǎn)動(dòng)方向則與脈沖的順序有關(guān)。單片機(jī)將超聲波的測量值與實(shí)際要控制的距離值進(jìn)行比較,然后驅(qū)動(dòng)步進(jìn)電機(jī)正反轉(zhuǎn)控制,達(dá)到距離控制的目的。圖3顯示了步進(jìn)電機(jī)的控制電路。由單片機(jī) P1.1、P1.2、P1.3、P1.4 發(fā)出的控制信號(hào)經(jīng)光電隔離后分別向驅(qū)動(dòng)芯片L298N的IN1、IN2、IN3、IN4端口,經(jīng)過L298N的整流放大,將單片機(jī)發(fā)送來的弱電信號(hào)轉(zhuǎn)化為步進(jìn)電動(dòng)機(jī)正常運(yùn)行所需的一定幅值的脈沖信號(hào),再由其輸出口OUT1-OUT4輸出到步進(jìn)電動(dòng)機(jī),而OUT1-OUT4分別接步進(jìn)電動(dòng)機(jī)的A、B、/A、/B,從而驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī)運(yùn)行。
圖3 步進(jìn)電機(jī)控制圖
GPS優(yōu)點(diǎn)很多,如全天候、全球覆蓋、三維定速定時(shí)高精度、快速省時(shí)高效率、應(yīng)用廣泛多功能等,這使得GPS應(yīng)用相當(dāng)廣泛[6]。本文的GPS模塊選了EB-3531,GPS裝置接收多顆衛(wèi)星的定位信息,進(jìn)行處理后按一定的格式輸出串行數(shù)據(jù),8250實(shí)現(xiàn)串并轉(zhuǎn)換,通過總線與單片機(jī)通信,最后通過8255驅(qū)動(dòng)LCD液晶顯示時(shí)間、經(jīng)度、緯度、高度。
液晶屏分四行顯示:
第一行時(shí)間:TIME:年月日 時(shí)分秒
第二行經(jīng)度:LONG:+經(jīng)度值+E/W
第三行緯度:LAT:+緯度值+N/S
第四行高度:HIGH:高度值 +高度單位M+定位有效A:0/1(1時(shí)有效)
為了使系統(tǒng)更完美,本文還添加了報(bào)警系統(tǒng)。人的安全是第一重要的,在車子行駛的過程中,如果車子前方有人,報(bào)警系統(tǒng)就會(huì)發(fā)出警報(bào)的話,那將減少很多交通事故。由此,本系統(tǒng)設(shè)計(jì)了人體紅外報(bào)警系統(tǒng)部分。人體紅外傳感器用于檢測人體發(fā)出的特定波長的紅外線,進(jìn)行非接觸式距離較遠(yuǎn)的檢測[7],當(dāng)系統(tǒng)檢測出車子周圍有人體發(fā)出的特定波長的紅外線后,然后使單片機(jī)產(chǎn)生中斷,最后驅(qū)動(dòng)語音芯片執(zhí)行語音報(bào)警提示。另外當(dāng)車子與障礙物的距離超過限制時(shí),會(huì)產(chǎn)生中斷,驅(qū)動(dòng)蜂鳴器發(fā)出報(bào)警。
智能車距離控制系統(tǒng)的程序流程圖如圖4所示。系統(tǒng)軟件主要由主程序、初始化程序、超聲波發(fā)射子程序、GPS信息接收子程序、中斷子程序、顯示子程序組成。系統(tǒng)上電后首先初始化,初始化8250、8255,設(shè)置定時(shí)器、計(jì)數(shù)器工作方式,設(shè)置GPS模塊輸出格式,打開總中斷,顯示端口清零等。
圖4 智能車距離控制系統(tǒng)程序流程圖
超聲波發(fā)射子程序的作用是通過P1.2口在定時(shí)器的設(shè)定時(shí)刻取反交替產(chǎn)生的高低電平輸出方波脈沖。為避免從發(fā)射頭發(fā)出的超聲波直接被接收頭作為回波接收,在調(diào)用定時(shí)器中斷子程序后設(shè)置0.2 ms的延時(shí),主程序檢測到回波接收成功后將計(jì)數(shù)器T0中的值T0按公式計(jì)算即可得測量距離。將所得的距離值與設(shè)定值進(jìn)行比較,控制步進(jìn)電機(jī)的運(yùn)動(dòng),控制距離值。然后將所得數(shù)值通過P0口直接傳入液晶顯示。顯示程序?qū)⒔邮盏降臅r(shí)間、經(jīng)緯度、海拔信息通過8255傳入液晶顯示。中斷子程序流圖如圖5所示。
圖5 中斷子程序流圖
本文成功設(shè)計(jì)了智能車距離控制系統(tǒng),該系統(tǒng)可用于自動(dòng)駕駛過程中的距離控制單元,自帶的GPS定位系統(tǒng),能完成車子當(dāng)前位置,時(shí)間,海拔高度信息的準(zhǔn)確顯示;人體紅外報(bào)警系統(tǒng)可實(shí)現(xiàn)車子周圍的人體判別,也是自動(dòng)駕駛的一項(xiàng)很重要技術(shù)。總之,該系統(tǒng)的設(shè)計(jì)對(duì)自動(dòng)駕駛技術(shù)的發(fā)展有很大的推進(jìn)作用。
[1]喬維高,徐學(xué)進(jìn).無人駕駛汽車的發(fā)展現(xiàn)狀及方向[J].上海汽車,2007,(7):40-13.
[2]沈俊霞,楊德.單片機(jī)在超聲測距系統(tǒng)中的一種應(yīng)用[J].電子科技,2005,(5):41-43.
[3]李廣弟,朱月秀,冷祖祁.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2007:60-65.
[4]李航,王可人.基于STC89C52RC的超聲波測距系統(tǒng)設(shè)計(jì)[J].電子測試,2010,(1):55-58.
[5]楊輝媛,楊紅海,譚偉杰.基于AT89C51單片機(jī)步進(jìn)控制系統(tǒng)的設(shè)計(jì)[J].船舶電子工程,2008,(8):204-206.
[6]Parkinsson,B.W.and Spilker,J.J.Jr,Global Positioning System:Theory and Applications,vol.1,American Institute of Aeronautics and Astronautics[M],1996:20-23.
[7]何希才.傳感器及應(yīng)用電路[M].北京:電子工業(yè)出版社,2001:87-90.