基于CMOS圖像傳感器的視覺(jué)導(dǎo)航小車(chē)設(shè)計(jì)_第1頁(yè)
基于CMOS圖像傳感器的視覺(jué)導(dǎo)航小車(chē)設(shè)計(jì)_第2頁(yè)
基于CMOS圖像傳感器的視覺(jué)導(dǎo)航小車(chē)設(shè)計(jì)_第3頁(yè)
基于CMOS圖像傳感器的視覺(jué)導(dǎo)航小車(chē)設(shè)計(jì)_第4頁(yè)
基于CMOS圖像傳感器的視覺(jué)導(dǎo)航小車(chē)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)說(shuō)明書(shū)PAGE54摘要以飛思卡爾公司的16位微控制器MC9S12DGl28作為核心控制單元,設(shè)計(jì)了智能循線(xiàn)汽車(chē)控制系統(tǒng)的軟硬件,主要包括傳感器選型及信號(hào)采集處理、電機(jī)和舵機(jī)的控制等部分。采用CMOS傳感器作為信息采集模塊,安裝在小車(chē)前部,檢測(cè)白色跑道上的黑色引導(dǎo)線(xiàn)。根據(jù)黑線(xiàn)的位置,通過(guò)所設(shè)計(jì)的電路和程序?qū)鞲衅餍盘?hào)進(jìn)行采集處理。從而獲取車(chē)模相對(duì)賽道的偏移量、方向、速度等信息。通過(guò)編寫(xiě)控制程序,產(chǎn)生PWM脈沖信號(hào),對(duì)模型車(chē)轉(zhuǎn)向舵機(jī)以及驅(qū)動(dòng)電機(jī)進(jìn)行控制。最后完成了智能車(chē)工程制作及調(diào)試,并實(shí)現(xiàn)車(chē)模能夠沿著賽道高速穩(wěn)定地行駛。關(guān)鍵字:智能汽車(chē);CMOS傳感器;MC9S12DGl28;控制AbstractUsing16bitFreescalemicrocontrollerMC9S12DGl28astheelectmniccontrolunit(MCU),thispaperdesignedanddevelopedasmartcarwhichtracksablacklineonthewhiteracewayasfastandstableaspossible.Thehardwareandsoftwareofthesmartcarweredesigned,whichincludedthelinetrackingmodule,motordrivingmodule,servoconttrollingmodule,andspeedsensormodule,etc.ItselectedCMOSsensorswhichnamedov7620todetecttheblackline.Therelativepositionofthecenterblacklineontheraceway,directionandspeedofthecarwereobtainedandanalysedbyMCU.,accordingtocontrollingalgorithms,PWMsignalsweresenttodrivetheDCmotorandturntheservo.Sothesmartcarcanrunbytrackingtheblackline.Keywords:Smartcar;CMOSsensors;MC9S12DG128;control目錄14140第一章緒論 5197761.1選題背景 691141.2主要設(shè)計(jì)(研究)內(nèi)容 6278491.3系統(tǒng)主要技術(shù)指標(biāo) 7113191.4移動(dòng)機(jī)器人視覺(jué)系統(tǒng)研究現(xiàn)狀 7240431.5移動(dòng)機(jī)器人視覺(jué)系統(tǒng)的技術(shù)要求 830215第二章系統(tǒng)總體結(jié)構(gòu)方案設(shè)計(jì) 10282852.1系統(tǒng)總體結(jié)構(gòu)及其功能 10106052.2方案設(shè)計(jì) 1060382.2.1處理器模塊 1031662.2.2路徑識(shí)別模塊 11234662.2.3電機(jī)控制的選擇 12252272.2.4顯示選擇 13139622.2.5速度檢測(cè)模塊的選擇 13276102.2.6運(yùn)動(dòng)控制策略 1513938第三章系統(tǒng)的硬件設(shè)計(jì) 16234853.1單片機(jī) 16201143.1.1控制器介紹 16143733.1.2外部電路設(shè)計(jì) 19139903.2電源模塊設(shè)計(jì) 20176983.3圖像處理模塊 2222123.3.1攝像頭結(jié)構(gòu)和工作原理 2226703.3.2檢測(cè)黑線(xiàn)原理 2252583.3.3檢測(cè)黑線(xiàn)方法 23108773.3.4CMOS攝像頭的選取 24255403.3.5OV7620的介紹 24160603.3.6OV7620的輸出特性 24288883.3.7圖像存儲(chǔ)方式 25192453.3.8圖像采集系統(tǒng) 25320383.4電機(jī)驅(qū)動(dòng)模塊 26111383.4.1電機(jī)的選擇 26322633.4.2電機(jī)的特性 27118713.4.3電機(jī)驅(qū)動(dòng)模塊的選擇 27305793.4.4MC33886原理 27201723.4.5MC33886的使用說(shuō)明 30183063.4.6驅(qū)動(dòng)電路的設(shè)計(jì) 32148613.5速度檢測(cè)模塊 334073.6舵機(jī)控制模塊 34281303.6.1舵機(jī)的介紹 34161233.6.2舵機(jī)工作原理: 35117023.6.3舵機(jī)的基本資料 3539993.6.4舵機(jī)的控制方法 3589673.6.5舵機(jī)的控制 3613082第四章智能小車(chē)的軟件設(shè)計(jì)與實(shí)現(xiàn) 397504.1軟件設(shè)計(jì)環(huán)境 39139424.2軟件整體設(shè)計(jì)方案 3923754.3程序流程 4013574.4初始化 41158044.5程序代碼 4312568第五章運(yùn)動(dòng)控制策略 45231645.1PID控制器結(jié)構(gòu)設(shè)計(jì) 4519405.2PID運(yùn)用 46106075.3速度PID控制算法 4865675.4方向控制策略 4951425.5速度給定控制策略 507733第六章總結(jié) 53172856.1主要工作情況及創(chuàng)新之處 53145246.2系統(tǒng)改進(jìn)及發(fā)展前景 5322808致謝 5410673附錄A程序 5519915附錄B中英文翻譯 7224315參考文獻(xiàn) 83第一章緒論對(duì)于移動(dòng)機(jī)器人來(lái)說(shuō),定位和導(dǎo)航能力是非常重要的。在移動(dòng)機(jī)器人相關(guān)技術(shù)研究中,導(dǎo)航技術(shù)是其核心技術(shù),也是其實(shí)現(xiàn)真正的智能化和完全的自動(dòng)移動(dòng)的關(guān)鍵技術(shù)。移動(dòng)機(jī)器人的導(dǎo)航方式很多,有慣性導(dǎo)航、磁導(dǎo)航、視覺(jué)導(dǎo)航、基于傳感器(超聲傳感器、紅外傳感器、接觸傳感器等)數(shù)據(jù)導(dǎo)航、衛(wèi)星導(dǎo)航等。這些導(dǎo)航方式分別適用于各種不同的環(huán)境,包括室內(nèi)和室外環(huán)境,結(jié)構(gòu)化環(huán)境與非結(jié)構(gòu)化環(huán)境。其中,視覺(jué)導(dǎo)航方式具有信號(hào)探測(cè)范圍寬、信息量豐富等優(yōu)點(diǎn),近年來(lái)廣泛應(yīng)用于移動(dòng)機(jī)器人的自主導(dǎo)航,是移動(dòng)機(jī)器人導(dǎo)航的一個(gè)豐要發(fā)展方向。目前國(guó)內(nèi)外主要采用在移動(dòng)機(jī)器人上安裝車(chē)載攝像機(jī)的基于局部視覺(jué)的導(dǎo)航方式,視覺(jué)導(dǎo)航主要完成障礙物和路標(biāo)的探測(cè)及識(shí)別。視覺(jué)導(dǎo)航技術(shù)作為移動(dòng)機(jī)器人領(lǐng)域中一項(xiàng)關(guān)鍵技術(shù),近年來(lái)已經(jīng)被越來(lái)越多的學(xué)者所重視,并進(jìn)行深入的研究。目前視覺(jué)導(dǎo)航技術(shù)已經(jīng)成為移動(dòng)機(jī)器導(dǎo)航方法的主流趨勢(shì),并且在交通、醫(yī)學(xué)、娛樂(lè)、物流等領(lǐng)域的得到廣泛的應(yīng)用。目前多數(shù)機(jī)器人視覺(jué)系統(tǒng)采用的是CCD攝像機(jī),此類(lèi)視覺(jué)體系中必須配置專(zhuān)用的視屏采集卡才能獲得數(shù)字圖像信息。而近年來(lái)發(fā)展起來(lái)的CMOS圖像傳感器,由于其采用了CMOS工藝制造,因而可以將A/D等器件集進(jìn)去,使得圖像傳感器的集成度大大提高,進(jìn)行數(shù)字通訊更為方便,硬件的搭建更為簡(jiǎn)單。因此將CMOS圖像傳感器應(yīng)用到移動(dòng)機(jī)器人領(lǐng)域是一個(gè)發(fā)展的趨勢(shì)。1.1選題背景現(xiàn)代機(jī)器人技術(shù)在人工智能、計(jì)算機(jī)技術(shù)和傳感器技術(shù)的推動(dòng)下獲得了飛速發(fā)展,其中移動(dòng)機(jī)器人因具有可移動(dòng)性和自治能力,能適應(yīng)環(huán)境變化被廣泛用于物流、探測(cè)、服務(wù)等領(lǐng)域。移動(dòng)機(jī)器人的核心技術(shù)之一是導(dǎo)航技術(shù),特別是自主導(dǎo)航技術(shù)。由于環(huán)境的動(dòng)態(tài)變化和不可預(yù)測(cè)性、機(jī)器人感知手段的不完備等原因,使得移動(dòng)機(jī)器人的導(dǎo)航難度較大,一直是人們研究的重點(diǎn)。目前常用的一種導(dǎo)航方式是“跟隨路徑導(dǎo)引”,即機(jī)器人通過(guò)對(duì)能感知到某些外部的連續(xù)路徑參考信息做出相應(yīng)的反應(yīng)來(lái)導(dǎo)航。如在機(jī)器人運(yùn)動(dòng)路徑上敷設(shè)金屬導(dǎo)線(xiàn)或磁釘,通過(guò)檢測(cè)金屬導(dǎo)線(xiàn)或磁釘?shù)奶卣餍畔?lái)確定機(jī)器人的位置。從導(dǎo)航的角度看,這種方法的優(yōu)點(diǎn)是可靠性較高,但功能單一,如不能在行進(jìn)的同時(shí)對(duì)目標(biāo)進(jìn)行識(shí)別、避障,對(duì)環(huán)境的適應(yīng)能力較弱、靈活性較差、維護(hù)成本較高,因此限制了其在移動(dòng)機(jī)器人中的應(yīng)用。隨著計(jì)算機(jī)技術(shù)、數(shù)字圖像處理技術(shù)及圖像處理硬件的發(fā)展,基于計(jì)算機(jī)視覺(jué)的導(dǎo)航方式在機(jī)器人導(dǎo)航中得到廣泛關(guān)注。在實(shí)際應(yīng)用中,只需要在路面上畫(huà)出路徑引導(dǎo)線(xiàn),如同在公共交通道路上畫(huà)的引導(dǎo)線(xiàn)一樣,機(jī)器人就可以通過(guò)視覺(jué)進(jìn)行自主導(dǎo)航。相對(duì)于敷設(shè)金屬導(dǎo)線(xiàn)、磁釘?shù)确椒?,這種方法增強(qiáng)了系統(tǒng)的靈活性,降低了維護(hù)成本。視覺(jué)信息中包含有大量的數(shù)據(jù),要從中提取有用的信息,需要復(fù)雜的算法及耗時(shí)的計(jì)算。視覺(jué)導(dǎo)航小車(chē)是一種基于視覺(jué)導(dǎo)航技術(shù)的輪式移動(dòng)機(jī)器人。其視覺(jué)信號(hào)采集系統(tǒng)的實(shí)現(xiàn)方法很多,有PC機(jī)或嵌入式工控機(jī)、基于CPLD/FPGA、基于視頻專(zhuān)用DSP、基于單片機(jī)、基于專(zhuān)用采集專(zhuān)用采集壓縮芯片等等。單片機(jī)系統(tǒng)雖然運(yùn)算速度相對(duì)較低,但其成本在各種方案中最低,對(duì)于速度要求低、分辨率要求低、算法簡(jiǎn)單的系統(tǒng)仍很實(shí)用。如何保證視覺(jué)導(dǎo)航系統(tǒng)在正確理解路徑信息的前提下仍具有較好的實(shí)時(shí)性和魯棒性,是該方法要解決的核心問(wèn)題。1.2主要設(shè)計(jì)(研究)內(nèi)容本設(shè)計(jì)主要通過(guò)CMOS圖像傳感器獲得路面引導(dǎo)線(xiàn)圖像信息,利用高速單片機(jī)進(jìn)行圖像降噪處理以及路徑識(shí)別。實(shí)時(shí)調(diào)整小車(chē)姿態(tài)與速度,達(dá)到巡線(xiàn)行駛的目的。設(shè)計(jì)實(shí)現(xiàn)的主要功能:(1)利用CMOS圖像傳感器進(jìn)行路徑識(shí)別;(2)可識(shí)別啟動(dòng)標(biāo)識(shí)線(xiàn)及停止標(biāo)識(shí)線(xiàn);(3)可驅(qū)動(dòng)直流電機(jī)帶動(dòng)車(chē)輪,并用測(cè)速功能;(4)電池電壓檢測(cè),低壓提示;(5)電機(jī)堵轉(zhuǎn)過(guò)流保護(hù)。1.3系統(tǒng)主要技術(shù)指標(biāo)本系統(tǒng)所實(shí)現(xiàn)的主要技術(shù)指標(biāo)如下: (1)小車(chē)驅(qū)動(dòng)電源7.2V;(2)最高行駛速度10米/秒;(3)續(xù)航行駛距離200米。1.4移動(dòng)機(jī)器人視覺(jué)系統(tǒng)研究現(xiàn)狀移動(dòng)機(jī)器人有多種導(dǎo)航方式,根據(jù)環(huán)境信息的完整程度可以分為基于地圖導(dǎo)航、基于陸標(biāo)導(dǎo)航、環(huán)境未知導(dǎo)航?;诘貓D的導(dǎo)航是在機(jī)器人內(nèi)存有環(huán)境的完整信息,并在預(yù)先規(guī)劃出的一條全局路線(xiàn)的基礎(chǔ)上,采用路徑跟蹤和避障技術(shù),實(shí)現(xiàn)機(jī)器人導(dǎo)航。當(dāng)機(jī)器人對(duì)周?chē)h(huán)境并不完全了解時(shí),則可采用基于陸標(biāo)的導(dǎo)航策略,也就是將環(huán)境中具有明顯特征的景物存儲(chǔ)在機(jī)器人內(nèi)部,機(jī)器人通過(guò)對(duì)陸標(biāo)的探測(cè)來(lái)確定自己的位置,并將全局路線(xiàn)分解成陸標(biāo)與陸標(biāo)之間的片段,再通過(guò)一連串的陸標(biāo)探測(cè)和陸標(biāo)制導(dǎo)來(lái)完成導(dǎo)航任務(wù)。環(huán)境未知導(dǎo)航是機(jī)器人處于一個(gè)未知環(huán)境中,完全依靠傳感器感知周?chē)h(huán)境,建立環(huán)境模型,搜索目標(biāo)從而完成導(dǎo)航任務(wù)。顯而易見(jiàn),導(dǎo)航的難易程度是和先驗(yàn)獲得環(huán)境信息的數(shù)量和完整性緊密相連的,因而基于地圖的導(dǎo)航研究是起步最早的,也是問(wèn)題解決得較好的一種方式,并提出了路徑優(yōu)化的概念如能量最優(yōu)、移動(dòng)距離最優(yōu)等優(yōu)化指標(biāo),但其缺點(diǎn)是無(wú)法處理動(dòng)態(tài)變化的環(huán)境,因而限制了它的應(yīng)用領(lǐng)域?;陉憳?biāo)的導(dǎo)航和環(huán)境未知導(dǎo)航就必須依賴(lài)機(jī)器人自身的傳感器信息和機(jī)器人的控制策略來(lái)處理未知環(huán)境的導(dǎo)航問(wèn)題,相比較而言,擁有路標(biāo)的系統(tǒng)可以通過(guò)路標(biāo)對(duì)機(jī)器人的位置進(jìn)行修正,在環(huán)境未知情況下,對(duì)機(jī)器人的定位技術(shù)、運(yùn)動(dòng)策略的要求就更高了。可用于移動(dòng)機(jī)器人導(dǎo)航的信號(hào)類(lèi)型很多,如視覺(jué)傳感器(包括單目視覺(jué),雙目立體視覺(jué))、聲納、GPS、激光測(cè)距儀、羅盤(pán)和里程計(jì)(光電碼盤(pán))等。實(shí)際上一般實(shí)用的機(jī)器人不會(huì)只是依靠一種傳感設(shè)備進(jìn)行導(dǎo)航,而是多傳感器共同作用,增加信息的完整性和冗余度,采用多傳感器融合技術(shù),以達(dá)到運(yùn)動(dòng)控制的精確和穩(wěn)定。通過(guò)視覺(jué)信息進(jìn)行導(dǎo)航控制是隨著計(jì)算設(shè)備運(yùn)算速度和存儲(chǔ)容量的快速發(fā)展、圖像處理技術(shù)的進(jìn)步而提出來(lái)。視覺(jué)系統(tǒng)在導(dǎo)航中主要起到環(huán)境探測(cè)和辨識(shí)的作用。視覺(jué)導(dǎo)航的優(yōu)點(diǎn)在于其探測(cè)的范圍廣,取得的信息豐富,其難點(diǎn)在于機(jī)器人導(dǎo)航使用的視頻圖像信號(hào)數(shù)據(jù)量很大,要求較高的實(shí)時(shí)數(shù)據(jù)處理能力,同時(shí)從圖像中提取對(duì)導(dǎo)航有價(jià)值的信息也是一個(gè)富有挑戰(zhàn)性的工作。移動(dòng)機(jī)器人視覺(jué)導(dǎo)航中視頻處理的過(guò)程包括三個(gè)階段:視頻采集、圖像處理及特征提取、圖像分析與理解。就圖像處理和特征提取而言,到目前為止,雖然眾多的研究人員提出了圖像增強(qiáng)、圖像分割、圖像匹配,以及運(yùn)用人工神經(jīng)網(wǎng)絡(luò)、模糊理論、隨機(jī)過(guò)程模型對(duì)圖像進(jìn)行處理等多種方法,相關(guān)的文獻(xiàn)也極多.但基本上都是針對(duì)某一個(gè)領(lǐng)域的應(yīng)用而沒(méi)有一種普遍適用的算法,由此也產(chǎn)生了如醫(yī)學(xué)圖像處理,紅外圖像處理,動(dòng)態(tài)圖像處理等多個(gè)分支研究方向。圖像分析與理解要解決的問(wèn)題是,為完成某一任務(wù)需要從圖像中獲取哪些信息,如何利用這些信息獲得對(duì)環(huán)境和知識(shí)的理解。圖像理解系統(tǒng)有幾個(gè)鮮明的特點(diǎn):①分階段的信息處理帶來(lái)了信息的多層表示②對(duì)圖像的解釋?zhuān)且阅撤N形式的描述實(shí)現(xiàn)的③圖像的正確解釋離不開(kāi)知識(shí)的導(dǎo)引。由于知識(shí)的表示也是缺乏統(tǒng)一性的,這無(wú)疑增加了視覺(jué)導(dǎo)航的難度。1.5移動(dòng)機(jī)器人視覺(jué)系統(tǒng)的技術(shù)要求由移動(dòng)機(jī)器人導(dǎo)航的特點(diǎn)和機(jī)器視覺(jué)處理的特殊性,我認(rèn)為移動(dòng)機(jī)器人導(dǎo)航視覺(jué)系統(tǒng)要達(dá)到以下技術(shù)要求:(1)根據(jù)系統(tǒng)要求準(zhǔn)確地分辨目標(biāo)物,有一定的抗干擾能力。(2)能對(duì)目標(biāo)物定位,為機(jī)器人的運(yùn)動(dòng)控制提供參照物、障礙物的位置信息,并能滿(mǎn)足精度要求。(3)滿(mǎn)足系統(tǒng)實(shí)時(shí)性的要求?;谏鲜龅囊螅苿?dòng)機(jī)器人視覺(jué)系統(tǒng)有以下關(guān)鍵問(wèn)題需要解決:(1)攝像機(jī)成像模型的獲取。視覺(jué)導(dǎo)航的一個(gè)基本問(wèn)題就是找到空間的目標(biāo)點(diǎn)與成像點(diǎn)之間的對(duì)應(yīng)關(guān)系,而這是由攝像機(jī)的成像模型決定的,因而需要進(jìn)行攝像機(jī)標(biāo)定。(2)特征選擇。圖像處理能提供的圖像特征很多,如邊沿,角點(diǎn),紋理,灰度,顏色以及動(dòng)態(tài)圖像幀間信息等,并且每種特征的提取方式又有多種。因此特征的選擇相當(dāng)重要。如果特征選取不當(dāng),由于目標(biāo)或攝像機(jī)的運(yùn)動(dòng),選取的特征也會(huì)隨著時(shí)間發(fā)生變化。因此感興趣的特征是與場(chǎng)景中的變化區(qū)域相聯(lián)系的。所以,應(yīng)該利用時(shí)間和空間的變化來(lái)選擇特征。(3)實(shí)時(shí)性要求。在移動(dòng)機(jī)器人視覺(jué)導(dǎo)航應(yīng)用中,需要機(jī)器人具有迅速的反應(yīng)能力,因而實(shí)時(shí)性是主要的性能指標(biāo)。根據(jù)機(jī)器人環(huán)境的不同,采取不同的定位方式,以及在移動(dòng)中對(duì)路徑的規(guī)劃與跟蹤,都需要實(shí)時(shí)性強(qiáng)、可靠性高的算法。(4)可靠性及誤差校正。

