畢業(yè)論文-基于攝像頭的智能車路徑識別方案_第1頁
畢業(yè)論文-基于攝像頭的智能車路徑識別方案_第2頁
畢業(yè)論文-基于攝像頭的智能車路徑識別方案_第3頁
畢業(yè)論文-基于攝像頭的智能車路徑識別方案_第4頁
畢業(yè)論文-基于攝像頭的智能車路徑識別方案_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于攝像頭的智能車路徑識別方案摘要:本文按照第四屆“飛思卡爾”杯全國大學(xué)生智能汽車邀請賽的技術(shù)要求,經(jīng)過一段時間的資料的采集與樣本電路的參照,本文主要介紹了車模的系統(tǒng)設(shè)計原理,系統(tǒng)軟件,與方案簡介。在硬件電路的設(shè)計與實現(xiàn)中,描述了最小系統(tǒng)設(shè)計,電源模塊,并且著重描述數(shù)字?jǐn)z像頭OV6620,在軟件系統(tǒng)設(shè)計中,講述了時鐘模塊,ECT模塊,圖像采集以及圖像處理等內(nèi)容,經(jīng)過實踐證明,這些理論方案都可以得到證明,能使汽車穩(wěn)定快速運行。關(guān)鍵字:智能車;攝像頭;電源模塊;圖像采集The identification of intelligent vehicle path of program is base

2、d on CameraAbstract: This article in accordance with the 4th "flying to Karl" Cup National University SMART Car Invitational technical requirements for the time of the information gathering and sample circuits in the light of this article introduces the car model system design principles,

3、system software, and the programme profile. On the hardware circuit design and implementation, describes the minimum system design, power supply, with emphasis on described digital camera OV 6620 in software design of the system on the clock module, ECT modules, image acquisition and image processin

4、g, the practice has proved that these theories programmes can be proved that auto steady and rapid operationKeywords: SMART cars; camera; power supply; image acquisition目錄前言 4第1章 系統(tǒng)設(shè)計概述 51.1系統(tǒng)設(shè)計原理 51.2系統(tǒng)軟件 61.3方案簡介 6第2章硬件電路的設(shè)計與實現(xiàn) 72.1最小系統(tǒng)板設(shè)計 72.2電源模塊 82.2.1 5v電源 92.2.2 6V電源 92.3數(shù)字?jǐn)z像頭OV6620 102.3.1 O

5、V6620簡介 102.3.2 OV6620 和普通攝像頭的對比 102.3.3 OV6620管腳說明 112.3.4 OV6620圖像采集 11第3章 軟件系統(tǒng)設(shè)計 143.1 時鐘模塊 143.2 ECT模塊 143.3 圖像采集 163.4 圖像處理 173.4.1 二值化算法 175.4.2 黑線提取流程 19結(jié)論 21致謝 22參考文獻 23附錄A 24前言智能汽車,是一種集環(huán)境感知、規(guī)劃決策、自動行駛等功能于一體的綜合系統(tǒng),集中地應(yīng)用到自動控制、模式識別、傳感器技術(shù)、汽車電子、電氣、計算機、機械等多個學(xué)科,是典型的高新技術(shù)綜合體,具有重要的軍用及民用價值。目前,智能車領(lǐng)域的研究已經(jīng)

6、能夠在具有一定標(biāo)記的道路上為司機提供輔助駕駛系統(tǒng)甚至實現(xiàn)無人駕駛。這些智能車的設(shè)計通常依靠特定道路標(biāo)記完成識別,通過推理判斷模仿人工駕駛進行操作。通常,智能車接受輔助定位系統(tǒng)提供的信息完成路徑規(guī)劃,如由GPS等提供的地圖,交通擁堵狀況,道路條件等信息。本文內(nèi)容的安排如下所示:第一章 引言 本章主要介紹了Freescale 車模競賽的基本情況,智能汽車的發(fā)展?fàn)顩r。第二章 系統(tǒng)整體框架 本章對系統(tǒng)硬件模塊方案和軟件控制方法進行了選擇與論證。第三章 機械結(jié)構(gòu)的安裝與調(diào)整 本章對機械結(jié)構(gòu)的安裝與改進,各個模塊的安裝技巧作了詳細(xì)的介紹。第四章 硬件電路的設(shè)計與實現(xiàn) 本章主要介紹了自行設(shè)計的基于飛思卡爾單

