畢業(yè)設計----gps智能車導航說明書_第1頁
已閱讀1頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  第一章 緒論</b></p><p><b>  1.1 引言</b></p><p>  GPS 是英文Global Positioning System(全球定位系統(tǒng))的簡稱,而其中文簡稱為“球位系”。GPS是20世紀70年代由美國陸海空三軍聯合研制的新一代空間衛(wèi)星導航定位系統(tǒng) 。其主要目的是為陸、海、空三大領域

2、提供實時、 全天候和全球性的導航服務,并用于情報收集、核爆監(jiān)測和應急通訊等一些軍事目的,是美國獨霸全球戰(zhàn)略的重要組成。經過20余年的研究實驗,耗資300億美元,到1994年3月,全球覆蓋率高達98%的24顆GPS衛(wèi)星星座己布設完成。在機械領域GPS則有另外一種含義:產品幾何技術規(guī)范(Geometrical Product Specifications)-簡稱GPS。 </p><p>  從發(fā)展趨勢來看,國內GP

3、S 市場呈現出兩個重點: 一.是以車載導航為核心的移動目標監(jiān)控、管理與服務系統(tǒng):在GPS應用領域中,車輛應用所占的比例較大。最初GPS車輛應用一般分為車輛跟蹤、車輛導航兩大系統(tǒng)。但當Motolora推出將車輛導航與跟蹤集于一體的車輛信息系統(tǒng)(Telematics)后,它就成了發(fā)展的方向。以車輛防盜為例,一般分為靜態(tài)車輛防盜與動態(tài)車輛追蹤兩種。前者是指車主離開汽車,停泊的車輛遭遇偷盜、毀壞、移動時,車輛通過自身的監(jiān)控系統(tǒng)向GPS監(jiān)控中心發(fā)

4、出警報,并自動與車主手機聯系、電話報警等。后者則可對行使中的被盜車輛進行定位跟蹤、車況監(jiān)聽、車跡記錄,甚至控制車輛斷電、斷油等。二.是面向個人消費者的GPS終端產品:芯片的小型化技術、生產成本的降低、體積與耗電量的減小等有利因素,使GPS產品走下神壇、深入到人們的日常生活中。目前面向個人消費者的產品主要有車載自主導航系統(tǒng)、移動監(jiān)控終端以及消費類電子產品。移動監(jiān)控終端是移動目標監(jiān)控系統(tǒng)的關鍵部分。有用于集裝箱等貨物、車輛的跟蹤等領域的隱蔽

5、式安裝產品,也有多功能的綜合車載平臺。但隨著產品成本的降低與體積微型化,市場上已出現供兒童、老人</p><p>  與上述產品相比,各種個人消費類GPS電子產品則更加接近人們的生活。有集成了GPS芯片和GIS數字地圖的移動通信手機、GPS手持機、GPS手表,甚至GPS相機等,也有基于掌上電腦、筆記本電腦等移動設備的插卡(CF卡式GPS接收機)式、外接(GPS接收機)式等集成產品。目前國內市場上多見的是Garmi

6、n、Magellan(麥哲倫)、NavSys等外國公司品牌的GPS手持機、汽車導航儀等產品。</p><p>  1.2 車載GPS技術及國內外應用情況:</p><p>  1.2.1 發(fā)展 </p><p>  微電子技術、計算機技術、空間技術及制圖技術的發(fā)展使車輛導航系統(tǒng)獲得了飛速的發(fā)展。目前,隨著GPS定位技術的出現,并結合其它導航系統(tǒng)(如DR),車輛定位

7、系統(tǒng)可確定行駛在每個街道和十字路口的車輛的準確位置。車載導航系統(tǒng)要想在市場站穩(wěn)腳跟,不僅要有很好的硬件,更重要是要有很好的軟件相配合,導航內容一定要有道路狀況、商店分布、交通規(guī)則等。在中國要把這些資料搜集全是一件非常困難的事,因此要想在中國市場上取得成功,擁有準確和全面的是關鍵,全面準確的導航內容是體現其價值所在。在日本,車載導航系統(tǒng)被消費者認識和接受用了很多年的時間。在中國,車載導航系統(tǒng)要達到真正的普及,就必須以家庭用車快速發(fā)展為前提

8、。2008年召開的奧運會,帶動中國汽車市場有一個大的發(fā)展,這對汽車用品生產商來說是一個很好的市場機會,就像手提電話在中國快速普及一樣,今后車載導航系統(tǒng)在中國肯定會有一個大的發(fā)展,因此要占有一席之地,就需要在未來幾年內要加大投入。</p><p>  我國雖然是一個發(fā)展中國家,但是正像計算機和移動電話一樣,車載導航系統(tǒng)具有極為廣闊的發(fā)展機遇。車載導航系統(tǒng)在當今中國有著千載難逢的發(fā)展機遇,這是因為車輛導航系統(tǒng)中包含有

9、數字地圖,而產生和加工數字地圖要受到每個國家的各種限制,這就為國內民族工業(yè)的振興留下了一個沒有競爭的空間。此外,在軟件和數據采集方面我們有著自己獨特的優(yōu)勢。我國擁有豐富的技術人員和勞動力資源,可以形成強大的知識密集型和勞動密集型的車載導航系統(tǒng)產業(yè)。加之現代科技的飛速發(fā)展,使得硬件生產技術不斷成熟和完善。因此,發(fā)展我國的車載導航系統(tǒng)產業(yè)適逢其時,機不可失。</p><p>  1.2.2駕駛信息系統(tǒng)</p&g

10、t;<p>  駕駛信息系統(tǒng)為駕駛員提供各種形式的有利于決定如何到達目的地的導航信息,范圍可包括從最小的方向信息到根據實時的分步路線引導指令得出距目的地的直線距離。</p><p><b>  (1) VDO系統(tǒng)</b></p><p>  目前歐洲市場上有一種叫“城市領航員”的航位推算系統(tǒng),使用的是一個地磁場傳感器和一個里程表傳感器。根據相應的累計行駛

