周 玲,高 懷,劉夢瑩,李泱科,朱倚嫻
(1.運(yùn)城學(xué)院物理與電子工程系,山西運(yùn)城 044000;2.南通大學(xué)機(jī)械工程學(xué)院,江蘇南通 226019)
隨著我國汽車數(shù)量逐年增多,泊車位的數(shù)量卻跟不上其增長的速度,日益擁擠的泊車環(huán)境要求人們對汽車的泊車技術(shù)更加地嫻熟,這就更加重了人們工作之外的緊張情緒。因此,如何解決泊車過程中的不便利,越來越受到人們的關(guān)注[1]。
文章針對這一問題設(shè)計(jì)一種自動(dòng)泊車系統(tǒng),即在不加以人為控制的情況下,通過智能控制幫助駕駛者快速、安全地完成泊車操作[2]。系統(tǒng)包括信息采集模塊、信息處理模塊和控制模塊,具有辨識(shí)車庫、判斷車位是否有車、顯示車位數(shù)等功能,使小車能夠自動(dòng)泊車。
自動(dòng)泊車系統(tǒng)框圖如圖1 所示。包括信息采集系統(tǒng)和驅(qū)動(dòng)控制系統(tǒng)[3]。其中,信息采集系統(tǒng)由循跡模塊、避障模塊、超聲波模塊和感光模塊組成,用于檢測路面及車庫信息,并將數(shù)據(jù)發(fā)送給單片機(jī)進(jìn)行處理。驅(qū)動(dòng)控制系統(tǒng)包括舵機(jī)模塊和電機(jī)驅(qū)動(dòng)模塊。
系統(tǒng)各部分的功能:超聲波模塊發(fā)射超聲波測距,將測量距離發(fā)送至單片機(jī),經(jīng)單片機(jī)處理后,確認(rèn)車庫方向[4];舵機(jī)模塊控制超聲波模塊進(jìn)行轉(zhuǎn)向;紅外循跡模塊用于引導(dǎo)小車進(jìn)入車庫和完成停車;紅外避障模塊防止小車與已有停車及車庫相碰撞;感光模塊用于感應(yīng)光源后,觸發(fā)舵機(jī)和超聲波模塊工作,判斷車位是否已有停車并正確泊車;電機(jī)驅(qū)動(dòng)模塊控制小車的行駛狀況;數(shù)碼管模塊顯示泊車車位數(shù)。
圖1 系統(tǒng)框圖
單片機(jī)最小系統(tǒng)由STC89C52、晶振和復(fù)位電路組成,具體原理圖如圖2 所示。其中,單片機(jī)具有以下標(biāo)準(zhǔn)功能:8k 字節(jié)Flash,256 字節(jié)RAM,32 位I/O端口,2個(gè)數(shù)據(jù)指針,2個(gè)16位定時(shí)器/計(jì)數(shù)器,片內(nèi)晶振及時(shí)鐘電路,可以滿足本次設(shè)計(jì)要求。晶振為單片機(jī)提供一個(gè)震蕩源,使其產(chǎn)生時(shí)鐘周期。復(fù)位電路保證系統(tǒng)上電時(shí)不會(huì)出現(xiàn)死機(jī)等情況,使單片機(jī)可以正常讀程序。
圖2 單片機(jī)最小系統(tǒng)原理圖
信息采集主要包括紅外循跡模塊、紅外避障模塊、感光模塊和超聲波模塊,各模塊原理圖如3圖所示。
紅外循跡模塊利用紅外光對不同顏色的反射特性不同,采用左右兩側(cè)循跡黑線的方法[5]。小車到達(dá)車庫范圍時(shí),開始循跡。由紅外發(fā)射管發(fā)射紅外線,當(dāng)右側(cè)檢測到黑線時(shí),紅外線被吸收,右側(cè)指示燈滅,小車右轉(zhuǎn);當(dāng)右側(cè)檢測到路面時(shí),紅外光反射后被紅外接收管接收,右側(cè)指示燈亮,小車直行。同理,當(dāng)左側(cè)檢測到黑線時(shí),小車左轉(zhuǎn)。當(dāng)左右兩側(cè)檢測到路面時(shí),小車前進(jìn)。當(dāng)左右兩端檢測到黑線時(shí),小車停車。
紅外避障模塊利用紅外線的反射特性。當(dāng)小車通電后,避障模塊啟動(dòng),紅外發(fā)射端發(fā)射紅外線。當(dāng)沒有檢測到障礙物時(shí),小車前進(jìn)。當(dāng)小車左側(cè)檢測障礙物時(shí),紅外線反射,左側(cè)指示燈亮,小車右轉(zhuǎn)。反之,當(dāng)小車右側(cè)檢測障礙物時(shí),紅外線反射,右側(cè)指示燈亮,小車左轉(zhuǎn)。
感光模塊利用光敏電阻的阻值隨光線的變化而變化[6]。小車感應(yīng)到光源時(shí),其阻值變小,電壓比較器輸出端低電平,單片機(jī)啟動(dòng)舵機(jī)模塊轉(zhuǎn)向和超聲波模塊檢測車位是否已經(jīng)停放車輛[7],同時(shí)單片機(jī)記錄檢測到光源的次數(shù)。
超聲波模塊由超聲波發(fā)射器、接收器和控制電路組成[8]。采用I/0端口觸發(fā)測距。小車初始化完成后,將超聲波接收端置0,單片機(jī)I/O 端口輸出>=10 μs 的高電平,超聲波發(fā)射器發(fā)射8 個(gè)40 kHz 的方波,同時(shí)定時(shí)器開始計(jì)時(shí)。當(dāng)接收端檢測到返回信號(hào)時(shí)置1,定時(shí)器結(jié)束。小車與障礙物間的距離=(高電平持續(xù)時(shí)間*340m/s)/2[9]。
圖3 信息采集各模塊原理圖
由于超聲波只能測量單一方向的距離,所以選用180度的模擬舵機(jī)。舵機(jī)的控制信號(hào)為I/O 端口輸出的周期為20 ms 的脈寬調(diào)制信號(hào),其中脈沖寬度從0.5~2.0 ms,對應(yīng)的舵機(jī)位置時(shí)0~180 度。將超聲波模塊固定在舵機(jī)云臺(tái)上,調(diào)整占空比使舵機(jī)分別轉(zhuǎn)向小車左、右、中三個(gè)方向,實(shí)現(xiàn)超聲波多向測距功能[10]。
電機(jī)驅(qū)動(dòng)模塊由直流電機(jī)和雙橋驅(qū)動(dòng)芯片L298N組成,具體原理圖如圖4所示。其中L298N 的邏輯電壓為4.5~7 V,工作電壓為5~46 V,通過I/O對芯片控制端口進(jìn)行設(shè)置,實(shí)現(xiàn)電機(jī)正轉(zhuǎn)反轉(zhuǎn);通過PWM對直流電機(jī)輸出電壓進(jìn)行調(diào)試,控制電機(jī)轉(zhuǎn)速[11]。
圖4 電機(jī)驅(qū)動(dòng)模塊原理圖
自動(dòng)泊車系統(tǒng)均在STC89C52 的基礎(chǔ)上進(jìn)行設(shè)計(jì),故本系統(tǒng)均采用C 語言進(jìn)行編寫。編寫程序使用的軟件是Keil 4,可以為系統(tǒng)程序的編寫提供一個(gè)完整的開發(fā)環(huán)境。編寫完成的程序通過STC-ISP 軟件燒錄入開發(fā)板。
系統(tǒng)的主程序框圖如圖5 所示,小車啟動(dòng)后,進(jìn)行初始化,包括定時(shí)器初始化,計(jì)數(shù)器初始化,數(shù)碼管檢測。初始化完成后,進(jìn)入while 循環(huán)。啟動(dòng)舵機(jī)模塊,控制超聲波模塊測距,判斷泊車位方向,每隔2 s 測試一次。當(dāng)小車距離車位附近時(shí),啟動(dòng)循跡模塊。當(dāng)感應(yīng)到地面引導(dǎo)線后,小車沿引導(dǎo)線進(jìn)入車庫。小車感應(yīng)到光源時(shí),單片機(jī)觸發(fā)舵機(jī)和超聲波模塊工作,通過測量泊車位距離判斷車位是否已有停車。如果車位無停車,則小車駛?cè)氩窜?。如果車位已有停車,則小車駛?cè)胂乱卉囄徊⒉窜嚈z測,直至完成泊車。
圖5 系統(tǒng)流程圖
選擇模擬車庫場景的方式進(jìn)行實(shí)驗(yàn)測試。
調(diào)節(jié)PWM 占空比,使舵機(jī)可以轉(zhuǎn)向小車左、前、右三個(gè)方向。經(jīng)實(shí)踐測量,舵機(jī)的轉(zhuǎn)向范圍是4~20。其中,角度標(biāo)識(shí)等于4時(shí),舵機(jī)指向小車右側(cè);等于12時(shí),舵機(jī)指向前方;等于20 時(shí),舵機(jī)指向小車左側(cè)。測量小車在靜止時(shí),超聲波實(shí)際測試距離與代碼中設(shè)置距離的差距如表1 所示,選擇15 cm 作為小車啟動(dòng)循跡模塊的閾值[12]。
表1 超聲波距離測試
以避障模塊為例,調(diào)節(jié)右側(cè)電位器,使小車右側(cè)有障礙物時(shí),指示燈亮,小車左轉(zhuǎn),如圖6 所示。同理,調(diào)節(jié)左側(cè)電位器,使小車右側(cè)有障礙物時(shí),指示燈亮,小車右轉(zhuǎn)。分別調(diào)試循跡和感光模塊的電位器,使其可以正常工作,完成的測試圖如7所示。
圖6 避障模塊測試圖
圖7 傳感器功能測試圖
車庫車位模擬分布圖如圖8所示,以十個(gè)車位為例,小車從“停車入口”進(jìn)入車庫后,逐個(gè)車位進(jìn)行判斷[13]。測試車位如圖9所示,模擬1號(hào)和2號(hào)兩個(gè)車位[14]。
圖8 車庫車位模擬分布圖
圖9 測試車位
數(shù)碼管的顯示范圍是1~9。小車啟動(dòng)后數(shù)碼管倒計(jì)時(shí)至1 時(shí),開始自動(dòng)泊車。當(dāng)1 號(hào)車位無停車時(shí),小車駛?cè)胪\嚽覕?shù)碼管模塊顯示“1”,測試結(jié)果如圖10所示。當(dāng)1號(hào)車位有車時(shí),小車?yán)^續(xù)前往2號(hào)車位檢測,檢測到無停車時(shí),小車駛?cè)胪\嚽覕?shù)碼管模塊顯示“2”,測試結(jié)果如圖11所示。其中,1號(hào)車位的障礙物模擬已有停車。
圖10 1號(hào)車位測試圖
圖11 2號(hào)車位測試圖
本設(shè)計(jì)以STC89C52 單片機(jī)為控制核心,結(jié)合傳感器和電機(jī)等模塊。通過設(shè)置模擬場地,調(diào)試和測試硬件與軟件系統(tǒng)。針對場地布置和傳感器靈敏度測試,多次修改系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)了小車自動(dòng)泊車的基本功能。隨著智能平臺(tái)的興起,本設(shè)計(jì)將在已有研究的基礎(chǔ)上,研究泊車信息的反饋通信技術(shù)以及基于移動(dòng)端的自動(dòng)泊車設(shè)計(jì)[15],推進(jìn)產(chǎn)品的實(shí)際應(yīng)用。