7、片機的最小系統(tǒng)板的設(shè)計、電源模塊、攝像頭模塊和速度傳感器模塊的設(shè)計與實現(xiàn)。第五章 軟件系統(tǒng)設(shè)計與實現(xiàn) 本章軟件系統(tǒng)各模塊的設(shè)計思路作了詳細(xì)的介紹。特別介紹了圖像處理中的各種技巧、PID 控制策略的應(yīng)用和起跑線識別算法的設(shè)計等問題。第六章 開發(fā)工具及其調(diào)試 本章對開發(fā)工具與調(diào)試方法作了簡單介紹。結(jié)論 對整個參賽過程中的經(jīng)驗與教訓(xùn)作了總結(jié)。第1章 系統(tǒng)設(shè)計概述1.1系統(tǒng)設(shè)計原理電機驅(qū)動模塊MC9S12XS128圖像采集模塊硬件電路 是整個系統(tǒng)的基礎(chǔ),下面是我們的硬件電路原框圖: 舵機驅(qū)動模塊速度采集模塊速度采集模塊速度采集模塊圖1.1整體框架1.2系統(tǒng)軟件開始系統(tǒng)的軟件流程圖 1.2 初始化圖像采

8、集圖像處理舵機控制電機控制圖1.2系統(tǒng)流程圖1.3方案簡介在本次比賽中,組委會提出了3種單片機可供選擇MC9S12XS128,MC9S12DG128和9S08AW60.我們選擇了總線頻率較高的MC9S12XS128作為主控芯片,并且自己制作了最小系統(tǒng)板。圖像采集我們經(jīng)過對比最終選擇了CMOS的OV6620作為圖像采集傳感器。將圖像采集來后,為了減小干擾首先我們對整幅進行了二值化,然后利用跟蹤邊緣的算法對黑線進行提取。最終使得黑線的變化更加平穩(wěn)。提取出黑線后,我們采用了模糊控制與PD控制相結(jié)合的方式對舵機進行控制,讓小S直接沖過去,大S盡量內(nèi)切,最大難度的發(fā)卡彎沿線通過。在硬件方面,我們?yōu)榱耸闺?/p>

9、路更加簡化,自己制作了最小系統(tǒng)板,使得單片機,電源,電機驅(qū)動等模塊集中到了一塊最小的系統(tǒng)板上。第2章硬件電路的設(shè)計與實現(xiàn)硬件電路主要包括:電源模塊,驅(qū)動模塊與調(diào)試模塊。電源模塊主要包括單片機電源,編碼器電源,攝像頭電源,舵機電源等等。驅(qū)動模塊主要包括電機驅(qū)動和舵機驅(qū)動。調(diào)試模塊主要包括BDM下載和串口的設(shè)計。2.1最小系統(tǒng)板設(shè)計我們采用了MC9S12XS128芯片作為主控芯片,參考了組委會提供的系統(tǒng)板的原理圖,自行設(shè)計了最小系統(tǒng)板和外圍器件的電路,同時為了盡可能的減小板子的質(zhì)量與大小,我們沒有將串口設(shè)計到最小系統(tǒng)板上,而是另外做了一塊USB轉(zhuǎn)串口的電路板。原理圖如圖2.1和2.2 圖2.1最小