第二章系統(tǒng)總體結(jié)構(gòu)方案設(shè)計(jì)2.1系統(tǒng)總體結(jié)構(gòu)及其功能系統(tǒng)總體結(jié)構(gòu)如圖2-1所示。圖2-1系統(tǒng)結(jié)構(gòu)圖功能:通過(guò)CMOS圖像傳感器獲得路面引導(dǎo)線(xiàn)圖像信息,利用高速單片機(jī)進(jìn)行圖像降噪處理及路徑識(shí)別。設(shè)計(jì)的基本原理為:系統(tǒng)采用一塊高性能單片機(jī),完成從視頻采集到視頻處理,最終實(shí)現(xiàn)速度和轉(zhuǎn)向控制的一套尋線(xiàn)行走功能。2.2方案設(shè)計(jì)方案選擇在系統(tǒng)設(shè)計(jì)中占有很重要的比例,好的方案既能減輕設(shè)計(jì)的工作量,又能節(jié)省成本使系統(tǒng)安全可靠。2.2.1處理器模塊處理器可采用以下兩種方案:處理器采用功能較低的MCS-51系列單片機(jī);處理器采用集成度較高、功能較為強(qiáng)大的MC系列單片機(jī)。方案一:采用MCS-51系列單片機(jī)作為處理器該單片機(jī)的主要特點(diǎn)如下所述:1)片內(nèi)存儲(chǔ)容量較小:原因是受集成度的限制。ROM一般小于8KB,RAM一般小于256B,但可以在外部擴(kuò)展。通常ROM,RAM可分別擴(kuò)展至64KB。

2)可靠性高:因?yàn)樾酒前垂I(yè)測(cè)控環(huán)境要求設(shè)計(jì)的,故抗干擾的能力優(yōu)于PC機(jī)。系統(tǒng)軟件(如:程序指令,常數(shù),表格)固化在ROM中,不易受病毒破壞。許多信號(hào)的通道均在一個(gè)芯片內(nèi),故運(yùn)作時(shí)系統(tǒng)穩(wěn)定可靠。

3)便于擴(kuò)展:片內(nèi)具有計(jì)算機(jī)正常運(yùn)行所必需的部件,片外有很多供擴(kuò)展用的(總線(xiàn),并行和串行的輸入/輸出)管腳,很容易組成一定規(guī)模的計(jì)算機(jī)應(yīng)用系統(tǒng)。

4)控制功能強(qiáng):具有豐富的控制指令:如:條件分支轉(zhuǎn)移指令,I/O口的邏輯操作指令,位處理指令。