11、增量來連續(xù)地估計汽車相對初始位置的位移。 </p><p>  (2) Etak系統(tǒng)</p><p>  最先進人商業(yè)應用并在航位推算基礎上增加地圖匹配的汽車導航系統(tǒng)是Etak導航者。這一系統(tǒng)利用地圖匹配人工智能模式校正汽車軌跡同公路圖之間的誤差。</p><p>  (3) Blaupunkt EVA系統(tǒng)</p><p>  Bosh-Bl

12、aupunkt開發(fā)了一種叫EVA的地圖匹配系統(tǒng),包含一個差分里程表和一個產生最佳路線的路線搜索軟件,交叉口的拐彎、路線變化等都以簡圖形式在LCD上標明,簡圖包括路界和路向表示箭頭。</p><p>  1.2.3 交通管理系統(tǒng)</p><p>  車載路線引導系統(tǒng)在改善交通方面的潛力早已被人認識,事實上這一系統(tǒng)是六十年代末期美國聯邦公路局ERGS工程的中心,即使這一研究到目前為止仍僅限于美

13、國本土,但在日本和歐洲它已成為發(fā)展社區(qū)導航和路線引導系統(tǒng)的基礎。</p><p>  (1) Philips CARIN</p><p>  CARIN首先利用壓縮盤(CD—ROM)來存儲數字地圖信息(GIS),包括路線搜索算法,并提供逐步路線引導。當在路線引導模式下運行時,彩色地圖上就會顯示出車輛所在地的周圍環(huán)境,同時語音還會不斷提示駕駛員。</p><p>  

14、(2) Auto Guide</p><p>  自動引導信標自身是一個小型計算機,存儲著列表形式的電子信號信息,這些信息不斷地被控制中心的大型計算機更新。在當前交通狀況基礎上,控制中心不斷地重復計算、設計路線。依靠全市區(qū)最新的信息,駕駛員就能接受引導。</p><p>  (3) ALI-SCOUT</p><p>  ALI-SCOUT是路線引導系統(tǒng)的一個重要的

15、新進展,ALI-SCOUT結合了CARIN和自動引導的某些特點,如同自動引導要依靠最近的信標,車載設備也包括航位推算(DR)和地圖匹配(MM),在信標間實現自主導航,這樣信標間距就可大些。</p><p>  (4) CALTRAN</p><p>  當Eta系統(tǒng)在每個街區(qū)不提供路線引導時,CALTRAN系統(tǒng)允許在顯示地圖上添加實時交通信息,而駕駛員在路線計劃時就能對此加以考慮。<

16、/p><p>  1.2.4 車隊管理系統(tǒng)</p><p>  多年來各種遠距離監(jiān)視汽車位置和狀態(tài)的系統(tǒng)已成為車隊管理的重要手段,特別是車隊調度控制和警車調遣。車隊汽車提供的位置信息幾乎是一成不變地通過無線網同調度中心通信,而不是作為導航信息提供給駕駛員。</p><p>  (1) Etak調度系統(tǒng)</p><p>  Etak導航者是一個AV

17、L(自動汽車定位)的位置傳感器和Etak公司提供的調</p><p><b>  度系統(tǒng)。</b></p><p>  (2) Routeware ARCS</p><p>  自動路線控制系統(tǒng)(ARCS)在數據傳遞路徑上,除實時路線引導外,還提供了命令和控制功能,這一系統(tǒng)是車輛導航在車隊管理應用中的深入發(fā)展。</p><p

18、>  1.2.5 車輛導航系統(tǒng)中的定位技術</p><p>  (1) Navstar GPS</p><p>  Navstar GPS已成為車輛導航系統(tǒng)的基礎,系統(tǒng)由24顆衛(wèi)星組成。安裝在車輛上的GPS接收機能提供連續(xù)的實時定位信息:經度、緯度、速度、方向。</p><p>  (2) Loran-C AVL</p><p>  L

19、oran-C定位的基本原理是在主站和從站之間脈沖到達的時間差可計算出實時位置。</p><p>  (3) Geostar定位</p><p>  Geostar衛(wèi)星系統(tǒng)將成為世界第一家為車隊管理者提供全面定位和雙向通信的商業(yè)網。</p><p>  (4) 組合定位系統(tǒng)</p><p>  目前,最常用的組合定位方式是GPS與慣性系統(tǒng)組成的

20、DR的組合。</p><p>  1.2.6 GPS智能導航的趨勢</p><p>  從當前GPS導航儀市場山寨化運作的現狀來看,的確是這樣的。真正的汽車導航,或說今后智能的汽車出行導引服務,將是以汽車行駛、運轉狀態(tài)、位置數據為核心,可遠程響應、支援、服務,并可緊急處理安全情況數據的智能服務網絡——這已經不是科幻話題了。汽車前裝電子系統(tǒng)、汽車前裝導航影音系統(tǒng),一直在向這個方向努力,僅僅是

21、2009年才剛剛有一些車型裝備了Telematics系統(tǒng),進入大眾視野。而在大眾視野外,國內的導航相關廠商早已在布局Telematics智能汽車聯網系統(tǒng)市場,找一個導航業(yè)界耳熟能詳的企業(yè)名字,相信關注GPS導航領域的朋友們均能了解——高德軟件AutoNav, 這個剛剛在納斯達克上市的導航業(yè)公司早已從高端車型的前裝定位導航系統(tǒng)市場著手,逐步滲透汽車電子前裝合作領域,從德系、歐美系高端車型逐步向低端車型覆蓋——上海通用別克,雪佛蘭,上海大眾

22、途觀,朗逸,斯柯達,榮威350,比亞迪,廣汽傳祺……在通常大眾所指的導航產品圈(PND 一體機導航產品)領域并不高調的高德,實際上是在提前進攻不易山寨的汽車前裝電子領域,并已經在Telematics領域扎下了深厚的根基,直接或間接為16萬現有Telemat</p><p><b>  1.3 GPS構成</b></p><p><b>  空間部分: <