10、系統(tǒng)板原理圖引腳功能介紹:PORTB: LED狀態(tài)指示PORTM: 攝像頭數(shù)據(jù)采集口PORTK: 模式選擇口PP1: 舵機控制PP2: 電機控制口PP3: 電機控制口TXDO: 串口通訊RXDO: 串口通訊2.2電源模塊為了保證各個部件的正常工作,電源的供給是十分主要的,需要對配發(fā)的標(biāo)準(zhǔn)車模用蓄電池進行電壓調(diào)節(jié)。單片機系統(tǒng),攝像頭,車速傳感器電路等各個電路的工作電壓不同,需要想辦法來使得電壓滿足各自的要求,一種辦法是利用升壓或降壓的芯片來達(dá)到它們的要求,另一種方法是利用雙電源供電的方法,來實現(xiàn)自己各模塊的不同需求,由于電路的模塊較多,該方案中需要升壓或降壓芯片,實際應(yīng)用中,我們確定采用升壓降壓

11、芯片等來實現(xiàn)對各個模塊的供電需求,而且,再電路設(shè)計中,考慮到由于電機驅(qū)動所引起的電源不穩(wěn)定,在電源輸入端,各芯片電源引腳都加入濾波電路。如圖2.3所示電源模塊的組成攝像頭圖 2.3 電源模塊的組成框圖 2.2.1 5v電源市場上常用的5V芯片有LM2940,LM7805,LM2575,LM2596其中LM2940和LM7805轉(zhuǎn)換效率低(40%)輸出波紋小,而且穩(wěn)定,對于電源要求比較高的元件適合。LM2575和LM2596轉(zhuǎn)換效率高(75%80%)輸出波紋大,可能會讓單片機出現(xiàn)重啟。所以我們選擇前者而LM2940比LM7805壓差小,而且更加穩(wěn)定因此我們選擇LM2940作為5V穩(wěn)壓芯片。原理圖

12、如圖2.4所示圖2.4 5V穩(wěn)壓電路原理圖2.2.2 6V電源舵機的響應(yīng)速度與其電源電壓有關(guān)。因此,為了獲得更快的響應(yīng)速度,舵機的供電采用其工作上限電壓+6V,舵機的工作電壓4-6V,因此為了穩(wěn)定起見我們給舵機也做了穩(wěn)壓電路,期間的選擇的是LM2941.原理圖如圖2.5圖2.5 舵機電源6V2.3數(shù)字?jǐn)z像頭OV66202.3.1 OV6620簡介(1)、OV6620需要穩(wěn)定的5V電壓供電,和系統(tǒng)板上的供電電源兼容。(2)、NAL制,每秒25幀,一幀兩場,那么每秒就有50場。意味著20MS就有一副圖像產(chǎn)生。356x292pixels,理解為:有292行,一行有356個點。(3)、視野和可視距離:

13、這個和鏡頭的選擇有關(guān),據(jù)我測試,f=3.6MM時視野應(yīng)該有25度左右,f越大視場越小??梢暰嚯x需要調(diào)節(jié)鏡頭焦距。經(jīng)我測試可視距離可以看到十幾米,畢竟像素值只有10萬多,用單片機讀可以看到3-4M的距離。這里解釋一下為什么用單片機讀會打折扣,因為線寬度只有2.5CM,太遠(yuǎn)了黑線會很細(xì),采點之后就分辨不出是噪音還是有用信號了,在1米左右時,黑線寬度可用8個點表示。(4)、內(nèi)部有IIC可編程??梢哉{(diào)整攝像頭的參數(shù),比如最大灰度,對比度,暴光率控制等等。其本質(zhì)是SCCB協(xié)議。(5)、數(shù)據(jù)格式-YCrCb 4:2:2,GRB 4:2:2,RGB;電子曝光/增益/白平衡控制;內(nèi)部自動圖像增強,亮度,對比度

14、,伽馬,飽和度,銳度,加窗等。最重要的是不需AD,不需1881.當(dāng)然玩一下他的模擬輸出一可以,VTO管腳就可以當(dāng)普通的模擬攝像頭用。2.3.2 OV6620 和普通攝像頭的對比模擬的優(yōu)勢比較明顯:便宜,程序有現(xiàn)成的。缺點:消耗MCU資源,功耗大,取點個數(shù)少,需要做12V的供電模塊(最近有隊伍說把攝像頭上的5V穩(wěn)壓芯片取下來飛飛線就可以直接用5V供電),外圍處理電路多,還要1881。數(shù)字的優(yōu)點就是避免了模擬的缺點。行場同步中斷信號有現(xiàn)成的,而且消隱區(qū)也十分有規(guī)律??梢杂檬静ㄆ鲗Ρ纫幌履M的和數(shù)字的,數(shù)字的信號非常漂亮,非常穩(wěn)定。這對于圖像采集來說是十分有利的。最終我們選擇了數(shù)字?jǐn)z像頭OV6620

