




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三屆“飛思卡爾”杯全國(guó)大學(xué)生智能汽車邀請(qǐng)賽技 術(shù) 報(bào) 告學(xué) 校: 東南大學(xué)隊(duì)伍名稱: SEU-1參賽隊(duì)員: 闞明建、侯吉祥、黃招彬帶隊(duì)教師: 談?dòng)⒆?、周怡軍關(guān)于技術(shù)報(bào)告和研究論文使用授權(quán)的說(shuō)明 本人完全了解第二屆“飛思卡爾”杯全國(guó)大學(xué)生智能汽車邀請(qǐng)賽關(guān)保留、使用技術(shù)報(bào)告和研究論文的規(guī)定,即:參賽作品著作權(quán)歸參賽者本人,比賽組委會(huì)和飛思卡爾半導(dǎo)體公司可以在相關(guān)主頁(yè)上收錄并公開參賽作品的設(shè)計(jì)方案、技術(shù)報(bào)告以及參賽模型車的視頻、圖像資料,并將相關(guān)內(nèi)容編纂收錄在組委會(huì)出版論文集中。參賽隊(duì)員簽名: 帶隊(duì)教師簽名: 日 期: 目錄 TOC o 1-3 h z u HYPERLINK l _Toc1754
2、09088 第一章 引言4 HYPERLINK l _Toc175409089 第二章 總體方案概要說(shuō)明 PAGEREF _Toc175409089 h 5 HYPERLINK l _Toc175409091 2.1 主要設(shè)計(jì)思路 PAGEREF _Toc175409091 h 5 HYPERLINK l _Toc175409091 2.2 技術(shù)方案 PAGEREF _Toc175409091 h 5 HYPERLINK l _Toc175409089 第三章 智能車硬件設(shè)計(jì) PAGEREF _Toc175409089 h 5 HYPERLINK l _Toc175409090 3.1機(jī)械設(shè)計(jì)
3、6 HYPERLINK l _Toc175409091 3.1.1 光電管的選型、布局及支架安裝6 HYPERLINK l _Toc175409091 HYPERLINK l _Toc175409092 3.1.2 測(cè)速編碼盤的安裝8 HYPERLINK l _Toc175409093 3.1.3 舵機(jī)的改裝10 HYPERLINK l _Toc175409094 3.1.4 車模安裝及參數(shù)調(diào)節(jié)10 HYPERLINK l _Toc175409095 3.2硬件電路設(shè)計(jì)13 HYPERLINK l _Toc175409096 3.2.1 電源管理模塊14 HYPERLINK l _Toc175
4、409098 3.2.3電機(jī)驅(qū)動(dòng)電路 PAGEREF _Toc175409098 h 14 HYPERLINK l _Toc175409098 3.2.4舵機(jī)驅(qū)動(dòng)電路 PAGEREF _Toc175409098 h 16 HYPERLINK l _Toc175409098 3.2.5主板 PAGEREF _Toc175409098 h 16 HYPERLINK l _Toc175409101 第四章 智能車軟件設(shè)計(jì) PAGEREF _Toc175409101 h 17 HYPERLINK l _Toc174889719 4.1系統(tǒng)軟件總體結(jié)構(gòu)17 HYPERLINK l _Toc1748897
5、20 4.2初始化模塊17 HYPERLINK l _Toc174889721 4.2.1總線時(shí)鐘17 HYPERLINK l _Toc174889723 4.2.3 PWM初始化18 HYPERLINK l _Toc174889724 4.2.4 AD初始化19 HYPERLINK l _Toc174889725 4.2.5 ECT初始化 PAGEREF _Toc174889725 h 20 HYPERLINK l _Toc174889726 4.3 路徑識(shí)別原理及實(shí)現(xiàn) PAGEREF _Toc174889726 h 20 HYPERLINK l _Toc175409095 4.4 控制算法
6、的研究21 HYPERLINK l _Toc174889728 4.4.1 舵機(jī)轉(zhuǎn)向控制算法21 HYPERLINK l _Toc174889729 4.4.2 直流電機(jī)的控制算法 PAGEREF _Toc174889729 h 21 HYPERLINK l _Toc174889730 第五章 開發(fā)工具及制作調(diào)試過(guò)程23 HYPERLINK l _Toc175409116 第六章 結(jié)論 PAGEREF _Toc175409116 h 25 HYPERLINK l _Toc175409117 6.1 智能車技術(shù)指標(biāo) PAGEREF _Toc175409117 h 25 HYPERLINK l _
7、Toc175409118 6.2 目前尚存在的不足與改進(jìn)方向 PAGEREF _Toc175409118 h 26 HYPERLINK l _Toc174889730 參考文獻(xiàn)26 HYPERLINK l _Toc174889730 附錄 程序代碼27引言本智能車以飛思卡爾公司的16位單片機(jī)MC9S12DG128B為核心控制器,利用光電傳感器采集路況信息,配合速度傳感器、電機(jī)、舵機(jī)、電池等組成的驅(qū)動(dòng)電路進(jìn)行信息處理,以達(dá)到路徑識(shí)別的目的,使得模型車在KT板上循著黑線高速穩(wěn)定地行駛。硬件電路部分主要采用三塊MC33886并聯(lián)驅(qū)動(dòng)直流電動(dòng)機(jī)。選用低壓差電源管理芯片LM2940,可使在7.2伏電池供
8、電的條件下為系統(tǒng)的各功能模塊提供了穩(wěn)定、可靠的工作電源,為智能車的穩(wěn)定工作提供了有力的保證。測(cè)速部分采用型號(hào)為E6A2的小型編碼器,每轉(zhuǎn)360個(gè)脈沖,可以實(shí)現(xiàn)對(duì)速度的及時(shí)精確的測(cè)量和反饋。軟件系統(tǒng)部分主要包括以下與路徑識(shí)別系統(tǒng)相關(guān)模塊的算法:(1)光電管的歸一化及曲線擬合的路徑識(shí)別算法;(2) 濾波模塊 (3)速度閉環(huán)控制以及用PID與棒棒相結(jié)合的速度控制算法實(shí)現(xiàn)對(duì)即時(shí)速度的調(diào)節(jié)模塊;(4)舵機(jī)分段PD控制算法;(5)基于Labview的無(wú)線調(diào)試模塊 本系統(tǒng)利用開發(fā)工具CodeWarrior進(jìn)行編程開發(fā),用BDM進(jìn)行程序下載,利用串口傳輸?shù)臄?shù)據(jù)進(jìn)行在線調(diào)試。這些工具的使用,使得軟件的設(shè)計(jì)編程和
9、調(diào)試工作得到了保證。通過(guò)一系列的調(diào)試,本系統(tǒng)基本實(shí)現(xiàn)了路徑識(shí)別的功能,在實(shí)際的測(cè)試中,小車也比較好地完成循線行駛的任務(wù)。關(guān)鍵字:智能車,光電路徑識(shí)別,PID,賽道識(shí)別與記憶,第二章 總體方案概要說(shuō)明2.1 設(shè)計(jì)思想智能車主要由檢測(cè)路徑模塊,控制分析決策模塊,驅(qū)動(dòng)模塊三部分組成。我們使用LED來(lái)檢測(cè)道路信息,可以在很短的時(shí)間內(nèi)響應(yīng),控制周期很短,循線性好??刂品治鰶Q策模塊采用大賽組委會(huì)提供的16位單片機(jī)MC9S12DG128作為主控芯片,驅(qū)動(dòng)模塊用來(lái)控制模型車的轉(zhuǎn)角和速度。2.2 技術(shù)方案 由于比賽時(shí)要求小車能夠沿著黑線自主行使,最終以跑完一圈的最短用時(shí)作為比賽成績(jī)。因此,制作出的小車首先應(yīng)該能
10、夠通過(guò)路面信息采集來(lái)分辨出黑線的具體位置,進(jìn)而在此基礎(chǔ)上盡可能地增加車速,來(lái)提高比賽成績(jī)。因此我們采用大前瞻光電管分布,使得光線連續(xù),用AD采樣后進(jìn)行處理可以精確定位黑線位置,然后用位置式的PD來(lái)控制舵機(jī),速度根據(jù)當(dāng)前偏差和偏差的變化率進(jìn)行設(shè)定,用PID和棒棒結(jié)合的辦法對(duì)電機(jī)進(jìn)行驅(qū)動(dòng),使得小車快速穩(wěn)定的在賽道上行駛。第三章 智能車硬件設(shè)計(jì)整個(gè)系統(tǒng)的設(shè)計(jì)方案包括車模機(jī)械結(jié)構(gòu)設(shè)計(jì)、硬件電路設(shè)計(jì)和軟件控制算法設(shè)計(jì)三個(gè)基本方面。為了檢測(cè)賽道信息,我們用了光電管作為傳感器。另外,還用了速度傳感器來(lái)獲取小車當(dāng)前速度,其作用主要有:一、在算法調(diào)試過(guò)程中,實(shí)時(shí)監(jiān)控小車速度變化,為彎道速度控制提供參考;二、實(shí)現(xiàn)
11、速度的閉環(huán)控制,增加小車穩(wěn)定性。系統(tǒng)的主要控制對(duì)象是舵機(jī)和驅(qū)動(dòng)電機(jī),因此整個(gè)系統(tǒng)的硬件框圖為:我們可以發(fā)現(xiàn),小車硬件的組成部分不多,模塊化也很鮮明,不過(guò)其中影響小車性能的地方實(shí)在是很多,將在下面的幾章里詳細(xì)介紹我們開發(fā)過(guò)程中遇到的多個(gè)細(xì)節(jié)問(wèn)題。3.1 機(jī)械設(shè)計(jì)3.1.1 光電管的選型、布局及支架安裝盡管選擇光電管,不過(guò)還是要在可能的基礎(chǔ)上盡可能地進(jìn)行前瞻,因?yàn)榍罢暗亩嗌賹?duì)于入彎時(shí)速度的調(diào)整是非常重要的,也就間接決定了賽車的整體速度,因此必須適當(dāng)?shù)眠x擇管型,調(diào)整發(fā)射功率,確定安裝角度來(lái)滿足前瞻要求。因此我們查閱資料,最終決定在TCRT5000、ITR9908、RPR220、RPR221和分離式的
12、收發(fā)紅外管(發(fā)射和接收管分開的LED)進(jìn)行選擇。經(jīng)過(guò)實(shí)驗(yàn),發(fā)現(xiàn)TCRT5000容易相互干擾,且發(fā)射功率滿足不了要求;ITR9908的前瞻也較?。浑m然分離式的收發(fā)紅外管可以滿足強(qiáng)的發(fā)射功率和前瞻,但是由于不是集成式的,對(duì)接收管要做一些束管套在上面,這對(duì)機(jī)械做工要求很高,束管做的不一致,安裝的沒有保持同一個(gè)方向,容易造成接收的道路信息不在一條直線上;RPR220和RPR221性能差不多,但是我們最終選擇了RPR221,主要因?yàn)槲覀儗?shí)驗(yàn)發(fā)現(xiàn)RPR221的發(fā)射功率要高一些,且對(duì)長(zhǎng)距離的黑白敏感度更高一些;紅外傳感器的分布是我們?cè)O(shè)計(jì)初期竭力在探討的問(wèn)題,因?yàn)檫@直接決定了以后的控制策略和算法,不能有絲毫馬
13、虎。我們一開始主要考慮了三種排步方法: 單排一字形排布這種排步方法的好處是直觀明了,硬件設(shè)計(jì)和編程都比較簡(jiǎn)單。但是它的檢測(cè)沒有深度,而且容易沖出賽道造成光電管檢測(cè)不到黑線的情況。雙排排布這種排布的好處是有一定的縱深,能夠同時(shí)采集賽道的兩排信息,因此能夠通過(guò)運(yùn)算了解到此刻賽道的斜率,進(jìn)而進(jìn)行比較精確的控制。但缺點(diǎn)是運(yùn)算復(fù)雜,性能不夠穩(wěn)定,而且降低了單排的檢測(cè)精度?;⌒闻挪急绕鹨蛔中闻挪迹@種排布方式能夠探測(cè)更廣的角度,在轉(zhuǎn)彎時(shí)不容易讓黑線在光電管的檢測(cè)范圍之外,在用簡(jiǎn)單的比例算法在計(jì)算機(jī)上模擬的時(shí)候,這種排布方式的性能最好,因此在校內(nèi)賽的時(shí)候我們選用了這種排布方式。經(jīng)過(guò)仔細(xì)的比較,我們決定在華東
14、賽及全國(guó)賽的時(shí)候選擇第一種排布方法。因?yàn)樵谛?nèi)賽中我們發(fā)現(xiàn)弧形排步方式的優(yōu)點(diǎn)并沒有發(fā)揮出來(lái),因?yàn)橘愜嚇O少情況出現(xiàn)完全沖出,就算沖出也可以利用軟件算法來(lái)解決。因此,相比較一字形排布,我們浪費(fèi)了幾個(gè)光電管的資源,這些光電管完全可以用于增加中心區(qū)域的檢測(cè)密度,會(huì)達(dá)到更好的效果。在此基礎(chǔ)上,我們還考慮想要使光電管能夠前瞻,因此我們花了大量時(shí)間來(lái)進(jìn)行不同光電管、不同功率情況下的采集情況。光電管的功率越大,接受的信噪比就越大,因此在可能的情況下,可以盡可能增大光電管的發(fā)射功率。但發(fā)射功率越大,電阻和光電管的功耗就越大,而且由于前瞻比較大,相互間的干擾也比較大,所以我們采用IRF3205進(jìn)行分時(shí)驅(qū)動(dòng)點(diǎn)亮光電
15、管,通過(guò)這個(gè)脈沖式發(fā)光方法,可以把發(fā)射功率的限制提高,而且可以減小相鄰光電管之間的影響,收到了很好的效果。由于全國(guó)賽的賽道有坡度,因此光電管的安裝就必須仔細(xì)斟酌,為了爬坡時(shí)光電管不會(huì)接觸坡度,我們把支架做得比較高,而且大前瞻也需要支架的高度。把光電管架高后,會(huì)對(duì)車的重心有所提高,而且會(huì)產(chǎn)生杠桿效應(yīng),使得后輪的附著力及驅(qū)動(dòng)力減弱,加減速不靈活。所以支架要盡可能的輕,而且光電管的PCB布板也要盡可能的小,以減小質(zhì)量,下面是光電管PCB板圖(2cm24.8cm)和支架的安裝圖 光電管PCB板圖 支架的安裝圖3.1.2 要想對(duì)車速進(jìn)行精確控制,就必須用速度閉環(huán)控制,對(duì)當(dāng)前速度進(jìn)行精確測(cè)量,一個(gè)好的測(cè)速
16、模塊非常重要。因此我們選用了E6A2-C小型編碼器,360個(gè)脈沖,精度足以勝任。 測(cè)速原理圖由于光電管要盡可能的前瞻,所以要盡可能的把車體不能超過(guò)40cm利用好,編碼器的安裝盡可能的不要超過(guò)后輪。如下圖所示:編碼盤的安裝圖在上升下降沿同時(shí)觸發(fā)的條件下,編碼器齒輪數(shù)為36,每轉(zhuǎn)720個(gè)脈沖,電機(jī)傳動(dòng)齒輪為75,具體速度與脈沖的比例關(guān)系見下表:輪胎周長(zhǎng)16.7 Cm ,采樣周期T為2m s ,因此:1m/s = 6圈/s= 21000脈沖/2 s = 21脈沖/2ms(表一)測(cè)量脈沖數(shù)和速度的對(duì)應(yīng)關(guān)系測(cè)量脈沖對(duì)應(yīng)速度21/T1m/s42/T 2m/s63/T 3m/s73.5/T 3.5m/s 3
17、.1.3 舵機(jī)響應(yīng)速度是整車過(guò)彎速度的一個(gè)瓶頸。為了加快車輪轉(zhuǎn)向速度,我們?cè)O(shè)計(jì)并安裝了舵機(jī)轉(zhuǎn)向機(jī)構(gòu)。在并非改變舵機(jī)本身結(jié)構(gòu)的條件下,改變了舵機(jī)的安裝位置,并加長(zhǎng)了舵機(jī)的轉(zhuǎn)向力臂,由于舵機(jī)的延遲和轉(zhuǎn)彎角度成正比,加長(zhǎng)力臂后,使得未改裝的轉(zhuǎn)角從40左右下降到25,大大降低了舵機(jī)的延時(shí) 。前輪轉(zhuǎn)向機(jī)構(gòu),傳動(dòng)桿與舵機(jī)連接可靠,舵機(jī)工作時(shí)無(wú)晃動(dòng)。這一點(diǎn)也至關(guān)重要,因?yàn)橹苯訝砍兜蕉鏅C(jī)的轉(zhuǎn)向靈敏度和準(zhǔn)確性。首先在安裝舵機(jī)之前,要對(duì)舵機(jī)進(jìn)行校正。雖然有關(guān)舵機(jī)的資料上都說(shuō)高電平時(shí)間1.5ms時(shí)為正對(duì)中央,但試驗(yàn)中我們發(fā)現(xiàn)這并不是十分準(zhǔn)確,所以我們?cè)诎惭b舵機(jī)之前先用函數(shù)發(fā)生器對(duì)舵機(jī)的偏轉(zhuǎn)進(jìn)行了校正,然后再裝上直接
18、連在舵機(jī)上的傳動(dòng)齒輪。這樣做的做法一是嚴(yán)謹(jǐn),二是為編城提供方便,使得轉(zhuǎn)向和PWM波有比較簡(jiǎn)單的正比關(guān)系。調(diào)整好轉(zhuǎn)向后,還要注意舵機(jī)的安裝。在舵機(jī)齒輪和前輪傳動(dòng)桿之間的連接處有一個(gè)斷口的圓形零件,這個(gè)零件如果不把它的斷口問(wèn)題解決,會(huì)嚴(yán)重影響舵機(jī)的反應(yīng)靈敏度。我們使用強(qiáng)力膠把舵機(jī)的傳動(dòng)和固定部位全部封死,另外還把小車其他的不牢靠的部件也都用膠水封了起來(lái),小車的機(jī)械扎實(shí)時(shí)能夠風(fēng)馳電掣的前提。3.1.4 為了讓賽車能在直道和彎道上高速穩(wěn)定的通過(guò),而且轉(zhuǎn)彎比較靈巧,快速,除了有相應(yīng)的軟件和硬件電路的設(shè)計(jì)之外,賽車的機(jī)械結(jié)構(gòu)對(duì)其也有很重要的影響。所以我們對(duì)賽車的機(jī)械結(jié)構(gòu)也做了一些相應(yīng)的調(diào)整。3.1.4.1
19、 底盤的調(diào)整由于這次比賽有坡度在15度之內(nèi)的坡面道路,包括上坡與下坡,光電管架的不是很高,過(guò)彎時(shí)不會(huì)發(fā)生側(cè)翻的情況,為了上坡和下坡不會(huì)接觸地面,產(chǎn)生振動(dòng),影響光電管的探測(cè),底盤的前輪高度保持不變,后輪稍稍降低了重心。3.1.4.2 前輪的調(diào)整前輪的調(diào)整包括前輪主銷后傾角,主銷內(nèi)傾角,前輪外傾角,前輪前束的調(diào)整。在調(diào)試過(guò)程中,我們發(fā)現(xiàn)這幾個(gè)參數(shù)對(duì)賽車直線的穩(wěn)定性和彎道靈巧性都有很重要的影響。主銷后傾角是前輪主銷與前輪垂直中心線之間的夾角,也就是主銷上端向后傾斜的角度。在賽車上是通過(guò)四個(gè)黃色的小墊片來(lái)調(diào)整的。減小主銷后傾角可以減小前輪的回正力矩。也就是如果車輪向右轉(zhuǎn),后傾角可以產(chǎn)生一個(gè)向左的回正力
20、,使車輪回正比較快,但又使轉(zhuǎn)向更為費(fèi)力。設(shè)黃色墊片2:2(即前2后2)為0,1:3(前1后3)為23,則我們改為3:1(前3后1),使其傾角為負(fù)23。這樣則可以減小回正力矩的作用,使轉(zhuǎn)向更為靈活,但也會(huì)使回正比原來(lái)稍慢。主銷內(nèi)傾角是前輪主銷在賽車水平面內(nèi)向內(nèi)傾斜的角度,雖然增大內(nèi)傾角也可以增大回正的力矩,但增大內(nèi)傾角會(huì)在賽車轉(zhuǎn)向的過(guò)程中,增大賽車與路面的滑動(dòng),從而加速輪胎的磨損,由于輪胎對(duì)地的附著力對(duì)防止側(cè)滑有很重要的影響,所以如果輪胎磨損則得不償失,所以內(nèi)傾角調(diào)整為0。前輪外傾角是前輪的上端向外傾斜的角度,如果前面兩個(gè)輪子呈現(xiàn)“V”字形則稱正傾角,呈現(xiàn)“八”字則稱負(fù)傾角。由于前輪外傾可以抵消
21、由于車的重力使車輪向內(nèi)傾斜的趨勢(shì),減少賽車機(jī)件的磨損與負(fù)重,所以賽車安裝了組委會(huì)配備的外傾角為1的配件。前輪前束是前輪前端向內(nèi)傾斜的程度,當(dāng)兩輪的前端距離小后端距離大時(shí)為內(nèi)八字,前端距離大后端距離小為外八字。由于前輪外傾使輪子滾動(dòng)時(shí)類似與圓錐滾動(dòng),從而導(dǎo)致兩側(cè)車輪向外滾開。但由于拉桿的作用使車輪不可能向外滾開,車輪會(huì)出現(xiàn)邊滾變向內(nèi)劃的現(xiàn)象,從而增加了輪胎的磨損。前輪外八字與前輪外傾搭配,一方面可以抵消前輪外傾的負(fù)作用,另一方面由于賽車前進(jìn)時(shí)車輪由于慣性自然的向內(nèi)傾斜,外八字可以抵消其向內(nèi)傾斜的趨勢(shì)。外八字還可以使轉(zhuǎn)向時(shí)靠近彎道內(nèi)側(cè)的輪胎比靠近彎道外側(cè)的輪胎的轉(zhuǎn)向程度更大,則使內(nèi)輪胎比外輪胎的轉(zhuǎn)
22、彎半徑小,有利與轉(zhuǎn)向。3.1.4.3 后輪距及后輪差速的調(diào)整由于速度高,賽車在轉(zhuǎn)彎時(shí)容易翻倒,為了增加整車的平衡能力,可用組委會(huì)提供的配件把后輪改為大輪距。在拐彎時(shí)由于彎道內(nèi)側(cè)輪比外側(cè)輪的拐彎半徑小,則內(nèi)側(cè)輪比外側(cè)輪的速度小,這就使兩輪胎有一定的速度差,稱為差速。而賽車的差速機(jī)構(gòu)安裝在后輪軸上的,所以只可以調(diào)整后輪的差速。經(jīng)多次調(diào)試觀察發(fā)現(xiàn)差速對(duì)賽車轉(zhuǎn)彎有很大的影響。如果差速過(guò)緊,即兩輪胎的速度很接近時(shí),轉(zhuǎn)彎的時(shí)候內(nèi)側(cè)輪很容易打滑,從而產(chǎn)生側(cè)滑,使賽車滑出賽道。當(dāng)差速過(guò)松時(shí),會(huì)使直道的時(shí)候兩輪打滑,大大的減小了賽車的驅(qū)動(dòng)能力。所以差速調(diào)整要適當(dāng),才會(huì)使直道驅(qū)動(dòng)能力強(qiáng),彎道轉(zhuǎn)彎靈巧。我們調(diào)試差速
23、的經(jīng)驗(yàn)是把賽車放在賽道上捏住一個(gè)輪胎不動(dòng)讓另一個(gè)輪胎能在賽道上半滑動(dòng)時(shí)為佳。3.1.4.4 齒輪傳動(dòng)機(jī)構(gòu)的調(diào)整大賽提供的電機(jī)輸出軸齒輪數(shù)為18個(gè),后輪輸出軸齒輪數(shù)為76個(gè),則齒輪比為9:38。齒輪傳動(dòng)機(jī)構(gòu)的調(diào)整就是調(diào)整電機(jī)輸出軸的齒輪與后輪軸上齒輪之間的耦合程度。經(jīng)過(guò)整車的調(diào)試我們發(fā)現(xiàn),電機(jī)傳動(dòng)齒輪咬合過(guò)松,會(huì)導(dǎo)致后輪轉(zhuǎn)動(dòng)時(shí)的擺動(dòng),而且傳動(dòng)性能不佳;咬合過(guò)緊,會(huì)對(duì)電機(jī)的轉(zhuǎn)動(dòng)產(chǎn)生阻力,影響小車的整體速度和加速性能,而且浪費(fèi)電能。為了使齒輪的調(diào)整比較適當(dāng),經(jīng)過(guò)多次的調(diào)試,我們發(fā)現(xiàn)用聽齒輪之間的聲音的辦法來(lái)調(diào)整其耦合程度效果不錯(cuò)。當(dāng)齒輪耦合較松或兩齒輪之間不平行時(shí)的聲音很響,也就是齒輪之間撞擊的聲音
24、很大,當(dāng)齒輪耦合比較緊時(shí)聲音很沉悶并且遲滯,最佳狀態(tài)是基本上沒有撞擊的聲音,聲音清脆并且沒有遲滯現(xiàn)象。在調(diào)整到合適的咬合度后,可以在齒輪處滴上潤(rùn)滑油,會(huì)使傳動(dòng)性能更上一個(gè)臺(tái)階。3.1.4.5 輪胎的探討。首先是嚴(yán)重影響比賽成績(jī)的摩擦力因素。調(diào)試過(guò)程中我們發(fā)現(xiàn),輪胎或者跑道上如果沾有比較多的灰塵,會(huì)使小車產(chǎn)生明顯的轉(zhuǎn)彎不足,甚至產(chǎn)生飄移,盡管算法的改進(jìn)可以適當(dāng)提高小車的穩(wěn)定性,不過(guò)如果能找到增大輪胎摩擦力的方法會(huì)大大提高比賽成績(jī)。其次是后輪寬度,小車的零件中有兩套連接后輪的紅色元件,選用寬的那一個(gè)會(huì)使小車后輪間距增大,增加穩(wěn)定性。 最后是輪子上的螺絲要松緊得當(dāng)。太緊阻力很大,太松會(huì)出現(xiàn)輪胎打擺甚
25、至滑落的現(xiàn)象。3.1.4.6 重心的調(diào)整要精益求精。重心的調(diào)整要反復(fù)試驗(yàn),直到使小車行使性能最佳為止。原則上不要可以為小車增加負(fù)重以提高穩(wěn)定性,因?yàn)檫@樣是以失去機(jī)動(dòng)性和速度為代價(jià)的。但是我們?cè)谥谱鬟^(guò)程中給小車加上了鐵片,因?yàn)橛捎跁r(shí)間緊迫,我們沒有在算法上根本解決小車的入彎漂移現(xiàn)象,只能通過(guò)加重來(lái)解決,這是無(wú)奈之舉。在華東賽中,這是勢(shì)必要解決的許多問(wèn)題之一。3.2 硬件電路設(shè)計(jì)3.2.1傳感器電路設(shè)計(jì)本項(xiàng)目中,選用的是紅外對(duì)管RPR221作為傳感元件。RPR221是一個(gè)四端口元件,包括了一只紅外發(fā)射管和紅外接收管,用塑料外殼將對(duì)管封裝起來(lái)。其使用電路圖如下圖一 光電管的原理圖R1作為發(fā)射管的限流
26、電阻,若R1阻值過(guò)大,則發(fā)射管功率會(huì)大幅降低,所起其阻值在可以根據(jù)需要選擇。R2主要為接收管的上拉電阻。當(dāng)小車在白色地面行駛時(shí),裝在車下的紅外發(fā)射管發(fā)射紅外線信號(hào),經(jīng)白色反射后,被接收管接收,一旦接收管接收到信號(hào),那么圖中光敏三極管將導(dǎo)通,比較器輸出為低電平;當(dāng)小車行駛到黑色引導(dǎo)線時(shí),紅外線信號(hào)被黑色吸收后,光敏三極管截止,比較器輸出高電平,從而實(shí)現(xiàn)了通過(guò)紅外線檢測(cè)信號(hào)的功能。將檢測(cè)到的信號(hào)送到單片機(jī)I/O口,當(dāng)I/O口檢測(cè)到的信號(hào)為高電平時(shí),表明紅外光被地上的黑色引導(dǎo)線吸收了,表明小車處在黑色的引導(dǎo)線上;同理,當(dāng)I/O口檢測(cè)到的信號(hào)為低電平時(shí),表明小車行駛在白色地面上。3.2.2我們的電源管
27、理模塊使用了兩塊穩(wěn)壓芯片,因?yàn)槲覀兿氡M可能得使得較大的用電單元獨(dú)立出來(lái),以避免相互間的干擾。電機(jī)和舵機(jī)直接加在電池上,是考慮到這樣可以增大驅(qū)動(dòng)電壓和電流,以提高舵機(jī)的響應(yīng)速度和電機(jī)的加速性能。不過(guò)為了避免瞬時(shí)電流過(guò)大造成電壓下降太多,我們并聯(lián)大電容,以穩(wěn)定電壓特性。3.2.3電機(jī)驅(qū)動(dòng)設(shè)計(jì)中我們采用PWM輸出通道經(jīng)過(guò)開發(fā)板中集成好的MC33886電機(jī)驅(qū)動(dòng)模塊進(jìn)行驅(qū)動(dòng),特性:工作電壓:5-40V導(dǎo)通電阻:120毫歐姆輸入信號(hào):TTL/CMOSPWM頻率: 10KHz短路保護(hù)、欠壓保護(hù)、過(guò)溫保護(hù)等;具體電路圖如下: 電機(jī)驅(qū)動(dòng)電路程序中設(shè)計(jì)中我們?cè)O(shè)定PT1輸出頻率為5KHz, 起使極性為低電平的PWM
28、波,因?yàn)镻T2口在未設(shè)置時(shí)輸出為高電平,為了編程時(shí)與占空比的定義對(duì)應(yīng),因此設(shè)定PT1起始極性為低。PT1的占空比受到程序的控制。實(shí)際中我們采用三片33886并聯(lián)輸出,以提高電機(jī)的驅(qū)動(dòng)能力,并利用她的反轉(zhuǎn)來(lái)進(jìn)行制動(dòng),可以很快的實(shí)現(xiàn)降速。3.2.3舵機(jī)機(jī)驅(qū)動(dòng)電路由于舵機(jī)存在很大的延時(shí),限制整體速度,為了讓舵機(jī)更快的反應(yīng),我們直接用電源電壓給舵機(jī)供電,可以大大提高他的響應(yīng),但是這樣就會(huì)給其他的電源模塊造成干擾,且會(huì)隨電源電壓的不同而不穩(wěn)定。所以必須在旁邊加上旁路電容,如下圖所示3.2.4為了降低重心,使得小車平穩(wěn)快速行駛,我們把主板做得貼近底盤,形狀如下圖所示主板圖 第四章 智能車軟件設(shè)計(jì)4.1系統(tǒng)
29、軟件總體結(jié)構(gòu)4.2初始化模塊4.2.1 總線時(shí)鐘我們采用16MHz 的外部晶振作為DG128的時(shí)鐘,這樣在默認(rèn)設(shè)置下,其鎖相環(huán)時(shí)鐘、總線時(shí)鐘和內(nèi)核時(shí)鐘分別為32MHz、8MHz和16MHz。單片機(jī)的處理速度對(duì)成績(jī)的提高有很大幫助,為了縮短A/D的采樣時(shí)間,增加處理速度。我們對(duì)單片機(jī)進(jìn)行了超頻,將總線時(shí)鐘提高到32MHz。時(shí)鐘的倍、分頻關(guān)系由SYNR、REFDV 兩寄存器決定。其計(jì)算公式為:bus clock=16MHz*(SYNR+1)/(REFDV+1)其初始化為:void Init_PLL(void) SYNR=1; REFDV=1; while(CRGFLG_LOCK!=1); CLKS
30、EL=0 x80; 4.2.2 PPWM模塊有8路8位的獨(dú)立的PWM通道,每個(gè)通道都配有專門的計(jì)數(shù)器,可獨(dú)立的可設(shè)置周期和占空比,也可以將兩個(gè)通道合起來(lái)作為一路輸出,形成16位通道。該模塊有4個(gè)時(shí)鐘源A、SA、B、SB,其中A、SA對(duì)應(yīng)0、1、4、5通道,B、SB對(duì)應(yīng)2、3、6、7通道。通過(guò)配置寄存器可設(shè)置PWM 的使能、每個(gè)通道脈沖極性、輸出脈沖的對(duì)齊方式、時(shí)鐘源以及通道位數(shù)(8 位通道或者16 位通道)。我們將4、5通道合為一個(gè),用于控制舵機(jī);0、1通道合為一個(gè),2、3通道合為一個(gè),用于控制電機(jī)。初始化設(shè)置如下:void Init_PWM(void)PWME = 0 x00; /關(guān)閉PWM
31、輸出PWMCTL = 0 x70; /通道0、1級(jí)連PWMPRCLK = 0 x33; /ClockA = ClockB = Bus/4 = 2MHzPWMCLK = 0 x00; /不選擇clock1和clock2PWMSCLA = 25; /PWMSCLA = PWMSCLB = 50 /取消PWMSCLB = 25; /ClockSA = ClockSB = 10KHz /取消PWMPOL = 0 xf7; /起始極性為高電平PWMCAE = 0 x00; /左對(duì)齊PWMPER45 = 20000; /周期 1/2000000*20000=10ms ,舵機(jī)100HzPWMDTY45 =
32、3035; /高電平1.5msPWMPER01= 400; /電機(jī)周期為1/2000000*400=5kHzPWMDTY01= 0;PWMPER23= 400;PWMDTY23= 400;void EnablePWM()PWME = 0 x00;PWME = 0 x2a;void DisablePWM(void)PWME = 0 x00;4.2.3 Avoid AD0_Init(void) ATD0CTL2=0 xc0; /AD模塊上電,快速清零,無(wú)等待模式,禁止外部觸發(fā),中斷禁止 ATD0CTL3=0 x00; /每個(gè)序列8次轉(zhuǎn)換, ATD0CTL4=0 x83; /8位轉(zhuǎn)換精度,2個(gè)AD周
33、期,ATD_Clock=8M/2/(4+1); ATD0DIEN=0 x00; /禁止數(shù)字輸入 void AD1_Init(void) ATD1CTL2=0 xc0; /AD模塊上電,快速清零,無(wú)等待模式,禁止外部觸發(fā),中斷禁止 ATD1CTL3=0 x00; /每個(gè)序列8次轉(zhuǎn)換, ATD1CTL4=0 x83; /8位轉(zhuǎn)換精度,2個(gè)AD周期,ATD_Clock=8M/2/(4+1); ATD1DIEN=0 x00; /禁止數(shù)字輸入 void read_odd_Lamp(void) ATD0CTL5=0 x90; while(ATD0STAT0&0X80)=0); /采集單排光電管,通過(guò)AD的
34、0口 Lamp_mult0=ATD0DR0L; Lamp_mult2=ATD0DR2L; Lamp_mult4=ATD0DR4L; Lamp_mult6=ATD0DR6L; ATD1CTL5=0 x90; while(ATD1STAT0&0X80)=0); Lamp_mult8=ATD1DR0L; Lamp_mult10=ATD1DR2L; Lamp_mult12=ATD1DR4L; void read_even_Lamp(void) ATD0CTL5=0 x90; while(ATD0STAT0&0X80)=0); /采集單排光電管,通過(guò)AD的0口 Lamp_mult1=ATD0DR1L;
35、Lamp_mult3=ATD0DR3L; Lamp_mult5=ATD0DR5L; Lamp_mult7=ATD0DR7L; ATD1CTL5=0 x90; while(ATD1STAT0&0X80)=0); Lamp_mult9=ATD1DR1L; Lamp_mult11=ATD1DR3L; power=ATD1DR7L; /電源電壓采樣void read_evir_Lamp(void) ATD0CTL5=0 x90; while(ATD0STAT0&0X80)=0); Lamp_evir0=ATD0DR0L; Lamp_evir1=ATD0DR1L; Lamp_evir2=ATD0DR2L
36、; Lamp_evir3=ATD0DR3L; Lamp_evir4=ATD0DR4L; Lamp_evir5=ATD0DR5L; Lamp_evir6=ATD0DR6L; Lamp_evir7=ATD0DR7L; ATD1CTL5=0 x90; while(ATD1STAT0&0X80)=0); Lamp_evir8=ATD1DR0L; Lamp_evir9=ATD1DR1L; Lamp_evir10=ATD1DR2L; Lamp_evir11=ATD1DR3L; Lamp_evir12=ATD1DR4L; 4.2.4 ECT增強(qiáng)型捕捉定時(shí)器模塊對(duì)端口功能進(jìn)行了擴(kuò)展,ECT 模塊能實(shí)現(xiàn)輸入捕捉
37、和輸出比較兩大功能。測(cè)速模塊所用的PT1口采用上下沿脈沖捕捉的方式。其初始化設(shè)置為: void init_PAI(void) TIOS_IOS1=0; / PT1 is set to be IC (input capture) modeTCTL4=0 x0c; / PT1 catch any edge;ICOVW_NOVW1=1; ICPAR_PA1EN=1; 4.3 路徑識(shí)別原理及實(shí)現(xiàn) 光電管之間存在一定的差異,導(dǎo)致每個(gè)光電管對(duì)黑白的電壓不一致,因此我們采用歸一化來(lái)消除這個(gè)誤差,主要思想是:在小車出發(fā)前,打開光電管進(jìn)行采樣,把當(dāng)前環(huán)境每個(gè)光電管對(duì)黑線的最大電壓和白紙的最小電壓記錄下來(lái),把壓差
38、存在EEPROM中,在小車行駛的過(guò)程中,對(duì)每個(gè)采樣值減去白紙的反射電壓后除以這個(gè)光電管的黑白壓差,用來(lái)反映此光電管檢測(cè)路面的灰度百分比,然后設(shè)定一個(gè)閾值比如75,認(rèn)為他檢測(cè)到了黑線,一個(gè)閾值比如50,認(rèn)為他檢測(cè)到了白紙,(這個(gè)黑白閾值之間一定要存在死區(qū)即模糊區(qū)域,不然在閾值處會(huì)存在跳變)然后對(duì)所有檢測(cè)到黑線的光電管進(jìn)行簡(jiǎn)單的線性曲線擬合,即(光電管的序號(hào)*灰度百分比)/灰度百分比之和,即可求出當(dāng)前黑線所處的位置,精確度為1mm,足以滿足舵機(jī)的圓滑控制。4.4 舵機(jī)方向控制算法 信號(hào)AD采集之后,進(jìn)行閾值判斷之后進(jìn)行簡(jiǎn)單的路徑算法,能夠使單排分辨率達(dá)到30個(gè)以上,足以使小車平滑的轉(zhuǎn)向形式。我們對(duì)
39、舵機(jī)采用的是PD算法,即比例加微分算法。原因如下:一開始我們采用的是比例算法,即在不同的位置讓舵機(jī)有一定的轉(zhuǎn)角。在速度比較慢的時(shí)候,能產(chǎn)生很好的效果。但是在速度較快的時(shí)候,直道入彎道的時(shí)候轉(zhuǎn)彎會(huì)來(lái)不及。因此我們又加上了D算法,記錄以下先前一段時(shí)間的位置變化率,當(dāng)直道入彎道的時(shí)候,位置變化會(huì)非??欤虼丝梢约哟筠D(zhuǎn)向角,比單純的P算法效果好很多。當(dāng)然,記錄的時(shí)間和D因子的參數(shù)調(diào)整是需要大量的時(shí)間和精力來(lái)調(diào)整的。4.5 速度控制算法重點(diǎn)研究一下小車的減速,這里有三種方方案: 方案一 通過(guò)機(jī)械接觸小車輪或軸實(shí)現(xiàn)減速。這種方案使用的范圍很廣,但也很有效,是機(jī)械加工復(fù)雜,需要對(duì)車體作改造,另外可靠性與可控
40、性不,不適合單片機(jī)的控制。 方案二 使電機(jī)短時(shí)間停機(jī)。這種案可控性強(qiáng),適合于輪軸自鎖的電機(jī),如減速電機(jī)與步進(jìn)電機(jī),但由于小車的慣性作用,從剎車到停止需要一個(gè)緩沖時(shí)間,這樣容易造成小車由直道進(jìn)入彎道時(shí)容易沖出跑道,限制了小車的直道速度,而且使小車在彎道運(yùn)行時(shí)連貫性很差。 方案三 電機(jī)瞬時(shí)反轉(zhuǎn)來(lái)快速降低小車速度。這種適合于直流電機(jī),這相當(dāng)于給小車一個(gè)反向力矩來(lái)迅速降低小車的速度,很明顯其減速效率優(yōu)于方案二,經(jīng)實(shí)驗(yàn)驗(yàn)證,其速度上連貫性也優(yōu)于方案二。 為進(jìn)一步精確控制小車速度,還需要引入閉環(huán)速度控制。把采用速度傳感器檢測(cè)到小車的實(shí)時(shí)速度,通過(guò)實(shí)際速度與期望速度之間的比較確定小車速度 狀態(tài)以及決定加速或
41、減速的強(qiáng)度大小。如果沒有速度閉環(huán),雖然也可以較好的實(shí)現(xiàn)速度控制,但是不能靈活地根據(jù)小車的實(shí)時(shí)速度來(lái)進(jìn)行調(diào)整,這會(huì)降低小車對(duì)賽道的應(yīng)變能力,會(huì)降低小車的整體速度。經(jīng)過(guò)反復(fù)的比較,也經(jīng)受了不少的教訓(xùn),最終我們選擇了速度閉環(huán)控制,并且選擇了急彎時(shí)電機(jī)瞬時(shí)反轉(zhuǎn),瞬時(shí)降低速度過(guò)彎,然后再入彎過(guò)程中再急加速度,出彎時(shí)的速度就已經(jīng)比較快了。這是我們速度控制算法的核心思想。為了達(dá)到這個(gè)效果,必須要能夠檢測(cè)到直道入彎的狀態(tài),因此我們利用了短時(shí)間的賽道記憶算法,來(lái)判斷此刻是否已經(jīng)身處直道。另外,如果現(xiàn)在速度大于臨界速度,進(jìn)入彎道時(shí)我們使電機(jī)短時(shí)間反轉(zhuǎn)。這個(gè)算法現(xiàn)在還不成熟,我們的參數(shù)調(diào)整也不夠優(yōu)化,但是與開環(huán)控制
42、相比,速度已經(jīng)有了很大提高,而且這種算法的突出優(yōu)點(diǎn)是穩(wěn)定,在很高速度入彎時(shí)也不易打滑,這在真實(shí)比賽中是至關(guān)重要的。第五章 開發(fā)工具及制作調(diào)試過(guò)程在調(diào)試期間 CodeWarrior 4.6是我們的軟件開發(fā)平臺(tái),CodeWarrior 是Metrowerks公司研發(fā)的專門面向Motorola(freesacle)所有MCU與DSP嵌入式應(yīng)用開發(fā)的軟件工具,是motorola(freescale)向用戶推薦的產(chǎn)品。Metrowerk提供CodeWarrior有效期為30天的試用版本,還有專門提供面向教學(xué)的,免費(fèi)的特別版。這個(gè)特別版本對(duì)生成的代碼量有一定限制,C代碼不得超過(guò)12KB,對(duì)工程包含的文件數(shù)
43、目限制在30個(gè)以內(nèi)。雖然有些限制,但對(duì)于我們來(lái)說(shuō)已足夠了。“CODEWARRIOR FOR S12”是面向以HC12或S12 CPU的單片機(jī)嵌入式應(yīng)用開發(fā)軟件包。包括集成開發(fā)環(huán)境IDE、處理器專家?guī)臁⑷酒抡?、可視化參?shù)顯示工具、項(xiàng)目工程管理器、C交叉編譯器、匯編器、鏈接器以及調(diào)試器。在調(diào)試過(guò)程中,我們發(fā)現(xiàn)正確的調(diào)試過(guò)程相當(dāng)重要,下面是我們的的幾點(diǎn)體會(huì):安裝好車模及硬件電路準(zhǔn)備妥當(dāng)后,首先斷開電機(jī),用繩拉著小車在賽道上前進(jìn),仔細(xì)觀察舵機(jī)的轉(zhuǎn)角是否正確穩(wěn)定,有沒有顫抖,如果有說(shuō)明黑線位置計(jì)算存在跳變,會(huì)給舵機(jī)賦不同的值,導(dǎo)致顫抖出現(xiàn),應(yīng)設(shè)置模糊段來(lái)解決這個(gè)問(wèn)題,舵機(jī)的控制盡量要圓滑,就要求位置
44、的檢測(cè)要連續(xù),這樣舵機(jī)就不會(huì)存在大的突變,導(dǎo)致沖出跑道。舵機(jī)控制沒問(wèn)題后就要調(diào)一些比較重要的參數(shù)了,如P、D等參數(shù),先讓小車以比較慢的速度勻速跑,根據(jù)實(shí)際情況進(jìn)行調(diào)整參數(shù),發(fā)現(xiàn)能平穩(wěn)的跑完全程后就要提高速度了,當(dāng)速度高的時(shí)候,一些隱蔽的問(wèn)題就會(huì)出現(xiàn),然后再調(diào)參數(shù),如此反復(fù),直至可以以2m多的速度跑下來(lái)接下來(lái)就要調(diào)變速了,這部分主要是對(duì)電機(jī)的控制,對(duì)電機(jī)的P、I、D等參數(shù)進(jìn)行調(diào)節(jié),然后在對(duì)不同的賽道設(shè)置不同的速度,如此反復(fù)最后就要對(duì)一些特殊情況進(jìn)行處理,比如直入彎的舵機(jī)轉(zhuǎn)角、剎車,起跑線的識(shí)別,S彎的控制 第六章 結(jié)論6.1 模型車技術(shù)參數(shù)統(tǒng)計(jì):項(xiàng)目參數(shù)路徑檢測(cè)方法(賽題組)光電組車模幾何尺寸(
45、長(zhǎng)、寬、高)(毫米)40024493車模軸距/輪距(毫米)201/138(前輪)145(后輪)車模平均電流(勻速行駛)(毫安)1000電路電容總量(微法)1602傳感器種類及個(gè)數(shù)光電管15個(gè),編碼器1個(gè)新增加伺服電機(jī)個(gè)數(shù)0個(gè)賽道信息檢測(cè)空間精度(毫米)1賽道信息檢測(cè)頻率(次/秒)500主要集成電路種類/數(shù)量PCB/2塊(光電管,核心版)車模重量(帶有電池)(千克)1.86.2 不足與改進(jìn)的方向: 從3月份初校內(nèi)賽開始到暑期八月份的全國(guó)賽,歷時(shí)將近半年的時(shí)間,我們完成了對(duì)智能賽車的制作和改進(jìn)。這個(gè)過(guò)程中,我們不斷克服困難,突破一個(gè)又一個(gè)瓶頸。整體上,我們緊緊抓住了影響賽車速度的主要因素,即舵機(jī)的
46、滯后性,和速度的控制上。并通過(guò)硬件上機(jī)械結(jié)構(gòu)的調(diào)整和軟件上的提前轉(zhuǎn)向盡量消除舵機(jī)滯后帶來(lái)的影響,對(duì)于主要矛盾的把握,同時(shí)還可以適當(dāng)彌補(bǔ)其他方面的不足;細(xì)節(jié)上,我們力求完美,對(duì)各個(gè)模塊運(yùn)行優(yōu)化。由于條件的限制,我們的思路大致以試驗(yàn)為主,在理論上的把握明顯不夠,這使得我們?cè)谠S多細(xì)節(jié)上都想不到,并最終影響到賽車的穩(wěn)定性和速度。我們的智能車最大的不足就是前瞻距離太小,一直限制了我們直道上的速度,和S彎的速度,其次就是電機(jī)的加減速太慢,機(jī)動(dòng)性很差。軟件上對(duì)速度和舵機(jī)的控制還存在一定問(wèn)題,還有待于改進(jìn)參考文獻(xiàn) 1 卓晴,黃開勝,邵貝貝編著.學(xué)做智能車.北京:北京航空航天大學(xué)出版社,2007.2 Thoma
47、s D. Gillespie. 車輛動(dòng)力學(xué)基礎(chǔ). 北京:清華大學(xué)出版社.2006年12月第1版. 3 劉金琨先進(jìn)PID控制MATLAB仿真M,北京:電子工業(yè)出版社,20044 王明順,沈謀全傳感器與智能車路徑識(shí)別J,電子產(chǎn)品世界,2007,4(04)5 王威 等編著 HCS12微控制器原理及應(yīng)用 北京航空航天大學(xué)出版社2007.10附錄:源程序*main()*#include /* common defines and macros */#include /* derivative information */#pragma LINK_INFO DERIVATIVE mc9s12dp512#i
48、nclude system.h void main(void) uchar i = 0; uchar RP_Begin = 1; DisableInterrupts; Init_PORT();/初始化IO口 Init_PLL();/倍頻40M ; Init_PWM(); EnablePWM(); RTI_Init(); AD0_Init(); AD1_Init(); init_PAI(); EE_ERROR=EEPROMInit(); EnableInterrupts; EEPROMRead(int *)Addr_Lmin, Lamp_min, NUM); EEPROMRead(int *)A
49、ddr_Ldif, Lamp_diff,NUM); for(;) if(CTL_Enable) /判斷,算法 LedDisplay(DispData); if(PORTA&0 x01)=1) if(RP_Begin) for(i=0;iNUM;i+) Lamp_maxi=0; Lamp_mini=255; RP_Begin=0; else RecordParameters(); PWMDTY01 = 0; else switch(PORTA) case 0 x80:break; case 0 x40:Kd1 = 3;break; case 0 x20:Kd1 = 4;break; case 0
50、 x10:Kd1 = 5;break; case 0 x08:Kd1 = 6;break; case 0 x04:Kd1 = 7;break; case 0 x02:break; default: Kd1 = 0;break; XGet(); SpeedGet(); RoadIdentify(); SteerCTL(); SpeedCTL(); CTL_Enable = 0; /* wait forever */*control.c*#include system.h/路徑參數(shù)int Direct = 0;/Go ahead = 0; Turn Right = 1; Turn Left = -
51、1;int IdDist = 0;/1mm=5pluseint StrJustDist = 0;/1mm=5pluseuchar RoadId = 0;/StrRoad = 0; EnterCurve1 = 1; BigCurve = 2; EnterCurve2 = 3;OutCurve = 4;Danger = 5;No Idea = 6;uchar BigCurve_Enabe = 0;uchar EnterCurve_Enabe = 0;int Stability=0;int Curve=0;int route_memorizestab_time=0;uchar analy_space
52、=0;uint TimeCnt = 0;/*小車彎曲 震蕩分析 依據(jù)- 均值和標(biāo)準(zhǔn)差 每 10ms 檢測(cè)一次 結(jié)果-彎曲程度和振蕩程度 /計(jì)算Stability,Curve*/void StabDetect(void) uchar i=0; if(analy_space=0) for(i=0;istab_time-1;i+) route_memorizei = route_memorizei+1; route_memorizestab_time-1 = (X+xcurCNT-1+xcurCNT-2)/3; Stability = 0; Curve = 0; for(i=0;istab_time
53、;i+) Curve += route_memorizei; Curve = Curve/stab_time; for(i=0;istab_time;i+) Stability += abss(route_memorizei-Curve); Stability = Stability/stab_time; if(TimeCnt= 5) analy_space = 0;/*路徑識(shí)別 */void RoadIdentify(void) if(IdDist35 & IdDist9*600) BigCurve_Enabe = 1; RoadId = 6; /No Idea = 6; if(StrJus
54、tDist9*300) RoadId = 0; /StrRoad if(Speed60) EnterCurve_Enabe = 1; if(abss(X)30) if(StrJustDist20) / if(EnterCurve_Enabe & IdDist9*10) RoadId = 1; /EnterCurve1 if(EnterCurve_Enabe & IdDist9*30) RoadId = 3; /EnterCurve2 if(IdDist9*500 | Speed40) if(abss(X)110) RoadId = 5;/Danger else RoadId = 2;/BigC
55、urve /舵機(jī)閉環(huán)參數(shù)int Kp1 = 3, Kd1 = 0, Ka1 = 0; /steer P permmeters int pwm_st_out = 3020; /舵機(jī)PWM輸出 int stpwm_max = 3380; /PWM最大值int stpwm_min = 2660; /PWM死區(qū)值int stess_pwm = 200; /PWM變化率int pwm_st_record = 3020;/記錄舵機(jī)PWMint xcurCNT=0; /記錄若干次偏心距int x_change = 0;int steer_pwm25=/ -360,-345,-325,-300,-270,-2
56、35,-200,-165,-130,-90,-50,-20,0,20,50,90,130,165,200,235,270,300,325,345,360 -370,-330,-305,-280,-255,-230,-200,-170,-135,-92,-50,-25,0,25,50,92,135,170,200,230,255,280,305,330,370/-370,-345,-325,-300,-270,-235,-200,-170,-135,-95,-55,-25,0,25,55,95,135,170,200,235,270,300,325,345,370 ;/* 舵機(jī)PD控制程序*/v
57、oid SteerCTL(void) int pwm_out = pwm_st_out; int kpess = 0, kdess = 0; int quotient = 0, residue = 0; int i = 0; for(i=0;ispeed_set) if(Speed-speed_set15) if(X0) X += 30; else X -= 30; else if(X0) X += 2*(Speed-speed_set); else X -= 2*(Speed-speed_set); /查表P參量 if(X120) X=120;if(X200) if(kdess0) kdes
58、s = 200; else kdess = -200; pwm_out += kdess; /控制量處理 if(pwm_out-pwm_st_recordstess_pwm ) pwm_out=pwm_st_record+stess_pwm; if(pwm_out-pwm_st_record stpwm_max) pwm_out = stpwm_max; if(pwm_out 0) DispData += 1000; pwm_st_record = pwm_out; PWMDTY45 = pwm_out;/速度閉環(huán)參數(shù)int Kp2 =5, Ki2 = 1, Kd2 = 0; /speed P
59、ID permmeters int ess_speedf=0, ess_speedc=0;/前面兩個(gè)控制周期速度偏差int pwm_sp_out = 200; /速度PWM輸出int ess_sppwm_max = 50;/PWM最大變化率int sppwm_max = 400; /PWM最大值int sppwm_min = 0; /PWM死區(qū)值 int speed_set = 45; /速度設(shè)定值int speed_table125 = /according to X 48,50,52,53,54,55,56,57,58,60,65,68,70,68,65,60,58,57,56,55,54
60、,53,52,50,48 ;int speed_table210 = 0,-2,-4,-6,-8,-10,-12,-14,-15,-16 ; /according to x_changeint speed_table310 = 0,0,0, -1, -1,-2,-2,-2,-3,-4 ; /according to Stability /*電機(jī)速度設(shè)定*/void SpeedSet(void) int speed_mid = 50, speed_max = 65, speed_min = 43; int quotient = 0, residue = 0; quotient = (X+120)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZZB 1584-2023 低壓電源系統(tǒng)的電涌保護(hù)器(SPD)
- 二零二五年度專業(yè)技術(shù)師徒傳承合作合同
- 2025年度門店合作線上線下融合營(yíng)銷協(xié)議
- 二零二五年度不占股份分紅權(quán)益共享協(xié)議
- 二零二五年度招商引資合同中的政府與企業(yè)合作模式創(chuàng)新
- 2025年度終止供貨協(xié)議函范文模板與簽訂程序指導(dǎo)
- 二零二五年度綠色建筑產(chǎn)業(yè)廠房租賃服務(wù)協(xié)議
- 二零二五年度勞動(dòng)合同法未簽訂合同員工競(jìng)業(yè)禁止協(xié)議
- 二零二五年度物業(yè)安全管理人員勞動(dòng)合同范本
- 二零二五年度消防安全設(shè)施設(shè)備安全評(píng)估與整改服務(wù)合同
- 醛固酮增多癥與原發(fā)性醛固酮增多癥概述
- 20以內(nèi)破十法練習(xí)題-A4打印版
- 安全生產(chǎn)治本攻堅(jiān)三年行動(dòng)實(shí)施方案(2024-2026年) - 副本
- 山東省淄博市2023-2024學(xué)年高一下學(xué)期期末教學(xué)質(zhì)量檢測(cè)數(shù)學(xué)試題
- 數(shù)據(jù)中心容災(zāi)備份解決方案
- 七年級(jí)下冊(cè)第三單元名著導(dǎo)讀《駱駝祥子》公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)(公開課公開課一等獎(jiǎng)創(chuàng)新教案及作業(yè)設(shè)計(jì))
- 2025屆新高考生物精準(zhǔn)復(fù)習(xí)+提高農(nóng)作物產(chǎn)量
- 幾何圖形中求線段線段和面積等最值問(wèn)題 中考數(shù)學(xué)
- 真太陽(yáng)時(shí)調(diào)整
- TD/T 1037-2013 土地整治重大項(xiàng)目可行性研究報(bào)告編制規(guī)程(正式版)
- 2024年時(shí)政試題庫(kù)(奪分金卷)
評(píng)論
0/150
提交評(píng)論