基于MC9S12DG128B智能車設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于MC9S12DG128B智能車設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于MC9S12DG128B智能車設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于MC9S12DG128B智能車設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于MC9S12DG128B智能車設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、無(wú)錫科技職業(yè)學(xué)院嵌入式系統(tǒng)工程專業(yè) 畢業(yè)設(shè)計(jì)(論文)基于MC9S12DG128B智能車的設(shè)計(jì)與實(shí)現(xiàn)摘要:本論文介紹了無(wú)錫科技職業(yè)學(xué)院“震澤車隊(duì)”在參加第四屆Freescale全國(guó)大學(xué)生智能車大賽過(guò)程中的工作。智能車的硬件平臺(tái)采用帶MC9S12DG128 處理器的開(kāi)發(fā)電路板,軟件使用的是CodeWarrior IDE4.7 開(kāi)發(fā)環(huán)境,文中介紹了智能車的設(shè)計(jì)全過(guò)程,包括硬件的設(shè)計(jì)及軟件開(kāi)發(fā)流程。整個(gè)智能車系統(tǒng)實(shí)現(xiàn)包括電源模塊、速度控制模塊、路徑檢測(cè)模塊、方向控制模塊、并對(duì)各個(gè)模塊進(jìn)行硬件設(shè)計(jì)及軟件編寫(xiě)。關(guān)鍵字:MC9S12DG128,電源,速度,控制,模塊化The intelligent vehi

2、cles design and realization based on MC9S12DG128BAbstract:This paper describes the Wuxi Vocational College of Science and Technology, zhenze team in college students nationwide to participate in the Fourth Freescale Smart car racing in the process of work. Smart car with a MC9S12DG128 processor hard

3、ware platform with the development of circuit boards, Use of the software development environment is CodeWarrior IDE4.7, This paper introduces the whole process of design intelligent cars, including hardware design and software development process.The intelligent vehicle system implementation, inclu

4、ding power modules, the speed control module, the path detection module, the direction of control module, and each module hardware design and software development.Keywords: MC9S12DG128, Power, speed, control, modular目錄第1章:緒論11.1智能車大賽介紹11.1.1大賽簡(jiǎn)介11.1.2大賽規(guī)則介紹1第2章:主要思路及技術(shù)方案概要32.1系統(tǒng)硬件結(jié)構(gòu)32.1.1主要模塊32.1.2工

5、作過(guò)程42.2系統(tǒng)軟件設(shè)計(jì)流程4第3章:智能車硬件系統(tǒng)設(shè)計(jì)63.1電源模塊63.2電機(jī)驅(qū)動(dòng)模塊和速度檢測(cè)73.2.1直流電機(jī)特性83.2.2速度檢測(cè)83.3攝像頭模塊設(shè)計(jì)93.3.1供電電路93.3.2攝像頭采集電路圖93.4調(diào)試電路模塊10第4章:智能車軟件系統(tǒng)設(shè)計(jì)114.1圖像采集114.1.1攝像頭的工作原理114.1.2視頻同步分離電路124.1.3攝像頭初始化144.1.4采集154.2圖像處理154.2.1圖像二值化處理154.2.2黑線提取164.3控制系統(tǒng)的設(shè)計(jì)174.3.1舵機(jī)控制174.3.2速度檢測(cè)與控制194.3.3可能情況下速度處理21第5章:謝辭22第6章:參考文獻(xiàn)

6、23II第1章:緒論1.1智能車大賽介紹1.1.1大賽簡(jiǎn)介受教育部高等教育司委托,高等學(xué)校自動(dòng)化專業(yè)教學(xué)指導(dǎo)委員會(huì)負(fù)責(zé)主辦全國(guó)大學(xué)生智能車競(jìng)賽。該項(xiàng)比賽以列入教育部主辦的全國(guó)五大競(jìng)賽之一。首屆“飛思卡爾”杯全國(guó)大學(xué)生智能車邀請(qǐng)賽于2006年在清華大學(xué)成功舉辦。此項(xiàng)比賽,在韓國(guó)已舉辦過(guò)多屆,其專業(yè)知識(shí)涉及控制、模式識(shí)別、傳感技術(shù)、汽車電子、電氣、計(jì)算機(jī)、機(jī)械等諸多學(xué)科,對(duì)學(xué)生的知識(shí)融合和動(dòng)手能力的培養(yǎng),對(duì)高等學(xué)??刂萍捌囯娮訉W(xué)科學(xué)水平的提高,具有良好的推動(dòng)作用。很慶幸,我們學(xué)校參加了今年的第四屆比賽,在本次比賽中,參賽選手仍須使用大賽組委會(huì)統(tǒng)一提供的競(jìng)賽車模,以Freescale公司生產(chǎn)的16

