河海海聲隊(duì)技術(shù)報(bào)告_第1頁
河海海聲隊(duì)技術(shù)報(bào)告_第2頁
河海海聲隊(duì)技術(shù)報(bào)告_第3頁
河海海聲隊(duì)技術(shù)報(bào)告_第4頁
河海海聲隊(duì)技術(shù)報(bào)告_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余51頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、關(guān)于技術(shù)和研究使用的說明本人完全了解第四屆“飛思”杯大學(xué)生智能汽車邀請(qǐng)賽關(guān)保留、使用技術(shù)會(huì)和飛思和研究的規(guī)定,即:參賽作品著作權(quán)歸參賽者本人,比賽組委半導(dǎo)體公司可以在相關(guān)主頁上收錄并公開參賽作品的設(shè)計(jì)方案、技術(shù)以及參賽模型車的集中。、圖像資料,并將相關(guān)內(nèi)容編纂收錄在參賽隊(duì)員簽名:孟東陽才帶隊(duì)教師簽名:日期:2010/8/10摘要本文詳細(xì)介紹了河海大學(xué)常州校區(qū)河海海聲隊(duì)隊(duì)員們?cè)跍?zhǔn)備第四屆Freescale智能車大賽過程中的工作成果。智能車的硬件采用帶MC9S12XS128處理器的S12環(huán)境,為CodeWarrior IDE 4.7開發(fā)環(huán)境,車模采用大賽組委會(huì)提供的1:16 的仿真車模。文中介紹了

2、智能小車控制系統(tǒng)的軟硬件結(jié)構(gòu)和開發(fā)流程。為了提高小車特性,對(duì)系統(tǒng)進(jìn)行了創(chuàng)造性的優(yōu)化:其一,對(duì)轉(zhuǎn)向系統(tǒng)進(jìn)行了豎排改進(jìn)。其二,硬件上采用激光傳感器的方案,上優(yōu)化算法、彎道預(yù)判、模糊算法。其三,充分利用S12 單片機(jī)現(xiàn)有模塊進(jìn)行編程,同時(shí)無線串口、撥碼開關(guān)、狀態(tài)指示燈、蜂鳴器方便了算法調(diào)試。應(yīng)當(dāng)特別是在調(diào)試過程中為了防止發(fā)生意外沖出跑道造成車體撞擊損壞利用無線串口制成【1】。,能夠很方便第控制的運(yùn)行,防止發(fā)生意外,很好地保護(hù)關(guān)鍵字:智能車MC9S12XS128 單片機(jī) 激光傳感器 路徑識(shí)別目錄引言6概述6系統(tǒng)整體簡(jiǎn)介6系統(tǒng)總體方案設(shè)計(jì)7智能車系統(tǒng)7智能車自動(dòng)尋徑基本原理7第一章1.11.2第二章2.

3、12.22.3第三章開發(fā)簡(jiǎn)介8系統(tǒng)硬件方案設(shè)計(jì)9硬件電路整體架構(gòu)設(shè)計(jì)9MC9S12XS128 最小系統(tǒng)模塊設(shè)計(jì)10電源管理模塊設(shè)計(jì)10舵機(jī)控制電路設(shè)計(jì)12速度及加速度傳感器設(shè)計(jì)12電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)13激光發(fā)射與接收電路設(shè)計(jì)13第四章 系統(tǒng)總體布局和機(jī)械結(jié)構(gòu)優(yōu)化154.1 概述15系統(tǒng)布局優(yōu)化15激光管的布局與安裝15編的安裝16機(jī)械結(jié)構(gòu)優(yōu)化17降低車身高度17調(diào)節(jié)差速器18改裝舵機(jī)18系統(tǒng)方案設(shè)計(jì)19激光管路徑識(shí)別狀態(tài)分析19賽道標(biāo)志識(shí)別21第五章5.15.2第六章 開發(fā)工具、制作、安裝、調(diào)試過程說明22工程的創(chuàng)建22現(xiàn)場(chǎng)調(diào)試23模型車主要技術(shù)參數(shù)說明24第七章 總結(jié)257.

4、1 本車特色257.2 系統(tǒng)存在. 257.3 改進(jìn)方向25參考文獻(xiàn)26附錄 AC 語言源程序27第一章 引言1.1概述現(xiàn)代科技的飛速發(fā)展使人們對(duì)于智能化的要求越來越高,而智能化在汽車產(chǎn)業(yè)上應(yīng)用的最典型例子就是行業(yè)的發(fā)展。汽車智能化程度則被看作室衡量汽車現(xiàn)代化水平的重要標(biāo)志。第五屆“飛思”杯大學(xué)生智能汽車競(jìng)賽就是在這樣一個(gè)背景下指定智能車車模、MC9S12XS128 處理器、7.2V舉行的,按照比賽規(guī)則,可充電電池電機(jī)和舵機(jī)。參賽隊(duì)伍需要學(xué)習(xí)并應(yīng)用開發(fā)工具Codewarrior 進(jìn)行開發(fā)和調(diào)試。大賽的綜合性很強(qiáng),涵蓋了控制、模糊識(shí)別、傳感器、電子、電氣、計(jì)算機(jī)和機(jī)械傳動(dòng)等多個(gè)學(xué)科交叉的科技創(chuàng)意

