




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
STYLEREF"標題1"引言-1-引言自從第五屆出現(xiàn)電磁組開始到今年第九屆比賽,電磁小車已經(jīng)在智能車的賽道上奔馳了5年,從第六屆取消了前瞻長度的限制,電磁車速度開始有了質(zhì)的飛躍,第七屆改成直立狀態(tài)行走后,雖然對速度有一定的影響,但也以其獨特魅力和新的技術(shù)挑戰(zhàn)讓參賽者向往不已,到第八屆改回四輪行進方式并采用了A車模,到了今年第九屆仍采用四輪行進方式但后輪采用雙電機驅(qū)動以替代傳統(tǒng)的機械差速改為電子差速,并使用C車模,并且今年的比賽規(guī)則也有較大的改動在電磁組賽道中加入了直角和折線并且創(chuàng)新性的在賽道上加入了障礙,這些變化使得難度有所增加,但可觀賞性則大大的提高。經(jīng)過了這幾年的探索,電磁小車的傳感器及傳感器布局都已經(jīng)近乎相同,考驗車手的更多的將是細節(jié)。本文中,我們小組通過對小車設(shè)計制作整體思路、電路、算法、調(diào)試、車輛參數(shù)的介紹,詳盡地闡述了我們的思想和創(chuàng)意,具體表現(xiàn)在電路的創(chuàng)新設(shè)計,以及算法方面的獨特想法。在準備比賽的近一年的過程中,我們小組成員涉獵控制、模式識別、傳感技術(shù)、汽車電子、電氣、計算機、機械等多個學科,這次磨練對我們的知識融合和實踐動手能力的培養(yǎng)有極大的推動作用。并且在此要感謝為競賽的舉辦而默默地付出的人,正是你們的付出才使得這個賽事越來越有影響,我們才有機會參加這個賽事,才有機會使我們的知識和動手實踐能力得到很好地提升。第九屆全國大學生智能汽車邀請賽技術(shù)報告目錄18-19-PAGEI目錄引言 -1-目錄 -2-第一章方案設(shè)計 -5-1.1系統(tǒng)總體方案的設(shè)計 -5-1.2系統(tǒng)總體方案設(shè)計圖 -6-第二章智能車機械結(jié)構(gòu)調(diào)整與優(yōu)化 -7-2.1智能車前輪定位的調(diào)整 -7-2.1.1主銷后傾角 -7-2.1.2主銷內(nèi)傾角 -7-2.1.3車輪外傾角 -8-2.1.4前輪前束 -8-2.2智能車轉(zhuǎn)向機構(gòu)調(diào)整優(yōu)化 -9-2.3編碼器的安裝 -10-2.4智能車重心位置的調(diào)整 -11-2.5其它機械結(jié)構(gòu)的調(diào)整 -11-第三章電路設(shè)計說明 -12-3.1主控板和驅(qū)動板的硬件設(shè)計 -12-3.1.1電源管理模塊 -12-3.1.2電機驅(qū)動模塊 -13-3.1.3數(shù)模轉(zhuǎn)換模塊 -13-3.1.4測速模塊電路及其他電路部分設(shè)計 -14-3.2智能車傳感器模塊設(shè)計 -15-3.2.1電感傳感器的原理 -15-3.2.2磁傳感器信號處理電路 -15-3.2.3磁傳感器的布局原理及改進 -17-3.2.4電磁車避障傳感器方案和布局 -19-第四章智能車控制軟件設(shè)計說明 -20-4.1底層初始化 -20-4.2傳感器采集處理算法 -21-4.3尋線行駛算法實現(xiàn) -22-4.3.1定位算法 -22-4.3.2基于位置式PID的方向控制 -23-4.3.3基于增量式PID的速度控制 -25-4.3彎道策略分析 -25-4.4彎道策略制定 -27-第五章開發(fā)工具、制作、安裝、調(diào)試過程說明 -28-5.1開發(fā)工具 -28-5.2調(diào)試過程 -28-5.2.1上位機系統(tǒng) -28-5.2.2控制算法的參數(shù)整定 -29-5.3整車機械方面的調(diào)整 -30-第六章模型車的主要技術(shù)參數(shù)說明 -31-6.1智能車外形參數(shù) -31-6.2電路部分參數(shù) -31-6.3傳感器個數(shù)以及種類 -31-6.4除了車模原有的驅(qū)動電機、舵機之外伺服電機數(shù)量 -31-6.5賽道信息檢測精度、頻率 -31-結(jié)論 -32-參考文獻 -33-附錄程序源代碼 I第九屆全國大學生智能汽車邀請賽技術(shù)報告第一章方案設(shè)計第一章方案設(shè)計第一章方案設(shè)計本章主要簡要地介紹智能車系統(tǒng)總體設(shè)計思路,在后面的章節(jié)中將整個系統(tǒng)分為機械結(jié)構(gòu)、控制模塊、控制算法等三部分對智能車控制系統(tǒng)進行深入的介紹分析。1.1系統(tǒng)總體方案的設(shè)計根據(jù)競賽規(guī)則相關(guān)規(guī)定,智能車系統(tǒng)采用大賽組委會統(tǒng)一提供的C型車模,以飛思卡爾半導(dǎo)體公司生產(chǎn)的32位微控制器K60作為核心控制器,在KeilMDK開發(fā)環(huán)境中進行軟件開發(fā)。賽車的位置信號由車體前方的電磁傳感器采集,經(jīng)內(nèi)部AD進行模數(shù)轉(zhuǎn)換后,輸入到控制核心,用于賽車的運動控制決策。通過編碼器測速模塊來檢測車速,并采用K60的輸入捕捉功能進行脈沖計數(shù)計算速度和路程;電機轉(zhuǎn)速控制采用PID控制,通過PWM控制驅(qū)動電路調(diào)整電機的轉(zhuǎn)速,完成智能車速度的閉環(huán)控制。此外,還增加了鍵盤和OLED屏作為輸入和顯示設(shè)備,用于參數(shù)的調(diào)整和整體的調(diào)試。圖1.1電磁車整體布局1.2系統(tǒng)總體方案設(shè)計圖圖1.2系統(tǒng)總體方框圖根據(jù)以上系統(tǒng)方案設(shè)計,賽車共包括六大模塊:K60主控模塊、傳感器模塊、電源模塊、電機驅(qū)動模塊、速度檢測模塊、輔助調(diào)試模塊。各模塊的作用如下:K60主控模塊,作為整個智能車的“大腦”,將采集電感傳感器、編碼器等傳感器的信號,根據(jù)控制算法做出控制決策,驅(qū)動直流電機和伺服電機完成對智能車的控制。傳感器模塊包括電磁傳感器、障礙傳感器和停車檢測傳感器,其中電磁傳感器是智能車的“眼睛”,可以通過一定的前瞻性,提前感知前方的賽道信息,為智能車的“大腦”做出決策提供必要的依據(jù)和充足的反應(yīng)時間,障礙傳感器為了規(guī)避賽道上的障礙,停車檢測傳感器為了檢測停車線。電源模塊,為整個系統(tǒng)提供合適而又穩(wěn)定的電源。電機驅(qū)動模塊,驅(qū)動直流電機和伺服電機完成智能車的加減速控制和轉(zhuǎn)向控制。速度檢測模塊,檢測反饋智能車后輪的轉(zhuǎn)速,用于速度的閉環(huán)控制。輔助調(diào)試模塊主要用于智能車系統(tǒng)的功能調(diào)試、賽車狀態(tài)監(jiān)控等方面。第二章智能車機械結(jié)構(gòu)調(diào)整與優(yōu)化第二章智能車機械結(jié)構(gòu)調(diào)整與優(yōu)化智能車系統(tǒng)任何的控制都是在一定的機械結(jié)構(gòu)基礎(chǔ)上實現(xiàn)的,因此在設(shè)計整個軟件架構(gòu)和算法之前一定要對整個車模的機械結(jié)構(gòu)有一個感性的認識,然后建立相應(yīng)的數(shù)學模型。從而再針對具體的設(shè)計方案來調(diào)整賽車的機械結(jié)構(gòu),并在實際的調(diào)試過程中不斷的改進和提高。本章將主要介紹智能車車模的機械結(jié)構(gòu)和調(diào)整方案。2.1智能車前輪定位的調(diào)整現(xiàn)代汽車在正常行駛過程中,為了使汽車直線行駛穩(wěn)定,轉(zhuǎn)向輕便,轉(zhuǎn)向后能自動回正,減少輪胎和轉(zhuǎn)向系零件的磨損等,在轉(zhuǎn)向輪、轉(zhuǎn)向節(jié)和前軸之間須形成一定的相對安裝位置,叫車輪定位,其主要的參數(shù)有:主銷后傾、主銷內(nèi)傾、車輪外傾和前束。智能車競賽模型車的四項參數(shù)都可以調(diào)整,但是由于模型車加工和制造精度的問題,在通用的規(guī)律中還存在著一些偶然性。2.1.1主銷后傾角主銷后傾角是指在縱向平面內(nèi)主銷軸線與地面垂直線之間的夾角。它在車輛轉(zhuǎn)彎時會產(chǎn)生與車輪偏轉(zhuǎn)方向相反的回正力矩,使車輪自動恢復(fù)到原來的中間位置上。所以,主銷后傾角越大,車速越高,前輪自動回正的能力就越強,但是過大的回正力矩會使車輛轉(zhuǎn)向沉重。通常主銷后傾角值設(shè)定在1°到3°。模型車通過增減黃色墊片的數(shù)量來改變主銷后傾角的,由于競賽所用的轉(zhuǎn)向舵機力矩不大,過大的主銷后傾角會使轉(zhuǎn)向變得沉重,轉(zhuǎn)彎反應(yīng)遲滯,所以設(shè)置為0°,以便增加其轉(zhuǎn)向的靈活性。2.1.2主銷內(nèi)傾角主銷內(nèi)傾角是指在橫向平面內(nèi)主銷軸線與地面垂直線之間的夾角,它的作用也是使前輪自動回正。角度越大前輪自動回正的作用就越強,但轉(zhuǎn)向時也就越費力,輪胎磨損增大;反之,角度越小前輪自動回正的作用就越弱。通常汽車的主銷內(nèi)傾角不大于8°。對于模型車,通過調(diào)整前橋的螺桿的長度可以改變主銷內(nèi)傾角的大小,由于過大的內(nèi)傾角也會增大轉(zhuǎn)向阻力,增加輪胎磨損,所以在調(diào)整時可以近似調(diào)整為0°到3°左右,不宜太大。主銷內(nèi)傾和主銷后傾都有使汽車轉(zhuǎn)向自動回正,保持直線行駛的功能。不同之處是主銷內(nèi)傾的回正與車速無關(guān),主銷后傾的回正與車速有關(guān),因此高速時主銷后傾的回正作用大,低速時主銷內(nèi)傾的回正作用大。2.1.3車輪外傾角前輪外傾角是指通過車輪中心的汽車橫向平面與車輪平面的交線與地面垂線之間的夾角,對汽車的轉(zhuǎn)向性能有直接影響,它的作用是提高前輪的轉(zhuǎn)向安全性和轉(zhuǎn)向操縱的輕便性。在汽車的橫向平面內(nèi),輪胎呈“八”字型時稱為“負外傾”,而呈現(xiàn)“V”字形張開時稱為正外傾。如果車輪垂直地面一旦滿載就易產(chǎn)生變形,可能引起車輪上部向內(nèi)傾側(cè),導(dǎo)致車輪聯(lián)接件損壞。所以事先將車輪校偏一個正外傾角度,一般這個角度約在1°左右,以減少承載軸承負荷,增加零件使用壽命,提高汽車的安全性能。模型車提供了專門的外傾角調(diào)整配件,近似調(diào)節(jié)其外傾角。由于競賽中模型主要用于競速,所以要求盡量減輕重量,其底盤和前橋上承受的載荷不大,所以外傾角調(diào)整為0°即可,并且要與前輪前束匹配。2.1.4前輪前束所謂前束是指兩輪之間的后距離數(shù)值與前距離數(shù)值之差,也指前輪中心線與縱向中心線的夾角。前輪前束的作用是保證汽車的行駛性能,減少輪胎的磨損。前輪在滾動時,其慣性力自然將輪胎向內(nèi)偏斜,如果前束適當,輪胎滾動時的偏斜方向就會抵消,輪胎內(nèi)外側(cè)磨損的現(xiàn)象會減少。像內(nèi)八字那樣前端小后端大的稱為“前束”,反之則稱為“后束”或“負前束”。在實際的汽車中,一般前束為12mm。在模型車中,前輪前束是通過調(diào)整伺服電機帶動的左右橫拉桿實現(xiàn)的。主銷在垂直方向的位置確定后,改變左右橫拉桿的長度即可以改變前輪前束的大小。在實際的調(diào)整過程中,我們發(fā)現(xiàn)較小的前束,約束2mm可以減小轉(zhuǎn)向阻力,使模型車轉(zhuǎn)向更為輕便,但實際效果不是十分明顯。雖然模型車的主銷后傾角、主銷內(nèi)傾角、車輪外傾角和前束等均可以調(diào)整,但是由于車模加工和制造精度的問題,在通用的規(guī)律中還存在著不少的偶然性,一切是實際調(diào)整的效果為準。2.2智能車轉(zhuǎn)向機構(gòu)調(diào)整優(yōu)化理想的轉(zhuǎn)向模型,是指在輪胎不打滑時,忽略左右兩側(cè)輪胎由于受力不均產(chǎn)生的變形,忽略輪胎受重力影響下的變形時車輛的的轉(zhuǎn)向建模。在這種理想的模型下,車體的轉(zhuǎn)向半徑可以計算得到。根據(jù)計算得出的后輪內(nèi)外輪的半徑差,進而計算出相對于車子中心的速度差,計算出后輪差速,再分別賦值給后輪雙電機各自的速度PID結(jié)構(gòu)體的目標速度,完成雙電機驅(qū)動的后輪差速。圖2.1智能車轉(zhuǎn)向示意圖如圖2.1,假設(shè)智能車系統(tǒng)為理想的轉(zhuǎn)向模型,且其重心位于其幾何中心。車輪滿足轉(zhuǎn)向原理,左右輪的軸線與后輪軸線這三條直線必然交于一點。轉(zhuǎn)向機構(gòu)在車輛運行過程中有著非常重要的作用。合適的前橋和轉(zhuǎn)向機構(gòu)可以保證在車輛直線行駛過程中不會跑偏,能保證車輛行駛的方向穩(wěn)定性;而在車輛轉(zhuǎn)向時,合適的轉(zhuǎn)向機構(gòu)可以使車輛自行回到直線行駛狀態(tài),具有好的回正性。正是由于這些原因,轉(zhuǎn)向系統(tǒng)優(yōu)化設(shè)計成為智能車設(shè)計中機械結(jié)構(gòu)部分的重點,直接關(guān)系到賽車能否順利地完成比賽。在實際操作中,我們通過理論計算的方案進行優(yōu)化,然后做出實際結(jié)構(gòu)以驗證理論數(shù)據(jù),并在實際調(diào)試過程中不斷改進。在模型車制做過程中,賽車的轉(zhuǎn)向是通過舵機帶動左右橫拉桿來實現(xiàn)的。轉(zhuǎn)向舵機的轉(zhuǎn)動速度和功率是一定,要想加快轉(zhuǎn)向機構(gòu)響應(yīng)的速度,唯一的辦法就是優(yōu)化舵機的安裝位置和其力矩延長桿的長度。由于功率是速度與力矩乘積的函數(shù),過分追求速度,必然要損失力矩,力矩太小也會造成轉(zhuǎn)向遲鈍,因此設(shè)計時就要綜合考慮轉(zhuǎn)向機構(gòu)響應(yīng)速度與舵機力矩之間的關(guān)系,通過優(yōu)化得到一個最佳的轉(zhuǎn)向效果。經(jīng)過最后的實際的參數(shù)設(shè)計計算,最后得出一套可以穩(wěn)定、高效工作的參數(shù)及機構(gòu)。如圖2.2,我們最終設(shè)計的這套舵機臂,我們綜合考慮了速度與扭矩間的關(guān)系,并根據(jù)模型車底盤的具體結(jié)構(gòu),簡化了安裝方式,實現(xiàn)了預(yù)期目標。圖2.2舵機臂圖2.3編碼器的安裝圖2.3編碼器安裝為了提高精度,本車使用了編碼器。為了便于安裝,使用加工件將編碼器電機齒輪進行連接,較好的保證了兩嚙合齒輪軸的平行度及傳動的平順性。2.4智能車重心位置的調(diào)整為了達到較遠前瞻,必須把電感架到較遠的位置,會引起車重心特別靠前,后輪正壓力不足導(dǎo)致甩尾。為了使重心后移,我們嘗試了很多傳感器支架的搭建方式,使得保證結(jié)構(gòu)穩(wěn)定的前提下盡量減輕重量。同時,我們把舵機和電池均往后移,達到了預(yù)期的效果。2.5其它機械結(jié)構(gòu)的調(diào)整另外,在模型車的機械結(jié)構(gòu)方面還有很多可以改進的地方,比如說車輪、懸架、底盤、車身高度等。模型車在高速的條件下(2.3m/s-3.5m/s),由于快速變化的加減速過程,使得模型車的輪胎與輪輞之間很容易發(fā)生相對位移,可能導(dǎo)致在加速時會損失部分驅(qū)動力。在實驗中調(diào)試表明,賽車在高速下每跑完一圈,輪胎與輪輞之間通常會產(chǎn)生幾個厘米的相對位移,嚴重影響了賽車的加速過程。為了解決這個問題,我們在實際調(diào)試過程中對車輪進行了粘胎處理,可以有效地防止由于輪胎與輪輞錯位而引起的驅(qū)動力損失的情況。此外,我們還對車身高度,以及底盤的形狀和質(zhì)量等,都進行了相應(yīng)的改進和調(diào)整,均取得了不錯效果。第三章電路設(shè)計說明第三章電路設(shè)計說明3.1主控板和驅(qū)動板的硬件設(shè)計3.1.1電源管理模塊 為滿足需要,本車模上存在5種供電電壓:1)智能車使用鎳鎘充電電池,充滿時電壓在7.8~8.2V??芍苯佑糜陔姍C供電。2)一些數(shù)字器件使用直流5V,5V電源選用線性穩(wěn)壓芯片UCC283-5和LM2940。3)使用3.3V為單片機供電,采用線性穩(wěn)壓芯片AMS1117-3.3。輸入端接UCC283-5和LM2940輸出端。4)電機驅(qū)動模塊使用直流13V,使用一款5-15V升壓電源模塊。5)舵機供電使用6V供電方式,6V電源選用LM1084-ADJ加若干LED顯示各類電源工作狀況。該部分電路如圖3.1所示。圖3.1電源管理模塊原理圖3.1.2電機驅(qū)動模塊電機驅(qū)動電路為一個由分立元件制作的直流電動機可逆雙極型橋式驅(qū)動器,其功率元件由8片N溝道功率MOSFET管組成,額定工作電流可以輕易達到100A以上,大大提高了電動機的工作轉(zhuǎn)矩和轉(zhuǎn)速。該驅(qū)動器主要由以下部分組成:PWM信號輸入接口、死區(qū)控制電路、電源電路、上橋臂功率MOSFET管柵極驅(qū)動電壓泵升電路、功率MOSFET管柵極驅(qū)動電路、橋式功率驅(qū)動電路等。該部分原理圖如圖3.2所示。圖3.2電機驅(qū)動模塊原理圖3.1.3數(shù)模轉(zhuǎn)換模塊由于K60的內(nèi)部AD比較精確,我們在測試外部AD后結(jié)果顯示其結(jié)果與內(nèi)部AD相差不大,而且方差較內(nèi)部AD更大,當然這也有可能是測試方法有問題。內(nèi)部AD較外部AD可以簡化電路設(shè)計,綜合考慮這下我們還是決定使用內(nèi)部AD,考慮到我們所使用的傳感器數(shù)量,引出8路AD。其接線方法如圖3.3所示。圖3.3接線圖3.1.4測速模塊電路及其他電路部分設(shè)計圖3.4測速模塊人機交互:增加按鍵,撥碼開關(guān)用于輸入?yún)?shù),策略調(diào)整,加入OLED屏顯示小車狀態(tài)便于調(diào)試。該部分整體電路如圖3.5所示。圖3.5單片機及其他電路部分3.2智能車傳感器模塊設(shè)計根據(jù)競賽組委會的相關(guān)規(guī)定,我們選用磁傳感器,磁傳感器的應(yīng)用首先在于選型,為了找出適合的磁傳感器,我們查閱了許多的產(chǎn)品資料,進行了大量的電感測試,發(fā)現(xiàn)只有在10mH電感中,得到感應(yīng)電動勢曲線是較為規(guī)整的正弦波,頻率和賽道電源頻率一致,為20kHz,幅值較其他型號的大,且隨導(dǎo)線距離變化,規(guī)律為近大遠小。其他電感得到信號不好,頻率幅值變化雜亂,不宜采用。3.2.1電感傳感器的原理根據(jù)電磁學,我們知道在導(dǎo)線中通入變化的電流(如按正弦規(guī)律變化的電流),則導(dǎo)線周圍會產(chǎn)生變化的磁場,且磁場與電流的變化規(guī)律具有一致性。如果在此磁場中置一由線圈組成的電感,則該電感上會產(chǎn)生感應(yīng)電動勢,且該感應(yīng)電動勢的大小和通過線圈回路的磁通量的變化率成正比。由于在導(dǎo)線周圍不同位置,磁感應(yīng)強度的大小和方向不同,所以不同位置上的電感產(chǎn)生的感應(yīng)電動勢也應(yīng)該是不同。據(jù)此,則可以確定電感的大致位置。3.2.2磁傳感器信號處理電路確定使用電感作為檢測導(dǎo)線的傳感器,但是其感應(yīng)信號較微弱,且混有雜波,所以要進行信號處理。要進行以下三個步驟才能得到較為理想的信號:信號的濾波,信號的放大,信號的檢波。1)信號的濾波比賽選擇20kHz的交變磁場作為路徑導(dǎo)航信號,在頻譜上可以有效地避開周圍其它磁場的干擾,因此信號放大需要進行選頻放大,使得20kHz的信號能夠有效的放大,并且去除其它干擾信號的影響。使用LC并聯(lián)諧振電路來實現(xiàn)選頻電路(帶通電路),如圖3.6所示。圖3.6LC并聯(lián)電路其中,E是感應(yīng)線圈中的感應(yīng)電動勢,L是感應(yīng)線圈的電感值,R0是電感的內(nèi)阻,C是并聯(lián)諧振電容。電路諧振頻率為:(2.1)已知感應(yīng)電動勢的頻率=20kHz,感應(yīng)線圈電感為L=10mH,可以計算出諧振電容的容量為C=6.33×10-9F。通常在市場上可以購買到的標稱電容與上述容值最為接近的電容為6.8nF,所以在實際電路中選用6.8nF的電容作為諧振電容。2)信號的放大由第一步處理后的電壓波形已經(jīng)是較為規(guī)整的20kHz正弦波,但是幅值較小,隨著距離衰減很快,不利于電壓采樣,所以要進行放大,官方給出的如下參考方案即用三極管進行放大,但是用三極管放大有一個不可避免的缺點就是溫漂較大,而且在實際應(yīng)用中靜電現(xiàn)象嚴重。圖3.7共射三極管放大電路因此我們放棄三極管放大的方案,而是采用集成運放進行信號的放大處理,集成運放較三極管優(yōu)勢是準確受溫度影響很小,可靠性高。集成運放放大電路有同相比例運算電路和反相比例運算電路,我們在實際中使用同相比例運算電路。3)信號的檢波測量放大后的感應(yīng)電動勢的幅值E可以有多種方法。最簡單的方法就是使用二極管檢波電路將交變的電壓信號檢波形成直流信號,然后再通過單片機的AD采集獲得正比于感應(yīng)電壓幅值的數(shù)值。我們采用的為競賽組委會給出的第一種方案即使用兩個二極管進行倍壓檢波。倍壓檢波電路可以獲得正比于交流電壓信號峰峰值的直流信號。為了能夠獲得更大的動態(tài)范圍,倍壓檢波電路中的二極管推薦使用肖特基二極管或者鍺二極管。由于這類二極管的開啟電壓一般在0.1~0.3V左右,小于普通的硅二極管(0.7V),可以增加輸出信號的動態(tài)范圍和增加整體電路的靈敏度。這里選用常見的的肖特基二極管1N5819。最終方案確定如下圖3.8最終方案3.2.3磁傳感器的布局原理及改進對于直導(dǎo)線,當裝有小車的中軸線對稱的兩個線圈的小車沿其直線行駛,即兩個線圈的位置關(guān)于導(dǎo)線對稱時,則兩個線圈中感應(yīng)出來的電動勢大小應(yīng)相同、且方向亦相同。若小車偏離直導(dǎo)線,即兩個線圈關(guān)于導(dǎo)線不對稱時,則通過兩個線圈的磁通量是不一樣的。這時,距離導(dǎo)線較近的線圈中感應(yīng)出的電動勢應(yīng)大于距離導(dǎo)線較遠的那個線圈中的。根據(jù)這兩個不對稱的信號的差值,即可調(diào)整小車的方向,引導(dǎo)其沿直線行駛。對于弧形導(dǎo)線,即路徑的轉(zhuǎn)彎處,由于弧線兩側(cè)的磁力線密度不同,則當載有線圈的小車行駛至此處時,兩邊的線圈感應(yīng)出的電動勢是不同的。具體的就是,弧線內(nèi)側(cè)線圈的感應(yīng)電動勢大于弧線外側(cè)線圈的,據(jù)此信號可以引導(dǎo)小車拐彎。另外,當小車駛離導(dǎo)線偏遠致使兩個線圈處于導(dǎo)線的一側(cè)時,兩個線圈中感應(yīng)電動勢也是不平衡的。距離導(dǎo)線較近的線圈中感應(yīng)出的電動勢大于距離導(dǎo)線較遠的線圈。由此,可以引導(dǎo)小車重新回到導(dǎo)線上。由于磁感線的閉合性和方向性,通過兩線圈的磁通量的變化方向具有一致性,即產(chǎn)生的感應(yīng)電動勢方向相同,所以由以上分析,比較兩個線圈中產(chǎn)生的感應(yīng)電動勢大小即可判斷小車相對于導(dǎo)線的位置,進而做出調(diào)整,引導(dǎo)小車大致循線行駛。采用雙水平線圈檢測方案,在邊緣情況下,其單調(diào)性發(fā)生變化,這樣存在一個定位不清的區(qū)域(如圖3.9箭頭所指)。同一個差值,會對應(yīng)多個位置,不利于定位。另外,受單個線圈感應(yīng)電動勢的最大距離限制,兩個線圈的檢測廣度很有限。圖3.9雙線圈差值法有定位不清區(qū)域現(xiàn)提出一種優(yōu)化方案:3個水平放置的電感按“一”字排布,每個電感相距約為5cm(見圖3.10),兩個45°的電感,這樣覆蓋賽道范圍約為25cm。三個“一”字排布的電感可以大大提高檢測密度和廣度,向前有三個垂直電感其中一個為備選,可以提高前瞻并且能夠很好地識別十字交叉和直角,改善小車入彎狀態(tài)和路徑,兩個45°的電感,可以改善入彎和出彎的姿態(tài)。圖3.10電感排布檢測方案3.2.4電磁車避障傳感器方案和布局今年電磁車在賽道元素中增加了障礙,因此要能夠正確的識別障礙并能夠很好地規(guī)避,這對于今年的參賽選手來說是一個很大的考驗。開始時我們選擇的是反射式紅外傳感器ST188,但由于紅外傳感器易受到環(huán)境光線的影響因此我們后來決定改用超聲波避障方案。下圖是我們的超聲波安裝位置。圖3.11超聲波安裝位置第四章智能車控制軟件設(shè)計說明第四章智能車控制軟件設(shè)計說明控制程序是人的思想在車模體現(xiàn),程序要體系化,模塊化,穩(wěn)定化,目標是將硬件電路和機械性能發(fā)揮到最大,讓車模用最快的速度完成比賽。4.1底層初始化編寫初始化函數(shù)SystemInit(),初始化用到的模塊,如下(子函數(shù)略):intmain(void){ SystemClockSetup(ClockSource_EX50M,CoreClock_100M); DelayInit(); //初始化延時模塊 RTC_Init(); //實時時鐘初始化,可以當鐘表用 NVIC_Init(PIT0_IRQn,NVIC_PriorityGroup_2,2,0); UART_DebugPortInit(UART5_RX_E9_TX_E8,115200); DisplayCPUInfo(); UART_ITConfig(UART5,UART_IT_RDRF,ENABLE); NVIC_EnableIRQ(UART5_RX_TX_IRQn); LED_Init(); //LED初始化 DelayMs(200); Buzzer=0; //蜂鳴器不響,蜂鳴器滴一聲……復(fù)位標志 OLED_Init(); //OLED初始化 AD_Vol_CollectInit(); //電壓采集模塊初始化 MotorInit(); //初始化電機 steeringEngineInit(); //初始化舵機 PIDInit(&SpeedCtl_PID_Structure_L);//初始化PID結(jié)構(gòu)體 PIDInit(&SpeedCtl_PID_Structure_R);//初始化PID結(jié)構(gòu)體 memset(&DirectionCtl_PID_Structure,0,sizeof(Vary_P_PID_TypeDef));//初始化PID結(jié)構(gòu)體 UltrasonicWave_GPIO_Config(); Reed_Switch_Init(); //初始化干簧管檢測端口 DIP_Switch_Init();//撥碼開關(guān)初始化 KEY_Inter_Init(); //按鍵初始化 while(Go_flag==0);//等待發(fā)車標志 Speed_MeasureInit(); //初始化光電編碼器 WDOG_Init(25); //初始化看門狗如果25MS內(nèi)沒有喂狗則復(fù)位 PIT_ProcessInit(); //初始化5ms周期中斷定時器}4.2傳感器采集處理算法編寫采集函數(shù)SensorCollection(),其功能為控制AD采集某個通道(對應(yīng)某個電感)的電壓值,然后讀出該值返回給函數(shù)。由于系統(tǒng)中存在噪聲或干擾,進行算法濾波抑制和防止干擾是一項重要措施。在這里選擇“加權(quán)遞推平均濾波法”。定義一個循環(huán)隊列,把連續(xù)取N個采樣值入隊,假設(shè)隊列的長度為N,每次采樣到一個新數(shù)據(jù)放入隊尾,隊滿后對首數(shù)據(jù)出隊原隊首位置成為隊尾并入隊(即始終保持隊列中的N個數(shù)據(jù)為最新)。越接近現(xiàn)時刻的數(shù)據(jù),權(quán)取得越大。把隊列中的N個數(shù)據(jù)進行加權(quán)平均運算,就可獲得新的濾波結(jié)果。特點是給予新采樣值的權(quán)系數(shù)越大,則靈敏度越高,但信號平滑度越差。優(yōu)點是適合采樣周期較短的系統(tǒng),改變權(quán)重即可調(diào)整靈敏度。該濾波器采集某一通道數(shù)據(jù)N次,然后進行濾波計算,流程圖如圖4.1所示:新采集新采集8個通道數(shù)據(jù)各一次更新隊列,數(shù)據(jù)入隊更新隊列,數(shù)據(jù)入隊繼續(xù)采集繼續(xù)采集將形成的隊列進行加權(quán)計算平均值,越早的數(shù)據(jù)權(quán)重越小,越新的數(shù)據(jù)權(quán)重越大將形成的隊列進行加權(quán)計算平均值,越早的數(shù)據(jù)權(quán)重越小,越新的數(shù)據(jù)權(quán)重越大得出新的平均值得出新的平均值圖4.1加權(quán)遞推平均濾波流程圖4.3尋線行駛算法實現(xiàn)4.3.1定位算法某一時刻,采五個“一”字排布的電感的感應(yīng)電動勢,找出一個感應(yīng)電動勢最大的電感(計為M),導(dǎo)線必然會離這個電感最近。然后讀出該電感相鄰左右兩個電感的值(分別計為L和R)。會有以下三種情況:當L值大于R值,說明導(dǎo)線在L和M之間;當L值小于R值,說明導(dǎo)線在R和M之間;當L值約等于R值,說明導(dǎo)線在M正上。對于特殊情況,如M在最左或最后,缺相鄰的L或R,可直接將導(dǎo)線位置定位于M,且由M值大小得出遠離程度。該情況說明傳感器偏離賽道很嚴重。以上這種通過找感應(yīng)電動勢最大的電感M和相鄰電感L和R在確定電感和導(dǎo)線的相對位置的方法,是一種初步的定位方法。這里再次深化討論,先設(shè)立一個閾值T,分兩種情況:當|L值-R值|<T,即L值約等于R值,說明導(dǎo)線在M正上,得出確切位置;當|L值-R值|>T,說明導(dǎo)線在M和L或者M和R之間。此定位算法,在直道上的作用比較明顯,但在彎道不足以適用所有類型的彎道。所以,在此基礎(chǔ)上,引入在彎道計算偏移比較明顯的中間標定差值法,即:在直道處進行中間電感M的標定,取其標定值與實時值作差。用此方法得到的在彎道處偏移的曲線如圖4.2所示:將以上五電感位移算法與中間電感標定差值算法綜合計算,即可得到直道和彎道同樣靈敏的控制量。下圖是用上位機采集的電感數(shù)據(jù),橫軸是小車相對于中間導(dǎo)線的坐標,縱軸是電感值。用Matlab擬合出坐標與相應(yīng)電感差值的一次函數(shù),用來計算坐標。圖4.2標定算法計算的偏移擬合曲線圖4.3電感采集圖像4.3.2基于位置式PID的方向控制PID控制是工程實際中應(yīng)用最為廣泛的調(diào)節(jié)器控制方法。問世至今70多年來,它以其結(jié)構(gòu)簡單、穩(wěn)定性好、工作可靠、調(diào)整方便而成為工業(yè)控制的主要技術(shù)之一。單位反饋的PID控制原理框圖如圖4.4:-ueY-ueYRControllerControllerPlant單位反饋e代表理想輸入與實際輸出的誤差,這個誤差信號被送到控制器,控制器算出誤差信號的積分值和微分值,并將它們與原誤差信號進行線性組合,得到輸出量u。(4.2)其中,Kp、Ki、Kd分別稱為比例系數(shù)、積分系數(shù)、微分系數(shù)。u接著被送到了執(zhí)行機構(gòu),這樣就獲得了新的輸出信號,這個新的輸出信號被再次送到感應(yīng)器以發(fā)現(xiàn)新的誤差信號,這個過程就這樣周而復(fù)始地進行。數(shù)字控制系統(tǒng)中,PID控制器是通過計算機PID控制算法程序?qū)崿F(xiàn)的。計算機直接數(shù)字控制系統(tǒng)大多數(shù)是采樣-數(shù)據(jù)控制系統(tǒng)。進入計算機的連續(xù)-時間信號,必須經(jīng)過采樣和整量化后,變成數(shù)字量,方能進入計算機的存貯器和寄存器,而在數(shù)字計算機中的計算和處理,不論是積分還是微分,只能用數(shù)值計算去逼近。用矩形數(shù)值積分代替上式中的積分項,對導(dǎo)數(shù)項用后向差分逼近,得到數(shù)字PID控制器的基本算式(位置算式):(4.3)其中T是采樣時間,、、為三個待調(diào)參數(shù),在實際代碼實現(xiàn)算法時,處理成以下形式:loca_PreU=Kp*loca_error+Ki*loca_PreIntegral+Kd*loca_derror(4.4)根據(jù)以往資料和測試,將定位算法解算出的導(dǎo)線位置當作反饋值(Feedback),參考值(Ref)設(shè)為0,則有:loca_error=loca_Ref–loca_Feedback(4.5)loca_derror=loca_error-loca_PreError注:PreError為上次的error(4.6)loca_PreIntegral+=loca_error(4.7)為了防止頻繁調(diào)節(jié)和意外輸出過大,設(shè)置調(diào)節(jié)死區(qū)(-LOCA_DEADLINE,LOCA_DEADLINE)。loca_error在死區(qū)內(nèi),不進行調(diào)節(jié),維持上一狀態(tài)。設(shè)置調(diào)節(jié)范圍(-LOCA_MAX,LOCA_MAX),假如loca_PreU算出結(jié)果越界,那么就賦給邊界值LOCA_MAX。4.3.3基于增量式PID的速度控制對位置式加以變換,可以得到PID算法的另一種實現(xiàn)形式(增量式):(4.8)在實際代碼實現(xiàn)時,處理成vl_PreU+=(Kp*d_error+Ki*error+Kd*dd_error)(4.9)將測速模塊得到的單位時間脈沖數(shù)給vi_FeedBack,vi_Ref為設(shè)定速度。error=vi_Ref-vi_FeedBack(4.10)d_error=error-vi_PreError(4.11)dd_error=d_error-_PreDerror(4.12)這里設(shè)計High,Middle,Low作為設(shè)定速度值(vi_Ref),分別對應(yīng)直道,彎道,最低速度(由傳感器狀態(tài)確定)。位于直道時,設(shè)定速度為最大。為提高穩(wěn)定性,也設(shè)置相應(yīng)的調(diào)節(jié)死區(qū)和調(diào)節(jié)范圍。4.3彎道策略分析在車輛進彎時,需要對三個參數(shù)進行設(shè)定:切彎路徑、轉(zhuǎn)向角度、入彎速度。其中,切彎路徑主要決定了車輛是選擇內(nèi)道過彎還是外道過彎。切內(nèi)道,路經(jīng)最短,但是如果地面附著系數(shù)過小會導(dǎo)致車輛出現(xiàn)側(cè)滑的不穩(wěn)定行駛狀態(tài),原因是切內(nèi)道時,曲率半徑過小,同時速度又很快,所以模型車需要的向心力會很大,而賽道本身是平面結(jié)構(gòu),向心力將全部由來自地面的摩擦力提供,因此賽道表面的附著系數(shù)將對賽車的運行狀態(tài)有很大影響。切外道,路徑會略長,但是有更多的調(diào)整機會,同時曲率半徑的增加會使得模型車可以擁有更高的過彎速度。轉(zhuǎn)向角度決定了車輛過彎的穩(wěn)定性。合適的轉(zhuǎn)向角度會減少車輛在轉(zhuǎn)彎時的調(diào)整,不僅路徑可以保證最優(yōu),運動狀態(tài)的穩(wěn)定也會帶來效率的提高,減少時間。在考慮轉(zhuǎn)向角度設(shè)置時需要注意以下幾個問題:對于檢測賽道偏移量的傳感器而言,在增量較小時的轉(zhuǎn)向靈敏度;檢測到較大彎道時的轉(zhuǎn)向靈敏度;對于類似S彎的變向連續(xù)彎道的處理。對于入彎速度的分析,應(yīng)該綜合考慮路徑和轉(zhuǎn)向角度的影響。簡單而言,我們會采取入彎減速,出彎加速的方案,這樣理論上可以減少過彎時耗費的時間。然而,在過去幾屆比賽中,通過觀察各參賽車對彎道的處理后,我們發(fā)現(xiàn)并不是所有人都選擇了相同的方案。正如前面說到的那樣,不聯(lián)系路徑和轉(zhuǎn)向角度,只是單純地分析過彎速度,會造成思路的局限甚至錯誤。例如,在不能及時判斷入彎和出彎的標志點就采取“入彎減速、出彎加速”的方案,會出現(xiàn)彎道內(nèi)行駛狀態(tài)不穩(wěn)定、路徑差,同時出彎加速時機過晚,一樣會浪費時間。所以現(xiàn)在本系統(tǒng)參考實際駕駛時的一些經(jīng)驗,對過彎速度的處理方式確定為:入彎時急減速,以得到足夠的調(diào)整時間,獲得正確的轉(zhuǎn)向角度;在彎道內(nèi)適當提速,并保持角度不變,為出彎時的加速節(jié)約時間;出彎時,先準確判斷標志,然后加速,雖然會耗費一些時間,但是面對連續(xù)變向彎道可以減少判斷出錯的概率,保證行駛狀態(tài)的穩(wěn)定性,而且彎道內(nèi)的有限加速對后面的提速也有很大的幫助。綜合考慮用可以接收的額外時間換回行駛穩(wěn)定性還是值得的。下面以常見的幾種彎道轉(zhuǎn)角處理方式解釋各方案的優(yōu)缺點,其中,橫坐標表示由傳感器采集回來的賽道中心線相對賽車中心線的偏移量,縱坐標表示轉(zhuǎn)角大小。圖4.5彎道轉(zhuǎn)角處理方式a圖表示偏移量與轉(zhuǎn)向角度呈線性關(guān)系,在計算及程序編寫上都比較簡單,也可以實現(xiàn)控制賽車行駛的目標,但是由于規(guī)則制定比較簡單,對賽車實際行駛狀態(tài)的分析不夠全面,所以在實際應(yīng)用時不能簡單套用。b圖表示的是在賽車略微偏離賽道中心時,不要對行駛方向作太大調(diào)整,而是在當偏離度大到預(yù)定值時急速調(diào)整轉(zhuǎn)角以保證過彎的及時,同時在以判斷出是急彎后,也不要進行大的變動,因為此時轉(zhuǎn)角的值已經(jīng)很大,僅需對舵機進行微調(diào)就可以保證方向的正確性。這種方案的優(yōu)點是綜合考慮了賽車對個彎道的適應(yīng)程度,同時保證了在直線行駛時的穩(wěn)定性,和抗干擾性,但是對急彎的響應(yīng)可能不夠及時,這是該方案的主要缺點。c圖表示的對彎道的處理方案與b圖恰好相反,它提高了相應(yīng)靈敏度,降低了抗干擾性,對于多彎道,且彎道曲率半徑較小的賽道有比較好的適應(yīng)性。d、e圖是兩種比較特殊的處理方案,它們不能用于賽車的全程控制,只是考慮到賽車的實際運行特點對某部分的偏移量有特別要求是使用。對于傳統(tǒng)四輪車輛,轉(zhuǎn)向時前輪有比較嚴格的角度關(guān)系,而它們的得到是由轉(zhuǎn)向系統(tǒng)決定的。這樣兩套系統(tǒng)都對某個值做出了限制,必然會有矛盾,在車由0度轉(zhuǎn)到最大轉(zhuǎn)角時,并不是每時每刻都能同時滿足兩種條件的限制,那么為了賽車行駛的穩(wěn)定性,我們可能會在小范圍內(nèi)對轉(zhuǎn)角波動,以得到附近最合適的轉(zhuǎn)角值,減小矛盾。4.4彎道策略制定在智能車比賽中,我們使用的是通用二輸入一輸出系統(tǒng),其中兩個輸入量是中心線偏移量,和相鄰兩次檢測的偏移量差值;輸出量選用速度輸出值。彎道速度比直道速度慢一點,彎道速度不會和直道速度相差太大,因為頻繁的加減速會導(dǎo)致車子運動狀態(tài)不穩(wěn)定,會額外的浪費時間。入彎速度彎道內(nèi)部穩(wěn)定速度直道速度293032表4.1速度精確值第五章開發(fā)工具、制作、安裝、調(diào)試過程說明第五章開發(fā)工具、制作、安裝、調(diào)試過程說明5.1開發(fā)工具程序的開發(fā)是在KeilMDK下進行的,包括源程序的編寫、編譯和鏈接,并最終生成可執(zhí)行文件。功能特點:完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件。行業(yè)領(lǐng)先的ARMC/C++編譯工具鏈。μVision4IDE集成開發(fā)環(huán)境,調(diào)試器和仿真環(huán)境,TCP/IP網(wǎng)絡(luò)套件提供多種的協(xié)議和各種應(yīng)用,為帶圖形用戶接口的嵌入式系統(tǒng)提供了完善的GUI庫支持,符合CMSIS(Cortex微控制器軟件接口標準),執(zhí)行分析工具和性能分析器可使程序得到最優(yōu)化。5.2調(diào)試過程5.2.1上位機系統(tǒng)要分析車模在賽道行駛的實時情況,必須采集小車在行駛過程中各個功能模塊的實時數(shù)據(jù),我們采用的是用藍牙實時傳輸數(shù)據(jù),然后用上位機分析。它是調(diào)試的必備工具,包括軟件和硬件部分1)硬件方面使用電腦藍牙與小車上藍牙進行通信并把數(shù)據(jù)傳到上位機上,車上藍牙與控制器通過串口連接。圖5.1藍牙2)軟件方面:通過一個簡單的上位機接收程序(見圖5.2),車模在賽道跑時,數(shù)據(jù)通過藍牙發(fā)送到上位機。在上位機上對數(shù)據(jù)進行分析。圖5.2上位機程序界面相對應(yīng)的,要在車模的單片機中加入下位機程序部分,在每次采集完數(shù)據(jù)后使用藍牙模塊,將數(shù)據(jù)發(fā)到上位機。5.2.2控制算法的參數(shù)整定運用PID控制的關(guān)鍵是調(diào)整三個比例系數(shù),即參數(shù)整定。PID整定的方法有兩類:一是理論計算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學模型,經(jīng)過理論計算確定控制器參數(shù)。由于智能車整個系統(tǒng)是機電高耦合的分布參數(shù)系統(tǒng),并且要考慮賽道具體環(huán)境,要建立精確的智能車運動控制數(shù)學模型有一定難度,而且對車身機械結(jié)構(gòu)經(jīng)常進行不斷修正,模型參數(shù)變化較頻繁,可操作性不強;二是工程整定方法,它主要依賴工程經(jīng)驗,直接在控制系統(tǒng)的試驗中進行,且方法簡單,采用了這種方法。方向控制算法的參數(shù)整定方向控制采用位置式PID控制。由于小車循黑線本質(zhì)上是一個隨動系統(tǒng),積分項在彎道累積的偏差錯誤地加在直道的跟蹤上,造成在進入直道時轉(zhuǎn)向不夠準確,跑直道時雖然能跟蹤黑線,但是轉(zhuǎn)向調(diào)整往往超調(diào),導(dǎo)致車身在直道上左右震蕩,這種震蕩嚴重影響了車的整體表現(xiàn)。將積分項系數(shù)Ki設(shè)為0,發(fā)現(xiàn)車能在直線高速行駛時仍能保持車身非常穩(wěn)定,沒有震蕩,所以沒有必要使用Ki參數(shù)。該控制方案調(diào)整為PD控制。Kp和Kd參數(shù)由工程整定得出,經(jīng)過多次試驗,得到一組穩(wěn)定快速的參數(shù)為10和20。設(shè)置合適的調(diào)節(jié)范圍LOCA_MAX。在車模中上,邊界值由舵機轉(zhuǎn)角的最大值決定。經(jīng)試驗測量為控制舵機的PWM波占空比寄存器變化為200時,達到舵機最大轉(zhuǎn)角。故LOCA_MAX=200調(diào)節(jié)合適的調(diào)節(jié)死區(qū),死區(qū)太小會造成調(diào)節(jié)不靈敏,太大則調(diào)節(jié)過于頻繁。經(jīng)試驗測量設(shè)為2時較為適合。速度控制算法的參數(shù)整定速度控制采用增量式PID控制,同樣采用上一小節(jié)的工程整定法。經(jīng)多次試驗得出,Kp,Ki,Kd分別取30,3,2,調(diào)節(jié)死區(qū)V_DEADLINE設(shè)置為1,調(diào)節(jié)范圍設(shè)置為950(全速時為1000),車模行駛直道和彎道加減速反映迅速,整體速度良好。5.3整車機械方面的調(diào)整車模的機械也是很重要的一方面,針對電磁組車模,必須有幾個特別需要關(guān)注的地方:1)傳感器支架必須結(jié)實耐撞,震動盡量小。震動會導(dǎo)致傳感器得到感應(yīng)電動勢“抖動”,導(dǎo)致車模會在賽道上“顫抖”。2)重心盡可能低,并且分布均勻。把車模地盤降低,車上裝配的器件也盡可能的放低,轉(zhuǎn)彎效果會比較好。分布均勻可以防止車模在賽道甩動。第六章模型車的主要技術(shù)參數(shù)說明第六章模型車的主要技術(shù)參數(shù)說明第六章模型車的主要技術(shù)參數(shù)說明6.1智能車外形參數(shù)車長:78cm車寬:25cm車高:18cm車重:約1100g6.2電路部分參數(shù)我們小組所改造的智能車采用一塊比賽標準7.2V電池供電,電路中共有45個電容,容量總計1575.6μF。當模型車全功率開動時,功耗約為30W。6.3傳感器個數(shù)以及種類我們改造的智能車共使用8個10mH的電感,編碼器2個,超聲波2個,干簧管6個(兩邊各3個)。6.4除了車模原有的驅(qū)動電機、舵機之外伺服電機數(shù)量除了車模原有的驅(qū)動電機、舵機之外沒有使用伺服電機。6.5賽道信息檢測精度、頻率賽道信息檢測精度是5mm,頻率是5ms結(jié)論結(jié)論自2013年11月初報名參加“飛思卡爾”杯智能汽車競賽以來,我們小組成員查找資料,設(shè)計機構(gòu),組裝車模,編寫程序,分析問題,最后終于完成了最初目標,定下了現(xiàn)在這個方案。在此份技術(shù)報告中,我們主要介紹了準備比賽時的基本思路,包括機械,電路,以及最重要的控制算法的創(chuàng)新思想。在傳感器布局,我們分析了前幾屆中出現(xiàn)的電感排布方法,綜合考慮到程序的穩(wěn)定性、簡便性,我們最后敲定了現(xiàn)在的電感排布,并通過反復(fù)實踐決定了傳感器的數(shù)量和位置。在電路方面,我們以模塊形式分類,在電源管理,電機驅(qū)動,接口,控制,信號采集,傳感器這六個模塊分別設(shè)計,在查找資料的基礎(chǔ)上各準備了幾套方案;然后我們分別實驗,最后以報告中所提到的形式?jīng)Q定了我們最終的電路圖。在算法方面,我們使用C語言編程,利用比賽推薦的開發(fā)工具調(diào)試程序,經(jīng)過小組成員不斷討論、改進,終于設(shè)計出一套比較通用的,穩(wěn)定的程序。在這套算法中,我們結(jié)合路況調(diào)整車速,做到直線加速,彎道減速,保證在最短時間跑完全程。在這幾個月的備戰(zhàn)中,在場地、經(jīng)費方面都的到了學校和學院的大力支持,在此特別感謝一直支持和關(guān)注智能車比賽的學校和學院領(lǐng)導(dǎo)以及各位老師。同時也感謝比賽組委會能組織這樣一項很有意義的比賽?,F(xiàn)在,面對即將到來的大賽,在歷時近八個月的充分準備之后,我們有信心在比賽中取得優(yōu)異成績。也許我們的知識還不夠豐富,考慮問題也不夠全面,但是這份技術(shù)報告作為我們八個月辛勤汗水換來的結(jié)晶,凝聚著我們小組每個人的心血和智慧,隨著它的誕生,這份經(jīng)驗將永伴我們一生,成為我們最珍貴的回憶。參考文獻參考文獻[1]邵貝貝.嵌入式實時操作系統(tǒng)[LC/OS-Ⅱ(第2版)[M].北京.清華大學出版社.2004[2]邵貝貝.單片機嵌入式應(yīng)用的在線開發(fā)方法[M].北京.清華大學出版社.2004[3]王曉明.電動機的單片機控制[M].北京.北京航空航天大學出版社.2002[4]臧杰,閻巖.汽車構(gòu)造[M].北京.機械工業(yè)出版社.2005[5]安鵬,馬偉.S12單片機模塊應(yīng)用及程序調(diào)試[J].電子產(chǎn)品世界.2006.第211期.162-163[6]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京.高等教育出版社.2000[9]沈長生.常用電子元器件使用一讀通[M].北京.人民郵電出版社.2004[10]宗光華.機器人的創(chuàng)意設(shè)計與實踐[M].北京.北京航空航天大學出版社.2004[11]張偉等.ProtelDXP高級應(yīng)用[M].北京.人民郵電出版社.2002[12]張文春.汽車理論[M].北京.機械工業(yè)出版社.2005程序源代碼程序源代碼附錄程序源代碼intmain(void){ //初始化系統(tǒng)時鐘使用外部50M晶振PLL倍頻到100M SystemClockSetup(ClockSource_EX50M,CoreClock_100M); DelayInit(); //初始化延時模塊 RTC_Init(); //實時時鐘初始化,可以當鐘表用 NVIC_Init(PIT0_IRQn,NVIC_PriorityGroup_2,2,0); //設(shè)置PIT0搶占優(yōu)先級為2 UART_DebugPortInit(UART5_RX_E9_TX_E8,115200); //調(diào)試串口初始化 DisplayCPUInfo(); //打印MCU信息 UART_ITConfig(UART5,UART_IT_RDRF,ENABLE); //開啟發(fā)送中斷功能 NVIC_EnableIRQ(UART5_RX_TX_IRQn); //接通NVIC上對應(yīng)串口中斷線 LED_Init(); //LED初始化 DelayMs(200); Buzzer=0; //蜂鳴器不響,蜂鳴器滴一聲……復(fù)位標志 OLED_Init(); //OLED初始化 AD_Vol_CollectInit(); //電壓采集模塊初始化 gBatteryVoltage=ADC_GetConversionValue(ADC_BatteryMAP);//檢測電池電壓 while(3.3*gBatteryVoltage/65535*3.9357<7.340) { Buzzer=1;//蜂鳴器報警,提醒電池電壓過低 OLED_P8x16Str(0,0,"PleaseCheck"); OLED_P8x16Str(44,2,"Battery!!!"); sprintf(StringBuffer,"%.3f",3.3*gBatteryVoltage/65535*3.9357); OLED_P8x16Str(24,6,"Bv:"); OLED_P8x16Str(48,6,"v"); OLED_P8x16Str(48,6,StringBuffer); while(1); } MotorInit(); //初始化電機 steeringEngineInit(); //初始化舵機 PIDInit(&SpeedCtl_PID_Structure_L);//初始化PID結(jié)構(gòu)體 PIDInit(&SpeedCtl_PID_Structure_R);//初始化PID結(jié)構(gòu)體 memset(&DirectionCtl_PID_Structure,0,sizeof(Vary_P_PID_TypeDef));//初始化PID結(jié)構(gòu)體 // ObstacleAvoiding_Init();//初始化障礙檢測模塊 UltrasonicWave_GPIO_Config(); Reed_Switch_Init(); //初始化干簧管檢測端口 DIP_Switch_Init();//撥碼開關(guān)初始化 KEY_Inter_Init(); //按鍵初始化 //選擇比賽模式準備發(fā)車 OLED_P8x16Str(0,0,"PleaseSelcet"); OLED_P8x16Str(0,2,"RaceMode..."); OLED_P16x16Str(0,4,"南陽理工學院"); OLED_P8x16Str(16,6,""); OLED_P16x16Str(64,6,"電磁一隊"); //撥碼開關(guān)選擇相應(yīng)發(fā)車選項 if(PAin(DIP_Switch_PIN1)==0)//是否避障:避障OFF不避障:ON { //可以寫一個,坡道速度或是否停車檢測的選項 } if(PAin(DIP_Switch_PIN2)==0)//復(fù)位后以低速檔跑,當按鍵選擇低速檔時,ON { LCD_Fill(0x00);//OLED清屏 memcpy((char*)SpeedFuzzyCtrl,SpeedFuzzyCtrl_Low1,sizeof(SpeedFuzzyCtrl_Hig2)); Go_flag=1; } if(PAin(DIP_Switch_PIN3)==0) //復(fù)位后以中速檔跑,當按鍵選擇低速檔時,ON { LCD_Fill(0x00);//OLED清屏 memcpy((char*)SpeedFuzzyCtrl,SpeedFuzzyCtrl_Mid1,sizeof(SpeedFuzzyCtrl_Hig2)); Go_flag=1; } if(PAin(DIP_Switch_PIN4)==0) //復(fù)位后以高速檔跑,當按鍵選擇低速檔時,ON { LCD_Fill(0x00);//OLED清屏 memcpy((char*)SpeedFuzzyCtrl,SpeedFuzzyCtrl_Hig1,sizeof(SpeedFuzzyCtrl_Hig2)); Go_flag=1; } while(Go_flag==0);//等待發(fā)車標志 Speed_MeasureInit(); //初始化光電編碼器 WDOG_Init(25); //初始化看門狗如果25MS內(nèi)沒有喂狗則復(fù)位 PIT_ProcessInit(); //初始化5ms周期中斷定時器 while(1) { //****************************電壓顯示:/-->左邊45° sprintf(StringBuffer,"%d",gInductorVoltageFilter[0]); OLED_P6x8Str(0,0,"(-->"); OLED_P6x8Str(24,0,""); OLED_P6x8Str(24,0,StringBuffer); //電壓顯示:<--/右邊45° sprintf(StringBuffer,"%d",gInductorVoltageFilter[4]); OLED_P6x8Str(98,0,"<--)"); OLED_P6x8Str(74,0,""); OLED_P6x8Str(74,0,StringBuffer); //****************************電壓顯示:--水平電感 sprintf(StringBuffer,"%d",gInductorVoltageFilter[1]); OLED_P6x8Str(0,1,""); OLED_P6x8Str(0,1,StringBuffer); //電壓顯示:--水平電感 sprintf(StringBuffer,"%d",gInductorVoltageFilter[2]);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑項目合同范本:勘察與設(shè)計
- 山地旅游資源開發(fā)承包合同
- 鋼材采購合同樣本格式
- 餐飲服務(wù)與廚師雇傭合同范文
- 涂料供應(yīng)與采購合同范本
- 合同檔案寄存確認書
- 貸款合同模板:個人貸款標準合同范本
- 銀行與公司短期貸款合同范例
- 氣動系統(tǒng)培訓(xùn)課件
- 海豚培訓(xùn)課件下載
- 2024年江蘇淮陰城市產(chǎn)業(yè)投資集團有限公司招聘筆試沖刺題(帶答案解析)
- 2024年太倉高新控股有限公司招聘筆試沖刺題(帶答案解析)
- 人教版七年級地理下冊《全冊完整》
- 10kv高壓送電專項方案
- 地中海風格室內(nèi)設(shè)計
- 臨床實習出科小結(jié)神經(jīng)外科
- 碳酸鈣市場分析及競爭策略分析報告
- 煤炭供應(yīng)鏈管理與協(xié)同創(chuàng)新
- 泡泡瑪特展廳活動策劃
- 健康生活方式與健康促進的科學研究
- 腦卒中患者便秘護理措施課件
評論
0/150
提交評論