5)實(shí)用性好:體積小,功耗低,價(jià)格便宜,易于產(chǎn)品化。由于該單片機(jī)內(nèi)部不具有AD轉(zhuǎn)換功能,故該單片機(jī)與傳感器進(jìn)行數(shù)據(jù)通信時(shí)中間需進(jìn)行AD轉(zhuǎn)換。方案二:采用MC9S12系列單片機(jī)作為處理器MC9S12系列單片機(jī)是MC68HC12系列單片機(jī)的更新替代產(chǎn)品。這種單片機(jī)的中央處理器CPU12由以下三部分組成:算術(shù)邏輯單元ALU、控制單元和寄存器組。CPU外部總線(xiàn)頻率為8MHz,內(nèi)部運(yùn)算速度可達(dá)25MHz。尋址方式有16種。內(nèi)部寄存器組中的寄存器、堆棧指針和變址寄存器均為16位。它具有很強(qiáng)的高級(jí)語(yǔ)言支持功能。CPU12的累加器A和B是8位的,也可以組成16位累加器。為了實(shí)現(xiàn)視頻采集,考慮綜合性?xún)r(jià)比、設(shè)備安裝等因素,核心控制器選用Freescale公司的16位高性能單片機(jī)——MC9S12DG128(以下簡(jiǎn)稱(chēng)S12)。它的指令處理時(shí)鐘可以達(dá)到38MHz,其A/D轉(zhuǎn)換器的工作時(shí)鐘可以達(dá)到16MHz,用于采集視頻。同時(shí)它擁有8路PWM通道,控制舵機(jī)和直流電機(jī)完成轉(zhuǎn)向和速度控制;8路捕捉/比較通道獲取作為速度傳感器的編碼器脈沖信號(hào);串行通信接口用于無(wú)線(xiàn)調(diào)試;多達(dá)64個(gè)IO(通過(guò)IO復(fù)用方式)足夠用于狀態(tài)顯示及參數(shù)設(shè)置。另外,其擁有128k的flash存儲(chǔ)空間,無(wú)需進(jìn)行存儲(chǔ)器擴(kuò)展,在片內(nèi)就可以實(shí)現(xiàn)視頻數(shù)據(jù)存儲(chǔ)和調(diào)用。2.2.2路徑識(shí)別模塊1.CCD和CMOS的介紹CCD利用光電效應(yīng)制作的半導(dǎo)體器件,起步早,技術(shù)已相當(dāng)成熟,在生產(chǎn)生活中得到了廣泛的應(yīng)用。構(gòu)成CCD的基本單元是MOS(金屬-氧化物-半導(dǎo)體)結(jié)構(gòu)。CCD的基本功能是電荷的存儲(chǔ)和電荷的轉(zhuǎn)移。工作時(shí),需要在金屬柵極加一定的偏壓,形成勢(shì)阱以容納電荷,電荷的多少基本與光強(qiáng)成線(xiàn)性關(guān)系。電荷讀出時(shí),在一定相位關(guān)系的移位脈沖作用下,從一個(gè)位置移動(dòng)到下一個(gè)位置,直到移出CCD,經(jīng)過(guò)電荷-電壓變換,轉(zhuǎn)換為模擬信號(hào)。CMOS是一種高集成度大規(guī)模集成電路,仍使用光敏元件為感光器件,光敏元件在排列方式上與CCD電荷耦合器件相同,只是在光電轉(zhuǎn)換后信息傳送方式不。CMOS芯片內(nèi)部提供了一系列控制寄存器,通過(guò)總線(xiàn)編程來(lái)對(duì)自動(dòng)增益、自動(dòng)曝光、白色平衡、γ校正等功能進(jìn)行控制,編程簡(jiǎn)單、控制靈活。直接輸出的電視機(jī)制式圖像信號(hào)可以很方便地和后續(xù)處理電路接口,供處理器AD模塊對(duì)其進(jìn)行采集和處理器處理。2.CCD和CMOS光電傳感器優(yōu)缺點(diǎn)比較(1)光電轉(zhuǎn)換CMOS和CCD使用相同的感光元件,具有相同的靈敏度和光譜特性,但光電轉(zhuǎn)換后的讀取信號(hào)方式不同。CMOS光傳感器經(jīng)光電轉(zhuǎn)換直接產(chǎn)生電壓信號(hào),讀取十分簡(jiǎn)單,特別的在監(jiān)控領(lǐng)域,CMOS傳感器的信號(hào)輸出大部分是PAL電視機(jī)制式,信息讀取十分方便。而CCD存儲(chǔ)的電荷信息的轉(zhuǎn)移和讀取輸出需要有時(shí)鐘控制電路和三組不同的電源配合,較為復(fù)雜。(2)信息的讀取速度CCD電荷耦合器需要在同步時(shí)鐘控制下以行為單位一位一位輸出信息,速度較慢,而CMOS光電傳感器在采集光信號(hào)的同時(shí)就輸出電壓信號(hào),速度比CCD快。(3)電源及耗電量CCD電荷耦合器大部分需要三組電源供電,耗電量高,一般需要12V以上供電電壓。而CMOS光電傳感器只需要一個(gè)電源,耗電量低,一般供電范圍是6—9V,功耗相對(duì)CCD有很大的降低。(4)成像效果CCD技術(shù)起步早,技術(shù)比較成熟,消噪效果好,成像質(zhì)量相對(duì)CMOS光電傳感器好。3.方案選取綜合以上CCD和CMOS的優(yōu)缺點(diǎn),雖然CCD在成像質(zhì)量上優(yōu)于CMOS,但對(duì)于只需在白色的背景下識(shí)別黑線(xiàn),CMOS能勝任,并且著重考慮到功耗,最終我們選用了CMOS攝像頭作為識(shí)別路徑的傳感器。2.2.3電機(jī)控制的選擇選用Mabuchi公司生產(chǎn)的RS-380SH直流電機(jī)作為主驅(qū)動(dòng)電機(jī),通過(guò)PWM信號(hào)控制。通過(guò)電機(jī)驅(qū)動(dòng)模塊的調(diào)節(jié),可以很直觀的對(duì)速度及智能車(chē)的運(yùn)行狀況進(jìn)行調(diào)節(jié)。在速度控制方面,一般是通過(guò)改變加在電機(jī)兩端的電壓來(lái)實(shí)現(xiàn)的,可以是連續(xù)改變(加直流電壓),也可以斷續(xù)改變(加脈沖電壓)。根據(jù)不同的驅(qū)動(dòng)電路可以采用不同的方式。最好是采用硬件配合軟件的方法,因?yàn)楫吘共捎密浖?lái)調(diào)節(jié)是比較精確和方便的。方案一:采用繼電器對(duì)電動(dòng)機(jī)的開(kāi)或關(guān)進(jìn)行控制采用繼電器對(duì)電動(dòng)機(jī)的開(kāi)或關(guān)進(jìn)行控制,通過(guò)開(kāi)關(guān)的切換對(duì)賽車(chē)的速度進(jìn)行調(diào)整。這個(gè)方案的優(yōu)點(diǎn)就是電路較為簡(jiǎn)單,缺點(diǎn)就是繼電器的響應(yīng)時(shí)間慢、機(jī)械結(jié)構(gòu)易損壞、壽命較短、可靠性不高、而且安裝在小巧的智能車(chē)上不太適宜。方案二:采用達(dá)林頓管組成的H型PWM電路用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài),精確調(diào)整電動(dòng)機(jī)的轉(zhuǎn)速。開(kāi)關(guān)的速度快,穩(wěn)定性也高。但是比起集成電路的芯片控制還是遜色了不少,電路也較復(fù)雜。方案三:采用橋式驅(qū)動(dòng)器MC33886電機(jī)驅(qū)動(dòng)芯片通過(guò)芯片同單片機(jī)的控制完成電機(jī)的調(diào)速、正反轉(zhuǎn)控制,其控制原理簡(jiǎn)單,并且穩(wěn)定性極強(qiáng)。但是發(fā)熱量很大,特別是需要采用反轉(zhuǎn)控制時(shí)。MC33886芯片功能強(qiáng)大,電路簡(jiǎn)單,其主要缺點(diǎn)是發(fā)熱量大。因此選用第三套方案,并將兩塊MC33886并聯(lián)起來(lái)使用,這樣既能提高帶載能力,又降低了芯片的發(fā)熱量。2.2.4顯示選擇顯示模塊是系統(tǒng)的人機(jī)界面,好的顯示器件能準(zhǔn)確顯示系統(tǒng)信息,并且給讀取數(shù)據(jù)帶來(lái)了很大的方便。方案一:使用多個(gè)數(shù)碼管顯示LED數(shù)碼管是利用二極管發(fā)光顯示數(shù)字和字母,具有亮度大、接口設(shè)計(jì)比較容易,價(jià)格相對(duì)較便宜等優(yōu)點(diǎn)。但是由于它工作電流較大、不能顯示漢字,顯示的信息量有限,若在此題目中應(yīng)用就會(huì)受到很大的限制。方案二:采用液晶顯示液晶特別是具有漢字顯示功能的液晶顯示器,來(lái)實(shí)現(xiàn)顯示功能,不僅可以實(shí)現(xiàn)基本的顯示信息,而且可以顯示豐富的符號(hào)指示信息以及文字指示信息,信息量豐富且直觀易懂。而且液晶顯示有功耗低,體積小,重量輕,壽命長(zhǎng),不產(chǎn)生電磁輻射污染等優(yōu)點(diǎn)。采用液晶顯示模塊可以使圖像處理結(jié)果實(shí)時(shí)顯示出來(lái),方便調(diào)試和演示,成本也較低。本系統(tǒng)選用北京青云電子科技發(fā)展有限公司開(kāi)發(fā)的NHC_34彩色液晶顯示控制模塊。該模塊支持256色彩色顯示,每個(gè)像素點(diǎn)用1個(gè)字節(jié)表示,分辨率為320×234;支持標(biāo)準(zhǔn)Intel8位異步總線(xiàn)時(shí)序,有2頁(yè)顯示緩存,可任意設(shè)定顯示頁(yè)和操作頁(yè)。2.2.5速度檢測(cè)模塊的選擇速度檢測(cè)電路的基本原理為:在很短的時(shí)間內(nèi),通過(guò)光電傳感器來(lái)測(cè)量固定在后輪的軸上的碼盤(pán)通過(guò)的孔數(shù),輸送到單片機(jī)的脈沖累加器外部引腳,經(jīng)過(guò)換算計(jì)算出智能車(chē)的實(shí)際速度,為速度PID控制環(huán)節(jié)提供可靠的數(shù)據(jù)。智能車(chē)的實(shí)際行駛速度是智能車(chē)速度控制的控制輸入量,準(zhǔn)確實(shí)時(shí)的測(cè)量智能車(chē)的速度才能實(shí)現(xiàn)智能車(chē)的速度控制,即縱向控制。常用的測(cè)速方案有以下幾種:方案一:光電測(cè)速傳感器圖2-2光電測(cè)速傳感器原理是傳感器開(kāi)孔圓盤(pán)的轉(zhuǎn)軸與轉(zhuǎn)軸相連接,光源的光通過(guò)開(kāi)孔盤(pán)的孔和縫隙反射到光敏元件上,開(kāi)孔盤(pán)隨旋轉(zhuǎn)體轉(zhuǎn)一周,光敏元件上照到光的次數(shù)等于盤(pán)上的開(kāi)孔數(shù),從而測(cè)出旋轉(zhuǎn)體旋轉(zhuǎn)速度。靈敏度較高,但容易受外界光源影響。方案二:測(cè)速發(fā)電機(jī)原理是將旋轉(zhuǎn)機(jī)械能轉(zhuǎn)化成電信號(hào),適合于測(cè)量速度較高的旋轉(zhuǎn)物體的速度。采用電磁感應(yīng)的原理。但市場(chǎng)上測(cè)速發(fā)電機(jī)應(yīng)用于低壓市場(chǎng)的比較少,而且都比較重,不適用于模型車(chē),并且要將側(cè)速發(fā)電機(jī)安裝到電動(dòng)車(chē)上需要對(duì)電動(dòng)車(chē)模型進(jìn)行較大改動(dòng),由于其質(zhì)量較重,可能會(huì)嚴(yán)重影響電動(dòng)車(chē)的機(jī)動(dòng)性能,除非自制。優(yōu)點(diǎn)是測(cè)速準(zhǔn)確、穩(wěn)定、快速,可以直接由AD轉(zhuǎn)換器讀入單片機(jī)測(cè)得當(dāng)前速度值。圖2-3測(cè)速發(fā)電機(jī)方案三:霍爾傳感器工作原理是:利用霍爾開(kāi)關(guān)元件測(cè)轉(zhuǎn)速,內(nèi)部具有穩(wěn)壓電路、霍爾電勢(shì)發(fā)生器、放大器、施密特觸發(fā)器和輸出電路,其輸出電平和TTL電平兼容。在待測(cè)旋轉(zhuǎn)體的轉(zhuǎn)軸上裝上一個(gè)圓盤(pán),在圓盤(pán)上裝上若干對(duì)小磁鋼,小磁鋼愈多分辨率越高。霍爾開(kāi)關(guān)固定在小磁鋼附近,當(dāng)旋轉(zhuǎn)體以角速度M旋轉(zhuǎn)時(shí),每當(dāng)一個(gè)小磁鋼轉(zhuǎn)過(guò)霍爾開(kāi)關(guān),霍爾開(kāi)關(guān)便輸出一個(gè)脈沖,計(jì)算出單位時(shí)間的脈沖數(shù),即可確定旋轉(zhuǎn)體的速度。缺點(diǎn)是磁鋼的間距不好控制。方案四:紅外反射式光電傳感器該方案與賽道識(shí)別模塊的方案一類(lèi)似,即在轉(zhuǎn)盤(pán)上貼一圈黑白相間的紙帶。根據(jù)黑白紙帶對(duì)紅外線(xiàn)的反射率不同產(chǎn)生一連串的高低電平,再通過(guò)計(jì)算出單位時(shí)間的脈沖數(shù)來(lái)得出智能車(chē)的即時(shí)速度。方案比較:霍爾傳感器測(cè)速結(jié)構(gòu)簡(jiǎn)單,車(chē)輪旋轉(zhuǎn)一周產(chǎn)生的脈沖數(shù)量有限,不利于速度的實(shí)時(shí)控制;編碼器產(chǎn)生的脈沖數(shù)很多,測(cè)速精確,但是價(jià)錢(qián)昂貴。光電碼盤(pán)測(cè)速結(jié)合了前兩者的優(yōu)點(diǎn),碼盤(pán)光柵距較小,對(duì)速度的反應(yīng)很靈敏,速度檢測(cè)最終采用光耦元件投射碼盤(pán)的檢測(cè)方法。2.2.6運(yùn)動(dòng)控制策略目的是提高尋線(xiàn)行走速度。攝像頭的使用,正是為了增加前方線(xiàn)路探測(cè)距離,給運(yùn)動(dòng)控制提供充足的決策時(shí)間。因此,其運(yùn)動(dòng)控制策略也基于此方案。本系統(tǒng)采用預(yù)瞄與PID相結(jié)合的方法實(shí)現(xiàn)速度和轉(zhuǎn)向控制?;趩纹瑱C(jī)采集的視頻,判斷車(chē)體前方道路情況,可以明顯區(qū)分彎道直道以及彎道曲率大小。而在不同道路情況下,車(chē)體受自身機(jī)械結(jié)構(gòu)和電機(jī)特性等因素影響,有不同的行駛表現(xiàn)。在彎道行駛中存在最佳入彎速度,彎道行駛速度以及彎道行駛路線(xiàn)。而在直道行駛中,雖然車(chē)體速度越快越好,但是為了安全地完成直道入彎道,必須進(jìn)行入彎提前減速。這點(diǎn)是攝像頭方案在速度上優(yōu)于紅外光電傳感器方案的關(guān)鍵:足夠充分的預(yù)判距離,保證了足夠充分的減速時(shí)間和距離,取得最快入彎效果。