5、比賽。參賽的隊(duì)員需要在了解上述多學(xué)科知識(shí)的基礎(chǔ)上,利用 Codewarrior編程控制智能車對(duì)路徑信息進(jìn)行和處理,識(shí)別當(dāng)前路徑狀況,進(jìn)而控制舵機(jī)轉(zhuǎn)相應(yīng)的角度,驅(qū)動(dòng)電機(jī)以合適的速度在跑道上行進(jìn)。1.2 系統(tǒng)整體簡(jiǎn)介本隊(duì)制作的智能車以 16 位單片機(jī) MC9S12XS128 為控制系統(tǒng),利用激光傳感器路徑信息,經(jīng)過 MCU 處理,識(shí)別當(dāng)前路徑狀況,做出判斷決策,從而給出相應(yīng)的信號(hào),經(jīng)過 BTS7970 驅(qū)動(dòng)直流電機(jī)以合適的速度行駛,同時(shí),控制舵機(jī)轉(zhuǎn)出相應(yīng)的角度。本文先從總體上介紹了智能車的設(shè)計(jì)和方案論證,然后分別從硬件電路、系統(tǒng)、機(jī)械結(jié)構(gòu)等方面的設(shè)計(jì)進(jìn)行論述,重點(diǎn)介紹了的選取和路徑識(shí)別的方法,坡道

6、識(shí)別方案比較、坡道的濾波,轉(zhuǎn)向控制算法,速度控制方案比較,速度運(yùn)行策略等,并描述了智能車的制作和調(diào)試過程【14】。第二章 系統(tǒng)總體方案設(shè)計(jì)2.1 智能車系統(tǒng)的控制系統(tǒng)包括電源管理模塊、MCU 模塊、路徑識(shí)別模塊、電機(jī)驅(qū)動(dòng)模塊、舵機(jī)控制模塊、轉(zhuǎn)速測(cè)量模塊、人機(jī)界面模塊、無線串口傳送模塊等。在整個(gè)系統(tǒng)中,由電源管理模塊實(shí)現(xiàn)對(duì)其他各模塊的電源管理。其中,對(duì)單片機(jī)、測(cè)速電路、無線串口,人機(jī)電路提供 5V 電壓,對(duì)舵機(jī)提供 6.5V 電壓,對(duì)激光管提供 3.3V 電壓【2】。2.2 智能車自動(dòng)尋徑基本原理如下圖所示,智能車道路檢測(cè)模塊則采用激光管傳感器尋跡方案。即道路檢測(cè)電路由 6 對(duì)光電發(fā)送與接收管組

7、成。由于賽道中存在軌跡指示黑線,落在黑線區(qū)域內(nèi)的光電接收管接收到反射的光線的強(qiáng)度與白色的賽道不同,進(jìn)而在光電接收管兩端產(chǎn)生不同的電壓值,由此判斷行車的方向。道路檢測(cè)模塊會(huì)將當(dāng)前到的一組電壓值傳遞給控制單元模塊。轉(zhuǎn)速測(cè)量模塊(圖中車輛運(yùn)行參數(shù)模塊部分)則安裝在車尾部,它每個(gè)周期反饋一次模型車行駛過程中的瞬時(shí)速度。測(cè)量出的瞬時(shí)速度將輸送到單片機(jī)(控制單元模塊)中,以幫助分析確定模型車與給定速度進(jìn)行對(duì)比通過算法來確定下一步的速度、轉(zhuǎn)角等。進(jìn)而由執(zhí)行機(jī)構(gòu)對(duì)智能車進(jìn)行控制,從而控制智能車的運(yùn)行狀況使它穩(wěn)定快速地在道運(yùn)行【13】。圖 2.1 智能車自動(dòng)尋徑原理2.3 開發(fā)“飛思簡(jiǎn)介”杯智能車競(jìng)賽的開發(fā)為

8、MetroWorks 公司的 CodeWarrior 4.6 是 MetroWork 公司提供的專門面向 Freescall 的所有 MCU 與 DSP 嵌入式應(yīng)用開發(fā)的工具。其中包括集成開發(fā)環(huán)境 IDE,處理器,全仿真,可視化參數(shù)顯示工具,器及調(diào)試器。在用戶源程序編譯生成 abs 文件之后,可以借助 Warrior 4.6 自帶的hivave.exe 進(jìn)行調(diào)試工作,如監(jiān)視器的狀態(tài),實(shí)時(shí)查看源程序的變化等。第三章 系統(tǒng)硬件方案設(shè)計(jì)在這一章中將詳細(xì)闡述每一部分硬件電路的原理和設(shè)計(jì)實(shí)現(xiàn)方法。3.1硬件電路整體架構(gòu)設(shè)計(jì)圖 3-1硬件電路整體架構(gòu)圖在跑道上流暢穩(wěn)定地高速飛馳離不開精確穩(wěn)定的硬件電路的保

9、障。而由于各個(gè)模塊的性能和要求不同,因此需要有針對(duì)性地進(jìn)行硬件設(shè)計(jì)。對(duì)于路徑信息和控制處理要求比較高。因此在對(duì)于各個(gè)模塊進(jìn)行分開設(shè)計(jì)的同時(shí)還要考慮其對(duì)于整個(gè)系統(tǒng)的影響【3】。依據(jù)的運(yùn)行策略方案,最終設(shè)計(jì)實(shí)現(xiàn)了如圖 2-1 所示的十大硬件電路模塊:MC9S12XS128 最小系統(tǒng)模塊、電源管理模塊、方向舵機(jī)控制模塊、傳感器舵機(jī)控制模塊、速度傳感器控制模塊、電機(jī)驅(qū)動(dòng)模塊、激光發(fā)射與接收模塊、輔助激光發(fā)射與接收模塊、加速度傳感器模塊。下面將分別對(duì)這十大硬件功能模塊進(jìn)行詳細(xì)的功能闡述和原理實(shí)現(xiàn)分析。3.2 MC9S12XS128 最小系統(tǒng)模塊設(shè)計(jì)為了盡量避免在焊接 MC9S12XS128 單片機(jī)過程出

