崔璽 侯明 楊玉竹
【摘 要】本車模采用飛思卡爾半導(dǎo)體公司的微控制器MK60N512ZVLQ10 作為核心控制單元,自行設(shè)計可以實現(xiàn)模塊化處理的程序方案,包含的驅(qū)動模塊有車速傳感器模塊、舵機驅(qū)動模塊、電機的驅(qū)動模塊、電源管理模塊、線性CCD模塊、超聲波傳感器模塊。對不同類型的識別傳感器模塊進行自主行駛算法和編程等方面內(nèi)容,最終達到所有模塊程序集中在一個單片機中,并對不同模塊分區(qū)處理,滿足各個模塊任意拆裝都可自動切換程序并直接運行的目的。
【關(guān)鍵詞】智能車;MK60N512ZVLQ10單片機;線性CCD傳感器;CCD算法
0 引言
在過去的智能車時代,激光傳感器作為光電路徑識別的主要傳感器,發(fā)揮著十分重要的作用。但是它有原理復(fù)雜,成本高,質(zhì)量大,精度差等缺點,這讓調(diào)試智能車變得十分繁瑣。而線性CCD以其簡單的原理和易操作的優(yōu)點受人歡迎,在光電路徑識別領(lǐng)域起著越來越重要的作用,逐步取代了激光傳感器的主導(dǎo)地位。本車模即采用線性CCD傳感器,通過線性CCD獲取路徑信息,并且將信息傳給單片機,單片機根據(jù)反饋信息控制車模轉(zhuǎn)向和速度,從而使車模安全,迅速的跑完賽道。
1 系統(tǒng)總體設(shè)計
本車模采用32 位微控制器 MK60N512ZVLQ10 作為主控制器用于智能車的設(shè)計。賽車共包括四大模塊:MK60N512ZVLQ10主控模塊、線性CCD模塊、電源模塊、電機驅(qū)動模塊。本車模是多功能模塊化智能車。第一,線性CCD采集像素信號,返回到單片機,單片機根據(jù)CCD返回的信息控制舵機轉(zhuǎn)向并且控制賽車速度,防止賽車沖出賽道,使賽車在賽道上能夠自主行駛,并以最快的速度跑完賽道。第二,超聲波模塊提前檢測前方是否有障礙物,并且及時避開障礙物。
2 硬件結(jié)構(gòu)設(shè)計
車體相比于往屆參加智能車競賽選手設(shè)計的思路不同,大多數(shù)選手選擇將所有模塊集中設(shè)計制作在一個PCB主板上,而我們的思路相反,在我們的車模中,有獨立的電源主板和驅(qū)動主板,并通過排線與單片機主板相連,這樣的目的是為了方便于檢查故障和調(diào)試智能車。
2.1 線性CCD模塊
線性CCD只能采集一行可視像素,它包含128個線性排列的光電二極管。每個光電二極管都有各自的積分電路,即像素。每個像素采集的圖像灰度值與它所感知的光強和曝光時間成正比。線性CCD通過SI控制信號輸入,CLK作為時鐘輸入,控制像素依次輸出和復(fù)位,AO則將像素電壓輸出,完成了像素的采集和輸出。
2.2 超聲波模塊
超聲波模塊主要目的是檢測障礙物。超聲波模塊經(jīng)發(fā)射器發(fā)射出長約6mm,頻率為40KHZ的超聲波信號。此信號被物體反射回來由接收頭接收,接收頭實質(zhì)上是一種壓電效應(yīng)的換能器。它接收到信號后產(chǎn)生mV級的微弱電壓信號。根據(jù)這一原理,超聲波模塊可以檢測前方是否有障礙并且及時將信號返回,發(fā)給單片機執(zhí)行相應(yīng)指令。
2.3 電源與電機驅(qū)動板模塊
將電源與電機驅(qū)動模塊獨立出來,制作成電源主板和電機驅(qū)動板,分別與電池和電機相連,電源主板上添加了L6932降壓芯片,輸出3.3V,精度±1%,驅(qū)動板上增加MIC5219電源芯片,為總線驅(qū)動芯片74LVC245提供電源,實現(xiàn)驅(qū)動芯片和單片機電平匹配。
3 線性CCD算法設(shè)計
線性CCD只需要采集一行像素,相對比較簡單。在調(diào)試線性CCD時,需要處理好兩個問題。第一,就是曝光時間的長短。由于像素的輸出值和曝光時間成正比,所以調(diào)節(jié)曝光時間對整個賽車至關(guān)重要。在調(diào)試智能車時,應(yīng)該盡量減少曝光時間。減少曝光時間可以提高車模的反應(yīng)能力,縮短采集信號的時間,盡量減少賽車沖出賽道的幾率,同時還可以捕捉高速運動的賽車的清晰圖像,有利于對圖像的處理。在本車模中我們的曝光時間設(shè)定為16ms。第二,就是黑白閾值的選擇。在選擇閾值時,往往需要現(xiàn)場調(diào)試,因為閾值的選擇跟環(huán)境亮度有密切的關(guān)系,所以我們需要根據(jù)環(huán)境亮度動態(tài)調(diào)節(jié)閾值參數(shù)。在調(diào)試時,根據(jù)調(diào)試助手反饋的圖形進行完善,在調(diào)試軟件的同時,還需兼顧去調(diào)整CCD焦距以及CCD距離地面的高度,當(dāng)曝光時間和閾值參數(shù)確定,并且調(diào)整好鏡頭達到可視效果時,會生成平滑的圖像,如圖1所示。
圖1
CCD作為賽道路徑識別的主要傳感器,在路徑規(guī)劃上起著十分重要的作用。CCD在賽道上的狀態(tài)有:直道處,S彎處和十字交叉處。CCD包含128個像素點,我們的設(shè)計方案是當(dāng)有三個像素點采集到黑色信號時,就認為賽車到達邊沿。在直道的時候,CCD左右兩側(cè)均能檢測到賽道邊沿。在小彎時,兩側(cè)也會檢測到賽道邊沿,但相對于直道時不太穩(wěn)定。在大彎時,可能會出現(xiàn)只有一側(cè)檢測到賽道邊沿的情況。在十字交叉處,一般是檢測不到賽道邊沿。我們根據(jù)CCD在賽道上可能出現(xiàn)的情況寫了基于CCD的路徑識別算法。通過CCD采集像素值,利用設(shè)定好的閾值,當(dāng)檢測到黑線時返回給單片機?;谝陨系姆治觯帉懗鲆惶證CD圖像處理的算法分析。
首先檢測左側(cè)邊界,當(dāng)所檢測到的3個像素點比閾值小,得到左側(cè)邊界值m1,算法如下:其中CaiJi_jin_1[i]為采集到的閾值參數(shù),YuZhi_jin_1[i]為程序員自己設(shè)定的黑白閾值參數(shù)。其中三個數(shù)值之差相與即為三個像素點的檢測。
if((CaiJi_jin_1[i]-YuZhi_jin_1[i]<0)&&(CaiJi_jin_1[i-1]-YuZhi_jin_1[i-1]<0)&&(CaiJi_jin_1[i-2]-YuZhi_jin_1[i-2]<0))
{
m1=i;
}
當(dāng)檢測到左側(cè)邊界后,執(zhí)行以下程序檢測右側(cè)邊界,并計算賽道中心所對應(yīng)的參數(shù)值mm。程序如下:
if((CaiJi_jin_1[i]-YuZhi_jin_1[i]<0)&&(CaiJi_jin_1[i+1]-YuZhi_jin_1[i+1]<0)&&(CaiJi_jin_1[i+2]-YuZhi_jin_1[i+2]<0))
{
m2=i;
mm=(m1+m2)/2;
}
當(dāng)智能車進入十字路段時,令CCD檢測到全白,即令m2>=120,這時檢測不到邊界,智能車便直線行駛。程序如下
以上為我們對CCD算法整體設(shè)計思想概述。調(diào)整好CCD后,將其與舵機通過程序相連接,當(dāng)CCD檢測到邊界,控制舵機旋轉(zhuǎn)角度,從而實現(xiàn)轉(zhuǎn)彎,這樣就完成了光電線性CCD的設(shè)計制作。
4 結(jié)論
線性CCD通過128個像素點獲取賽道信息,準(zhǔn)確及時的將信息反饋給單片機,改善了面陣CCD計算復(fù)雜的特點,并且比傳統(tǒng)的激光傳感器更為精確,相對激光傳感器改進較大,在目前智能車領(lǐng)域十分有著巨大的潛力和影響力。
【參考文獻】
[1]宓海寧,胡曉龍,查云佳.第九屆全國大學(xué)生“飛思卡爾”杯智能汽車競賽技術(shù)報告[R].浙江:浙江萬里學(xué)院,2014.
[2]夏斌.基于飛思卡爾單片機的光電智能小車設(shè)計[J].華北水利水電大學(xué)學(xué)報(自然科學(xué)版),2014,35(4):75-78.
[3]高月華.基于紅外光電傳感器的智能車自動尋跡系統(tǒng)設(shè)計[J].半導(dǎo)體光電,2009,30(1):134-137.
[4]翁卓.基于光電傳感器的智能車控制系統(tǒng)設(shè)計[J].計算機測量與控制,2010,18(8):1789-1792.
[5]曾星星.基于攝像頭的路徑識別的智能車控制系統(tǒng)設(shè)計[J].湖北汽車工業(yè)學(xué)院學(xué)報,2008,22(2):72-76.
[責(zé)任編輯:田吉捷]