7、 位微控制器MC9S12DG128作為核心制單元,自主構(gòu)思控制方案及系統(tǒng)設(shè)計(jì),包括傳感器信號(hào)采集處理、控制算法及執(zhí)行、動(dòng)力電機(jī)驅(qū)動(dòng)、轉(zhuǎn)向舵機(jī)控制等,最終實(shí)現(xiàn)一套能夠自主識(shí)別路線,并且可以實(shí)時(shí)輸出車體狀態(tài)的智能車控制軟硬件系統(tǒng)。1.1.2大賽規(guī)則介紹根據(jù)第四屆全國(guó)大學(xué)生“飛思卡爾”杯智能車競(jìng)賽比賽規(guī)則中對(duì)參賽車模的規(guī)定進(jìn)行智能車的設(shè)計(jì)。主要規(guī)定有:參賽選手須使用大賽組委會(huì)統(tǒng)一提供的競(jìng)賽車模,采用飛思卡爾16 位微控制器 MC9S12DG128 作為核心控制單元,自主構(gòu)思控制方案及系統(tǒng)設(shè)計(jì),包括傳感器信號(hào)采集處理、控制算法及執(zhí)行、動(dòng)力電機(jī)驅(qū)動(dòng)、轉(zhuǎn)向舵機(jī)控制等,完成智能車工程制作及調(diào)試,于指定日期與

8、地點(diǎn)參加場(chǎng)地比賽。參賽隊(duì)伍之名次(成績(jī))由賽車現(xiàn)場(chǎng)成功完成賽道比賽時(shí)間為主,技術(shù)方案及制作工程質(zhì)量評(píng)分為輔來(lái)決定。組委會(huì)制定如下競(jìng)賽規(guī)則,在實(shí)際可操作性基礎(chǔ)上力求公正與公平參與。組委會(huì)將邀請(qǐng)獨(dú)立公證人監(jiān)督現(xiàn)場(chǎng)賽事及評(píng)判過(guò)程。一:對(duì)于智能競(jìng)賽車模1)、禁止改動(dòng)車底盤(pán)結(jié)構(gòu)、輪距、輪徑及輪胎。2)、禁止改動(dòng)驅(qū)動(dòng)電機(jī)的型號(hào)及傳動(dòng)比。3)、禁止改造滾珠軸承。4)、禁止改動(dòng)舵機(jī),但可以更改舵機(jī)輸出軸上連接件。5)、禁止改動(dòng)驅(qū)動(dòng)電機(jī)及電池,車模主要前進(jìn)動(dòng)力來(lái)源于車模本身直流電機(jī)及電池。6)、為了車模的行駛可以安裝電路傳感器等,允許在底盤(pán)上打孔或者安裝輔助支架等。其他事項(xiàng):車模改裝完畢后,尺寸不能超過(guò):250

9、mm 寬和400mm 長(zhǎng),高度無(wú)限制。二:電路器件及控制驅(qū)動(dòng)電路限制1)、核心控制模塊可以采用組委會(huì)提供的 HCS12 模塊,也可以采用MC9SDG128自制控制電路板,除了DG128MCU 之外不得使用輔助處理器以及其它可編程器件。附:可以使用飛思卡爾公司8位、16位系列微控制器(單核,例如禁止使用MC9S12X 系列)芯片自制控制電路板。每臺(tái)模型車的電路板中只允許使用一種型號(hào)微控制器。8位微控制器最多可以使用2片,16位微控制器限制只能使用一片;不得同時(shí)使用8位和16位微控制器。2)、伺服電機(jī)數(shù)量不超過(guò) 3 個(gè)。3)、傳感器數(shù)量不超過(guò) 16 個(gè)(紅外傳感器的每對(duì)發(fā)射與接受單元計(jì)為1 個(gè)傳感

10、器,CCD 傳感器記為1 個(gè)傳感器)。4)、直流電源使用大賽提供的電池。5)、禁止使用 DC-DC 升壓電路為驅(qū)動(dòng)電機(jī)以及舵機(jī)提供動(dòng)力。6)、全部電容容量和不得超過(guò) 2000 微法;電容最高充電電壓不得超過(guò)25 伏。第2章:主要思路及技術(shù)方案概要2.1系統(tǒng)硬件結(jié)構(gòu)由于本次比賽我們參加的是攝像頭組,所以討論攝像頭設(shè)計(jì)方案,硬件電路是整個(gè)系統(tǒng)的基礎(chǔ),整個(gè)賽車共包括七大模塊:微處理器芯片MC9S12DG128,電源模塊,圖像采集模塊(攝像頭),速度檢測(cè)模塊,電機(jī)驅(qū)動(dòng)模塊,舵機(jī)驅(qū)動(dòng)模塊及輔助調(diào)試模塊。下面是整個(gè)系統(tǒng)的硬件結(jié)構(gòu)圖。(圖2-1)。圖2-1 系統(tǒng)整體結(jié)構(gòu)2.1.1主要模塊1)、MC9S12D