第三章系統(tǒng)的硬件設(shè)計(jì)通過(guò)上面的關(guān)鍵技術(shù)分析可以看到,系統(tǒng)的硬件電路主要負(fù)責(zé)以下幾個(gè)方面的功能實(shí)現(xiàn):圖像數(shù)據(jù)采集、圖像數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、時(shí)鐘電路,通過(guò)單片機(jī)控制小車(chē)電機(jī)等幾部分組成。硬件模塊圖如3-1所示。下面將具體介紹整個(gè)系統(tǒng)各個(gè)主要組成部分的功能、選型以及具體連接方式。圖3-1硬件模塊圖3.1單片機(jī)單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管它的大部分功能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線(xiàn)系統(tǒng),目前大部分還會(huì)具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。在諸多的單片機(jī)芯片中我們通過(guò)嚴(yán)格的篩選最終確定選用飛思卡爾公司生產(chǎn)的MC9S12DG128B單片機(jī)作為本設(shè)計(jì)使用的。3.1.1控制器介紹核心控制器選用Freescale公司的16位高性能單片機(jī)——MC9S12DG128(以下簡(jiǎn)稱(chēng)S12)。它的指令處理時(shí)鐘可以達(dá)到38MHz,其A/D轉(zhuǎn)換器的工作時(shí)鐘可以達(dá)到16MHz,用于采集視頻。同時(shí)它擁有8路PWM通道,控制舵機(jī)和直流電機(jī)完成轉(zhuǎn)向和速度控制;8路捕捉/比較通道獲取作為速度傳感器的編碼器脈沖信號(hào);串行通信接口用于無(wú)線(xiàn)調(diào)試;多達(dá)64個(gè)IO(通過(guò)IO復(fù)用方式)足夠用于狀態(tài)顯示及參數(shù)設(shè)置。另外,其擁有128k的flash存儲(chǔ)空間,無(wú)需進(jìn)行存儲(chǔ)器擴(kuò)展,在片內(nèi)就可以實(shí)現(xiàn)視頻數(shù)據(jù)存儲(chǔ)和調(diào)用。MC9S12系列單片機(jī)是MC68HC12系列單片機(jī)的更新替代產(chǎn)品。這種單片機(jī)的中央處理器CPU12由以下三部分組成:算術(shù)邏輯單元ALU、控制單元和寄存器組。CPU外部總線(xiàn)頻率為8MHz,內(nèi)部運(yùn)算速度可達(dá)25MHz。尋址方式有16種。內(nèi)部寄存器組中的寄存器、堆棧指針和變址寄存器均為16位。它具有很強(qiáng)的高級(jí)語(yǔ)言支持功能。CPU12的累加器A和B是8位的,也可以組成16位累加器。CPU12的寄存器包括如下5個(gè)部分:(1)8位累加器A、B或16位累加器D。(2)16位變址寄存器X、Y是用來(lái)處理操作數(shù)的地址??捎糜谠吹刂贰⒛康牡刂返闹羔樞妥兞窟\(yùn)算。(3)堆棧指針SP是16位寄存器。(4)程序計(jì)數(shù)器PC是16位寄存器,它表示下一條指令或下一個(gè)操作數(shù)的地址。(5)條件碼寄存器CCR。MC9S12DG128的存儲(chǔ)器有以下3種:(1)128KBFlash存儲(chǔ)器;(2)12KB的RAM;(3)4KB的EEPROM。MC9S12DG128有可復(fù)用的地址數(shù)據(jù)總線(xiàn)。它可以工作在單片方式,也可以通過(guò)總線(xiàn)擴(kuò)展存儲(chǔ)空間和增加I/O接口電路芯片,工作在擴(kuò)展方式。地址總線(xiàn)20位,數(shù)據(jù)總線(xiàn)16位或8位,地址和數(shù)據(jù)總線(xiàn)占用3個(gè)8位并行I/O接口,在單片方式下這24位可做普通I/O接口用。MC9S12DG128有兩個(gè)8路10位精度A/D轉(zhuǎn)換器。MC9S12DG128的脈寬調(diào)制模塊(PWM)可設(shè)置成4路8位或者2路16位,邏輯時(shí)鐘選擇頻率寬。MC9S12DG128的串行接口有以下3種:(1)兩個(gè)異步串行通信接口模塊SCI;(2)一個(gè)總線(xiàn)接口;(3)一個(gè)同步串行外設(shè)接口SPI。MC9S12DG128有2個(gè)具有位輸入信號(hào)沿產(chǎn)生中斷、喚醒CPU功能的8位并行口,即16個(gè)位輸入終端通道,這16位也可以設(shè)為輸出。MC9S12DG128時(shí)鐘發(fā)生器有以下2種:(1)具有鎖相環(huán)頻率合成器。這是時(shí)鐘發(fā)生器中的重要電路。它的存在使外部32KHz晶振就可以產(chǎn)生8MHz的總線(xiàn)頻率。(2)使用0.5到16MHz的低功耗晶振做鎖相環(huán),產(chǎn)生高達(dá)25MH的片內(nèi)總線(xiàn)時(shí)鐘。MC9S12系列單片機(jī)的外部供電電壓為5V,分別為單片機(jī)的內(nèi)部電壓調(diào)整器,IO端驅(qū)動(dòng)器,AD轉(zhuǎn)換器提供電源。圖3-2MC9S12DG128B單片機(jī)下面是MCS12DG128的結(jié)構(gòu)圖以及其引腳分配圖。S12CPU128KBFLASH2個(gè)8路10位ADC增強(qiáng)型8路16位定時(shí)器8位8路/16位4路PWM2個(gè)SCI口3個(gè)SPI口I2CJ1850通信口最多5個(gè)增強(qiáng)型CAN總線(xiàn)接口5v變2.5V電壓調(diào)整器12KBRAM4KBEEPROM16位鍵盤(pán)喚醒IRQI/O口圖3-3MC9S12DG128B單片機(jī)的結(jié)構(gòu)3.1.2外部電路設(shè)計(jì)1、時(shí)鐘電路時(shí)鐘電路是由石英晶體振蕩器和一些電容、電阻組成,,雖然簡(jiǎn)單的單片機(jī)可以使用集成到單片機(jī)內(nèi)部的RC振蕩電路產(chǎn)生單片機(jī)工作所需要的時(shí)鐘,但是這種簡(jiǎn)單的時(shí)鐘電路頻率的穩(wěn)定性得不到保證,而外部晶振能提供穩(wěn)定的頻率為16M的振蕩,該單片機(jī)內(nèi)部的壓控振蕩器和鎖相環(huán)(PLL)得到一個(gè)高穩(wěn)定的時(shí)鐘源。PLL電路每鎖定一個(gè)工作頻率就需要一個(gè)特殊外部濾波電路,以消除鎖相器產(chǎn)生的噪聲電壓,從而使壓控振蕩器輸出穩(wěn)定的振蕩頻率。把由外部得來(lái)的振蕩提高為24M的總線(xiàn)時(shí)鐘和48M的CPU工作時(shí)鐘,供給單片機(jī)使用穩(wěn)定,可調(diào)的時(shí)鐘信號(hào)。如下圖3-4所示:圖3-4時(shí)鐘電路2、外部復(fù)位電路所謂復(fù)位,就是讓微處理器進(jìn)入一個(gè)初始化程序,使CPU恢復(fù)初始狀態(tài)。MC9S12DG128的外部復(fù)位是通過(guò)復(fù)位信號(hào)接口接收到/RESET信號(hào)。此信號(hào)為低電平時(shí),微處理器就復(fù)位;外部RST引腳提供了使用外部電路強(qiáng)制MCU進(jìn)入復(fù)位狀態(tài)的手段,在RST引腳上加一個(gè)低電平有效信號(hào)將導(dǎo)致MCU進(jìn)入復(fù)位狀態(tài)。最好能提供一個(gè)外部上拉或?qū)ST引腳去耦以防止強(qiáng)噪聲引起復(fù)位。在低有效的RST信號(hào)撤出后,MCU將保持在復(fù)位狀態(tài)至少12個(gè)時(shí)鐘周期,從外部復(fù)位狀態(tài)退出后PINRSF標(biāo)志(RSTSRC.0)被置位。其接口電路圖如圖3-5所示:圖3-5復(fù)位電路3.2電源模塊設(shè)計(jì)智能車(chē)系統(tǒng)采用7.2V的蓄電池進(jìn)行供電,但由于各個(gè)模塊所需要的電壓不同,因此需要進(jìn)行電壓調(diào)節(jié)。其中,S12開(kāi)發(fā)板、舵機(jī)需要5V電壓;攝像頭工作電壓也為5V;直流電機(jī)需要7.5V左右的電壓。為了讓各模塊相互獨(dú)立,我們使用LM2576為S12開(kāi)發(fā)板、攝像頭和舵機(jī)供電,,M33886為直流電機(jī)供電。其中,LM2576-5.0為單片降壓式開(kāi)關(guān)電壓調(diào)整器,輸出電壓5.0V;最大輸出電流3A;具有熱關(guān)閉和限流保護(hù)功能。該智能車(chē)在5V電壓下的負(fù)載電流需求不超過(guò)350mA,因此,采用LM2576供電完全能滿(mǎn)足要求。圖3-6LM2576-5V電路圖LM2576系列開(kāi)關(guān)穩(wěn)壓集成電路的主要特性如下:1最大輸出電流:3A;2最高輸入電壓:LM2576為40V,LM2576HV為60V;3輸出電壓:3.3V、5V、12V、15V和ADJ(可調(diào))等可選;4振蕩頻率:52kHz;5最大穩(wěn)壓誤差:4%;6轉(zhuǎn)換效率:75%~88%(不同電壓輸出時(shí)的效率不同);7控制方式:PWM;8工作溫度范圍:-40℃~+125℃;9工作模式:低功耗/正常兩種模式可外部控制;10工作模式控制:TTL電平兼容;11需外部元件:僅四個(gè)(不可調(diào))或六個(gè)(可調(diào));12器件保護(hù):熱關(guān)斷及電流限制;13封裝形式:TO-220或TO-263。LM2576內(nèi)部包含52kHz振蕩器、1.23V基準(zhǔn)穩(wěn)壓電路、熱關(guān)斷電路、電流限制電路、放大器、比較器及內(nèi)部穩(wěn)壓電路等。為了產(chǎn)生不同的輸出電壓,通常將比較器的負(fù)端接基準(zhǔn)電壓(1.23V),正端接分壓電阻網(wǎng)絡(luò),這樣可根據(jù)輸出電壓的不同選定不同的阻值,其中R1=1kΩ(可調(diào)-ADJ時(shí)開(kāi)路),R2分別為1.7kΩ(3.3V)、3.1kΩ(5V)、8.84kΩ(12V)、11.3kΩ(15V)和0(-ADJ)。將輸出電壓分壓電阻網(wǎng)絡(luò)的輸出同內(nèi)部基準(zhǔn)穩(wěn)壓值1.23V進(jìn)行比較,若電壓有偏差,則可用放大器控制內(nèi)部振蕩器的輸出占空比,從而使輸出電壓保持穩(wěn)定。3.3圖像處理模塊3.3.1攝像頭結(jié)構(gòu)和工作原理攝像頭一般由鏡頭、傳感器芯片、外圍電路組成。傳感器芯片不能單獨(dú)工作,還需外圍電路支持,才能將光信號(hào)轉(zhuǎn)換成電信號(hào)。光線(xiàn)經(jīng)物體發(fā)射,通過(guò)鏡頭聚焦,焦點(diǎn)恰好在傳感器芯片的感光元件上,從而轉(zhuǎn)換成電信號(hào)。輸出信號(hào)制式為PAL電視機(jī)制式的攝像頭,一般有四條線(xiàn):正極,地線(xiàn),音頻輸出線(xiàn),視頻輸出線(xiàn)。CMOS攝像頭供電電壓一般為6-9V,視頻信號(hào)峰峰值為1V。黑線(xiàn)吸收光線(xiàn),將不會(huì)反射,傳感器感光元件陣列相對(duì)應(yīng)的感光元件不產(chǎn)生電壓信號(hào),即一個(gè)低壓信號(hào),而對(duì)應(yīng)白線(xiàn)反射光線(xiàn),通過(guò)鏡頭聚焦,在相對(duì)應(yīng)的感光元件出產(chǎn)生一個(gè)相對(duì)高電壓信號(hào),一般峰峰值為1V。常用的攝像頭視頻輸出信號(hào)是PAL電視機(jī)制式,它的工作原理與電視機(jī)的工作原理相似:在一定分辨率下,每秒掃描25幀圖像,每幀圖像含有625行信息,分為奇、偶場(chǎng),進(jìn)行個(gè)隔行掃描,總共每秒50場(chǎng)信號(hào),每場(chǎng)有312.5行信息,從奇數(shù)行開(kāi)始掃描,即依次掃描第1、3、5、7、9……,當(dāng)掃描完奇數(shù)場(chǎng)后,再開(kāi)始掃描偶數(shù)場(chǎng),構(gòu)成一幀圖像。如圖3-7所示:圖3-7奇數(shù)場(chǎng)圖3-7偶數(shù)場(chǎng)3.3.2檢測(cè)黑線(xiàn)原理由于智能車(chē)系統(tǒng)對(duì)實(shí)時(shí)性的要求很高,過(guò)于復(fù)雜的黑線(xiàn)提取算法,會(huì)導(dǎo)致決策周期溢出,使程序崩潰,所以必須采用簡(jiǎn)單高效的圖像識(shí)別算法。路徑識(shí)別中,黑線(xiàn)和白色底板存在很多大灰度比,在圖像信號(hào)上會(huì)形成相應(yīng)高低不同的電壓值,當(dāng)檢測(cè)到黑線(xiàn)是,圖像信號(hào)中將形成一個(gè)“凹”形槽,通過(guò)DG128對(duì)信號(hào)進(jìn)行采集,并對(duì)數(shù)據(jù)處理,就可以得到黑線(xiàn)相對(duì)小車(chē)的位置,一幀完成后,能計(jì)算出路徑的整個(gè)斜率和偏離量。3.3.3檢測(cè)黑線(xiàn)方法檢測(cè)黑線(xiàn)的方法目前主要有二值化算法,逐行搜索的算法,邊緣檢測(cè)算法,下面是具體介紹。1、二值化算法二值化算法的思路是:設(shè)定一個(gè)閾值valve,對(duì)于視頻信號(hào)矩陣中的每一行,從左至右比較各像素值和閾值的大小,若像素值大于或等于閾值,則判定該像素對(duì)應(yīng)的是白色賽道;反之,則判定對(duì)應(yīng)的是黑色的目標(biāo)引導(dǎo)線(xiàn)。記下第一次和最后一次出現(xiàn)像素值小于閾值時(shí)的像素點(diǎn)的列號(hào),算出兩者的平均值,以此作為該行上目標(biāo)引導(dǎo)線(xiàn)的位置。該算法的思想簡(jiǎn)單,但是這種提取算法的魯棒性較差,當(dāng)拍攝圖像中只有目標(biāo)引導(dǎo)線(xiàn)一條黑線(xiàn)時(shí),尚能準(zhǔn)確提取出該目標(biāo)引導(dǎo)線(xiàn),但當(dāng)光強(qiáng)有大幅度變化或圖像中出現(xiàn)其他黑色圖像的干擾時(shí),該算法提取的位置就有可能與目標(biāo)引導(dǎo)線(xiàn)的實(shí)際位置偏離較大。2、逐行搜索的算法采用逐行搜索的算法,首先找到從白色像素到黑色像素的下降沿和從黑色像素到白色像素的上升沿,然后計(jì)算上升沿和下降沿的位置差,如果大于一定的標(biāo)準(zhǔn)值,即認(rèn)為找到了黑線(xiàn),并可求平均值算出黑線(xiàn)的中心點(diǎn)。于上升沿、下降沿的檢測(cè),可以通過(guò)上上次采樣數(shù)與這次采樣數(shù)的差值的絕對(duì)值是否大于一個(gè)閾值來(lái)判斷,如果“是”且差值為負(fù),則為上升沿;如果“是”且差值為正,則為下降沿。這里,閥值可以根據(jù)經(jīng)驗(yàn)設(shè)定,基本上介于30~46之間(當(dāng)A/D模塊的參考電壓為2.5V時(shí)),也可以采用全局自適應(yīng)法設(shè)定,每次采樣后首先都遍歷一次圖像,得到圖像灰度值的平均值,然后用這個(gè)平均值乘以一個(gè)調(diào)試系數(shù)即可得到所要的閾值。該算法較二值化方法而言,抗環(huán)境光強(qiáng)變化干擾的能力更強(qiáng),同時(shí)還能削弱或消除垂直交叉黑色引導(dǎo)線(xiàn)的干擾。3、邊緣檢測(cè)算法由于黑色的目標(biāo)引導(dǎo)線(xiàn)是連續(xù)曲線(xiàn),所以相鄰兩行的左邊緣點(diǎn)比較靠近。跟蹤邊緣檢測(cè)正是利用了這一特性,對(duì)直接邊緣檢測(cè)進(jìn)行了簡(jiǎn)化。其思路是:若已尋找到某行的左邊緣,則下一次就在上一個(gè)左邊緣附近進(jìn)行搜尋。這種方法的特點(diǎn)是始終跟蹤每行左邊緣的附近,去尋找下一列的左邊緣,所以稱(chēng)為“跟蹤”邊緣檢測(cè)算法。該算法的優(yōu)點(diǎn):在首行邊緣檢測(cè)正確的前提下,該算法具有較強(qiáng)的抗干擾性,能更有效地消除垂直交叉黑色引導(dǎo)線(xiàn)的干擾,以及引導(dǎo)線(xiàn)外黑色圖像的影響,始終跟蹤目標(biāo)引導(dǎo)線(xiàn)。另外,較之前兩種算法,跟蹤邊緣檢測(cè)算法的時(shí)間復(fù)雜度更低,因此效率更高。但該算法的問(wèn)題在于:由于是在連續(xù)鄰域上跟蹤引導(dǎo)線(xiàn)邊緣,若第一行左邊緣位置的檢測(cè)位置和實(shí)際導(dǎo)引線(xiàn)偏差較大,就會(huì)產(chǎn)生一連串的錯(cuò)誤,甚至造成智能車(chē)失穩(wěn)。綜上所述,從算法的簡(jiǎn)潔性和實(shí)用性綜合考慮,直接邊緣檢測(cè)算法相對(duì)于其他兩種算法是一個(gè)較好的選擇。3.3.4CMOS攝像頭的選取根據(jù)MC9S12DG128Datesheet中的說(shuō)明,DG128的AD最高采集頻率為2MHz,可以采集到的像素點(diǎn)有:64/(12′1/2)=10(個(gè))由計(jì)算可知,在最高采集頻率,8位AD的情況下,只能采集到300以上個(gè)像素中的10個(gè),橫向上的分辨率十分低,不足以滿(mǎn)足識(shí)別路徑的要求。所以在選購(gòu)CMOS攝像頭時(shí),盡量選取像素較低的,同時(shí)考慮到功耗,最后選擇OV7620。3.3.5OV7620的介紹OV7620是美國(guó)OmniVision公司出品的彩色/黑白CMOS圖像傳感器。這是一種自帶圖像敏感陣列和A/D轉(zhuǎn)換元件、能直接提供8/16位CCIR601、CCIR656等格式視頻數(shù)字信號(hào)的彩色/黑白圖像傳感器,圖像輸出最高速度可達(dá)60S/s,最大圖像分辨率為644×492,5V供電;它具有自動(dòng)增益、自動(dòng)曝光、自動(dòng)白平衡、邊緣增強(qiáng)、伽瑪校正等控制功能;可以通過(guò)IC總線(xiàn)進(jìn)行設(shè)置;同時(shí)OV7620具有圖像開(kāi)窗輸出的功能,即允許用戶(hù)可根據(jù)實(shí)際使用需要設(shè)置其內(nèi)部寄存器,使其只輸出完整圖像中的任意一矩形區(qū)域內(nèi)的信號(hào),其范圍從4×2到644×492。這種功能從硬件上屏蔽了圖像中不需要的部分,只保留用戶(hù)需要的部分圖像,大大減少了圖像的數(shù)據(jù)量,提高了系統(tǒng)的效率。3.3.6OV7620的輸出特性O(shè)V7620工作方式和輸出格式非常多,可以適應(yīng)不同的應(yīng)用場(chǎng)合,針對(duì)系統(tǒng),采用了單通道Y輸出,以及逐行掃描的工作方式。這些工作方式的實(shí)現(xiàn)是通過(guò)MCU的I2C編程控制的。當(dāng)OV7620設(shè)置工作方式穩(wěn)定后,它就會(huì)輸出視頻數(shù)據(jù),同時(shí)還有3個(gè)重要的參考信號(hào)輸出:幀同步信號(hào)SYNC,水平同步信號(hào)HREF,和像素時(shí)鐘信號(hào)PCLK。每一個(gè)幀同步信號(hào)SYNC周期包含480個(gè)水平同步信號(hào)HREF脈沖,而每一個(gè)HREF周期包含640個(gè)PCLK時(shí)鐘脈沖。每一個(gè)PCLK時(shí)鐘輸出一個(gè)像素的視頻數(shù)據(jù)(8位標(biāo)準(zhǔn)的Bayer-pattern彩色RGB數(shù)據(jù))。圖3-8為OV7620的時(shí)序圖。