10、現(xiàn)問題以及整個(gè)硬件電路板而造成單片機(jī)的損壞,選用了現(xiàn)成的最小系統(tǒng)板作為的MCU。它包含了單片機(jī)的時(shí)鐘和復(fù)位電路,串口及RS232 電路并將所有IO 口引出,尺寸為 49mm*52mm。3.3 電源管理模塊設(shè)計(jì)穩(wěn)定可靠的硬件系統(tǒng),離不開精確而穩(wěn)定的電源系統(tǒng)。整個(gè)系統(tǒng)有多路電源:7.2V、6V、5V 等。7.2V 電壓可以由電池直接供給,電池直接接到電機(jī)驅(qū)動(dòng)模塊。6V 為倆個(gè)舵機(jī)供電,5V 為單片機(jī)最小系統(tǒng)模塊、激光發(fā)射與接收電路、速度及加速度傳感器模塊和輔助調(diào)試模塊供電。整個(gè)電源部分如圖 2-2 所示。圖 3-2 電源管理模塊示意圖由于單片機(jī)對(duì)于電壓的要求比較高,而且為了避免由于電源故障引起單片

11、機(jī)的損壞。所以利用一塊 LM2940 穩(wěn)壓電路對(duì)單片機(jī)進(jìn)行單獨(dú)供電,另一塊穩(wěn)壓電路給各個(gè)傳感器和調(diào)試模塊供電。設(shè)計(jì)中,除了考慮到電壓范圍和電流容量等基本參數(shù)外,還要在電源轉(zhuǎn)換效率、降低噪聲、優(yōu)化【4】。和簡(jiǎn)化電路等方面進(jìn)行圖 3-3 LM2940 穩(wěn)壓電路在進(jìn)行 5V 穩(wěn)壓電路設(shè)計(jì)的時(shí)候通過比較發(fā)現(xiàn) LM7805壓差比較大,雖然轉(zhuǎn)化效率比需要輸入 7.5V 以上的電壓才能穩(wěn)定輸出 5V 電壓,LM2575較高,但輸出有較大的波紋,綜合各個(gè)方面的考慮選用了壓差較小且輸出穩(wěn)定的 LM2940作為穩(wěn)壓【5】。其實(shí)現(xiàn)電路原理圖如圖 2-3 所示。,其實(shí)現(xiàn)原理如圖 2-4 所示。舵機(jī)供電采用 LM259

12、6圖 3-4 LM2596 降壓穩(wěn)壓電路3.4 舵機(jī)控制電路設(shè)計(jì)由舵機(jī)在調(diào)試過程出現(xiàn)結(jié)合調(diào)試的經(jīng)驗(yàn),確定方向控制舵機(jī)的供電電壓為 6V,傳感器控制舵機(jī)也同樣用 6V 電壓供電。舵機(jī)驅(qū)動(dòng)電路就是為舵機(jī)供電以及給舵機(jī)轉(zhuǎn)角信號(hào),舵機(jī)工作電流一般在 1A 左右,所以用一片 LM2596-ADJ 3A 開關(guān)型降壓穩(wěn)壓電路供電。就利控制舵機(jī)的轉(zhuǎn)向只要一路波即可,以 20ms 為一個(gè)周期,不同德占空比會(huì)使舵機(jī)穩(wěn)定在不同的角度上【12】,如圖 2-5 所示。圖 3-5 舵機(jī)控制示意圖3.5 速度及加速度傳感器設(shè)計(jì)由于速度和加速度傳感器都屬于精密傳感器,對(duì)于制作環(huán)境和加工水平都有很高的要求所以采購了市面上已經(jīng)很

13、成傳感器。速度傳感器采用成原裝 OMRON 編E6A2-CW5C。加速度傳感器則采用飛思半導(dǎo)體率先推出業(yè)界第一款三軸向高靈敏度加速度傳感器MMA7260Q,如圖 2-6 所示。MMA7260Q 能在 XYZ 三個(gè)軸向上以極高的靈敏度低重力水平的墜落、傾斜、移動(dòng)、放置、和搖擺,它是同類產(chǎn)品中的第一個(gè)單三軸向。MMA7260Q 具有三軸向檢測(cè)、可選靈敏度、低功耗、具有休眠模式、可低壓運(yùn)行、快速啟動(dòng)、低噪音的特性【5】。圖 3-6 MMA7260Q3.6 電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)在對(duì)電機(jī)驅(qū)動(dòng)模塊方案的設(shè)計(jì)和選擇中最終決定采用 BTS7970 控制芯片,利用全橋驅(qū)動(dòng)電路驅(qū)動(dòng)電機(jī),原理圖如圖 2-7 所示。采用

14、對(duì)角線方式導(dǎo)通,加速原理為一只 MOS 管給邏輯電平信號(hào),另一【13】。給信號(hào),反轉(zhuǎn)時(shí)順序相反圖 3-7 電機(jī)驅(qū)動(dòng)示意圖3.7 激光發(fā)射與接收電路設(shè)計(jì)顧名思義,激光的發(fā)射和接收電路由發(fā)射部分和接收部分組成。發(fā)射部分有一個(gè)震蕩管發(fā)出 180KHZ 頻率的震蕩波后,經(jīng)過三級(jí)管放大,點(diǎn)亮激光管;接收部分是由一個(gè)相匹配 180KHZ 的接收管接收返回的光強(qiáng),經(jīng)過電容濾波后直接接入 XS128 單片機(jī)的 I/O 口,檢測(cè)返回電壓的高低。由于激光傳感器使用了調(diào)制原理,接收管只能接收相同頻率的反射光。因而可以有效避免可見光對(duì)激光的干擾【6】。圖 3-8 激光傳感器控制電路激光傳感器的工作原理如圖 2-8 所