11、G128微處理器:它是整個(gè)系統(tǒng)的核心部分,所有的信息都要由他來(lái)處理,他負(fù)責(zé)接收賽道圖像信息、賽車速度反饋信息,并對(duì)信息進(jìn)行快速的處理,形成適合的控制量來(lái)控制電機(jī)工作及舵機(jī)的工作。2)、圖像采集模塊:圖像采集模塊由DG128的AD模塊,外圍芯片(LM1881)與攝像頭共同組成的電路構(gòu)成。其作用是獲取路徑信息,并送到S12進(jìn)一步分析處理。3)、速度檢測(cè)模塊:對(duì)于車速的檢測(cè),我們采用的霍爾傳感器,由附在驅(qū)動(dòng)齒輪四周的8個(gè)小磁鐵和霍爾傳感器組成。通過(guò)獲得的高低電平來(lái)間接得求出賽車的實(shí)時(shí)速度。同時(shí)構(gòu)成了系統(tǒng)的閉環(huán)控制。4)、電機(jī)驅(qū)動(dòng)模塊:是整個(gè)賽車的動(dòng)力源泉,驅(qū)動(dòng)賽車前進(jìn)。5)、舵機(jī)驅(qū)動(dòng)模塊:控制賽車的

12、轉(zhuǎn)向。6)、輔助調(diào)試模塊:調(diào)試模塊主要用的是BDM,用于程序的燒寫(xiě),功能的調(diào)試,系統(tǒng)設(shè)置等等。7)、電源模塊:給系統(tǒng)各個(gè)模塊提供所需的電壓。2.1.2工作過(guò)程系統(tǒng)將圖像采集模塊,速度采集模塊采集到的路況信息、速度信息和小車狀態(tài)信息等送到整個(gè)系統(tǒng)的核心部件MC9S12DG128進(jìn)行分析處理,然后發(fā)出相應(yīng)控制命令輸出到執(zhí)行模塊的電機(jī)和舵機(jī)執(zhí)行適宜的速度和轉(zhuǎn)向動(dòng)作。 2.2系統(tǒng)軟件設(shè)計(jì)流程系統(tǒng)硬件位于底層,是整個(gè)系統(tǒng)的基礎(chǔ),系統(tǒng)軟件結(jié)構(gòu)要根據(jù)硬件和控制需求來(lái)制定。系統(tǒng)的基礎(chǔ)軟件流程為:首先,對(duì)各功能模塊和控制參數(shù)進(jìn)行初始化,然后,通過(guò)圖像采集模塊獲取前方賽道的信息,同時(shí)通過(guò)速度傳感器獲取當(dāng)前賽車的實(shí)

13、時(shí)速度。采用PID對(duì)舵機(jī)進(jìn)行反饋控制。另外根據(jù)檢測(cè)到的速度,結(jié)合速度控制策略,對(duì)賽車速度不斷進(jìn)行適當(dāng)?shù)恼{(diào)整,使賽車在符合比賽規(guī)則的前提下,沿賽道快速行駛。系統(tǒng)的基本軟件結(jié)構(gòu)流程如下 圖2-2 系統(tǒng)軟件基本流程第3章:智能車硬件系統(tǒng)設(shè)計(jì)在智能車的硬件結(jié)構(gòu)搭建完成后,我們就要開(kāi)始,系統(tǒng)各個(gè)模塊的硬件電路設(shè)計(jì)了。3.1電源模塊比賽所用的電池是用6節(jié)相同型號(hào)的1.2V鎳鎘電池串聯(lián)起來(lái)從而得到7.2V的電池組,其容量標(biāo)稱為2000mAh,也就是說(shuō),該電池可以在2A電流下持續(xù)供電一個(gè)小時(shí)。根據(jù)系統(tǒng)各功能電路對(duì)電源(工作電流和電壓)的要求,電源模塊包含多個(gè)穩(wěn)壓電路將電池電壓轉(zhuǎn)換成各個(gè)模塊所需的電壓,主要包括

14、如下不同的電壓: 圖3-1 電源模塊1)、+5V電源,主要給MC9S12DG128單片機(jī)系統(tǒng)供電,以及串行通訊口電路等提供穩(wěn)定的電源。2)、6V電源,主要給舵機(jī)提供工作電壓,根據(jù)前三屆的經(jīng)驗(yàn),舵機(jī)可以直接工作在7.2V電壓下,并且高電壓可以提高舵機(jī)的響應(yīng)速度。3)、7.2V電壓,主要用于后輪直流電機(jī)驅(qū)動(dòng)模塊,必須能夠提供大電流,所以必須用大的電容來(lái)提高電池的瞬時(shí)電流能力,但必須滿足大賽對(duì)電容容量的要求。4)、12V電壓,主要用于CCD/CMOS圖像傳感器的工作電壓,根據(jù)所選的攝像頭的規(guī)格來(lái)定。 注意:電源要注意濾波,各功能電源特別是功率電源個(gè)模擬電路電源一定要分開(kāi),并要求一點(diǎn)接地,從而減少噪聲

