西南科技大學理學院 陳 浩 甘 露
設計一輛具有光電導航功能的智能車,要求在指定賽道上從起點出發(fā),經(jīng)過現(xiàn)場隨機確定的至少5個十字或丁字路口(包括左轉(zhuǎn)、右轉(zhuǎn)或直行)后,進入指定位置的停車位并停好,結(jié)束后發(fā)出聲光提示。
本方案采用模塊化的設計方式來實現(xiàn)智能車穩(wěn)定及快速的性能,主要由MC9S12XS128控制核心、電源管理模塊、道路識別模塊、車速檢測模塊、舵機控制單元以及直流電機驅(qū)動單元構(gòu)成。
本設計采用OV7620數(shù)字攝像頭采集道路前方的路況信息,轉(zhuǎn)換成圖像之后經(jīng)單片機分析,驅(qū)動舵機控制單元,實現(xiàn)左轉(zhuǎn)或者右轉(zhuǎn)的功能;利用光電編碼器來檢測速度,經(jīng)單片機分析處理驅(qū)動直流電機控制單元,實現(xiàn)加速或者減速的功能;采用電源管理模塊分別為各個模塊提供所需要的電源電壓。
本設計方案采用模塊化的方式來實現(xiàn)對智能車性能的分別控制,如圖1所示:
圖1 系統(tǒng)結(jié)構(gòu)圖
3.2.1.1 核心控制單元
本智能車是基于Freescale公司的16-bit單片機MC9S12XS128控制的。MC9S12XS128單片機具有設計靈活性、平臺兼容性的特點,并對電子平臺實現(xiàn)了可升級性、硬件和軟件可重復性以及兼容性。S12X系列單片機既經(jīng)濟又可兼容帶XGATE協(xié)處理器的S12XE系列單片機,從而削減了成本并縮小了封裝尺寸。
MC9S12XS128單片機CPU屬于增強型16位CPU,片內(nèi)總線時鐘最高40MHz;其片內(nèi)具有8KB RAM、128KB程序閃存、2KB數(shù)據(jù)閃存;脈寬調(diào)制模塊(PWM)可設置成8路8位或者4路16位,邏輯時鐘選擇頻率寬;具有1個8路12位精度A/D轉(zhuǎn)換器;另外片內(nèi)還具有增強型捕捉定時器。完全可以勝任大量的數(shù)據(jù)處理和控制工作。
3.2.1.2 路徑識別單元
市面上常見的攝像頭主要有CCD和CMOS兩種:CCD攝像頭具有對比度高、動態(tài)特性好的優(yōu)點,但工作電壓為12V,需要對電池電壓進行升壓處理;CMOS攝像頭體積小,耗電量小,圖像穩(wěn)定性較高。對于CMOS攝像頭分為數(shù)字和模擬兩種。數(shù)字攝像頭OV7620可以直接輸出8路數(shù)字圖像信號,使主板硬件電路的簡化成為可能,且能夠達到60幀/S的幀速率,因此我們選用數(shù)字攝像頭OV7620,如圖所示。
OV7620是1/3CMOS彩色/黑白圖像傳感器。它支持連續(xù)和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;最高像素為664×492,幀速率為30fps;數(shù)據(jù)格式包括YUV,YCrCb,RGB三種,能夠滿足智能車圖像采集系統(tǒng)的要求。
基本參數(shù)如下:
◆大?。?3x27x24(mm);
◆掃描方式:逐行/隔行掃描;
◆信噪比:>48dB;
◆最大像素:(H)664x(V)492;缺省有效像素:(H)640x(V)480;
◆5V電源供電;
◆工作時功耗<120mW,待機時功耗<10uW。
圖2 OV7620圖像傳感器
圖3 OV7620引腳示意圖
3.2.1.3 電機控制單元
智能車的速度一般表較快,通常速度達到2m/s以上,因此對電機驅(qū)動電流要求比較高,電機驅(qū)動電路必不可少。
我們使用BTS7960驅(qū)動芯片。這種芯片的好處是外圍電路簡單。通過設計電路,能使電機正轉(zhuǎn)以及翻轉(zhuǎn)反轉(zhuǎn),而且使用PWM波控制,能起到很好的驅(qū)動效果。具體情況見圖4所示:
圖4 電機控制單元
3.2.1.4 速度檢測模塊
光電編碼器是一種通過光電轉(zhuǎn)換將輸出軸上的機械幾何位移量轉(zhuǎn)換成脈沖或數(shù)字量的傳感器。光電編碼器由光柵盤和光電檢測裝置組成,當光柵盤開始旋轉(zhuǎn),經(jīng)發(fā)光二極管等電子元件組成的檢測裝置檢測出若干脈沖信號,通過計算一定時間光電編碼器輸出脈沖的個數(shù)就可以反映出當前的速度。
本設計中選用歐姆龍E6A2-CW5C旋轉(zhuǎn)編碼器,單相輸出,每圈500個脈沖,5V電壓供電。
圖5 6A2-CW5C旋轉(zhuǎn)編碼器實物圖
3.2.1.5 電源管理單元
電源是一個系統(tǒng)正常工作的保障,關(guān)系著小車是否能正常的運行。
本設計采用7.2V 2000mAh Ni-Cd電池供電。而單片機和傳感器需要5V電源,舵機需要6V電源,電機驅(qū)動模塊則需要7.2V電源,因此我們需要穩(wěn)壓芯片降低電壓以提供給各個模塊使用。
經(jīng)過大量選型和測試過后,我們選擇了LM2576和TPS7350。LM2576是外圍電路簡單,散熱快,最大輸出電流3A,經(jīng)過TPS7350穩(wěn)壓后,輸出5V,對單片機、傳感器和測速模塊等供電。TPS7350為微功耗低壓差線性穩(wěn)壓器件,具有完備的保護電路,包括過流、過壓、電壓反接保護。使用這個芯片只需要極少的外圍元件就能構(gòu)成高效穩(wěn)壓電路。經(jīng)過LM2576穩(wěn)壓后,輸出6V,對舵機供電。如圖6、圖7所示為電源模塊基本電路圖。
圖6 LM2576穩(wěn)6V電路
圖7 TPS7350穩(wěn)5V電路
圖8
首先確定兩件事情,一是攝像頭采集到的是一幅圖像,本質(zhì)的說就是點陣的集合。二是標志物在這幅圖像中的呈現(xiàn)是什么,如何突出標志物的不同。
3.2.2.1 導航的實現(xiàn)
我們是通過左右兩個標志物來確定中心值,然后根據(jù)這個中心值來實現(xiàn)導航。如圖8所示。
3.2.2.2 轉(zhuǎn)彎的實現(xiàn)
通過采集的圖像大小判斷車與標志物的位置,然后在一個設定大小處執(zhí)行一個固化轉(zhuǎn)彎程序,實現(xiàn)轉(zhuǎn)彎90度,然后再打開圖像采集,根據(jù)下一個標志物導航路線。至于轉(zhuǎn)向,就是根據(jù)檢查到的黑色長方形里面是否有白色來判斷轉(zhuǎn)向,如果都沒有就是跑直道。如圖9所示。
圖9
3.2.2.3 入庫的實現(xiàn)
首先看到庫的標準,沒看見庫之前速度比較快,為了避免側(cè)滑,采用回退打正車身的方法,然后慢速尋找尋庫的準確位置。當找到后就反打舵機后退,讓車身垂直賽道尋找進庫中心線,通過反復調(diào)整車身找到最佳進庫位置,然后進庫停車。如圖10所示。
(1)只采用攝像頭單一導航方式,技術(shù)含量高,研究具有現(xiàn)實意義;
(2)智能車速度快,可達2m/s,且能自動識別最短路徑;
(3)整體采用模塊化設計方式,便于設計、調(diào)試和安裝;
(4)進庫方式與現(xiàn)實汽車進庫基本一致。
[1]邵貝貝.單片機嵌入式應用的在線開發(fā)方法[M].北京:清華大學出版社,2004,10.
[2]卓晴,黃開勝,邵貝貝等.學做智能車——挑戰(zhàn)“飛思卡爾”杯[M].北京:北京航空航天大學出版社,2007,3.
[3]胡晨暉,陸佳南,陳立剛.上海交通大學CyberSmart隊技術(shù)報告[R].