15、。OV6620的管腳分布樣子如圖2.6和2.7所示:2.3.3 OV6620管腳說明 圖2.6管腳分布圖 圖2.7 OV6620像頭PIN1-PIN8 灰度信號輸出接口 Y0-Y7 PIN11 SCCB數(shù)據(jù)接口 SDA PIN12 奇偶場同步信號 FODD PIN13 SCCB數(shù)據(jù)時鐘 SCL PIN14 行中斷信號 HREF PIN16 場中斷信號 VSYN PIN18 像素同步信號 PCLK(也叫TCLK PIN32 模擬信號輸出接口 VTO 這里僅說明可能需要用到的管腳,模擬攝像頭無非也就這幾個信號,重要的是,模擬攝像頭的信號線需要分離,這當(dāng)然會給圖像的采集帶來本可以避免的干擾。2.3.

16、4 OV6620圖像采集我最不能忍受的是模擬的圖像采集之后的分辯率.真的還不如在光電前加個老花鏡.數(shù)字?jǐn)z像頭相對來說貴一些,他內(nèi)部的信號處理比較復(fù)雜,接口也較多,一般是彩色的YUV信號,只取Y的亮度信號,所以用起來略有浪費. 附上測的數(shù)字OV6620的時序圖,我發(fā)現(xiàn)它的DS上表示有些不明確,就自己畫了一個.而實際上,圖像采集的這塊最關(guān)鍵的也是時序的把握了.另外,中斷的優(yōu)先級一定要保證,要不然系統(tǒng)一運行起來,圖像采到一半就丟了. 先看DS上的時序圖2.8:圖2.8 DS上的時序如果這個圖還不明白的話看下面的這個圖2.9:圖2.9 攝像頭信號采集時序圖如果這個圖還不明白的話看下面的說明: (1)、

17、在采集時乎略TCLK,首先是因為它太快了,捕捉不到,另外也沒有必要捕捉到它。采集圖像時盡快地一個點一個點的取就行了,和模擬攝像頭一樣。(2)、VYNSC是判斷是否一幅圖像開始,周期是20mS, 其中高電平持續(xù)時間很短,忽略; HREF是判斷是否一行圖像的開始,周期是63us左右,其中高電平持續(xù)時間為40US,低電平持續(xù)時間23US,那么可以算一下一場有多少行:20ms/63us=317,當(dāng)然實際上沒有這么多,消隱和無效信號去掉之后只有292行。(3)、必須明確:場中斷要通過下降沿捕捉,行中斷要通過上升沿捕捉。若用IRQ捕捉行中斷必須加反相器。(4)、有效的灰度數(shù)據(jù)是在行中斷之后的上升沿內(nèi),所以

18、不要在行中斷后的23US后采集,那是廢數(shù)據(jù)。計算一下一行OV6620有多少個點: 40us/110ns=363, 消隱和無效信號去掉之后只有356個點。圖上若有表述不清楚可通過示波器觀察。 第3章 軟件系統(tǒng)設(shè)計3.1 時鐘模塊時鐘基本脈沖是CPU工作的基礎(chǔ)。MC9S12XS128微控制器的系統(tǒng)時鐘信號,由時鐘振蕩電路或?qū)S脮r序脈沖信號提供。MCU內(nèi)部的所有時鐘信號都來源于EXTAL引腳,也為MCU與其他外接芯片之間的通信提供了可靠的同步時鐘信號。S12的總線時鐘是整個MCU系統(tǒng)的定時基準(zhǔn)和工作同步脈沖,其頻率固定為晶體頻率的1/2。對于S12,可以利用寄存器SYNR、REFDV來改變晶振頻率f