圖3-8OV7620的時(shí)序圖3.3.7圖像存儲(chǔ)方式

根據(jù)640×480的像素輸出特點(diǎn),將512KB的RAM分成512行,每行1KB空間,由A0~A9共10條地址線(xiàn)選通行內(nèi)地址記為低位地址:ADDR-L;高位A18~A10共9條地址線(xiàn)選通各行記為高位地址:ADDR-H。為保證OV7620采集的數(shù)據(jù)同步寫(xiě)入SRAM中,用CPLD宏單元設(shè)計(jì)了2個(gè)地址計(jì)數(shù)器:低位計(jì)數(shù)器ADDR-L和高位記數(shù)器ADDR-H。當(dāng)圖像數(shù)據(jù)采集開(kāi)始時(shí)(SYNC信號(hào)低有效),記數(shù)器由0開(kāi)始記數(shù),每來(lái)一個(gè)像素時(shí)鐘PCLK使低位計(jì)數(shù)器順序加1,完成1行像素的寫(xiě)入,OV7620產(chǎn)生的行同步信號(hào)HREF使低位計(jì)數(shù)器清0,并使高位記數(shù)器順序加1,改變行地址直到完成480行寫(xiě)入后產(chǎn)生幀同步信號(hào),并使高位計(jì)數(shù)器清0,這樣完成1幀圖像數(shù)據(jù)的緩存,詳細(xì)的圖像采集信號(hào)時(shí)序如圖2。512KB的SRAM芯片實(shí)際上只用了640×480約300多KB的存儲(chǔ)空間。芯片工作方式設(shè)定在PCLK信號(hào)的下降沿更新數(shù)據(jù);在上升沿,數(shù)據(jù)是穩(wěn)定時(shí)期,在PCLK信號(hào)的下降沿更新SRAM的地址信號(hào)ADDR;在PCLK信號(hào)上升沿使/WR信號(hào)有效,然后寫(xiě)數(shù)據(jù)到SRAM中。3.3.8圖像采集系統(tǒng)本系統(tǒng)使用圖像傳感器與單片機(jī)之間的數(shù)據(jù)連接,使圖像傳感器自動(dòng)地將圖像數(shù)據(jù)寫(xiě)入MCU圖像采集系統(tǒng)結(jié)構(gòu)框圖如圖3-9所示。圖3-9圖像采集系統(tǒng)結(jié)構(gòu)框圖3.4電機(jī)驅(qū)動(dòng)模塊3.4.1電機(jī)的選擇電機(jī)驅(qū)動(dòng)是小車(chē)重要的模塊之一。驅(qū)動(dòng)電機(jī)采用直流伺服電機(jī),我們?cè)诖诉x用的是RS-380SH型號(hào)的伺服電機(jī),這是因?yàn)橹绷魉欧姍C(jī)具有優(yōu)良的速度控制性能,它輸出較大的轉(zhuǎn)矩,直接拖動(dòng)負(fù)載運(yùn)行,同時(shí)它又受控制信號(hào)的直接控制進(jìn)行轉(zhuǎn)速調(diào)節(jié)。在很多方面有優(yōu)越性,具體來(lái)說(shuō),它具有以下優(yōu)點(diǎn):(1)具有較大的轉(zhuǎn)矩,以克服傳動(dòng)裝置的摩擦轉(zhuǎn)矩和負(fù)載轉(zhuǎn)矩。(2)調(diào)速范圍寬,高精度,機(jī)械特性及調(diào)節(jié)特性線(xiàn)性好,且運(yùn)行速度平穩(wěn)。(3)具有快速響應(yīng)能力,可以適應(yīng)復(fù)雜的速度變化。(4)電機(jī)的負(fù)載特性硬,有較大的過(guò)載能力,確保運(yùn)行速度不受負(fù)載沖擊的影響。可以長(zhǎng)時(shí)間地處于停轉(zhuǎn)狀態(tài)而不會(huì)燒毀電機(jī),一般電機(jī)不能長(zhǎng)時(shí)間運(yùn)行于停轉(zhuǎn)狀態(tài),電機(jī)長(zhǎng)時(shí)間停轉(zhuǎn)時(shí),穩(wěn)定溫升不超過(guò)允許值時(shí)輸出的最大堵轉(zhuǎn)轉(zhuǎn)矩稱(chēng)為連續(xù)堵轉(zhuǎn)轉(zhuǎn)矩,相應(yīng)的電樞電流為連續(xù)堵轉(zhuǎn)電流。3.4.2電機(jī)的特性圖3-10電機(jī)的特性數(shù)據(jù)圖3-11電機(jī)的特性曲線(xiàn)3.4.3電機(jī)驅(qū)動(dòng)模塊的選擇選用Freescale公司的MC33886全橋驅(qū)動(dòng)芯片,通過(guò)兩路半橋?qū)崿F(xiàn)電機(jī)正反轉(zhuǎn)。這里的電機(jī)反轉(zhuǎn)并不為實(shí)現(xiàn)倒車(chē),而主要用于車(chē)體減速。在進(jìn)行電機(jī)正反轉(zhuǎn)切換時(shí),電機(jī)驅(qū)動(dòng)電流會(huì)隨著負(fù)載增大而瞬間放大,因此需要增大穩(wěn)壓能力,保證系統(tǒng)正常工作電壓,避免單片機(jī)自動(dòng)重啟。3.4.4MC33886原理MC33886作為一個(gè)單片電路H-橋,是理想的功率分流直流馬達(dá)和雙向推力電磁鐵控制器.它的集成電路包含內(nèi)部邏輯控制,電荷泵,門(mén)控驅(qū)動(dòng),及低讀選通(on)金屬-氧化物半導(dǎo)體場(chǎng)效應(yīng)晶體管輸出電路.33886能夠控制連續(xù)感應(yīng)直流負(fù)載上升到5.0安培,輸出負(fù)載脈寬調(diào)制的頻率可達(dá)10千赫。一個(gè)故障狀態(tài)輸出可以報(bào)告欠壓,短路,過(guò)熱的情況.兩路獨(dú)立輸入控制兩個(gè)半橋的推拉輸出電路的輸出.兩個(gè)無(wú)效輸入使H-橋產(chǎn)生三態(tài)輸出(呈現(xiàn)高阻抗).MC33886制定的參數(shù)范圍是-40°C≤TA≤125°C、5.0V≤V+≤40V。集成電路也可以工作在40V通過(guò)降低規(guī)定的定額值。集成電路能夠在表面安裝帶散熱裝置的電源組件.其特性為:工作電壓:5-40V,導(dǎo)通電阻:120毫歐姆輸入信號(hào):TTL/CMOS,PWM頻率:<10KHz由于芯片內(nèi)集成了兩個(gè)半橋,為了增大驅(qū)動(dòng)能力,所以把兩個(gè)橋并聯(lián)使用,并通過(guò)芯片資料上給芯片散熱的方法,安裝了適量的散熱片。由于四片所以不需要太多的散熱片。在錯(cuò)誤報(bào)告端口即FS端口外還加了上拉電阻,當(dāng)FS被拉低時(shí)表明芯片出現(xiàn)了短路保護(hù)、欠壓保護(hù)或過(guò)溫保護(hù),則需及時(shí)給D1和D2置位,讓芯片輸出高阻態(tài),防止芯片進(jìn)一步過(guò)熱,以至于燒壞芯片。芯片封裝:圖3-12MC33886芯片外部引腳的封裝圖圖3-13MC33886簡(jiǎn)化應(yīng)用圖圖3-14MC33886工作原理圖圖3-15終端功能描述3.4.5MC33886的使用說(shuō)明(1)PWM頻率限制:<10KHz圖3-16MC33886的使用曲線(xiàn)(1)圖3-16MC33886的使用曲線(xiàn)(2)(2)全部電容容量和不得超過(guò)2000微法;電容最高充電電壓不得超過(guò)25伏。(3)電機(jī)加速與減速限制,避免對(duì)于工作電源的影響;圖3-16MC33886的使用曲線(xiàn)(3)3.4.6驅(qū)動(dòng)電路的設(shè)計(jì)驅(qū)動(dòng)電路采用飛思卡爾公司的電機(jī)驅(qū)動(dòng)芯片MC33886。原理圖如3-17所示。圖3-17MC33886的原理圖這是一片MC33886的外圍電路,兩片33886并聯(lián)起來(lái)使用。單片機(jī)通過(guò)IN1,IN2給33886輸入一定占空比(a%)的PWM波,33886的OUT1和OUT2輸出一個(gè)大小為(a%*V+)的電壓,從而驅(qū)動(dòng)電機(jī)。用兩片的原因:由于一片33886的額定輸出流為5A,而且此芯片比較發(fā)熱。且電機(jī)在額定電壓下(即7.2V)堵轉(zhuǎn)時(shí)電流為16A,這個(gè)電流遠(yuǎn)遠(yuǎn)大于33886所承受的電流,所以如果用一片來(lái)驅(qū)動(dòng)當(dāng)電機(jī)堵轉(zhuǎn)時(shí)間稍長(zhǎng)時(shí),芯片會(huì)由于電流過(guò)大而燒掉。當(dāng)兩片33886時(shí),雖然每一片所承受電流大小有限,但兩片所能承受的電流會(huì)很大,則如果達(dá)到電機(jī)電流極限也就是16A?xí)r,理想狀態(tài)下每片平均分配8A的電流。通過(guò)控制MC33886的四根輸入線(xiàn)可以方便地實(shí)現(xiàn)電機(jī)正轉(zhuǎn)、能耗制動(dòng)及反接制動(dòng)。當(dāng)S1、S4導(dǎo)通且S2、S3截止時(shí)。電流正向流過(guò)直流電機(jī),智能車(chē)前進(jìn);當(dāng)S2、S3導(dǎo)通且S1、S4截止時(shí),電流反向流過(guò)直流電機(jī).利用這個(gè)過(guò)程可以使車(chē)處于反接制動(dòng)狀態(tài),從而迅速降低車(chē)速;當(dāng)S3、s4導(dǎo)通且S1、S2截止時(shí),沒(méi)有電源加在直流電機(jī)上,直流電機(jī)電樞兩端相當(dāng)于短接在一起。由于電機(jī)軸在外力作用下旋轉(zhuǎn)時(shí),電機(jī)可以產(chǎn)生電能,此時(shí)可以把直流電動(dòng)機(jī)看作一個(gè)帶了很重負(fù)載的發(fā)電機(jī),此時(shí)電機(jī)上會(huì)產(chǎn)生一個(gè)阻礙輸出軸運(yùn)動(dòng)的力,這個(gè)力的大小與負(fù)荷的大小成正比。這時(shí)電機(jī)處于能耗制動(dòng)狀態(tài)。驅(qū)動(dòng)芯片MC33886內(nèi)部具有短路保護(hù)、欠壓保護(hù)、過(guò)溫保護(hù)等功能,由于頻繁加速減速,長(zhǎng)時(shí)間工作時(shí)MC33886芯片發(fā)熱厲害,嚴(yán)重時(shí)甚至?xí)霈F(xiàn)過(guò)溫保護(hù),產(chǎn)生中斷信號(hào)。所以將芯片的錯(cuò)誤狀態(tài)FS中斷接入S12引腳PJ1,出現(xiàn)過(guò)溫保護(hù)時(shí),關(guān)閉電機(jī)以免燒壞MC33886。圖3-18驅(qū)動(dòng)模塊電路圖由CPU發(fā)出PWM波通過(guò)33886驅(qū)動(dòng)芯片控制電機(jī)的電壓。PB6、PB7輸出控制信號(hào),PWM0、PWM1輸出PWM波,經(jīng)由IN1、IN2、D1、D2/口輸入。OUT1、OUT2輸出電機(jī)調(diào)速信號(hào)。通過(guò)預(yù)設(shè)的DUTYCYCLE對(duì)電機(jī)的轉(zhuǎn)速進(jìn)行調(diào)解。3.5速度檢測(cè)模塊設(shè)計(jì)的電路圖如3-19所示:圖3-19速度檢測(cè)模塊當(dāng)電機(jī)轉(zhuǎn)動(dòng)時(shí)、會(huì)在555定時(shí)器的第2個(gè)端口產(chǎn)生一定頻率的信號(hào)(大致為正旋波),頻率與電機(jī)的轉(zhuǎn)速有關(guān)。經(jīng)過(guò)555定時(shí)器組成的斯密特觸發(fā)器的整形,out_put端會(huì)產(chǎn)生同頻率的矩形波信號(hào),這樣的信號(hào)就可以被單片機(jī)采集了。555斯密特觸發(fā)器電路的閾值電壓為VCC/3和VCC*2/3。因此需要通過(guò)R1和R2的選取將In_put的低電平電壓調(diào)到VCC/3以下,高電平電壓調(diào)到VCC*2/3以上。3.6舵機(jī)控制模塊3.6.1舵機(jī)的介紹一般來(lái)講,舵機(jī)主要由以下幾個(gè)部分組成,舵盤(pán)、減速齒輪組、位置反饋電位計(jì)5k、直流電機(jī)、控制電路板等??刂齐娐钒褰邮軄?lái)自信號(hào)線(xiàn)的控制信號(hào)(具體信號(hào)待會(huì)再講),控制電機(jī)轉(zhuǎn)動(dòng),電機(jī)帶動(dòng)一系列齒輪組,減速后傳動(dòng)至輸出舵盤(pán)。舵機(jī)的輸出軸和位置反饋電位計(jì)是相連的,舵盤(pán)轉(zhuǎn)動(dòng)的同時(shí),帶動(dòng)位置反饋電位計(jì),電位計(jì)將輸出一個(gè)電壓信號(hào)到控制電路板,進(jìn)行反饋,然后控制電路板根據(jù)所在位置決定電機(jī)的轉(zhuǎn)動(dòng)方向和速度,從而達(dá)到目標(biāo)停止。舵機(jī)的基本結(jié)構(gòu)是這樣,但實(shí)現(xiàn)起來(lái)有很多種。例如電機(jī)就有有刷和無(wú)刷之分,齒輪有塑料和金屬之分,輸出軸有滑動(dòng)和滾動(dòng)之分,殼體有塑料和鋁合金之分,速度有快速和慢速之分,體積有大中小三種之分等等,組合不同,價(jià)格也千差萬(wàn)別。