23、;/b></p><p>  GPS的空間部分是由24顆工作衛(wèi)星組成,它位于距地表20 200km的上空,均勻分布在6 個軌道面上(每個軌道面4 顆) ,軌道傾角為55°,如圖1.1所示。此外,還有3 顆有源備份衛(wèi)星在軌運行。衛(wèi)星的分布使得在全球任何地方、任何時間都可觀測到4 顆以上的衛(wèi)星,并能在衛(wèi)星中預存的導航信息。GPS的衛(wèi)星因為大氣摩擦等問題,隨著時間的推移,導航精度會逐漸降低。 </

24、p><p><b>  圖1.1衛(wèi)星結構圖</b></p><p><b>  地面控制系統(tǒng):</b></p><p>  地面控制系統(tǒng)由監(jiān)測站(Monitor Station)、主控制站(Master Monitor Station)、地面天線(Ground Antenna)所組成,主控制站位于美國科羅拉多州春田市(Colo

25、rado Spring)。地面控制站負責收集由衛(wèi)星傳回之訊息,并計算衛(wèi)星星歷、相對距離,大氣校正等數據。 </p><p><b>  用戶設備部分: </b></p><p>  用戶設備部分即GPS 信號接收機。其主要功能是能夠捕獲到按一定衛(wèi)星截止角所選擇的待測衛(wèi)星,并跟蹤這些衛(wèi)星的運行。當接收機捕獲到跟蹤的衛(wèi)星信號后,就可測量出接收天線至衛(wèi)星的偽距離和距離的變化

26、率,解調出衛(wèi)星軌道參數等數據。根據這些數據,接收機中的微處理計算機就可</p><p>  按定位解算方法進行定位計算,計算出用戶所在地理位置的經緯度、高度、</p><p>  速度、時間等信息。接收機硬件和機內軟件以及GPS 數據的后處理軟件包構成完整的GPS 用戶設備。GPS 接收機的結構分為天線單元和接收單元</p><p>  兩部分。接收機一般采用機內和

27、機外兩種直流電源。設置機內電源的目的</p><p>  在于更換外電源時不中斷連續(xù)觀測。在用機外電源時機內電池自動充電。關機后,機內電池為RAM存儲器供電,以防止數據丟失。目前各種類型的接受機體積越來越小,重量越來越輕,便于野外觀測使用。其次則為使用者接收器,現有單頻與雙頻兩種,但由于價格因素,一般使用者所購買的多為單頻接收器。</p><p>  1.4 GPS定位原理</p&g

28、t;<p>  GPS由三個獨立的部分組成:空間部分:21顆工作衛(wèi)星,3顆備用衛(wèi)星。地面支撐系統(tǒng):1個主控站,3個注入站,5個監(jiān)測站。用戶設備部分:接收GPS衛(wèi)星發(fā)射信號,以獲得必要的導航和定位信息,經數據處理,完成導航和定位工作。GPS接收機硬件一般由主機、天線和電源組成?! PS定位的基本原理是根據高速運動的衛(wèi)星瞬間位置作為已知的起算數據,采用空間距離后方交會的方法,確定待測點的位置。如圖所示,假設t時刻在地面待測

29、點上安置GPS接收機,可以測定GPS信號到達接收機的時間△t,再加上接收機所接收到的衛(wèi)星星歷等其它數據可以確定以下四個方程式:上述四個方程式中待測點坐標x、 y、 z 和Vto為未知參數,其中di=c△ti (i=1、2、3、4)。di (i=1、2、3、4) 分別為衛(wèi)星1、衛(wèi)星2、衛(wèi)星3、衛(wèi)星4到接收機之間的距離?!鱰i (i=1、2、3、4) 分別為衛(wèi)星1、衛(wèi)星2、衛(wèi)星3、衛(wèi)星4的信號到達接收機所經歷的時間。c為GPS信號的傳播速度

30、(即光速)。四個方程式中各個參數意義如下:x、y、z 為待測點坐標的空間直角坐標。</p><p>  圖1.4 定位原理圖</p><p>  xi 、yi 、zi (i=1、2、3、4) 分別為衛(wèi)星1、衛(wèi)星2、衛(wèi)星3、衛(wèi)星4在t時刻的空間直角坐標,可由衛(wèi)星導航電文求得:t i (i=1、2、3、4) 分別為衛(wèi)星1、衛(wèi)星2、衛(wèi)星3、衛(wèi)星4的衛(wèi)星鐘的鐘差,由衛(wèi)星星歷提供。Vto為接收機的鐘

31、差。由以上四個方程即可解算出待測點的坐標x、y、z 和接收機的鐘差Vto 。目前GPS系統(tǒng)提供的定位精度是優(yōu)于10米,而為得到更高的定位精度,我們通常采用差分GPS技術:將一臺GPS接收機安置在基準站上進行觀測。根據基準站已知精密坐標,計算出基準站到衛(wèi)星的距離改正數,并由基準站實時將這一數據發(fā)送出去。用戶接收機在進行GPS觀測的同時,也接收到基準站發(fā)出的改正數,并對其定位結果進行改正,從而提高定位精度。 差分GPS分為兩大類:偽距差分

32、和載波相位差分。</p><p>  1.5 基本的信號結構1.5.1基本的信號結構及類型一般民用GPS使用的是GPS系統(tǒng)的L1載波,頻率為1575.42 MHz。在這個載波頻率上面以調相方式加載了兩種不同的偽隨機噪聲碼:C/A碼和P碼。C/A碼是用于民用的測距碼,碼長為1023個碼元,即1023次從數字零到數字1的跳動,這1023個碼元每秒重復1000次,即1.023MHz, 或每一百萬分之一秒跳動一次。P

33、碼是軍用碼,碼長非常長,碼速為10.23MHz,即每千萬分之一秒跳動一次。由于GPS接收機通過對比碼元的跳動來計算從衛(wèi)星到接收機的時間,然后再轉換成距離,顯而易見,P碼的時間精度高了10倍,距離精度也就高了10倍:現代信號處理技術計算碼元跳動的時間精度是碼寬的百分之一,一百萬分之一秒折合出來的距離是300米,它的百分之一就是3米。而P碼的精度是這個數值的十分之一,即0.3米。換句話說,在計算某個衛(wèi)星距離接收機的實際距離的時候,C/A碼