15、和干擾帶來(lái)的影響。(下面是部分電源供電電路原理圖截圖)圖3-2 電機(jī)和舵機(jī)供電電路3.2電機(jī)驅(qū)動(dòng)模塊和速度檢測(cè)該車模驅(qū)動(dòng)電機(jī)堵轉(zhuǎn)電流為12A,車模正常行駛時(shí)電機(jī)電流為3A左右,車模行駛時(shí)需要對(duì)車速加以控制,則對(duì)電機(jī)必須進(jìn)行PWM調(diào)速,下圖4-3,為我們的電路設(shè)計(jì)。圖3-3 電機(jī)模塊采用了兩片MC33886并聯(lián)是為了防止由于電流過(guò)大發(fā)熱加劇導(dǎo)致其過(guò)熱保護(hù)。3.2.1直流電機(jī)特性型號(hào):RS-380SH;輸出功率:0.9W-40W,工作電壓7.2V,空載電流0.5V,轉(zhuǎn)速16200r/min,電流3.3A是轉(zhuǎn)速14060r/min,直流電機(jī)具有相應(yīng)迅速、低電平穩(wěn)定性好、調(diào)速范圍寬等。通過(guò)控制驅(qū)動(dòng)電機(jī)

16、兩端的電壓來(lái)控制車模的加減速和制動(dòng),電機(jī)工作狀態(tài)有正轉(zhuǎn)做功和發(fā)電兩個(gè)狀態(tài)。3.2.2速度檢測(cè)要使車能夠快速穩(wěn)定的運(yùn)行,并且很好的實(shí)現(xiàn)加速和減速,速度控制就是很重要的,所以我們就需要精確的測(cè)得車的速度,對(duì)于車速的檢測(cè),我們采用霍爾傳感器檢測(cè),由附在驅(qū)動(dòng)齒輪四周的8個(gè)小磁鐵和霍爾傳感器組成?;魻栐腥齻€(gè)引腳,其中兩個(gè)引腳是電源和地,第三個(gè)是輸出信號(hào),只要通過(guò)一個(gè)上拉電阻接至5V的電壓,就可以形成開(kāi)關(guān)脈沖信號(hào),后輪電機(jī)每轉(zhuǎn)一周就會(huì)形成8個(gè)脈沖信號(hào)。輸出的電壓信號(hào)可以由單片機(jī)的A/D端口進(jìn)行讀取,通過(guò)周期性地讀取計(jì)數(shù)器計(jì)數(shù)數(shù)值,可以反映出脈沖頻率,從而得到測(cè)速信息。3.3攝像頭模塊設(shè)計(jì)3.3.1供電

17、電路圖3-4 攝像頭供電電路3.3.2攝像頭采集電路圖圖3-5 攝像頭采集電路3.4調(diào)試電路模塊調(diào)試電路用于模型車開(kāi)發(fā)調(diào)試階段的工作中,特別是在現(xiàn)場(chǎng)調(diào)試過(guò)程中。他一方面可以顯示模型車控制電路的各種信息及工作參數(shù),另一方面還可以對(duì)工作參數(shù)進(jìn)行現(xiàn)場(chǎng)修改。由于調(diào)試電路做在智能車模上影響車模的工作狀態(tài),所以采用軟件的方法來(lái)進(jìn)行調(diào)試,整個(gè)BDM和串口將數(shù)據(jù)送到PC進(jìn)行分析。車模的運(yùn)行參數(shù)存儲(chǔ)在單片機(jī)的EEPPROM或RAM中。調(diào)試電路增加撥碼開(kāi)關(guān)輸入,用來(lái)進(jìn)行不同程序的選擇需要。用4個(gè)LED發(fā)光二極管來(lái)指示程序的執(zhí)行情況。最后用著4個(gè)LED作為智能車轉(zhuǎn)向信號(hào)指示。第4章:智能車軟件系統(tǒng)設(shè)計(jì)4.1圖像采集