舵機(jī)的輸入線(xiàn)共有三條,紅色中間,是電源線(xiàn),一邊黑色的是地線(xiàn),這輛根線(xiàn)給舵機(jī)提供最基本的能源保證,主要是電機(jī)的轉(zhuǎn)動(dòng)消耗。舵機(jī)的控制信號(hào)為脈寬調(diào)制(PWM)信號(hào),其中脈沖寬度為5ms-2.5ms,相對(duì)應(yīng)舵盤(pán)的位置為0到80度,呈線(xiàn)性變化。也就是說(shuō),給它提供一定的脈寬,它的輸出軸就會(huì)保持在一個(gè)相對(duì)應(yīng)的角度上,無(wú)論外界轉(zhuǎn)矩怎樣改變,直到給它提供一個(gè)另外寬度的脈沖信號(hào),它才會(huì)改變輸出角度到新的對(duì)應(yīng)的位置上。舵機(jī)內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期20ms,寬度為5ms的基準(zhǔn)信號(hào),有一個(gè)比較器,將外加信號(hào)與基準(zhǔn)信號(hào)相比較,判斷出方向和大小,從而產(chǎn)生電機(jī)的轉(zhuǎn)動(dòng)信號(hào)。舵機(jī)是一種位置伺服的驅(qū)動(dòng)器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。其工作原理是:控制信號(hào)由接收機(jī)的通道進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號(hào),將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動(dòng)芯片決定電機(jī)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)速一定時(shí),通過(guò)級(jí)聯(lián)減速齒輪帶動(dòng)電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動(dòng)。舵機(jī)的控制信號(hào)是PWM信號(hào),利用占空比的變化改變舵機(jī)的位置。3.6.2舵機(jī)工作原理:控制信號(hào)控制電路板電極轉(zhuǎn)動(dòng)齒輪組減速舵盤(pán)轉(zhuǎn)動(dòng)位置反饋電位計(jì)控制電路板反饋;3.6.3舵機(jī)的基本資料智能車(chē)使用韓國(guó)FUTABA公司的S3010舵機(jī)完成轉(zhuǎn)向控制。型號(hào):S3010尺寸:40.0*20*38.1(mm)(L*W*H)重量:41(g)動(dòng)作速度:6.0V時(shí)0.16+0.02〔Sec/60度〕輸出扭矩:6.0V時(shí)6.5+1.3〔Kg.cm〕動(dòng)作角度:60+10度使用電壓:4.0V~6.0V舵機(jī)的特性曲線(xiàn)如圖3-20所示:3.6.4舵機(jī)的控制方法三線(xiàn)連接法:黑線(xiàn):地線(xiàn)紅線(xiàn):電源線(xiàn)(5V)白線(xiàn):信號(hào)線(xiàn)(PWM信號(hào))(1)當(dāng)單片機(jī)信號(hào)是1ms正脈沖時(shí),舵機(jī)轉(zhuǎn)向-60度位置(2)當(dāng)單片機(jī)信號(hào)是1.5ms正脈沖時(shí),舵機(jī)轉(zhuǎn)向度0度位置(3)當(dāng)單片機(jī)信號(hào)是2ms正脈沖時(shí),舵機(jī)轉(zhuǎn)向+60度位置圖3-20舵機(jī)的特性曲線(xiàn)圖3-21舵機(jī)控制信號(hào)3.6.5舵機(jī)的控制用單片機(jī)作為舵機(jī)的控制單元,使PWM信號(hào)的脈沖寬度實(shí)現(xiàn)微秒級(jí)的變化,從而提高舵機(jī)的轉(zhuǎn)角精度。單片機(jī)完成控制算法,再將計(jì)算結(jié)果轉(zhuǎn)化為PWM信號(hào)輸出到舵機(jī),由于單片機(jī)系統(tǒng)是一個(gè)數(shù)字系統(tǒng),其控制信號(hào)的變化完全依靠硬件計(jì)數(shù),所以受外界干擾較小,整個(gè)系統(tǒng)工作可靠。單片機(jī)系統(tǒng)實(shí)現(xiàn)對(duì)舵機(jī)輸出轉(zhuǎn)角的控制,必須首先完成兩個(gè)任務(wù):首先是產(chǎn)生基本的PWM周期信號(hào),本設(shè)計(jì)是產(chǎn)生20ms的周期信號(hào);其次是脈寬的調(diào)整,即單片機(jī)模擬PWM信號(hào)的輸出,并且調(diào)整占空比。當(dāng)系統(tǒng)中只需要實(shí)現(xiàn)一個(gè)舵機(jī)的控制,采用的控制方式是改變單片機(jī)的一個(gè)定時(shí)器中斷的初值,將20ms分為兩次中斷執(zhí)行,一次短定時(shí)中斷和一次長(zhǎng)定時(shí)中斷。這樣既節(jié)省了硬件電路,也減少了軟件開(kāi)銷(xiāo),控制系統(tǒng)工作效率和控制精度都很高。具體的設(shè)計(jì)過(guò)程:例如想讓舵機(jī)轉(zhuǎn)向左極限的角度,它的正脈沖為2ms,則負(fù)脈沖為20ms-2ms=18ms,所以開(kāi)始時(shí)在控制口發(fā)送高電平,然后設(shè)置定時(shí)器在2ms后發(fā)生中斷,中斷發(fā)生后,在中斷程序里將控制口改為低電平,并將中斷時(shí)間改為18ms,再過(guò)18ms進(jìn)入下一次定時(shí)中斷,再將控制口改為高電平,并將定時(shí)器初值改為2ms,等待下次中斷到來(lái),如此往復(fù)實(shí)現(xiàn)PWM信號(hào)輸出到舵機(jī)。用修改定時(shí)器中斷初值的方法巧妙形成了脈沖信號(hào),調(diào)整時(shí)間段的寬度便可使伺服機(jī)靈活運(yùn)動(dòng)。為保證軟件在定時(shí)中斷里采集其他信號(hào),并且使發(fā)生PWM信號(hào)的程序不影響中斷程序的運(yùn)行(如果這些程序所占用時(shí)間過(guò)長(zhǎng),有可能會(huì)發(fā)生中斷程序還未結(jié)束,下次中斷又到來(lái)的后果),所以需要將采集信號(hào)的函數(shù)放在長(zhǎng)定時(shí)中斷過(guò)程中執(zhí)行,也就是說(shuō)每經(jīng)過(guò)兩次中斷執(zhí)行一次這些程序,執(zhí)行的周期還是20ms。舵機(jī)的電路設(shè)計(jì)相對(duì)簡(jiǎn)單,所需電源電壓由電源模塊中的5V穩(wěn)壓電源提供,通過(guò)S12脈寬調(diào)制模塊所產(chǎn)生的PWM波進(jìn)行舵機(jī)驅(qū)動(dòng)控制。PWM0和PWM1兩個(gè)8位通道組成一個(gè)16位PWM波發(fā)生器,關(guān)閉PWM0輸出通道,直接由PWM1輸出16位PWM波驅(qū)動(dòng)舵機(jī)。電路圖如3-22所示。圖3-22舵機(jī)接線(xiàn)圖3.6.6舵機(jī)的調(diào)整