15、示,當(dāng)發(fā)射管發(fā)出的光束黑色地面時(shí)黑色地面會(huì)吸收大部分發(fā)射的光線,而白色地面則不會(huì)吸收大部分反射光線。所 以接收管接收的光強(qiáng)會(huì)有所區(qū)別,進(jìn)而導(dǎo)致接收管的特性曲線發(fā)生變化程度不同,而從外部看可近似認(rèn)為接收管倆端輸出的電阻不同,進(jìn)而經(jīng)分壓后的電壓就不一 樣,就可以將黑白路面區(qū)分開來【7】。圖 3-9 激光傳感器路徑識(shí)別原理第四章 系統(tǒng)總體布局和機(jī)械結(jié)構(gòu)優(yōu)化4.1 概述優(yōu)秀的不僅要有穩(wěn)定可靠的硬件做基礎(chǔ)更要有流線型的機(jī)械結(jié)構(gòu)和合理的總體布局做為依托。在總體布局和機(jī)械結(jié)構(gòu)方面行詳細(xì)闡述。主要從以下幾個(gè)方面進(jìn)圖 4-1整體圖系統(tǒng)布局優(yōu)化激光管的布局與安裝由于采用激光管作為道路信息的傳感器,研究激光管的布局

16、以及整個(gè)傳感器模塊的布局對(duì)于的發(fā)揮效果有著很重要的作用。通過對(duì)以往成熟方案的研究最終決定采用單排一對(duì)二的激光排布方案,采用轉(zhuǎn)動(dòng)和較低高度的模塊安裝方案。圖 4-2 激光排布 PCB 圖僅僅考慮使車身的重心降低,使車在行駛過程中更加穩(wěn)定,則激光板無疑是架得越低越好。但是將他降低,會(huì)使激光的前瞻降低很多【8】。如何在保證有足夠的有效前瞻的情況下使激光板降低成為比賽的重點(diǎn)和難點(diǎn)。通過改進(jìn)激光管和驅(qū)動(dòng)電路以及激光板的安裝方式最終確定了如圖4-3 的安裝圖。圖 4-3激光板安裝效果圖4.2.2編的安裝由于本屆比賽指定車模自身的特點(diǎn)使此次比賽中編的安裝成為一個(gè)難點(diǎn),想采用傳統(tǒng)成歐姆龍編,又想是安裝的傳動(dòng)效

17、果流暢。通過大量改裝實(shí)驗(yàn)最終確定了如圖 4-4 的安裝方案。圖 4-4 編安裝效果圖機(jī)械結(jié)構(gòu)優(yōu)化降低車身高度車身高度指的是當(dāng)車子滿載的時(shí)候,底盤離地面的高度。通過旋轉(zhuǎn)前、后橋中的一粒內(nèi)六角螺絲來調(diào)整車身高度。但是由于底盤較軟,僅僅通過調(diào)整螺絲來降低車身高度會(huì)使底盤變形。所以低車身高度的目的。還結(jié)合前后輪避震器的調(diào)整來達(dá)到降圖 4-5 后橋的內(nèi)六角螺絲圖 4-6 前輪減震器4.3.2 調(diào)節(jié)差速器差速器有差速作用和限滑作用:差速作用使兩輪可以相對(duì)轉(zhuǎn)動(dòng),并使兩輪轉(zhuǎn) 動(dòng)速度的平均值等于整驅(qū)動(dòng)軸的轉(zhuǎn)動(dòng)速度;限滑作用在兩輪相對(duì)轉(zhuǎn)動(dòng)時(shí)產(chǎn)生阻力,以限制兩輪速度差,防止其中一個(gè)發(fā)生過度打滑和空轉(zhuǎn)。齒輪差速通???/p>

18、填充差速油。差速油可以使齒輪在相對(duì)轉(zhuǎn)動(dòng)嚙合時(shí)產(chǎn)生阻力。不同的差速油會(huì)帶來不同的差速效果,通過大量實(shí)驗(yàn)、中、后三個(gè)差速器中使用不同的差速油,最終獲得了4.3.3 改裝舵機(jī)期望的差速效果。由于舵機(jī)存在力矩小反應(yīng)較慢等缺點(diǎn),如何通過機(jī)械改裝來最大程度地改善它的這些缺點(diǎn)成為本次比賽的一個(gè)重點(diǎn)。通過大量的實(shí)驗(yàn)最終確定了將舵機(jī)豎排按裝在車頭的方案。這種方案可以使舵機(jī)連接倆個(gè)車輪的拉桿變長(zhǎng)傾角變大以此達(dá)到改善力矩和反應(yīng)時(shí)間。改裝效果如圖 4-4 所示。圖 4-7舵機(jī)改裝效果圖(俯視圖)第五章系統(tǒng)方案設(shè)計(jì)路徑追蹤系統(tǒng),采用中斷方法控制小車的轉(zhuǎn)向與速度。傳感器道路信息,找出黑線位置,50 組數(shù)據(jù),判斷是否有起跑

19、線、交叉線標(biāo)志。半段出智能車處于何種賽道形狀中。給出相應(yīng)的速度值,通過中斷,檢查速度值,送入控制器,進(jìn)行速度控制,舵機(jī)的轉(zhuǎn)向則根據(jù)的黑線信息,算出黑線位置,送入控制器,得出控制舵機(jī)的轉(zhuǎn)向【13】。如圖 5-1 所示:圖 5-1 系統(tǒng)總體流程圖5.1 激光管路徑識(shí)別狀態(tài)分析通過大量實(shí)驗(yàn)最終隊(duì)采用 12 只激光成“一”字均勻排布,間隔為 20mm,由于黑線是 25mm,故可能會(huì)出現(xiàn) 1 只或 2 只激光管掃描到黑線。如圖 5-2 所示圖 5-2 激光管掃描賽道信息示意圖針對(duì)到的賽道信息采用模糊控制算法識(shí)別路徑,再通過一定的算法,計(jì)算出舵機(jī)的轉(zhuǎn)向角度,并且在一定程度上具有抗拒微小干擾的能力。圖 5-