18、視頻采集模塊由攝像頭、LM1881視頻信號(hào)分離芯片以及S12的AD模塊構(gòu)成。視頻信號(hào)是AD采集的基礎(chǔ),下面介紹攝像頭的工作原理和視頻信號(hào)的特征。4.1.1攝像頭的工作原理攝像頭分黑白和彩色兩種,根據(jù)賽道特點(diǎn)可知,為達(dá)到尋線的目的,只需提取畫(huà)面的灰度信息,而不必提取其色彩信息,所以本設(shè)計(jì)中采用的是黑白攝像頭。攝像頭主要由鏡頭、圖像傳感芯片和外圍電路構(gòu)成。圖像傳感芯片是其最重要的部分,但該芯片要以配合合適的電路才能工作。將芯片和外圍電路制作在一塊電路板上,稱為“單板”。若給單板配上鏡頭、外殼、引線和接頭,就構(gòu)成了通常所見(jiàn)的攝像頭,如聊天用的攝像頭;若只給單板配上鏡頭,這就是“單板攝像頭”。單板攝像

19、頭日常生活中不多見(jiàn),生產(chǎn)單板的公司通常將它們賣給其它公司,其它公司再按自己的要求包裝這些單板。單板通常有三個(gè)端子:電源端、地端和視頻信號(hào)端(有的還多出一個(gè)端子,那是音頻信號(hào)端)。電源接的電壓要視具體的單板而定,目前一般有兩種規(guī)格,6-9V或9-12V。視頻信號(hào)的電壓一般位于0.5V-2V之間。攝像頭的工作原理是:按一定的分辨率,以隔行掃描的方式采集圖像上的點(diǎn),當(dāng)掃描到某點(diǎn)時(shí),就通過(guò)圖像傳感芯片將該點(diǎn)處圖像的灰度轉(zhuǎn)換成與灰度一一對(duì)應(yīng)的電壓值,然后將此電壓值通過(guò)視頻信號(hào)端輸出。具體而言(參見(jiàn)圖5-1),攝像頭連續(xù)地掃描圖像上的一行,則輸出就是一段連續(xù)的電壓信號(hào),該電壓信號(hào)的高低起伏反映了該行圖像的

20、灰度變化。當(dāng)掃描完一行,視頻信號(hào)端就輸出一個(gè)低于最低視頻信號(hào)電壓的電平(如 0.3V),并保持一段時(shí)間。這樣相當(dāng)于,緊接著每行圖像信號(hào)之后會(huì)有一個(gè)電壓“凹槽”,此“凹槽”叫做行同步脈沖,它是掃描換行的標(biāo)志。然后,跳過(guò)一行后(因?yàn)閿z像頭是隔行掃描的),開(kāi)始掃描新的一行,如此下去,直到掃描完該場(chǎng)的視頻信號(hào),接著會(huì)出現(xiàn)一段場(chǎng)消隱區(qū)。該區(qū)中有若干個(gè)復(fù)合消隱脈沖,其中有個(gè)遠(yuǎn)寬于(即持續(xù)時(shí)間遠(yuǎn)長(zhǎng)于)其它的消隱脈沖,稱為場(chǎng)同步脈沖,它是掃描換場(chǎng)的標(biāo)志。場(chǎng)同步脈沖標(biāo)志著新的一場(chǎng)的到來(lái),不過(guò),場(chǎng)消隱區(qū)恰好跨在上一場(chǎng)的結(jié)尾和下一場(chǎng)的開(kāi)始部分,得等場(chǎng)消隱區(qū)過(guò)去,下一場(chǎng)的視頻信號(hào)才真正到來(lái)。攝像頭每秒掃描25幅圖像,

21、每幅又分奇、偶兩場(chǎng),先奇場(chǎng)后偶場(chǎng),故每秒掃描50 場(chǎng)圖像。奇場(chǎng)時(shí)只掃描圖像中的奇數(shù)行,偶場(chǎng)時(shí)則只掃描偶數(shù)行。圖4-1 攝像頭視頻信號(hào)攝像頭有兩個(gè)重要的指標(biāo):分辨率和有效像素。分辨率實(shí)際上就是每場(chǎng)行同步脈沖數(shù),這是因?yàn)樾型矫}沖數(shù)越多,則對(duì)每場(chǎng)圖像掃描的行數(shù)也越多。事實(shí)上,分辨率反映的是攝像頭的縱向分辨能力。有效像素常寫(xiě)成兩數(shù)相乘的形式,如“320x240”,其中前一個(gè)數(shù)值表示單行視頻信號(hào)的精細(xì)程度,即行分辨能力;后一個(gè)數(shù)值為分辨率,因而有效像素=行分辨能力分辨率。4.1.2視頻同步分離電路要能有效地對(duì)視頻信號(hào)進(jìn)行采樣,首先要處理好的問(wèn)題是如何提取出攝像頭信號(hào)中的行同步脈沖、消隱脈沖和場(chǎng)同步脈沖