舵機(jī)自身硬件特性決定:在給定電壓一定時(shí),空載和帶載時(shí)的角速度ω分別保持恒值,而線(xiàn)速度υ=ωR,正比于轉(zhuǎn)臂的長(zhǎng)度R。當(dāng)舵機(jī)所需轉(zhuǎn)動(dòng)幅度一定時(shí),長(zhǎng)轉(zhuǎn)臂要比短轉(zhuǎn)臂轉(zhuǎn)動(dòng)的角度小,即響應(yīng)更快。如圖14所示,對(duì)于轉(zhuǎn)臂1和2,當(dāng)R1<R2且轉(zhuǎn)動(dòng)相同的位移時(shí),轉(zhuǎn)角θ1>θ2。因此對(duì)于相同的角速度ω,可得轉(zhuǎn)臂響應(yīng)時(shí)間t1>t2。顯然利用舵機(jī)的轉(zhuǎn)距余量可以提高系統(tǒng)整體的響應(yīng)速度。舵機(jī)轉(zhuǎn)臂加長(zhǎng)結(jié)構(gòu)分析如圖3-23所示:圖3-23舵機(jī)轉(zhuǎn)臂加長(zhǎng)結(jié)構(gòu)分析舵機(jī)的響應(yīng)速度為:在4.8V情況下旋轉(zhuǎn)60度用時(shí)0.2秒,這樣的響應(yīng)速度能夠要通過(guò)控制舵機(jī)轉(zhuǎn)動(dòng)提前量才滿(mǎn)足該小車(chē)的轉(zhuǎn)彎要求,為了更高限度的提高舵機(jī)響應(yīng)速度,一方面也通過(guò)機(jī)械的方式,利用舵機(jī)的輸出轉(zhuǎn)距余量,使角速度變大,加快舵機(jī)響應(yīng)速度;另一方面提高舵機(jī)控制信號(hào)PWM波的頻率,雖然舵機(jī)能轉(zhuǎn)多少度由PWM波的占空比控制,轉(zhuǎn)動(dòng)速度由舵機(jī)電壓及舵機(jī)性能決定,但是較高的PWM波頻率可以使使舵機(jī)更快的獲得占空比的信息,更早地響應(yīng)轉(zhuǎn)向指令。舵機(jī)是個(gè)瞬間強(qiáng)力工作的機(jī)構(gòu),因此它會(huì)產(chǎn)生強(qiáng)烈的電流沖擊。為了提高舵機(jī)的響應(yīng)速度,采用6v電源給舵機(jī)供電,使用了一個(gè)肖特基管及一個(gè)普通二極管把7.2v電源降壓1.2v供給舵機(jī),并使用了兩個(gè)470uF的鉭電容給它穩(wěn)壓。細(xì)化PWM控制量,使轉(zhuǎn)臂變化更加靈活、均勻。為了使較遠(yuǎn)處黑線(xiàn)位置能夠正確的控制舵機(jī)轉(zhuǎn)向,舵機(jī)必須有較高的角度分辨率,為此使用一個(gè)串聯(lián)的16位PWM電路控制產(chǎn)生的200Hz的PWM信號(hào)來(lái)精確快速的控制舵機(jī)轉(zhuǎn)向,通過(guò)適當(dāng)配置,舵機(jī)角度從極左到極右在理論上共有9000個(gè)分檔,完全能滿(mǎn)足角度調(diào)節(jié)的需要。