34、的理論精度是3米。接收機“知道”了自己與衛(wèi)星的距離,并不能計算出自己的位置,因為它不知道衛(wèi)星在發(fā)射電波時的位置,因此在衛(wèi)星載波上面,還加載了一個50Hz的導航電文,這個導航電文包括了</p><p>  例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F字段0:$GPGGA,語句ID,表明該語句為Global Posi

35、tioning System Fix Data(GGA)GPS定位信息字段1:UTC 時間,hhmmss.sss,時分秒格式字段2:緯度ddmm.mmmm,度分格式(前導位數不足則補0)字段3:緯度N(北緯)或S(南緯)字段4:經度dddmm.mmmm,度分格式(前導位數不足則補0)字段5:經度E(東經)或W(西經)字段6:GPS狀態(tài),0=未定位,1=非差分定位,2=差分定位,3=無效PPS,6=正在估算字段7:正在使用的

36、衛(wèi)星數量(00 - 12)(前導位數不足則補0)字段8:HDOP水平精度因子(0.5 - 99.9)字段9:海拔高度(-9999.9 - 99999.9)字段10:地球橢球面相對大地水準面的高度字段11:差分時間(從最近一次接收到差分信號開始的秒數,如果不是差分定位將為空)字段12:差分站ID號0000 - 1023(前導位數不足則補0</p><p>  $GPRMC例:$GPRMC,024813.

37、640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50字段0:$GPRMC,語句ID,表明該語句為Recommended Minimum Specific GPS/TRANSIT Data(RMC)推薦最小定位信息字段1:UTC時間,hhmmss.sss格式字段2:狀態(tài),A=定位,V=未定位字段3:緯度ddmm.mmmm,度分格式(前導位數不足則補0)字段4:緯度N(

38、北緯)或S(南緯)字段5:經度dddmm.mmmm,度分格式(前導位數不足則補0)字段6:經度E(東經)或W(西經)字段7:速度,節(jié),Knots字段8:方位角,度字段9:UTC日期,DDMMYY格式字段10:磁偏角,(000 - 180)度(前導位數不足則補0)字段11:磁偏角方向,E=東W=西字段16:校驗值$GPVTG例:$GPVTG,89.68,T,,M,0.00,N,0.0,K*5F字段0:$GPVTG,

39、語句ID,表明該語句為Track Made Good and Ground</p><p>  第二章 方案論證 </p><p>  本設計主要在熟悉單片機系統(tǒng)及GPS接收器的基礎上,運用單片機系統(tǒng)MC9S12XS128處理GPS接收器接收的信息數據并同時作用與智能車上,以GPS的定位效果引導智能車前進轉向及停車。在此設計過程中,主要熟悉GPS模塊各性能指標,掌握單片機MC9S12XS

40、128芯片和GPS 的綜合應用。</p><p>  本設計的成果是結合單片機系統(tǒng)MC9S12XS128串行通信知識實現對GPS接收到的衛(wèi)星信息進行提取并實現電機驅動以及舵機轉向的作用。實現了基于單片機開發(fā)的GPS接收機系統(tǒng)設計的運行。 GPS應用越來越廣泛,我們的設計只是應用的基礎和開端。在實際應用中我們要結合各個領域的特殊情況和特定的技術需求,進行有針對性的處理和設計。GPS提供的定位信息包括了經度、緯度、海

41、拔、時間等衛(wèi)星信息,其接收數據方法類似,故本設計只是提取了其中的部分價值性較高的數據信息。</p><p>  設計的GPS車輛導航,要具有通過接收相應的GPS定位信號,并作出相應動作的功能??紤]到GPS接收器在一定區(qū)域內經緯度的變化不大,所以就取后四位的前三位有效數據。該GPS導航智能小車主要由GPS信號接收系統(tǒng)、單片機控制系統(tǒng)、控制板、汽車模型(以下簡稱車模)、電源、轉向動力系統(tǒng)等六大部分組成。下面就GPS接

42、收系統(tǒng)、單片機系統(tǒng)、車模和電源、轉向動力控制系統(tǒng)這四部分提出設計的方案。</p><p>  2.1 GPS信號接收系統(tǒng)</p><p>  使用的GPS接收器為Holux M-89,該接收器相對于其他接收器不但價格比較實惠,而且外形設計精巧適用于智能車導航。Holux M-89接收器可接收三種種規(guī)格的信號,分別是$GPRMC, $GPVTG, $GPGGA。</p><

43、;p>  方案一:選取接收的信號規(guī)格為$GPRMC,$GPRMC各字段表達的信息為:</p><p>  例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50</p><p>  字段1:UTC時間,hhmmss.sss格式字段2:狀態(tài),A=定位,V=未定位字段3:緯度ddmm.mmmm

44、,度分格式(前導位數不足則補0)字段4:緯度N(北緯)或S(南緯)字段5:經度dddmm.mmmm,度分格式(前導位數不足則補0)字段6:經度E(東經)或W(西經)字段7:速度,節(jié),Knots字段8:方位角,度字段9:UTC日期,DDMMYY格式字段10:磁偏角,(000 - 180)度(前導位數不足則補0)字段11:磁偏角方向,E=東W=西字段16:校驗值</p><p>  方案二:選取接收

45、的信號規(guī)格為$GPVTG,$GPVTG各字段表達的信息為:</p><p>  字段0:$GPVTG,語句ID,表明該語句為Track Made Good and Ground Speed(VTG)地面速度信息字段1:運動角度,000 - 359,(前導位數不足則補0)字段2:T=真北參照系字段3:運動角度,000 - 359,(前導位數不足則補0)字段4:M=磁北參照系字段5:水平運動速度(0.00)

46、(前導位數不足則補0)字段6:N=節(jié),Knots字段7:水平運動速度(0.00)(前導位數不足則補0)字段8:K=公里/時,km/h字段9:校驗值</p><p>  方案三:選取接收的信號規(guī)格為$GPGGA ,各字段表達的意思為:$字段0: GPGGA,語句ID,表明該語句為Global Positioning System Fix Data(GGA)GPS定位信息字段1:UTC 時間,hhmmss.