19、OSCCLK,可以選用8MHz或16MHz外部晶體振蕩器作外時鐘。將SYNR設(shè)為3,REFDV設(shè)為1,可以得到32MHz的總線頻率。而鎖相環(huán)產(chǎn)生的時鐘頻率fPLLCLK=2*fOSCCLK*(SYNR+1/(REFDV+1,設(shè)計中我們將SYNR設(shè)為3,REFDV設(shè)為1,因此,總線時鐘為32MHz,CPU工作頻率為64MHz。3.2 ECT模塊S12得ECT具有8個輸入(IC)/輸出(OC比較通道,可以通過設(shè)置TIOS寄存器選擇輸入或輸出比較功能。ECT既可以作為一個時基定時產(chǎn)生中斷,也可以用來產(chǎn)生控制信號。模數(shù)遞減計數(shù)器(MDC)是S12微控制器ECT特有,它是一個16位計數(shù)器,其外圍配備了常

20、數(shù)寄存器MCCNT和控制寄存器MCCTL,分別為MDC提供定時常數(shù)和時鐘信號。通過寄存器TCTL4設(shè)定各個引腳的各種動作,初始化設(shè)置過程如下所示:/定時器初始化void extern vECTInit(voidTIOS =0x00;/定時器通道0,1為輸入捕捉TSCR1=0x80;/定時器使能TCTL4=0x09;/通道0捕捉上升沿通道1捕捉下降沿TIE=0x03; /通道0,1中斷使能TFLG1=0xFF;/清中斷標(biāo)志位void extern IOC_Init(void/TSCR2 = 0x04; / 禁止定時器溢出中斷,計數(shù)器自由運行,禁止復(fù)位,預(yù)分頻系數(shù)為16/ busclock/16=

21、48Mhz/16=3000000TIOS = 0x00; / 設(shè)置通道2工作在輸出比較狀態(tài),其它通道工作在輸入狀態(tài)/TC2 = 0x2328; / 0x2328*(1/3000000=3ms/TCTL2 = 0x00; / 切斷OC2與輸出引腳斷開/ TCTL3=0X80;TCTL4=0x09;/TSCR1_TFFCA=1; / 通道自動清除/ TIE= 0x83; / 通道0,1,2,7中斷使能/TIE= 0x84;TSCR1_TEN = 1; / 定時器使能PACTL = 0x40; /脈沖累加器使能,事件計數(shù),下降沿計數(shù),16位A累加器PACNT = 0x0000;TFLG1=0xFF;

22、 /清中斷標(biāo)志位PERT=0x80;/PT7口上拉電阻使能PPST=0x00;通過ECT模塊,我們實現(xiàn)了對行中斷和場中斷的PT0和PT1口的使能和捕捉方式,PT7口對脈沖進行計數(shù),檢測智能車的速度,對速度進行閉環(huán)控制。3.3 圖像采集實際上,圖像采集的這塊最關(guān)鍵的也是時序的把握了。另外,中斷的優(yōu)先級一定要保證,要不然系統(tǒng)一運行起來,圖像采到一半就丟了。攝像頭每掃描完一行,就輸出一低于視頻信號電壓的的電平,相當(dāng)于每行圖像對應(yīng)的電壓信號之后會有一電壓“凹槽”,此凹槽被稱為行同步脈沖。掃描完該場的視頻信號,接著會出現(xiàn)一段消隱區(qū),此區(qū)中有若干個復(fù)合脈沖(簡稱消隱脈沖),在這些脈沖中,有一個脈沖,它遠(yuǎn)寬

23、于其他的消隱脈沖,該消隱脈沖稱為場同步脈沖。場同步脈沖標(biāo)志著新的一場的到來,不過,場消隱區(qū)恰好跨在上一場的結(jié)尾部分和下一場的開始部分,得等場消隱區(qū)過去,下一場的視頻信號才真正到來。攝像頭每秒掃描25幅圖像,每幅又分奇、偶兩場,先奇場后偶場,故每秒掃描50場圖像。奇場時只掃描圖像中的奇數(shù)行,偶場時則只掃描偶數(shù)行。如圖3.1所示:圖3.1 攝像頭視頻信號圖3.2 攝像頭信號采集時序圖如圖3.2所示:(1)在采集時乎略TCLK,首先是因為它太快了,捕捉不到,另外也沒有必要捕捉到它。采集圖像時盡快地一個點一個點的取就行了,和模擬攝像頭一樣。(2)VYNSC是判斷是否一幅圖像開始,周期是20mS, 其中

24、高電平持續(xù)時間很短,忽略; HREF是判斷是否一行圖像的開始,周期是63us左右,其中高電平持續(xù)時間為40us,低電平持續(xù)時間23us ,那么可以算一下一場有多少行:20ms/63us=317,當(dāng)然實際上沒有這么多,消隱和無效信號去掉之后只有292行。(3)必須明確:場中斷要通過下降沿捕捉,行中斷要通過上升沿捕捉。若用IRQ捕捉行中斷必須加反相器。(4)有效的灰度數(shù)據(jù)是在行中斷之后的上升沿內(nèi),所以不要在行中斷后的23US后全國大學(xué)生智能汽車邀請賽技術(shù)報告27 / 82采集,那是廢數(shù)據(jù)。計算一下一行OV6620有多少個點: 40us/110ns=363消隱和無效信號去掉之后只有356個點。3.4

25、 圖像處理3.4.1 二值化算法圖像的二值化處理就是講圖像上的點的灰度置為0或255,也就是將整個圖像呈現(xiàn)出明顯的黑白效果。即將256個亮度等級的灰度圖像通過適當(dāng)?shù)瞄y值選取而獲得仍然可以反映圖像整體和局部特征得二值化圖像。首先要把灰度圖像二值化,得到二值化圖像,這樣子有利于圖像進一步處理時,圖像的集合性質(zhì)只與像素值為0或255的點的位置有關(guān),不再涉及像素的多級值,使處理變得簡單,而且數(shù)據(jù)的處理和壓縮量小。為了得到理想的二值圖像,一般采用封閉、連通的邊界定義不交疊的區(qū)域。所有灰度大于或等于閥值的像素被判定為屬于特定物體,其灰度值為0表示,否則這些像素點被排除在物體區(qū)域以外,灰度值為1,表示背景或

26、者例外的物體區(qū)域。因為賽道只有黑白兩種顏色,其很容易分辨,采用二值化算法可以得到很好的效果,為了得到可靠的閥值,我們進行了大量的試驗,最后得出了這個閥值為52,當(dāng)小于這個閥值時,我們認(rèn)定是檢測到黑線,當(dāng)大于這個閥值時,我們認(rèn)為是檢測到白線。圖3.3為二值化后在串口上顯示出來的圖像。圖3.3 二值化后的圖像3.4.2 黑線提取流程黑線的提取我們參考了去年上海大學(xué)的黑線提取方法,在前十行采用邊緣提取方法,十行以后的利用跟蹤邊緣提取方法。實驗測得這種方法只要細(xì)節(jié)掌握好能夠很好的提取出黑線。下面是具體的黑線提取方法。如圖3.4圖3.4黑線提取流程圖(1)、首先準(zhǔn)備提取黑線(2)、用檢測跳變的方法提取出

27、前十行中每行的兩個跳變點,然后求平均值就可以得到前十行的黑線位置。當(dāng)搜索到多個跳變的時候,我們根據(jù)上一行跳變的位置確定出最優(yōu)的那個跳變的位置作為本行的黑線跳變位置。當(dāng)前十行都沒有找到黑線的時候,我們就認(rèn)為這幅圖像的黑線丟失了,然后依據(jù)前一幅圖像黑線的位置,給這幅圖像的整體賦極值。當(dāng)只有十行中的幾行丟失時,我們就繼續(xù)搜索黑線直道找完前十行位置。(3)、當(dāng)前十行黑線存在時,我們利用前十行黑線的位置確定第十一行黑線的位置,然后在這個區(qū)間搜索黑線,依次類推用前一行黑線的位置確定后一行黑線的位置,當(dāng)本行黑線沒有找到時,此行黑線位置保持上行的值,下行搜索的位置相應(yīng)的擴大。有全國大學(xué)生智能汽車邀請賽技術(shù)報告

28、連續(xù)3行黑線搜索不到十我們就認(rèn)為黑線丟失,退出搜索。這樣既可以去除干擾,還可以大大的提高算法的效率。值得注意的是:第十行和前一行第九行這個接口位置邊緣確定非常重要,要考慮的非常全面,不然有可能就只能搜索到前十行的黑線,后面的黑線因為邊緣的問題所有不到。(4)、搜索完成后推出搜索。對搜索到的黑線進行中值濾波和限幅濾波。只要搜索范圍合理,這種算法有很強的抗干擾能力,并且可以濾除十字交叉和三角黑區(qū)的干擾。結(jié)論經(jīng)過將近三個月的努力,到現(xiàn)在已經(jīng)完成的部分,結(jié)果還是令人欣喜的。在整個過程中,全部的線路板的搭建布局都是親力親為,無論是攝像頭的安裝位置,還是硬件電路的設(shè)計,都是經(jīng)過反復(fù)試驗,反復(fù)修整而得出的。

29、對于在攝像頭采集信號,花費了很多精力,查閱了很多攝像頭方面的期刊雜志,不斷試驗,最后終于獲得有用的參數(shù)。在這段緊張的時間內(nèi),讓自己無論在電子知識方面還是動手能力方面有了很大的提高,更重要的是通過做完小車,無論在自信心方面還是知識鉆研方面有了較大的提高。此次智能小車,前階段經(jīng)歷了很多失敗,也有過一籌莫展的時候,但到現(xiàn)在目前的狀況,小車大S切彎做的還是不好,車也不是很穩(wěn)定,所以要想車跑的更快,更穩(wěn),還需做更多的努力。這次控制算法上我們用了PID控制,PID 控制算法能夠使小車加速減速迅速,容易實現(xiàn)“進彎減速,出彎加速”, 該控制算法具有很強的靈活性,可以根據(jù)實驗和經(jīng)驗在線調(diào)整參數(shù),可以更好的控制性

30、能。具有控制精度高、超調(diào)小的優(yōu)點,使靜態(tài)、動態(tài)性能指標(biāo)較為理想,同時又達(dá)到了準(zhǔn)確、快速測定的目的。致謝參考文獻1 卓晴,黃開勝,邵貝貝.學(xué)做智能車.北京:北京航空航天大學(xué)出版社.2007,3-12 劉進,齊曉輝,李永科.基于攝像頭的智能小車設(shè)計與實現(xiàn).維普資訊.3 OV6620的使用說明 , 4 使用S12PWM控制電機 ,ppt5 邵貝貝.單片機嵌入式應(yīng)用的在線開發(fā)方法.北京:清華大學(xué)出版社. 20046 孫同景,陳桂友.Freescale 9S12 十六位單片機原理及嵌入式開發(fā)技術(shù).2008,7-1附錄A程序源代碼#include "Includes.h"void ma

31、in(voidDisableInterrupts;xianshi_init(;vPLLInit(;PWM_Init(;Timerch2Init( ;delay(3500;vIOPortInit(;EnableInterrupts;/delay(1500;asm(nop;asm(nop;for(;Image_binaryzation(;black_extract(;control_actuator(;/*/* *頭文件及宏定義*/*/*#ifndef _INCLUDES_H_#define _INCLUDES_H_#include /* common defines and macros */

32、#include /* derivative information */ #pragma LINK_INFO DERIVATIVE "mc9s12xs128"/*/* *初始化*/*#include "Init.h"/*/* *數(shù)據(jù)采集*/*#include "ImageAcquisition.h"/*/* *圖像處理函數(shù)*/*#include "ImageProcess.h"/*/* *調(diào)試函數(shù)*/*#include "Function.h"/*/* *自動控制函數(shù)*/*#include &

33、quot;Control.h"#endif#ifndef _INIT_H_#define _INIT_H_extern void vPLLInit(void; /鎖相環(huán)初始化/extern void vECTInit(void; /定時器初始化extern void vIOPortInit(void; /I/O 口初始化extern void PWM_Init(void; /PWM 初始化extern void Timerch2Init(void;#endif#include "Includes.h"/鎖相環(huán)初始化void vPLLInit(voidCLKSEL=

34、0x00; /48mhzPLLCTL_PLLON=1;SYNR=0XC0 | 0X05;REFDV=0XC0 | 0X01;POSTDIV=0X00;_asm(nop;_asm(nop;while(0=CRGFLG_LOCK;/鎖相環(huán)鎖定CLKSEL_PLLSEL=1;/選定外部時鐘/定時器初始化/*void vECTInit(voidTIOS =0x00;/定時器通道0,1 為輸入捕捉TSCR1=0x80;/定時器使能TCTL4=0x09;/通道0 捕捉上升沿通道1 捕捉下降沿TIE=0x03; /通道0,1 中斷使能TFLG1=0xFF;/清中斷標(biāo)志位 */void Timerch2Ini

35、t(void/TSCR2 = 0x04; / 禁止定時器溢出中斷,計數(shù)器自由運行,禁止復(fù)位,預(yù)分頻系數(shù)為16/ busclock/16=48Mhz/16=3000000TIOS = 0x00; / 設(shè)置通道2 工作在輸出比較狀態(tài),其它通道工作在輸入狀態(tài)/TC2 = 0x2328; / 0x2328*(1/3000000=3ms/TCTL2 = 0x00; / 切斷OC2 與輸出引腳斷開/ TCTL3=0X80;TCTL4=0x09;/TSCR1_TFFCA=1; / 通道自動清除TIE= 0x83; / 通道0,1,2,7 中斷使能/TIE= 0x84;TSCR1_TEN = 1; / 定時器

36、使能PACTL = 0x40; /脈沖累加器使能,事件計數(shù),下降沿計數(shù),16 位A 累加器PACNT = 0x0000;TFLG1=0xFF; /清中斷標(biāo)志位/端口初始化void vIOPortInit(voidDDRM=0x00;/M 口為輸入口DDRB=0x0FF;/B 口為輸出口在指示中心位置DDRK_DDRK0 = 1; /K0,K1 為輸出口DDRK_DDRK1 = 1;asm(nop;asm(nop;PORTB=0x0FF; /B 口為高電平PORTK_PK0 = 1; /電機使能K0=1;K1=0;PORTK_PK1 = 0;/pwm 初始化void PWM_Init(voidP

37、WME = 0x00; /pwm 禁止PWMCTL = 0x10; /通道0,1 級聯(lián),形成16 位pwm 通道PWMPRCLK = 0x00; /clockA,B 分頻值為總線時鐘的0 分頻,40MHzPWMSCLA = 6; /clockSA 的頻率為4MHzPWMSCLB = 12; /clockSB 的頻率為2MHzPWMCLK = 0x0FF; /時鐘來源選擇 clockSA clockSBPWMPOL = 0x0FF; /在周期開始時,PWM 所有通道輸出高電平PWMCAE = 0x00; /所有PWM 通道輸出左對齊PWMPER01 = 40000; /PTP1 輸出頻率100H

38、zPWMDTY01 = steer_centre; /通道1 占空比0.075 右極限7200 左極限4700PWMPER2 = 200; /*PTP1 輸出頻率10000Hz*/PWMDTY2 = 88; /*通道1 占空比0.1*/PWME = 0x06; /PWM1.2 輸出#ifndef _IMAGEPROCESS_H_#define _IMAGEPROCESS_H_extern unsigned int Line_CenterROW_VALUE;/黑線中心數(shù)組extern void Image_binaryzation(void; /圖像的二值化和緩存交換extern void black_extract(void; /黑線提取程序#endif#include "Includes.h"/*圖像二值化和數(shù)據(jù)交換*/#define stop_time 300#de

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論