22、。這里有兩種可行的方法。第一,直接通過(guò)單片機(jī)AD 進(jìn)行提取。因?yàn)樾型矫}沖、消隱脈沖或場(chǎng)同步脈沖信號(hào)的電平低于這些脈沖以外攝像頭信號(hào)的電平,所以據(jù)此可設(shè)定一個(gè)信號(hào)電平閾值來(lái)判斷AD 采樣到的信號(hào)是否為上述三類脈沖。第二,就是給單片機(jī)配以合適的外圍 芯片,此芯片要能夠提取出攝像頭信號(hào)的行同步脈沖、消隱脈沖和場(chǎng)同步脈沖以供單片機(jī)作控制之用??紤]到單片機(jī)的速度有限,而一些脈沖的間隔時(shí)間又較短,為了減輕其處理負(fù)擔(dān),采用了第二種方法進(jìn)行信號(hào)提取。LM1881 視頻同步信號(hào)分離芯片可從攝像頭信號(hào)中提取信號(hào)的時(shí)序信息,如行同步脈沖、場(chǎng)同步脈沖和奇、偶場(chǎng)信息等,并將它們轉(zhuǎn)換成TTL 電平直接輸給單片機(jī)的I/O

23、 口作控制信號(hào)之用。1881 的端口接線方式如圖5-2所示圖4-2 LM1881引腳圖其中,引腳2 為視頻信號(hào)輸入端,引腳1 為行同步信號(hào)輸出端(如圖5-3中的b)。引腳3 為場(chǎng)同步信號(hào)輸出端,當(dāng)攝像頭信號(hào)的場(chǎng)同步脈沖到來(lái)時(shí),該端將變?yōu)榈碗娖?,一般維持230us,然后重新變回高電平(如圖5-3中的c)。引腳7 為奇-偶場(chǎng)同步信號(hào)輸出端,當(dāng)攝像頭信號(hào)處于奇場(chǎng)時(shí),該端為高電平,當(dāng)處于偶場(chǎng)時(shí),為低電平。事實(shí)上,不僅可以用場(chǎng)同步信號(hào)作為換場(chǎng)的標(biāo)志,也可以用奇-偶場(chǎng)間的交替作為換場(chǎng)的標(biāo)志。圖4-3 LM1881時(shí)序信號(hào)4.1.3攝像頭初始化由于攝像頭行同步信號(hào)以及場(chǎng)同步信號(hào)接到了S12單片機(jī)的外部中斷I

24、RQ引腳,所以當(dāng)每行視頻信號(hào)到來(lái)時(shí),就會(huì)觸發(fā)一個(gè)中斷。此時(shí)如果需要采集該行,就開(kāi)始進(jìn)行AD轉(zhuǎn)換。攝像頭的初始化包括中斷初始化和AD初始化。/IRQ行中斷初始化Void IRQ_init(void)INITCR_IRQEN=0;/不能使IRQINITCR_IRQE=1;/下沿觸發(fā)/ A/D初始化Void AD_init(void)ATD0CTL2=0xC0;ATD0CTL3=0X08;ATD0CTL4=0X81;ATD0CTL5=0XA0;ATD0CTEN=0X00;/定時(shí)器0初始化void ECT_init(void) DDRT =0x00; /PT口 定義輸入 TIOS =0x00; /設(shè)為

25、輸入捕捉 TSCR1=0x80; /定時(shí)器使能 TSCR2=0x87; /允許定時(shí)器溢出中斷,定時(shí)器時(shí)鐘32M/(24)=2M TCTL4=0xAA; /觸發(fā)電平:下降沿 /1010 1010 -1010 1011 TFLG1=0xFF; /清除中斷標(biāo)志 HPRIO=0xE8; / TIE =0x0B;/開(kāi)中斷 / 0000 10114.1.4采集當(dāng)行同步信號(hào)過(guò)來(lái)時(shí),先判定該行信號(hào)是否處于場(chǎng)消隱區(qū),處于則退出。反之,延時(shí)一段時(shí)間使之過(guò)去,再判斷是否采集數(shù)據(jù),是則采集AD值傳至數(shù)組中。當(dāng)場(chǎng)同步信號(hào)過(guò)來(lái)時(shí),先關(guān)閉中斷,再交換圖像指針,處理圖像,判斷道路特性,從而判斷舵機(jī)和電機(jī)工作。4.2圖像處理本

26、次比賽我們圖像部分采用了二值化算法,因?yàn)橘惖乐挥泻诎變煞N顏色,很容易分辨,采用二值化算法可以得到很好的效果。首先將灰度圖像二值化,得到二值化圖像,這樣有利于圖像進(jìn)一步處理。之后我們對(duì)二值化后的圖像進(jìn)行去噪并黑線提取,主要采用的是邊緣檢測(cè)算法。4.2.1圖像二值化處理圖像二值化處理就是將圖像上的點(diǎn)的灰度置為0或者255,也就是將整個(gè)圖像呈現(xiàn)出明顯的黑白效果。即將256個(gè)亮度等級(jí)的灰度圖像通過(guò)適當(dāng)?shù)年I值選取而獲得仍然可以反映圖像整體和局部特征的二值化圖像。首先把灰度圖像二值化,得到二值化圖像,這樣子有利于圖像進(jìn)一步處理。圖像的集合性質(zhì)只與像素值為0或255的點(diǎn)的位置有關(guān),不再涉及像素的多級(jí)值,是處