47、sss,時分秒格式字段2:緯度ddmm.mmmm,度分格式(前導位數不足則補0)字段3:緯度N(北緯)或S(南緯)字段4:經度dddmm.mmmm,度分格式(前導位數不足則補0)字段5:經度E(東經)或W(西經)字段6:GPS狀態(tài),0=未定位,1=非差分定位,2=差分定位,3=無效PPS,6=正在估算字段7:正在使用的衛(wèi)星數量(00 - 12)(前導位數不足則補0)字段8:HDOP水平精度因子(0.5 - 99.9)字段

48、9:海拔高度(-9999.9 - 99999.9)字段10:地球橢球面相對大地水準面的高度字段11:差分時間(從最近一次接收到差分信號開始的秒數,如果不是差分定位將為空)字段12:差分站ID號0000 - 1023(前導位數不足則補0,如果不是差分定位將為空)字段13:校驗值 由于我們選擇導航的智能車只</p><p>  2.2 單片機系統(tǒng) </p><p>  單片機作

49、為核心的控制系統(tǒng),不但要處理GPS接收器所接收的信息,還有對車輛進行控制。</p><p>  方案一:使用STC系列的51單片機作為核心控制器,51單片機操作簡單,便于簡短﹑簡易的控制系統(tǒng)。而且其管腳功能少,使用keil軟件編輯程序,直接</p><p>  使用串口下載,便于操作控制。</p><p>  方案二:使用MC9S12XS128單片機做為核心處理器,

50、MC9S12XS128管腳功能比較比較強大,是雙串口收發(fā),效率更高。而且其控制功能更強,更有利于PWM信號的處理輸出,使用Freescale code warrior軟件編寫程序。</p><p>  考慮到單片機控制系統(tǒng)既要接收處理GPS信息,又要對車輛進行控制。既要控制電機運行又要控制舵機進行轉彎,所要求的操作功能比較復雜,所以選擇使用MC9S12XS128單片機做為核心處理器。</p><

51、;p><b>  2.3 車模和電源</b></p><p>  對于車模的選擇,最重要的是要方便改裝,并且對原車模的參數不會有很大的改動??紤]到我們系實驗室里面有全國大學生“飛思卡爾”杯智能汽車競賽用的車模,可以直接拿來改裝。該車模各方面性能良好,可以自由組裝,故直接采用該車模。電源直接采用車模配套的電壓為1.2×6=7.2 v,容量為2000mAh的鎳鎘電池。</p

52、><p>  2.4 轉向系統(tǒng)和動力系統(tǒng)</p><p>  方案一:直接利用單片機PT0口和PT2口能輸出PWM信號的特殊功能,用PM0口控制舵機轉向來設計轉向系統(tǒng),用PT0口控制電機兩端電壓的大小,來實現小車的前進和加速行駛。該方案利用的PT2口比較少,電機驅動的電路設計也比較簡單。</p><p>  方案二:MC9S12XS128單片機提供有多個I/O口,可以通

53、過利用單片機的PT5口控制繼電器來使轉向電機的正反轉來實現小車左右轉向行駛。利用PT0口PT2口控制繼電器,從而控制接入電路中電阻的大?。赐ㄟ^改變驅動電機兩端的電壓大?。﹣砜刂菩≤嚨那斑M、加速行駛。該方案利用的PT口比較多,對繼電器和電阻的選擇要求比較嚴格。</p><p>  考慮到所選擇的車模配套有可以用PWM信號控制的RS-380SH電機和Futaba S3010伺服器(即舵機),直接采用方案一會更方便對

54、車模的改裝,并且對汽車模型的原有參數基本不會改變。</p><p><b>  第三章 軟件設計</b></p><p>  3.1 選用MC9S12XS128做為控制單元;</p><p>  我們所選用的單片機是飛思卡爾MC9S12XS128微控制器作為控制單元。該系統(tǒng)板具有MCU核心系統(tǒng),支持串口下載,具有擴展接口,可進行2次開發(fā),支持μ

55、COSII。此開發(fā)板兼容性較高,監(jiān)控程序功能強大,可提供各種基本的開發(fā)和調試功能,如程序的下載、斷點設置。還可利用MC9S12XS128的Flash存儲內容。同時在線實時仿真和監(jiān)測自編程序。根據實際設計需要分配控制器內部單元,如下表所示。</p><p><b>  表3.1</b></p><p>  3.2 GPS 接收﹑提取過程</p><p

56、>  一.先對MC9S12XS128進行串口設置,使用TX0﹑RX0串口。</p><p>  首先,口初始化設置:</p><p> ?。?)SCI0CR1=0x00;</p><p>  把存器SCI的控制寄存器1(SCI0CR1)設置為正常碼輸出﹑8位數據﹑無校驗位。</p><p>  (2)SCI0CR2 =0x2c;<

57、/p><p>  表示把寄存器SCI的控制寄存器2(SCI0CR2)設置為允許發(fā)送與接收﹑采用中斷接收方式。</p><p>  二.其次,進行波特率計算:總線頻率f=40MHZ,根據GPS接收器可知波特率Bt=9600,由公式Bt=f/(16*BR)可以得到SCI0BD=260,則SCI波特率寄存器的高8位SCIBDH=0x10,低8位波特率寄存器為SCIBDL=0x04。使用Freesca