20、3 激光管排列及對(duì)應(yīng)權(quán)值具體算法介紹如下:a.找出黑線上對(duì)應(yīng)的激光管序列號(hào)為 H-min,H-max,其中 H-min 為激光管序列號(hào)較小值,H-max 為激光管序列號(hào)較大值,若有一個(gè)激光管在黑線上則認(rèn)為 H-minH-max-激光序列號(hào)【10】。b.當(dāng)傳感器檢測(cè)到黑線時(shí)相應(yīng)的傳感器返回所在的權(quán)重值,并計(jì)算所有傳感器的平均值,即偏離程度,計(jì)算公式為其中 Location 為黑線位置,Weight【】為激光管權(quán)值數(shù)組。5.2賽道標(biāo)志識(shí)別圖 5-4 起跑線狀態(tài)圖 5-5交叉狀態(tài)為了識(shí)別賽道的標(biāo)志,對(duì)于數(shù)字型激光傳感器,每個(gè)傳感器有 0 和 1 倆種狀態(tài),分別把 12 路傳感器標(biāo)記為 1 到 12,

21、每個(gè)傳感器又可以對(duì)應(yīng)一在黑線上的標(biāo)志位,分別為 Hei-Flag0到 Hei-Flag11,相應(yīng)在黑線上為 1,不在黑線上為 0,從而通過對(duì)任意時(shí)刻傳感器標(biāo)志位的的狀態(tài)。就可以知道此時(shí)模型車通過定義一個(gè)名為 Hei-ChangeCount 的變量,表示傳感器狀態(tài)變化(從 0 到1,從到 0 的次數(shù))來精確地識(shí)別起跑線和出如表 5-2 所示的狀態(tài)判定表。交叉線【12】。通過大量實(shí)驗(yàn)總結(jié)表 5-2 賽道狀態(tài)判定表狀態(tài)Hei-ChangeCountHei-FlagCount起跑線處4=8 且=1 且=3在普通賽道中已出黑線00第六章 開發(fā)工具、制作、安裝、調(diào)試過程說明本章主要介紹編寫時(shí)的安裝調(diào)試和現(xiàn)

22、場(chǎng)調(diào)試過程的總結(jié)。6.1 工程的創(chuàng)建打開 CodewarriorIDE,創(chuàng)建一個(gè)新工程,如圖 6-1 所示。【12】圖 6-1 工程的創(chuàng)建選擇目標(biāo)型號(hào)以及與電腦的連接方式,這里選擇 MC9S12XS128.選擇程序編寫所用的語言,以及創(chuàng)建的工程名和保存路徑。完成后會(huì)出現(xiàn)文件管理窗口,如圖 6-2 所示。圖 6-2 已創(chuàng)建一個(gè)工程6.2 現(xiàn)場(chǎng)調(diào)試在現(xiàn)場(chǎng)調(diào)試過程中,利用傳統(tǒng)的數(shù)碼管和撥碼開關(guān)來調(diào)相關(guān)參數(shù)。特別提到的是在調(diào)試過程中為了防止發(fā)生意外沖出跑道造成車體撞擊損壞,利用無線串口制成,能夠很方便第控制的運(yùn)行,防止發(fā)生意外,很好地保護(hù)。實(shí)物圖如圖6-3所示。圖 6-3實(shí)物圖6.3 模型車主要技術(shù)參

23、數(shù)說明表 6-3 主要技術(shù)參數(shù)項(xiàng)目參數(shù)路徑檢測(cè)方法(賽題組)光電車模幾何尺寸(長(zhǎng)、寬、高)(毫米)長(zhǎng) 300mm、寬 195mm、高 210mm車模軸距/輪距(毫米)153mm車模平均電流(勻速行駛)(毫安)4500mA電路電容總量(微法)1564.98uF傳感器種類及個(gè)數(shù)激光接收管8+編1+加速度傳感器1新增加伺服電機(jī)個(gè)數(shù)1 個(gè)賽道信息檢測(cè)空間精度(毫米)10mm賽道信息檢測(cè)頻率(次/秒)66.7(次/秒)主要集成電路種類/數(shù)量MC9S12XS1281+ LM29402+ LM2596S1+ BTS7970 2+MMA72601車模重量(帶有電池)(千克)1.5kg第七章 總結(jié)7.1 本車特

24、色了讓能在直道和彎道上高速穩(wěn)定的通過,過彎靈巧,快速,除了有相應(yīng)的硬件電路的設(shè)計(jì)之外,的機(jī)械結(jié)構(gòu)對(duì)其有重要的影響。通過在避震器加墊片,把車的前、后輪底盤放低,從而降低整車的重心,防止車翻倒。改裝后發(fā)現(xiàn)智能車轉(zhuǎn)彎比以前靈活許多,車身抖動(dòng)也相應(yīng)減小。轉(zhuǎn)向時(shí)舵機(jī)的響應(yīng)速度是一個(gè)很重要的,為了加快舵機(jī)的響應(yīng)時(shí)間,把舵機(jī)倒立放置,使舵機(jī)位于兩輪的中心線上,將連接兩輪胎到舵機(jī)的連桿改為同等長(zhǎng)度,使舵機(jī)左右轉(zhuǎn)向時(shí)受力比較均勻,保障舵機(jī)在轉(zhuǎn)彎時(shí)力矩最大。激光傳感器具有響應(yīng)時(shí)間快、功耗低、控制簡(jiǎn)單且照射距離遠(yuǎn)的優(yōu)點(diǎn)。傳感器一部份為發(fā)射部份,一部份為接收部份。發(fā)射部份由一個(gè)振蕩管發(fā)出 180KHz頻率的振蕩波后,