27、理變得簡(jiǎn)單,而且數(shù)據(jù)的處理和壓縮量小。為了得到理想的二值化圖像,我們必須得到準(zhǔn)確的闕值,我們經(jīng)過(guò)大量實(shí)驗(yàn),最后確定為60,當(dāng)像素值小于這個(gè)闕值時(shí),我們認(rèn)定是黑線,當(dāng)像素值大于這個(gè)闕值時(shí),我們認(rèn)為是白線。如下圖,即為我們咋二值化后通過(guò)串口打印出來(lái)的圖像。圖4-4 二值化處理后的圖像其中由“1”構(gòu)成的直線即為實(shí)際中黑線的走向,4.2.2黑線提取經(jīng)過(guò)二值化處理后的圖像數(shù)組,是有效提取黑線的前提,我們采用邊緣檢測(cè)的方法來(lái)分析此二維數(shù)組并提取黑線。二維數(shù)組的行數(shù)和列數(shù)即為像素的圖像坐標(biāo),我們?nèi)羟蟪隽撕诰€邊緣的圖像坐標(biāo),就知道了黑線的位置。黑線邊緣的特點(diǎn)是其左右兩像素為一白一黑,兩像素值的差的絕對(duì)值大于某

28、闕值,大小可以根據(jù)實(shí)驗(yàn)確定。而其余處的相鄰兩像素或全白,或全黑,像素值差的絕對(duì)值小于該闕值。這樣,只要我們對(duì)兩數(shù)組每行中任何相鄰兩點(diǎn)做差,就可以根據(jù)差值的大小是否大于該闕值來(lái)判斷此兩點(diǎn)處是否為黑線邊緣,還可以以進(jìn)行根據(jù)差值的正負(fù)來(lái)判斷邊緣處是左白右黑,還是右黑左白。從最左端的第一個(gè)有效數(shù)據(jù)點(diǎn)開(kāi)始依次向右進(jìn)行闕值判斷:由于實(shí)際中黑白賽道邊緣可能會(huì)出現(xiàn)模糊偏差,導(dǎo)致闕值并不是個(gè)很簡(jiǎn)單介于兩相鄰之間,很可能要相隔兩個(gè)點(diǎn)。因此:第line 為原點(diǎn),判斷和line+3 的差是否大于該闕值,如果是則將line+3 記為i,從i 開(kāi)始繼續(xù)在接下的從i+3到該行最末一個(gè)點(diǎn)之間的差值是否大于闕值,如果大于則將l

29、ine+i/2+1 的坐標(biāo)賦給中心給黑線中心位置值,如圖圖4-5 單行黑線提取利用該算法所得到的黑線提取效果不僅可靠,而且實(shí)時(shí)性好;在失去黑線目標(biāo)以后能夠記住是從左側(cè)還是從右側(cè)超出視野,從而控制舵機(jī)轉(zhuǎn)向讓賽車回到正常賽道。4.3控制系統(tǒng)的設(shè)計(jì)黑線的提取已經(jīng)完成了,接下來(lái)就要根據(jù)檢測(cè)到的路徑進(jìn)行控制了,智能車控制的核心為速度和方向,速度和方向均受多種復(fù)雜因素的影響。為了實(shí)現(xiàn)速度和方向的反饋控制,我們采用PID算法對(duì)速度和方向進(jìn)行校正。PID控制的實(shí)質(zhì)是根據(jù)輸入的偏差值,按一定的函數(shù)關(guān)系進(jìn)行運(yùn)算,其運(yùn)算結(jié)果用以控制輸出。4.3.1舵機(jī)控制對(duì)于舵機(jī)可以通過(guò)PWM輸出的脈沖的大小進(jìn)行左轉(zhuǎn)和右轉(zhuǎn),因此在

30、程序上可以控制發(fā)送不同寬度的PWM波,舵機(jī)內(nèi)部會(huì)產(chǎn)生一個(gè)頻率為50Hz的基準(zhǔn)信號(hào),通過(guò)基準(zhǔn)信號(hào)與外部所給的PWM波的正脈沖持續(xù)時(shí)間進(jìn)行比較,從而確定轉(zhuǎn)向和轉(zhuǎn)角的大小。當(dāng)所加PWM波的頻率為50Hz時(shí),脈沖寬度與轉(zhuǎn)角對(duì)應(yīng)如下圖所示。圖4-6 脈沖寬度與轉(zhuǎn)角對(duì)應(yīng)圖由于攝像頭具有很好的前瞻性,可以提前獲取賽道信息,因此我們可以提前判斷賽道是直道還是彎道,對(duì)于前面黑線的提取同時(shí),我們還要從中找到賽道的變化曲率,例如走直道、小S彎、大S彎等等。知道賽道的曲率后,便可控制舵機(jī)提前轉(zhuǎn)彎。下面介紹賽道的斜率變化對(duì)應(yīng)舵機(jī)的控制。一場(chǎng)圖像數(shù)據(jù)處理結(jié)束后,賽道的路徑信息會(huì)清晰的再現(xiàn)出來(lái)。根據(jù)整幅圖像黑線的有效起點(diǎn)和