58、le code warrior軟件編寫程序進行串口初始化為:</p><p>  void SCI_Init(void) </p><p><b>  {</b></p><p>  SCI0CR1 =0x00;</p><p>  SCI0CR2 =0x2c; </p><p>  SC

59、I0BD =0x104; </p><p><b> ?。?lt;/b></p><p>  總線頻率為8MHz,波特率為9600bps,SCI0BD=0x34;</p><p>  總線頻率為16MHz, 9600bps,SCI0BD=0x68;</p><p>  總線頻率24MHz, 9600bps,SCI0BD=0x

60、9C;</p><p>  總線頻率為32MHz, 9600bps,SCI0BD=0xD0 ;</p><p>  總線頻率為40MHz, 9600bps,SCI0BD=0x106;</p><p>  使用中斷方式進行接收:</p><p>  void interrupt 20 SCI0_ISR(void)</p><

61、;p><b>  { </b></p><p>  SCI0SR1_RDRF = 1; </p><p>  rx_gps_data(SCI0DRL); //此處為串口中斷需要處理的事情即對GPS數據進行接收處理。</p><p>  SCI0SR1_RDRF = 0;</p><

62、p><b>  }</b></p><p>  三.接著對GPS接收器進行初始化:</p><p>  void Init_GPS_module(void)</p><p><b>  {</b></p><p>  rx_pointer=0;</p><p>  gp

63、s_rx_mode=0;</p><p>  gps_data_ok_flag=0;</p><p><b>  }</b></p><p>  其中rx_pointer為接收字符指針,決定字符接收的長度為13位。gps_rx_mode為字段接收標志位,字段接收完成自動加一,比如經度數據接收完成了gps_rx_mode就自動加一,然后進行下一字

64、段接收。gps_data_ok_flag為GPS定位信息接收完成標志位,當所有的定位信息接收完成了就自動加一,然后執(zhí)行數據處理程序。</p><p>  然后開始接收數據,GPS板只要處于工作狀態(tài)就會源源不斷地把接收并計算出的GPS導航定位信息通過串口傳送到嵌入式系統(tǒng)中。由于從串口接收的數據幀是一長串ASCII碼字節(jié)流,在沒有經過分類提取之前是無法加以利用的。因此,必須通過程序將各個字段的信息從接收到的字節(jié)流中提

65、取出來,將其轉化成有實際意義的,可供高層決策使用的定位信息數據。對GPS信息進行提取必須首先明確其幀結構,數據幀主要由幀頭、幀尾和幀內數據組成。對于不同的數據幀,其幀頭是不同的,主要有“$GPGGA”、“$GPGSA”、“$GPGSV”以及“$GPRMC"等。這些幀頭標識了后續(xù)幀內數據的組成和結構特點。各幀均以回車符<CR>和換行符<LF>作為幀尾,標識一幀的結束。</p><p&g

66、t;  對數據幀處理,是先對幀頭進行判斷,然后只對感興趣的幀進行數據的提取處理。由于幀內各數據段被逗號分割,因此在處理接收數據時一般是首先通過搜尋ASCII碼“$”來判斷是否是幀頭,接著對幀頭的類別進行識別,然后再根據識別出來的幀類型以及逗號‘,’個數來確定當前正在讀取的是哪個定位導航參數,并作出相應的提取和存儲。流程圖如圖3.2所示。</p><p>  圖3.2 GPS接收流程</p><

67、p>  接收的信號類型為 $GPRMC,由圖3.2可知各字段之間用字符“,”隔開。四.先進行幀頭識別:</p><p>  if(com_rx_byte=='$')</p><p><b>  { </b></p><p>  gps_rx_mode=0;</p><p>  rx_pointer

68、=0;</p><p>  for(i=0;i<13;i++) //清除標志字段字節(jié)</p><p>  com_rx_buf[i]=0;</p><p><b>  }</b></p><p>  “if(com_rx_byte=='$')”為幀頭判斷,如果正確則執(zhí)行大括號里的

69、語句,for(i=0;i<13;i++)是循環(huán)語句,是為了清除標志字段字節(jié)即com_rx_buf[i]=0;清空儲存數據的數組,以便接收下一字段。</p><p>  五.識別完成了判斷接收的信號類型是否是$GPRMC:</p><p>  if(com_rx_byte==',')</p><p><b>  {</b>&

70、lt;/p><p>  if((com_rx_buf[0]=='G')&&(com_rx_buf[1]=='P')&&(com_rx_buf[2]=='R')&&</p><p>  (com_rx_buf[3]=='M')&&(com_rx_buf[4]=='

71、;C'))</p><p><b>  {</b></p><p>  gps_rx_mode=1;</p><p><b>  }</b></p><p>  當接收的字符為“G”“P”“R”“M”“C”時,字段接收滿標志位gps_rx_mode=1,開始接收下一字段。</p>

72、<p>  六.接收定位信號“A”或者未定位信號“V”:</p><p>  if(com_rx_byte==',')</p><p><b>  {</b></p><p>  for(i=0;i<rx_pointer;i++)</p><p><b>  {</b&

73、gt;</p><p>  gps_mode[i]=com_rx_buf[i];</p><p><b>  }</b></p><p>  gps_rx_mode=2;</p><p>  rx_pointer=0; </p><p><b>  }</b></p&g

74、t;<p>  每接收完一個字段,字符數組指針rx_pointer都清零,以便進行下一字段接收。</p><p>  七.接收緯度數據gps_latitude:先判斷首發(fā)字符是否是“,”然后開始接收,并儲存到數組gps_latitude[i]里。</p><p>  if(com_rx_byte==',')</p><p><b&

75、gt;  {</b></p><p>  for(i=0;i<rx_pointer;i++)</p><p><b>  {</b></p><p>  gps_latitude[i]=com_rx_buf[i];</p><p><b>  }</b></p>&l

76、t;p>  gps_rx_mode=4;</p><p>  rx_pointer=0; }</p><p>  八.接收緯度方向:先判斷首發(fā)字符是否是“,”然后開始接收,并儲存到數組gps_latitude_dir[i]里。</p><p>  if(com_rx_byte==',')</p><p><b&

77、gt;  {</b></p><p>  for(i=0;i<rx_pointer;i++)</p><p><b>  {</b></p><p>  gps_latitude_dir[i]=com_rx_buf[i];</p><p><b>  }</b></p>

78、<p>  gps_rx_mode=5;</p><p>  rx_pointer=0; </p><p><b>  }</b></p><p>  九.接收經度數據gps_longitude:先判斷首發(fā)字符是否是“,”然后開始接收,并儲存到數組gps_longitude[i]里。</p><p>  i

79、f(com_rx_byte==',')</p><p><b>  {</b></p><p>  for(i=0;i<rx_pointer;i++)</p><p><b>  {</b></p><p>  gps_longitude[i]=com_rx_buf[i];&l

80、t;/p><p><b>  }</b></p><p>  gps_rx_mode=6;</p><p>  rx_pointer=0; </p><p><b>  }</b></p><p>  十.接收經度方向:先判斷首發(fā)字符是否是“,”然后開始接收,并儲存到數組gps_

81、longitude_dir[i]里。</p><p>  if(com_rx_byte==',')</p><p><b>  {</b></p><p>  for(i=0;i<rx_pointer;i++)</p><p><b>  {</b></p>&l

82、t;p>  gps_longitude_dir[i]=com_rx_buf[i];</p><p><b>  }</b></p><p>  gps_rx_mode=7;</p><p>  rx_pointer=0; </p><p><b>  }</b></p><

83、p>  把接收到的信息都直接付給數組,使用時直接從數組中提取。</p><p>  3.3 對數據進行處理</p><p>  根據實地的GPS信號勘測,在半徑為百米的范圍內經度﹑緯度只在后四位進行變化,所以這里選取接收的字段為:</p><p>  字段2:狀態(tài),A=定位,V=未定位;</p><p>  字段3:緯度ddmm.mmm

84、m;</p><p>  字段4:緯度N(北緯)或S(南緯);</p><p>  字段5:經度dddmm.mmmm,度分格式;</p><p>  字段6:經度E(東經)或W(西經);</p><p>  把經度的第七﹑八﹑九位,緯度的第六﹑七﹑八位賦給變量b﹑d;</p><p>  b=(gps_longitud

85、e[7]-48)*100+(gps_longitude[8]-48)*10+(gps_longitude[9]-48); //*******// 經度數據</p><p>  d=(gps_latitude[6]-48)*100+(gps_latitude[7]-48)*10+(gps_latitude[8]-48); //*******//緯度數據</p><p>  并把

86、目標點設置:(d﹑b)=(20﹑380);如3.3智能車運行坐標圖所示,以目標點為圓心建立坐標系,并根據經緯度的方向分為:第一﹑第二﹑第三﹑第四區(qū)域:</p><p>  第三區(qū)域 第四區(qū)域</p><p><b>  (d0.b0)</b></p><p&g

87、t;<b>  (d1.b1)</b></p><p><b>  d</b></p><p><b>  (20.380)</b></p><p>  第二區(qū)域 第一區(qū)域</p><p><

88、;b>  b</b></p><p>  圖3.3 智能車運行坐標圖</p><p>  先確定初始點(d0.b0)在第幾區(qū)域,然后再根據行駛一定時間后所接收到的新經緯度坐標(d1.b1)確定車輛行駛的方向是否正確。以(d0.b0)作為坐標原點,亦劃分為四個小區(qū)域,根據(d1.b1)來決定車輛的轉向。</p><p>  3.3.1當(d0.b0)

89、在第一區(qū)域時:</p><p>  先判斷(d0.b0)所在的區(qū)域,然后開始判斷(d1.b1)運行的區(qū)域。d0>20&&b0>380表示智能車在第一區(qū)域起步。</p><p>  一.當d1>d0&&b1>b0時,由圖3.3可知車輛行駛的方向比較正確方向右偏,所以執(zhí)行PWMDTY45=tun_r[16],向左轉一定的角度。</p

90、><p>  if(d1>d0&&b1>b0&&f5<f6) //第1區(qū)域向左</p><p><b>  {</b></p><p>  PWMDTY45=tun_r[16];</p><p>  disply(16000);</p><p

91、><b>  zi();</b></p><p><b>  }</b></p><p>  二. 當d1>d0&&b1>b0時,由圖3.3判斷車輛行駛的方向已經左偏了,所以執(zhí)行右偏的命令。</p><p>  if(d1>d0&&b1>b0&&

92、f5>f6) //第1區(qū)域向右</p><p><b>  {</b></p><p>  PWMDTY45=tun_r[5];</p><p>  disply(16000);</p><p><b>  zi();</b></p><p><b

93、>  }</b></p><p>  三. 當d1<=d0&&b1<b0時,由圖3.3判斷車輛行駛的方向右偏,所以執(zhí)行左轉的命令。</p><p>  if(d1<=d0&&b1<b0&&f5>f6) //第3區(qū)域向左</p><p><b> 

94、 {</b></p><p>  PWMDTY45=tun_r[14];</p><p>  disply(4000);</p><p><b>  zi();</b></p><p><b>  }</b></p><p>  四. 由d1<d0&

95、&b1<=b0及圖3.3可判斷車輛左偏,需向右轉,所以執(zhí)行右轉的命令。</p><p>  if(d1<d0&&b1<=b0&&f5<f6) //第3區(qū)域向右</p><p><b>  {</b></p><p>  PWMDTY45=tun_r[6];</

96、p><p>  disply(3000);</p><p><b>  zi();</b></p><p><b>  }</b></p><p>  五.當d1<=d0&&b1>b0由圖3.3可知車輛行駛方向左偏應該右轉,所以執(zhí)行右轉命令。</p><p

97、>  if(d1<=d0&&b1>b0) //第2區(qū)域向右</p><p><b>  {</b></p><p>  PWMDTY45=tun_r[5];</p><p>  disply(9000);</p><p><b>  zi();&l

98、t;/b></p><p><b>  }</b></p><p>  六.由d1>d0&&b1<=b0及圖3.3判斷出車輛的方向右偏,應該執(zhí)行左轉的命令。</p><p>  if(d1>d0&&b1<=b0) //第4區(qū)域向左</p>

99、<p><b>  {</b></p><p>  PWMDTY45=tun_r[16];</p><p>  disply(4000);</p><p><b>  zi();</b></p><p><b>  }</b></p><p>

100、;  3.3.2當(d0.b0)在第二區(qū)域時:</p><p>  判斷出d0<20&&b0>380表示(d0.b0)是在以目標點為原心的第二區(qū)域,所以系統(tǒng)執(zhí)行如下操作:</p><p>  一.由d1<d0&&b1及圖3.3可知,車輛行駛方向左偏應執(zhí)行右轉的命令。</p><p>  if(d1<d0&

101、;&b1>b0&&f5<f6) //第2區(qū)域向右</p><p><b>  {</b></p><p>  PWMDTY45=tun_r[4];</p><p>  disply(16000);</p><p><b>  zi();</b>&l

102、t;/p><p><b>  }</b></p><p>  二.當d1<d0&&b1>b0及圖3.3可知,車輛行駛方向右偏應執(zhí)行左轉的命令。</p><p>  if(d1<d0&&b1>b0&&f5>f6) //第2區(qū)域向左</p>