25、經(jīng)驅(qū)動(dòng)電路,點(diǎn)亮激光管;接收部份由一個(gè)相匹配 180KHz 的接收管接收返回的光強(qiáng),經(jīng)過電容濾波后直接接入 S12 單片機(jī)的 I/O 口,檢測(cè)返回電壓的高低【11】。由于激光傳感器使用了調(diào)制原理,接收管只能接受相同頻率的反射光,因而可以有效可見光對(duì)反射激光的干擾采用 BTS7970B大功率驅(qū)動(dòng),利用全橋驅(qū)動(dòng)電路驅(qū)動(dòng)電機(jī),基本滿足小車速度控制要求,另外,加了,使驅(qū)動(dòng)和單片機(jī)間接分離,效果更穩(wěn)定。控制算法采用經(jīng)典的算法,通過搖頭舵機(jī)使激光跟隨黑線運(yùn)動(dòng),保證激光能時(shí)刻檢測(cè)到黑線并且在一定程度上能提高前瞻距離,配合點(diǎn)頭舵機(jī)的控制,使行駛的線路更加平滑。7.2 系統(tǒng)存在盡管在設(shè)計(jì)中作了很大的努力,但是由

26、于時(shí)間緊迫以及缺乏經(jīng)驗(yàn)等原因,本系統(tǒng)仍然存在著一些問題,主要有以下幾點(diǎn):(1)系統(tǒng)控制算法采用經(jīng)典的改進(jìn)系統(tǒng)性能。算法??梢钥紤]更加高級(jí)的控制算法以(2)在下排傳感器的設(shè)計(jì)中由于時(shí)間和經(jīng)驗(yàn)的,沒能找到更加適合近距離道路信息的光電傳感器。7.3 改進(jìn)方向在條件允許的情況下,本系統(tǒng)可以做以下幾個(gè)方面的改進(jìn):(1)S12 單片機(jī)擁有獨(dú)具特色的模糊控制指令集,很方便用來實(shí)現(xiàn)模糊控制等高級(jí)運(yùn)算。模糊控制的實(shí)現(xiàn)將有利于系統(tǒng)性能的大幅度。(2)主排激光前瞻足夠的情況下可以采用點(diǎn)頭加搖頭的傳感器控制方式。參考文獻(xiàn)1.單片機(jī)應(yīng)用的開發(fā)方法M.:,20042康華光.模擬電子技術(shù)基礎(chǔ).:高等教育,20013.數(shù)字電

27、子技術(shù)基礎(chǔ).:高等教育,19984,.計(jì)算機(jī)控制系統(tǒng).:理工大學(xué),20025.C 程序設(shè)計(jì)M.:,20016屏,2005,.LabVIEW7.1 編程與虛擬儀器設(shè)計(jì)M.:,7HCS12 Serial CommunicationerfaCI) Block Guide V02.05S12SCIV2/D8Metrowerks.IDE Help for Code Warrior Plug-in for Motorola.MetrowerksSemiconductor,Inc.,20059,李立國(guó)2006.5. 智能車光電傳感器布局對(duì)路徑識(shí)別的影響研究. 電子產(chǎn)品世界,10,,. 學(xué)做智能車M.:航天航

28、空,200711等Pro電路設(shè)計(jì)M.200212,杭州電子科技大學(xué)第四屆“飛思”杯智能車競(jìng)賽技術(shù). 第四屆“飛思”杯智能車競(jìng)賽.200913,于文科,吳明春,河海大學(xué)常州校區(qū)第四屆“飛思”杯智能車競(jìng)賽技術(shù). 第四屆“飛思”杯智能車競(jìng)賽.200914,四屆“飛思,師范大學(xué)第四屆“飛思”杯智能車競(jìng)賽技術(shù). 第”杯智能車競(jìng)賽.2009附錄 AC 語言源程序#include #include derivative.h/*common defines and macros */*derivative-specificdefinitions*/structSetValue; PresentValue; P

29、roportion;egral; Derivation; NewInc; NewError; LastError; PreError; SumOut;OUT;A;B;C;longV,LR,Dir;/#define/#defineLRMidDirMid35503780/左右舵機(jī)中間值/方向舵機(jī)中間值#define #define #define #define #define #define #define #define #define #define #define#defineLRA LRB LRC LRD LRE LRF LRG LRH LRI LRJ LRKLRL38363432302

30、826242016128/左右舵機(jī)偏差#define #define #define#defineLRM LRN LROLRP4000#define #define#defineLeft4Right -4Middle 0/數(shù)碼管顯示 byte NUM10=0X77,0X14,0XB3,0XB6,0XD4,0XA7,0XE7,0X34,0XF7,0XF6;Deviation31=/偏移打角變量10,10,10,10,10,10,10,10,12,14,16,18,20,20,16,12,8,4,4,8,12,16,20,20,18,16,14,12,10,10,10;longfilter31=/

31、上排激光過濾0X7F,0X7F,0X7F,0X7F,0X7F,0X7F,0X7F,0X7E,0XFE,0XFC,0X1FC,0X1F8,0X3F8,0X3F0,0X7F0,0X7E0,0XFE0,0XFC0,0X1FC0,0X1F80,0X3F80,0X3F00,0X7F00,0X7E00,0XFE00,0XFE00,0XFE00,0XFE00,0XF E00,0XFE00,0XFE00;itionfilter15=/下排激光過濾0X07,0X07,0X07,0X0F,0X0E,0X1E,0X1C,0X3C,0X38,0X78,0X70,0XF0,0XE0,0XE0,0XE0;ition2Sp

32、eedL=-20,-20,-10,0,0,0,15,30,40,40,45,45,45,45,45;ition2SpeedR=45,45,45,45,45,40,40,30,15,0,0,0,-10,-20,-20;ition2JiaoL=270,260,200,0,0,0,0,0,0,0,0,0,0,0,0;ition2JiaoR=0,0,0,0,0,0,0,0,0,0,0,0,200,260,270;Record40;RecordSum,RecordNum;itionL,P=1;itionR;/相對(duì)位置對(duì)速度控制鍵/調(diào)節(jié)比例LRMidDirMid=3850;=4050;UPOut=3380