31、有效終點(diǎn)的斜率和偏離圖像中心位置的偏移量,就可以判斷當(dāng)前賽道是直道還是彎道。根據(jù)這些信息給定舵機(jī)的控制量。此方案獲的主要思想如下:首先找到圖像數(shù)據(jù)最近位置的第一個(gè)有效行,同時(shí)記錄黑線的中心位置信息,定義為(X0,Y0 )。然后再找最遠(yuǎn)位置的第一個(gè)有效行,以及其黑線中心位置,定義為(X1,Y1 )。據(jù)此算出黑線的斜率(Y1 - Y0 )/ (X1 - X0 ),和黑線偏離圖像中心位置的偏移量| X0 |。其示意圖如下。其計(jì)算公式為:舵機(jī)控制量 = K0*X0 + K1* (X1 - X0 )/(Y1 -Y0 )根據(jù)不斷的調(diào)試和經(jīng)驗(yàn)數(shù)據(jù)得到比例系數(shù) K0,K1 的確切的值。4.3.2速度檢測(cè)與控制

32、能車在行駛過(guò)程中,需要實(shí)時(shí)檢測(cè)狀態(tài),從而決定下一時(shí)刻的控制量。通過(guò)測(cè)速電路測(cè)得單位時(shí)間內(nèi)的脈沖個(gè)數(shù),從而計(jì)算出智能車的速度。速度控制要考慮的因素有兩個(gè)方面,一是當(dāng)前速度,一是當(dāng)前路況。當(dāng)前速度可由霍爾傳感器檢測(cè)并輸入單片機(jī)內(nèi)處理得到。速度采集源程序如下:/用于測(cè)速,每當(dāng)測(cè)速脈沖到來(lái)時(shí),脈沖計(jì)數(shù)加一 Void interrupt 8 int_Timer0(void)DisableInterrupts; TFLG1_C0F=1; ui_SpeedCount+; /計(jì)數(shù)器自加 EnableInterrupts;/計(jì)算速度/*定時(shí)器溢出中斷函數(shù)*void interrupt 16 vTimerOver

33、flow_ISR(void) /用于測(cè)量賽車速度。 DisableInterrupts; TFLG2_TOF=1; ui_DetectSpeed=ui_SpeedCount;/在定時(shí)器溢出時(shí)也就是得到了時(shí)間 速度=(計(jì)數(shù)值/8*車輪周長(zhǎng))/溢出時(shí)間 ui_SpeedCount=0; /printp(speed=%dn,ui_DetectSpeed); EnableInterrupts; 速度控制應(yīng)采用閉環(huán)控制,采用PID算法,計(jì)算的速度控制值通過(guò)給電機(jī)施加一定寬度的PWM脈沖來(lái)實(shí)現(xiàn)。電機(jī)運(yùn)轉(zhuǎn)控制有3種方式:加速轉(zhuǎn)動(dòng)、減速轉(zhuǎn)動(dòng)、反轉(zhuǎn)。加速的過(guò)程比較簡(jiǎn)單,直接將電機(jī)控制信息的值查表轉(zhuǎn)換成對(duì)應(yīng)的PWM發(fā)生器寄存器值即可。根據(jù)所需要的速度增量調(diào)整PWM發(fā)生器寄存器值,提高電機(jī)的電壓。減速過(guò)程則通過(guò)兩種方法完成。把PID計(jì)算得出的電機(jī)控制信息與一個(gè)事先測(cè)定好的臨界值作比較,如果需要降低的速度量小于此臨界值,說(shuō)明速度需要稍微降低,使用類似于加速的方法根據(jù)速度增量調(diào)整PWM發(fā)生器寄存器值,降低電機(jī)電壓。如果需要降低的速度量大于此臨界值,說(shuō)明當(dāng)前車模需要一個(gè)剎車,程序?qū)?dāng)前PWM發(fā)生器寄存器置零,然后設(shè)置另一個(gè)控制電機(jī)反轉(zhuǎn)的寄存器值,給予電機(jī)一個(gè)反轉(zhuǎn)的動(dòng)力,給車模產(chǎn)生一個(gè)較大的阻

溫馨提示

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

評(píng)論

0/150

提交評(píng)論