103、<p>  { </p><p>  PWMDTY45=tun_r[16];</p><p>  disply(16000);</p><p><b>  zi();</b></p><p><b>  }</b></

104、p><p>  三.由d1>=d0&&b1<b0及圖3.3可知,車輛行駛方向左偏應執(zhí)行右轉的命令。</p><p>  if(d1>=d0&&b1<b0&&f5>f6) //第4區(qū)域向右 </p><p><b>  {</b></p>

105、<p>  PWMDTY45=tun_r[6];</p><p>  disply(3000);</p><p><b>  zi();</b></p><p><b>  }</b></p><p>  四. 由d1>d0&&b1<=b0及圖3.3可知,車

106、輛行駛方向右偏,應執(zhí)行左轉的命令。</p><p>  if(d1>d0&&b1<=b0&&f5<f6) //第4區(qū)域向左</p><p><b>  {</b></p><p>  PWMDTY45=tun_r[14];</p><p>  dis

107、ply(4000);</p><p><b>  zi();</b></p><p><b>  }</b></p><p>  五. 由d1<d0&&b1<=b0及圖3.3可知,車輛行駛方向左偏應執(zhí)行右轉的命令。</p><p>  if(d1<d0&&a

108、mp;b1<=b0) //第3區(qū)域向右</p><p><b>  {</b></p><p>  PWMDTY45=tun_r[4];</p><p>  disply(9000);</p><p><b>  zi();</b></p>&