33、;LastResult=16;/前后舵機(jī)輸出值/激光掃描初始結(jié)果longResult=0,ResultOne=0;/上排檢測(cè)結(jié)果RegionVAdd=0,RegionTurnVAdd=0,RegionTurnVRed=0,RegionStop=0;/直道加速,彎道加速,入彎 VADD=0;TURNVRED=0;TURNVADD=0;,停止計(jì)數(shù)參考/直道速度增加量/彎道速度減少量/彎道速度增加量Deviationr=0,Deviationl=0;i;/偏移打角控制鍵longLastSe,PresentST=2;e=1,Work,Sh;/起跑線檢測(cè)次數(shù)/過黑線標(biāo)志/三軸加速度/路況 0 平地 1

34、坡道/ 加速度和與計(jì)數(shù)/加速度ChangeFlag16;Xg,Yg,Zg;Se=0;t;gSums5=127,127,127,127,127;PResult=0,PLastResult=7,ResultIns; gs,js,ks,vs;gu,ju,ku,vu; PError=0;t;t;/下排檢測(cè)結(jié)果/第二排激光偏差/坡道過程計(jì)數(shù)/起跑計(jì)數(shù)voidDelayUS(x)/延遲 x 微秒i,j; for(i=0;i0;j-)voidDelayMS(x)/延時(shí) x 毫秒fu=0;gu0;ju-)voidDelayS(x)/延遲 x 秒fs=0;gs0;js-)for(ks=2000;ks0;ks-)

35、voiddisplay(n)PTM=NUMn;voidVInit(void)/速度控制初始化V V V V V V V V V VV.SetValue=0;.SumOut=0;.OUT=0;.LastError=0;.PreError=0;.Proportion=16;.egral=1;.Derivation=2;.A=V.B=V.C=V.Proportion+V.Proportion+2*V.Derivation;.egral+V.Derivation;.Derivation;voidLRInit(void)LR LR LR LR LR LR LRLR.SumOut=LRMid.OUT=LR

36、Mid;.NewError=0;.LastError=0;.PreError=0;.Proportion=4;/600.egral=1;.Derivation=1;/400voidDirInit(void)Dir Dir Dir Dir Dir Dir DirDir.SumOut=DirMid.OUT=DirMid;.NewError=0;.LastError=0;.PreError=0;.Proportion=18;.egral=1;/Dir.egral=LR.egral.Derivation=1;voidInit(void)/初始化PTP=0XFF;E=0X00; POL=0XFF; CL

37、K=0X00;SCLB=0X3F; PRCLK=0X55; CAE=0X00;CTL=0XF0;/端口/SB126 分頻/B32 分頻A32 分頻T0=0X00; T1=0X00; PER0=0XC3; PER1=0X50;DTY0=0X0F;/方向舵機(jī)DTY1=0X6E;T2=0X00; T3=0X00; PER2=0XC3; PER3=0X50; DTY2=0X12;DTY3=0XC0;/前后舵機(jī)T4=0X00; T5=0X00; PER4=0XC3; PER5=0X50; DTY4=0X0D;DTY5=0XDE;/左右舵機(jī)T6=0X00; T7=0X00; PER6=0X0A; PER7

38、=0X00; DTY6=0X00;DTY7=0X00;/速度前進(jìn)E=0XFF;void PulseAccumulatorInit(void)PACTL=0X50;T=0X00;/脈沖計(jì)數(shù)器初始化void PITInit(void)PITCFLMT=0X00; PITCE=0X03;PITMUX=0X02;/定時(shí)器中斷初始化PITE=0X03;PITMTLD0=0XFF;PITMTLD1=0XFF; PITLD0=0X0C80; PITLD1=0X4000;PITCFLMT=0X80;/186AvoidPORTInit(void)/端口設(shè)置初始化DDRA=0XFF; PORTA=0X00; DD

39、RB=0X00; PORTB=0XFF; DDRT=0X00; DDRK=0XFF; PORTK=0X00; DDRM=0XFF; PTM=0X00; DDRE=0XF0; PORTE=0X80; DDRH=0X00;PTH=0XFF;voidClockInit(void)/時(shí)鐘初始化CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0 xc0 | 0 x09; REFDV=0 x80 | 0 x01;TDIV=0 x00;_asm(nop);_asm(nop);/BUSCLOCK=80Mwhile(!(CRGCLKSEL_PLLSEL_LOCK=1);=1;COPCTL=

40、0X00;IRQCR_IRQEN=0;/看門狗IRQ 中斷voidSCIInit(void)unsigned char t;/定義波特率 Bt=9600,SCI0BD=fBUS/(16*Bt)/再給低 8 位賦值/須先給高 8 位賦值/設(shè)置允許 SCI,正常碼輸出,8 位數(shù)據(jù),無校驗(yàn)/讀數(shù)據(jù)寄存器(清 0)/讀狀態(tài)寄存器(清 0)/允許 SCI0 接收和發(fā)送 查詢方式SCI0BDHSCI0BDL SCI0CR1=0 x02;0 x08;0 x00;t = SCI0DRL; t = SCI0SR1;SCI0CR2 = 0 x0C;voidATDInit(void)ATD0CTL0=0X01; A

41、TD0CTL1=0X00; ATD0CTL2=0X40;ATD0CTL3=0X88;/外部觸發(fā), 中斷/右對(duì)齊無符號(hào),每次轉(zhuǎn)換 3 個(gè)序列, No FIFO, Freeze 模式下繼續(xù)轉(zhuǎn)ATD0CTL4=0X04;/765:采樣時(shí)間為 4 個(gè) AD 時(shí)鐘周期,ATDClock=BusClock*0.5/PRS+1ATD0CTL5=0X22;ATD0DIEN=0X00;/6:0 特殊通道,5:1 連續(xù)轉(zhuǎn)換 ,4:1 多通道輪流采樣/數(shù)字輸入void RunV(void)if(LR.SumOut*LRVADD=0;RegionVAdd=0;/運(yùn)行速度控制.egral-LRMid250)/直道加速e

42、lse if(LR.SumOut*LR.egral-LRMid-250)VADD=0;RegionVAdd=0;else if(RegionVAdd12)RegionVAdd+;VADD=0;elseif(RegionVAdd256)RegionVAdd+=64;VADD=RegionVAdd/32;elseif(RegionVAdd512)RegionVAdd+=128;VADD=RegionVAdd/32;elseif(RegionVAddLRMid)/入彎if(LR.SumOut*LR.egral-LRMid180)if(RegionTurnVRed40000)RegionTurnVRe

43、d+;elseRegionTurnVRed=0;elseif(LR.SumOut*LR.egral180)if(RegionTurnVRed1)if(-V.NewError)20&V.PresentValue150)if(RegionTurnVRed10)TURNVRED=V.PresentValue;elseTURNVRED=0;elseTURNVRED=0;elseTURNVRED=0;if(RegionTurnVAdd20)TURNVADD=0;else if(RegionTurnVAdd512)TURNVADD=RegionTurnVAdd/128;else if(RegionTurn

44、VAdd1024)/彎道加速TURNVADD=RegionTurnVAdd/112;elseif(RegionTurnVAdd1)if(RegionStop20)V.SetValue=0;兩次檢測(cè)到起跑線停車PTM=0XFF;/else if(LR.SumOut*LR.egral-LRMid=0)/速度設(shè)置V.SetValue=200+VADD-TURNVRED+TURNVADD+Deviationr*6+Deviationl*6;else if(LR.SumOut*LR.egral-LRMid0)/38V.SetValue=200-(LR.SumOut*LR.egral-LRMid)/36+