第四章智能小車(chē)的軟件設(shè)計(jì)與實(shí)現(xiàn)4.1軟件設(shè)計(jì)環(huán)境由于此次的算法比較復(fù)雜,并且MC9S12DG128B這單片機(jī)內(nèi)部總共有128KB的存儲(chǔ)空間,存儲(chǔ)容量綽綽有余,所以采用比較直觀,編寫(xiě)較為容易也容易調(diào)試的C語(yǔ)言進(jìn)行軟件算法的編寫(xiě)。在CodeWorrier當(dāng)中建立好項(xiàng)目以后,在MC9S12DG128B.H頭文件當(dāng)中還對(duì)單片機(jī)當(dāng)中所有一的寄存器有一個(gè)宏定義,這樣,就進(jìn)一步的簡(jiǎn)化了軟件的編寫(xiě),而小用過(guò)多的糾纏于地址的計(jì)算當(dāng)中,提高開(kāi)發(fā)的效率。與此同時(shí),C的源代碼簡(jiǎn)潔易懂,可移植性很強(qiáng),這樣也利于在多人共同開(kāi)發(fā)軟件的情況下,將程序的模塊化處理、開(kāi)發(fā)、調(diào)試。除此之外,此款單片機(jī)的存儲(chǔ)空間有一128kB,其分為了RAM,EEPROM,PAGEDFLASH以及UNPAGEDFLASH這五種可以用來(lái)存儲(chǔ)程序代碼的部分。采用C編程時(shí),CodeWorrier集成開(kāi)發(fā)環(huán)境已經(jīng)在建立項(xiàng)目的同時(shí),自動(dòng)生成了SIMULATORLINKER.PRM文件對(duì)數(shù)據(jù)存儲(chǔ)空間進(jìn)行了定義,對(duì)復(fù)位、中斷向量以及堆棧大小的定義也是在這個(gè)文件當(dāng)中。所以,我們并不需要具體的定義程序代碼以及數(shù)據(jù)區(qū)、堆棧區(qū)在單片機(jī)中的存儲(chǔ)方式、以及具體的程序起始地址,這也簡(jiǎn)化了開(kāi)發(fā)過(guò)程。鑒于C雖然可以有一地址操作但是開(kāi)發(fā)環(huán)境在默認(rèn)狀態(tài)下不允許開(kāi)發(fā)人員任意的定義數(shù)據(jù)、程序存儲(chǔ)地址,而嵌入式的系統(tǒng)開(kāi)發(fā)又不想PC環(huán)境下的C可以有一屏幕直接顯示的數(shù)據(jù)輸出。為了解決這一問(wèn)題,在SIMULATOR.MAP文件當(dāng)中找到了由開(kāi)發(fā)環(huán)境自動(dòng)分配的變量地址,從而利于程序的調(diào)試,編寫(xiě)。4.2軟件整體設(shè)計(jì)方案根據(jù)此次我們對(duì)于智能車(chē)的整體設(shè)計(jì)方案,我們從傳感器得到的外部信息輸入有:攝像頭得到的車(chē)前方的黑線(xiàn)圖像數(shù)據(jù),速度傳感器得到的智能車(chē)即時(shí)速度。要進(jìn)行的外部控制輸出有:舵機(jī)轉(zhuǎn)向輸出以及驅(qū)動(dòng)電機(jī)動(dòng)力輸出。我們所采用的尋路、速度控制算法總體來(lái)說(shuō)可以這樣描述:根據(jù)攝像頭所得到的圖像信號(hào),經(jīng)過(guò)數(shù)字圖像處理過(guò)后(濾波,取特征值),提取黑線(xiàn)的兩個(gè)邊緣從而對(duì)智能車(chē)的轉(zhuǎn)向方向以及姿態(tài)、速度等進(jìn)行控制。速度傳感器得到的智能車(chē)運(yùn)行速度則是對(duì)轉(zhuǎn)向角度進(jìn)行修正,另外的,為了保持智能車(chē)的穩(wěn)定運(yùn)行,去除電池電壓對(duì)于車(chē)速度的影響,依靠速度傳感器反饋形成閉環(huán)的速度控制,有一速度傳感器的信號(hào)由程序自動(dòng)調(diào)整電機(jī)輸出的占空比,從而讓小車(chē)以相對(duì)平穩(wěn)的速度運(yùn)行。軟件系統(tǒng)架構(gòu)圖如下:圖4.1軟件系統(tǒng)架構(gòu)圖4.3程序流程我們所采用算法的特點(diǎn)在于:我們通過(guò)攝像頭,成功的得到了車(chē)前方黑線(xiàn)的圖像數(shù)據(jù),通過(guò)圖像處理的算法以及將攝像頭探測(cè)范圍加大,我們甚至可以預(yù)測(cè)前方的黑線(xiàn)走向,從而做到在彎道時(shí)的提前轉(zhuǎn)向,從內(nèi)側(cè)弧以較短的路徑通過(guò)彎道。在直道時(shí),我們以較為靠前的數(shù)據(jù)來(lái)控制轉(zhuǎn)向,從而從根本上預(yù)防了在直線(xiàn)時(shí)的左右擺動(dòng)的狀況。在速度控制方面,一方面,根據(jù)當(dāng)前的速度以及前方的道路狀況來(lái)決策下一狀態(tài)的速度策略。另一方面,在速度控制上采用閉環(huán)的控制策略,真正做到控制速度,而不是控制在一定電壓狀況下的PWM波輸出。針對(duì)這次采用的主控芯片為一單片機(jī),計(jì)算能力有限,所以在而臨大規(guī)模的數(shù)據(jù)計(jì)算來(lái)進(jìn)行數(shù)字圖像處理時(shí),我們采用的處理算法都比較簡(jiǎn)單但是效果已經(jīng)足夠我們使用。而且在計(jì)算時(shí)就充分考慮到了后期的分析,識(shí)別處理,從而在攝像頭處理部分有非常簡(jiǎn)單但是高效的代碼。由于系統(tǒng)的輸入輸出數(shù)量較多,算法相對(duì)也經(jīng)歷了較多步驟。所以為了便于調(diào)試,在程序中采用了模塊化的編程方法。將每一個(gè)步驟編成一個(gè)子函數(shù),通過(guò)函數(shù)調(diào)用的方式來(lái)逐步的實(shí)現(xiàn)尋路以及速度控制、狀態(tài)輸出等等。這樣不僅便于編程,同樣在調(diào)試,查錯(cuò)以及對(duì)算法進(jìn)行改進(jìn)。在C的程序調(diào)用時(shí),免不了要進(jìn)行參數(shù)傳遞,在多種傳遞方式當(dāng)中,我在程序的大部分采用了最簡(jiǎn)單也是在單片機(jī)開(kāi)發(fā)時(shí)最適宜的全局變量的傳遞方法。將需要傳遞的參數(shù)都設(shè)定為統(tǒng)一的全局變量,在程序的任何一個(gè)部分都可以調(diào)用。這種方式充分考慮到了單片機(jī)的尋址方式,減少了堆棧操作。同時(shí)帶來(lái)的好處時(shí),我可以在調(diào)試的過(guò)程中從存儲(chǔ)空間的固定位置看到我想要觀察的數(shù)據(jù)。這種思想在嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程中,能夠大大的簡(jiǎn)化查錯(cuò)的步驟、及時(shí)的了解到程序的運(yùn)行狀態(tài)。圖4-2程序總流程圖4.4初始化初始化模塊有:鎖相環(huán),AD模塊,PWM模塊,I/O模塊,中斷及復(fù)位模塊。MCU初始化:VOIDMCUint(VOID){//禁止總中斷DISABLE_INTERRUPTS;//CLKSEL的第7位置0,選擇系統(tǒng)時(shí)鐘源為OSCCLK//在PLL程序執(zhí)行之前,內(nèi)部總線(xiàn)頻率=OSCCLK/2//CLKSEL.7決定內(nèi)部總線(xiàn)時(shí)鐘來(lái)源//=0時(shí),BusClock=OSCCLK/2;=1時(shí),BusClock=PLLCLK/2CLKSEL&=0X7f;//此時(shí),BusClock=OSCCLK/2//禁止PLLPLLCYL&=0Xbf;//PLLCTL.6(pllon)設(shè)為0,先關(guān)閉PLL//根據(jù)需要的時(shí)鐘頻率設(shè)置SYNR和REFDV寄存器//計(jì)算公式:PLLCLK=2*OSCCLK*((SYNR+1)/(REFDV+1))SYNR=0x01;//對(duì)PLLCLK增頻的因子REFDV=0X00;//對(duì)PLLCLK分頻的因子//打開(kāi)PLLPLLCTL|=(1<<6);//PLLCTL.6(pllon)設(shè)為1;開(kāi)PLL//通過(guò)判斷CRGFLG寄存器的LOCK位,確定PLL是否穩(wěn)定While((CRGFLG&0x08)==0x00);//時(shí)鐘頻率穩(wěn)定后,允許鎖相環(huán)時(shí)鐘源作為系統(tǒng)時(shí)鐘源CLKSEL|=(1<<7);//執(zhí)行后,BusClock=PLLCLK/2//設(shè)置是否允許IRQ中斷INTCR&=0xbf;//IRQCR.6(IRQEN)=0禁止IRQ中斷(默認(rèn)開(kāi))(2)鎖相環(huán)初始化:16MHz無(wú)源晶體振蕩器產(chǎn)生的時(shí)鐘信號(hào)經(jīng)過(guò)鎖相環(huán)提升頻率后到達(dá)了24MHz的總線(xiàn)頻率。其計(jì)算公式如下:PLLCLK=OSCCLK(SYNR/REFDV+1)=16*(2+1//1+1)=24MHZ(3)A/D模塊初始化AD模塊對(duì)速度傳感器進(jìn)來(lái)的模擬信號(hào)進(jìn)行A/D采樣,得到的數(shù)字信息即為當(dāng)前車(chē)輛的移動(dòng)速度。本設(shè)計(jì)使用了AD模塊1,模擬信號(hào)從0通道輸入。獲取采樣數(shù)據(jù)是使用查詢(xún)方式,因?yàn)樵诔绦虻暮罄m(xù)階段會(huì)立即使用這一數(shù)據(jù),所以不必為之設(shè)定中斷。為了提高速度的采集精度,采樣建立時(shí)間為:(2+16+8)ADclock=26*1/24000000/(6*2)=13us(4)PWM模塊初始化PWM模塊的輸出直接控制了驅(qū)動(dòng)電機(jī)的轉(zhuǎn)速以及舵機(jī)的轉(zhuǎn)向角度,為了獲得最大的驅(qū)動(dòng)電機(jī)輸出效率、最快的舵機(jī)反應(yīng)速度以及所需的控制精度,對(duì)應(yīng)于硬件設(shè)計(jì)有如下的頻率設(shè)定。驅(qū)動(dòng)電機(jī):與之相連的電感相對(duì)應(yīng),采用了單次分頻過(guò)后的時(shí)鐘B作為模塊時(shí)鐘。其具體的分頻值以及計(jì)算公式如下:CLOCKB=BUSCLOCK/PRESCALAR=24MHZ/128=187.5KHZ轉(zhuǎn)向舵機(jī):為了提高舵機(jī)的反應(yīng)速度,本次設(shè)計(jì)沒(méi)有采用20ms周期的PWM脈沖,在經(jīng)過(guò)多次調(diào)試后,選擇了速度較快,同時(shí)保持轉(zhuǎn)向精度以及運(yùn)行穩(wěn)定性的200Hz的保持原有占空比的PWM脈沖來(lái)作為轉(zhuǎn)向信號(hào)。時(shí)鐘選用了單次分頻以后的CLOCKA其周期具體分頻值以及計(jì)算公式如下:CLOCK=BUSCLOCK/PRESCALAR=24MHZ/4=6MHZ周期為:PERRIOD=1/CLOCKA*DUTY=1/6000000*3000000=5ms(5)復(fù)位,中斷以及堆棧初始化除了上電復(fù)位以外,還要設(shè)置由三個(gè)通道的輸入捕捉而產(chǎn)生的三個(gè)中斷源的中斷向量。它們分別是ECT0,ECT4以及ECT6。其中,行同步信號(hào)以及黑線(xiàn)脈沖的采集都是在場(chǎng)同步信號(hào)到來(lái)以后才開(kāi)始的。所以,場(chǎng)同步信號(hào)所在的ECT6具有最大的中斷優(yōu)先級(jí)。(6)其他初始化在這一部分中進(jìn)行初始化的有:33886電機(jī)驅(qū)動(dòng)芯片加使能信號(hào),電機(jī)開(kāi)始輸出。4.5程序代碼(1)舵機(jī)控制運(yùn)行電機(jī)的轉(zhuǎn)速以及舵機(jī)的轉(zhuǎn)角,在軟件上都是通過(guò)對(duì)PWM波占空比進(jìn)行設(shè)置來(lái)相應(yīng)控制的。舵機(jī)轉(zhuǎn)角控制需要將兩個(gè)八位寄存器合成為一個(gè)十六位寄存器。要將程序中的舵機(jī)位置信號(hào),比如6000,要分配給PWM0和1,分配時(shí)這2個(gè)端口的賦值必須是16進(jìn)制,比如6000的十六進(jìn)制為0x1770,那么賦值時(shí)就必須為PWMDTY0=0x17,PWMDTY1=0x70,因此這就牽涉到如何將1個(gè)十進(jìn)制數(shù)分配為2個(gè)十六進(jìn)制數(shù)問(wèn)題。有2種方案,一種是除法取余,另一種是移位操作,前者編譯生成的代碼比后者要多,所以采用移位操作來(lái)實(shí)現(xiàn),即取高位時(shí)與0xFF00先作“&”計(jì)算,然后將所得到的數(shù)向右移8位(>>8),即可取得高8位;同理,取低8位時(shí)只要與0x00FF作“&”計(jì)算即可。程序代碼如下:PWMCTL_CON01=1;//PWM01合并bitPWMPRCLK=0x33;//A=B=32M/8=4MPWMSCLA=100;//SA=A/2/100=20kPWMSCLB=1;//SB=B/2/1=2000kPWMCLK=0b00011100;//PWM0,1-A;PWM2,3-SB;PWM4-SAPWMPOL=0xff;//位極性=1Duty=HighTimePWMCAE=0x00;//對(duì)齊方式-左對(duì)齊PWMPER0=0x9c;//PWMPER1=0x40;//20000=0x4e20;Frequency=A/20000=200HzPWMDTY0=0x19;//PWMDTY1=0x00;//舵機(jī)DTY初始值PWME_PWME1=1;//舵機(jī)enable(2)電機(jī)控制電機(jī)轉(zhuǎn)速設(shè)置在軟件上都通過(guò)PWM波占空比設(shè)置完成的。PTJ_PTJ6=1;//"1"enable33886motor,"0"disableitPWME=0x00;//PWMisdisabledPWMPRCLK=0x33;//A=B=32M/8=4MPWMSCLA=100;//SA=A/2/100=20kPWMSCLB=1;//SB=B/2/1=2000kPWMCLK=0b00011100;//PWM0,1-A;PWM2,3-SB;PWM4-SAP

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論