109、lt;p><b>  }</b></p><p>  六.由d1>=d0&&b1>b0及圖3.3可知,車輛行駛方向右偏,應執(zhí)行左轉的命令。</p><p>  if(d1>=d0&&b1>b0) //第1區(qū)域向左</p><p><b>

110、  {</b></p><p>  PWMDTY45=tun_r[16];</p><p>  disply(4000);</p><p><b>  zi();</b></p><p><b>  }</b></p><p>  3.3.3當(d0.b0)在第三

111、區(qū)域時:</p><p>  由d0<20&&b0<380判斷(d0.b0)位于以目標點為原心的第三區(qū)域,控制系統(tǒng)所以操作如下:</p><p>  一.判斷d1<d0&&b1<b0,則由圖3.3可知車輛行駛方向右偏,應該執(zhí)行左轉的命令。</p><p>  if(d1<d0&&b1<

112、;b0&&f5<f6) //第三區(qū)域左轉</p><p><b>  {</b></p><p>  PWMDTY45=tun_r[16];</p><p>  disply(16000);</p><p><b>  zi();</b></p>

113、<p><b>  }</b></p><p>  二.判斷出d1<d0&&b1<b0,則由圖3.3可知車輛行駛方向左偏,應該執(zhí)行右轉的命令。</p><p>  if(d1<d0&&b1<b0&&f5>f6) //第三區(qū)域右轉</p><p

114、><b>  {</b></p><p>  PWMDTY45=tun_r[4];</p><p>  disply(16000);</p><p><b>  zi();</b></p><p><b>  }</b></p><p>  三.判

115、斷出d1>=d0&&b1>b0,則由圖3.3可知車輛行駛方向右偏,應該執(zhí)行左轉的命令。</p><p>  if(d1>=d0&&b1>b0&&f5>f6) //第一區(qū)域左轉</p><p><b>  {</b></p><p>  PWMDTY45

116、=tun_r[14];</p><p>  disply(4000);</p><p><b>  zi();</b></p><p><b>  }</b></p><p>  四.判斷出d1>d0&&b1>=b0,則由圖3.3可知車輛行駛方向左偏,應該執(zhí)行右轉的命令。

117、</p><p>  if(d1>d0&&b1>=b0&&f5<f6) //第一區(qū)域右轉</p><p><b>  {</b></p><p>  PWMDTY45=tun_r[6];</p><p>  disply(3000);</p>

118、<p><b>  zi();</b></p><p><b>  }</b></p><p>  五.判斷出d1<d0&&b1>=b0,則由圖3.3可知車輛行駛方向右偏,應該執(zhí)行左轉的命令。</p><p>  if(d1<d0&&b1>=b0)

119、 //第二區(qū)向左</p><p><b>  {</b></p><p>  PWMDTY45=tun_r[16];</p><p>  disply(4000);</p><p><b>  zi();</b></p><p><b>  }

120、</b></p><p>  六.判斷出d1>=d0&&b1<b0,則由圖3.3可知車輛行駛方向左偏,應該執(zhí)行右轉的命令。</p><p>  if(d1>=d0&&b1<b0) //第四區(qū)域向右</p><p><b>  {</b></p

121、><p>  PWMDTY45=tun_r[4];</p><p>  disply(9000);</p><p><b>  zi(); </b></p><p><b>  }</b></p><p>  3.3.4當(d0.b0)在第四區(qū)域時:</p><

122、;p>  由d0>20&&b0<380判斷(d0.b0)位于以目標點為原心的第四區(qū)域,控制系統(tǒng)所以操作如下:</p><p>  一.由d1>d0&&b1<b0及圖3.3判斷出車輛行駛方向偏左,應該執(zhí)行右轉的命令。</p><p>  if(d1>d0&&b1<b0&&f5<f6

溫馨提示

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

評論

0/150

提交評論