45、VADD-TURNVRED+TURNVADD+Deviationr*3+Deviationl*3+ition2SpeedLPResult;else if(LR.SumOut*LR.egral-LRMid0)V.SetValue=200+(LR.SumOut*LR.egral-LRMid)/36+VADD-TURNVRED+TURNVADD+Deviationr*3+Deviationl*3+if(V.SetValue100)/積分分離 速度控制V.OUT=V.Proportion*V.NewError+V.Derivation*(V.NewError-V.LastError);V.SumOut

46、=0;elseV.SumOut+=V.NewError;/位置式if(V.SumOut3000)V.SumOut=3000;if(V.SumOut3000)V.OUT=3000;if(V.OUT5000)LR.SumOut=5000;if(LR.SumOut5000)LR.OUT=5000;if(LR.OUT200)/路況RecordSum-=RecordRecordNum; RecordRecordNum=Left;RecordSum+=RecordRecordNum;elseif(LR.SumOut*LR.egral-LRMid-200)RecordSum-=RecordRecordNum

47、; RecordRecordNum=Right;RecordSum+=RecordRecordNum;elseRecordSum-=RecordRecordNum; RecordRecordNum=Middle;RecordSum+=RecordRecordNum;RecordNum+; if(RecordNum=40)RecordNum=0;if(RecordSum=160)Deviationr=1; Deviationl=0; if(RegionTurnVAdd5120)RegionTurnVAdd+;/打角偏移else if(RecordSum=-160)Deviationr=0; De

48、viationl=1; if(RegionTurnVAddDirMid)if(LR.SumOut*LR.egral-DirMid350)Dir;.OUT=DirMid+(Dir.OUT-DirMid)*9/8+ition2JiaoRPResult;/*10/8elseDir.OUT=DirMid+(Dir.OUT-DirMid)*9/8;/*10/8;if(Dir.OUT(DirMid)/930Dir.OUT=DirMid;else if(DirDirDTY0=Dir DTY1=Dir.OUT(DirMid-480)/300.OUT=DirMid-480;.OUT/256;.OUT%256;e

49、lse if(Dir.OUT350)Dir;.OUT=DirMid-(DirMid-Dir.OUT)*6/8-ition2JiaoLPResult;/*10/8elseDir.OUT=DirMid-(DirMid-Dir.OUT)*6/8;/*10/8;if(DirDir.OUT(DirMid).OUT=DirMid;else if(DirDirDTY0=Dir DTY1=Dir.OUT=0;k-)/掃描f=1;g=0;g-)PORTA=k*2+g;DelayUS(10); IN=PORTB; IN&=1k;DelayUS(10); if(IN!=0)Result=Result*2+1; On

50、eNum+;elseResult=Result*2; PORTK_PK1=1;filter2=Result; for(f=0;f=0;k-)f=1;g=0;g-)PORTA=k*2+g;DelayUS(10); IN=PORTB; IN&=16)黑點(diǎn),開始判斷交叉線和起跑線while(OneNum6)OneNum=0; Result=0; ResultOne=0;/檢測(cè)到多個(gè)PORTK_;/重新掃描for(k=7;k=0;k-)f=1;g=0;g-)PORTA=k*2+g;DelayUS(10); IN=PORTB; IN&=1k;DelayUS(10); if(IN!=0)Result=Re

51、sult*2+1;/變化的點(diǎn),和 1 的個(gè)數(shù)ChangeFlagk*2+g=1;OneNum+;elseResult=Result*2;PORTK_PK1=1;/while(SCI0SR1_TC!=1);SCI0DRL=OneNum;/串口發(fā)送/檢測(cè)到少量黑點(diǎn),退出for(i=0;i16;i+)/檢測(cè)起跑線,變化點(diǎn)數(shù)if(ChangeFlagi=1)t+;ChangeFlagi=0;/改變標(biāo)志點(diǎn)清零if(t6)/6 到 14 之間為起跑線T+;if(t14)/14 以上為十字交叉LRLR.OUT=LRMid.OUT=LRMid;DelayUS(5000);ReSearch();if(Result!=0&Result!=0Xif(OneNum7)F)Result&=filterLastResult;filter2=Result; for(f=0;f=Result)distance=LastResult-Result;else if(LastResultResu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論