電磁 重慶郵電大學 電磁一隊_第1頁
電磁 重慶郵電大學 電磁一隊_第2頁
電磁 重慶郵電大學 電磁一隊_第3頁
電磁 重慶郵電大學 電磁一隊_第4頁
電磁 重慶郵電大學 電磁一隊_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 PAGE 6 PAGE IV第五屆“飛思卡爾”杯全國大學生智能汽車競賽技 術 報 告學 校: 重慶郵電大學隊伍名稱: 電磁一隊參賽隊員: 唐 林 杜坤霖 游立偉帶隊教師: 程安宇關于技術報告和研究論文使用授權的說明 本人完全了解第五屆“飛思卡爾”杯全國大學生智能汽車邀請賽關保留、使用技術報告和研究論文的規(guī)定,即:參賽作品著作權歸參賽者本人,比賽組委會和飛思卡爾半導體公司可以在相關主頁上收錄并公開參賽作品的設計方案、技術報告以及參賽模型車的視頻、圖像資料,并將相關內容編纂收錄在組委會出版論文集中。參賽隊員簽名: 帶隊教師簽名: 日 期: 目錄第一章 引言4第二章 系統(tǒng)總設計方案論證52.1 設

2、計思路52.2 道路信息檢測62.3 傳感器布局72.4 電磁傳感器選擇82.5 車身參數(shù)9第三章 機械結構103.前輪定位 .103.2 后輪差動器113.3后輪距調整113.4輪胎改進 . 123.5減震彈簧改進123.6舵機安裝調整123.7速度檢測模塊安裝123.8重心轉移13第四章系統(tǒng)硬件設計144.1系統(tǒng)結構 144.2電源模塊 144.3電機驅動模塊 164.4傳感器模塊 174.5速度檢測模塊 184.6舵機控制模塊 18第五章 軟件設計19軟件處理流程195.2速度控制算法與彎道控制策略195.3舵機控制22系統(tǒng)聯(lián)調236.1開發(fā)工具236.2上位機調試24第七章 總結25參

3、考文獻26附件:源程序代碼27第五屆全國大學生智能汽車邀請賽技術報告第五屆全國大學生智能汽車邀請賽技術報告 PAGE PAGE 35第一章 引言所用車模型號為99-BDG76899-1。采用16 位MCU(MC9S12XS128)作為主控制單元,自主設計、制作一輛能夠自動識別特制跑道并能沿跑道行駛的智能小車。整個系統(tǒng)主要包括三大方面:機械結構安裝,硬件電路設計,軟件算法設計。按模塊劃分為:電磁傳感模塊,電機控制模塊,舵機驅動模塊,速度檢測模塊,電源模塊等。整個系統(tǒng)為一個閉環(huán)控制系統(tǒng),通過電磁傳感采集的道路信息及軟件算法對起跑線、直道、彎道等的判別來調節(jié)舵機轉向,控制小車的位置。結合速度檢測模塊

4、的反饋信息精確控制小車的運動狀態(tài)。以主MCU為中央紐帶控制和協(xié)調各模塊調理有序的穩(wěn)定運行。后文將分別從機械結構、系統(tǒng)硬件設計、軟件設計三大方向對各子模塊進行詳細解析。關鍵字:電磁檢測 PID MS9SXS128 舵機控制第二章 系統(tǒng)總設計方案論證2.1設計思路小車比賽屬競速比賽,對速度要求較高。所以首先考慮到的是小車動力問題,驅動電路的設計和芯片的選型很重要。另一個重中之重就是“目標”的問題。對于小車來說,道路信息就是目標,解決小車對道路信息的采集、處理就成了主要任務(也是重要任務)。解決上述問題后,剩余的工作就是讓小車成為一個系統(tǒng),讓各模塊統(tǒng)一協(xié)調工作。因為采用閉環(huán)控制可使系統(tǒng)更加穩(wěn)定,控制

5、更精確。所以可讓MCU綜合速度檢測信息和道路檢測信息控制轉向和動力輸出形成一個環(huán)回路的控制系統(tǒng)。綜上所述,所需解決的主要問題有:道路檢測方法,驅動芯片選型,速度檢測方法,轉向控制等。2.2 道路信息檢測方案一:CCD/CMOS攝像頭檢測使用攝像頭獲取路面圖像信息,采用圖像處理技術判斷路徑,是路徑識別中常用的方法之一。方案二:紅外檢測紅外檢測是通過傳感器發(fā)射特定波長的紅外光,通過反射光的不同來識別道路。方案三:電磁檢測 通過檢測規(guī)定頻率電磁場的強度和方向可以反過來獲得距離導線的空間位置,以此來識別道路。以上兩種方案的優(yōu)缺點比較如表2.2.表2.2.1道路檢測方案優(yōu)點缺點CCD/CMOS攝像頭1.

6、檢測前瞻距大;1.電路設計復雜;需要視頻信號同步分離、工作12v電源電路等輔助電路; 2.軟件計算量大;3.檢測信息更新速率慢; 2.檢測范圍寬;3.檢測道路參多; 紅外檢測1.電路設計相對單;1.道路參數(shù)檢測精度低;2.受比賽環(huán)境光線影響較大; 3.前瞻性好; 2.檢測信息速度快;3.調試簡單;4.成本低; 電磁檢測1.檢測電路設計相對簡單;1.前瞻性較差; 2.所需的電流頻率固定,改變頻率影響小車檢測道路 2.道路檢測幾乎不受外界環(huán)境影響;3.算法易于控制通過上述對兩種方案的比較,由于攝像頭的圖像處理技術、軟件算法較為復雜。紅外檢測受比賽場地光線的影響大,算法和機械結構在有限的時間內難以改

7、善。而電磁檢測電路設計較簡單,幾乎不受光線等外部因素限制。最后決定采用第三種方案(電磁檢測)。2.3 傳感器布局基于路徑信號的特性,傳感器可分為三個方向安裝:橫向(與跑道水平垂直),豎向(與跑道水平平行),垂直(垂直于跑道水平面)。三個方向可分別感應立體空間磁場的三個分量。由于電磁感應沒有前瞻性,傳感器布局可以采用單排、兩排甚至多排布局。采用兩排或多排布局其主要目的和優(yōu):前面一排可以盡可能的看得遠,后面的則能更精確的檢測路徑和車身信息。但采用多排也有很大的弊端,由于傳感器體積大,重量相對比較重,如采用多排則無疑增加了很大的負荷,這對于舵機轉向來說是致命的。采用多排傳感器傳感器數(shù)量增多,程序處理

8、也變得更復雜。而采用單排傳感器最大的優(yōu)點就是控制簡單,重量輕,舵機轉向靈活。經(jīng)過測試后發(fā)現(xiàn),采用單排傳感器所采集的道路信息完全能滿足控制所需。本系統(tǒng)采用單排布局,共五個傳感器排成一排形成“一”字。傳感器安裝方向分別為左右兩個橫向安裝,用于確定車身位置來控制舵機轉向。中間三個豎向安裝,主要用于彎道和直道的檢測用于更好的控制速度,如圖2.3.1。圖2.3.1 傳感器結構示意圖2.4 電磁傳感器選擇方案一:自制電感使用工字型磁性材料,在材料的凹部用特定的金屬線圈纏繞。自制電感可以增大檢測交變磁場的范圍,價格便宜,但是檢測誤差較大,檢測道路不好控制,并且質量偏大。方案二:磁敏傳感器 檢測精度高,測量范

9、圍廣,并且使用壽命長,但是價格昂貴,不易購買和臨時更換元件。方案三:普通工字型10mH電感,如圖2.4.1圖 2.4.1這類電感體積小,Q值高,具有開放的磁芯,頻率相應快,實現(xiàn)電路簡單。使用電感線圈可以對其周圍的交變磁場感應出響應感應電動勢,比賽選擇20kHZ的交變磁場作為路徑導航信號,在頻譜上可以有效避開周圍其它磁場的干擾,信號放大器可以使用LC串并聯(lián)電路進行選頻。電路圖如下: 圖 2.4.2通過比較,綜合考慮選擇第三種方案。只要解決抗干擾方面的問題就可以很好滿足系統(tǒng)的要求,發(fā)揮明顯其優(yōu)勢。2.5 車身參數(shù)模型車主要技術參數(shù)模型車總重量2 Kg模型車長38 cm模型車寬23 cm模型車高7

10、cm電容總容量464 uf傳感器種類工字電感傳感器個數(shù)5賽道信息檢測頻率201 KHZ第三章 機械結構3.1 前輪定位模型車的機械結構設計自身很巧妙,前輪轉向輪具有自動校驗回正功能。前轉向輪的安裝位置由主銷后傾角,主銷內傾角,前輪外傾角和前輪前束決定。主銷后傾:指主銷軸線與小車水平面的垂線向后行成一定角度。利用轉彎時的離心力產(chǎn)生一個反向的克服力矩來迫使小車轉向自動回位。從這一點來說,后傾角越大,越有利于小車的自動調節(jié),但事實上如果后傾角過大反而會使車不穩(wěn)定,這是由于后傾角過大,車的自動回位能力太強加之這種機械結構所固有的延時特性讓轉向輪左右重復回擺。圖3.1.1 主銷后傾示意圖主銷內傾角:指主

11、銷與車輪縱向平面不平行,主銷上端稍微向里合形成一定角度。車在轉彎時可以將車微微抬高,這樣小車剛好可以借助于自身的重力讓小車轉向復位,同時也減小了阻力矩和舵機加在力臂上的力。內傾角和后傾角一樣,也不能過大,過大會讓車輪與地面產(chǎn)生滑動,增加輪胎和路面間的摩擦阻力反而使轉向變得沉重且加速輪胎磨損。圖3.1.2 主銷內傾示意圖主銷內傾和主銷后傾都能使模型車自動回正,不同點在于主銷內傾回正與車速有關,而主銷后傾與車速無關??梢哉f,在高速時主銷內傾起主要作用,而低速時,主要依靠主銷后傾使模型車回正。前輪外傾角:指車輪中心的汽車橫向平面與車輪平面的交線與地面垂線之間的夾角。外傾角可以減小或消除車重載時由于主

12、銷與襯套、輪轂與軸承等處的裝配間隙帶來的車輪相對地面滑動問題,同時也可減小轉向阻力和軸向分力的負荷,使汽車轉向輕便。圖3.1.3 前輪外傾示意圖前輪前束:是指兩輪之間的后沿距離數(shù)值與前沿距離離數(shù)值之差。調整前束是為了解決由于外傾角的作用導致車輪成圓錐似滾動而橫向拉桿阻止類似運動的矛盾。外傾角和前束一定要相匹配。圖3.1.4 前輪前束示意圖最終各參數(shù)調節(jié)如表3.1.1示:表3.1.1 前輪參數(shù)調節(jié)方案 后傾角 內傾角 外傾角 前束 2 5 1 12mm3.2 后輪差動器差速機構是為解決小車在轉彎時由于內外側輪胎的速度差造成的滑動問題而特別設計的。差速機構的調節(jié)過緊過松都會降低性能,保證性能的前提

13、下,能松盡量松,達到松而不散的效果。3.3 后輪距調整由于驅動馬達和測速機構都固放在后輪處,在對速度要求高的比賽中后輪距對驅動力的影響也不能忽略,后輪距加寬可提高小車穩(wěn)定性,但由于輪距的增大帶來的軸承負荷也跟隨著增大,同時小車跑出賽道的機率也增大。輪距減小對增大驅動力有利。本隊決定采用窄的后輪固定件保證車的驅動力促進車速在短時間內提高。3.4 輪胎改進 F1比賽中對輪胎的選擇也是相當重要的,輪胎的摩擦系數(shù)、彈性系數(shù)等都是很重要的參數(shù)。結合駕車經(jīng)驗,適當增加前輪“充氣量”可使轉向更靈敏但不要過度,否則會出現(xiàn)蹦極現(xiàn)象。后輪太軟對速度的提高有很大影響,太硬會降低輪胎的抓地性,發(fā)生打滑。結合模型車特點

14、,本隊將對輪胎做適當處理,在保證彈性的前提下往里面多添加兩層泡沫物質,形成“實心胎”。(主要針對后輪,前輪也可適當增加)3.5 減震彈簧改進考慮到模型車使用時間過長后,不可避免的有一些機械結構松動。前輪減震彈簧性能肯定會大幅下降更有甚者有失去減震功能的可能,這樣即使舵機沒有擺動,前輪也可能作小幅度擺動,影響舵機的精確控制。本隊采用彈簧阻力系數(shù)大的圓珠筆彈簧替代前輪的減震彈簧將其固定死,改善前輪擺動問題。由于小車重心靠后輪,所以后輪即使是小幅擺動也會造成車失控,增加后輪減震彈簧的預緊力可以很好的防止這一問題,設計時在后輪減震彈簧處增加墊片使后輪更加穩(wěn)定。3.6舵機安裝調整為減小舵機響應時間長對小

15、車速度的影響,我們通過增加舵機的力臂來彌補這一缺陷。加長力臂后減小了舵機轉向范圍,使前輪轉動相同的角度,所需時間更短,響應更快。但若舵機力臂太長又會造成舵機轉向力矩太小,PWM 信號與角度不能很好的一一對應,對于舵機的開環(huán)控制會帶來很大的穩(wěn)態(tài)誤差。綜合以上考慮,我們將舵機的力臂由原來的 1.7cm 加長2.5cm,將舵機豎向安裝,這樣還可使兩力臂等長安裝以解決轉角不等的問題。圖3.6.1 舵機安裝示意圖3.7速度檢測模塊安裝本隊采用ST188反射式光電傳感器檢測速度。在車后輪軸上安裝黑白相間的碼盤,將碼盤內徑與輪胎連接件的外徑做成一致,不易太大,防止有相對轉動。安裝碼盤時避免在輪胎上打洞,以防

16、機械結構損壞影響穩(wěn)定性。3.8 重心轉移模型車的 HYPERLINK javascript:; t _self 重心轉移是競速比賽中的重要環(huán)節(jié)之一,也是衡量機械結構好壞的標準之一。能運用好重心轉移將使你事半功倍。當模型車轉彎時,由于車的物理慣性而產(chǎn)生離心力,該力作用于重心產(chǎn)生扭矩,該扭距將會遵從牛頓第二定律而被抵消。這個抵消過程實際上令外側的輪子受到比內側輪子更大的壓力。因為整車的重力是保持恒定的,所以從內側輪移走的壓力必然添加到外側輪子上。換句話來說,重力被從內側轉移到外側。假設模型車正在左轉,任何來自左前輪的重力都必定轉移到右前輪,任何來自左后輪的重力都必定轉移到右后輪。在剎車或者加速的時

17、候,重力也會在前后方向轉移。這就是為什么可以通過施加一點剎車以減少車輛的轉向不足。這時重力從后輪轉移到前輪,因此獲得更多的前輪抓地力以使車輛轉向。重力轉移的量是和重心的高度成正比,和車的輪距成反比。這就是為什么絕大多數(shù)賽車都在規(guī)則限定內盡可能的寬,重心盡可能低,因為那可以減少橫向重力轉移,以防止總體抓地力的減少。重力轉移也和車子的靜止質量成正比,這也是賽車要盡可能的輕,同樣的這也可以減少重力轉移。 重力轉移的量還取決于其他因素,比如速度和轉彎時所行進路線的半徑。事實上重力轉移的量和轉彎半徑成正比。這也是為什么當車子轉彎的時候,轉彎半徑比較大的線路是最快的線路。因為它使重力轉移盡可能的小,并使轉

18、向抓地力盡可能的大。第四章 系統(tǒng)硬件設計4.1 系統(tǒng)結構系統(tǒng)由電源模塊、電機控制模塊、主控模塊、紅外傳感模塊、速度檢測模塊、舵機驅動模塊。系統(tǒng)設計總框圖如圖4.1.1示:主控模塊主控模塊 電機控制模塊 速度檢測模塊舵機驅動模塊磁場傳感模塊電源模塊圖4.1.1 系統(tǒng)設計總框圖舵機驅動模塊和電機控制模塊直接由電源供電,保證充足的動力。紅外傳感模塊、主控模塊、速度檢測模塊由降壓電路降到5V后提供。主控模塊通過接收紅外傳感模塊的信息以及速度檢測模塊反饋的信息,經(jīng)處理后通過調節(jié)舵機的轉角及后輪驅動的轉速來控制小車正常運行。通過對速度的檢測形成一個閉環(huán)的控制回路。各模塊以主控模塊為紐帶,在主控模塊的控制下

19、相互協(xié)調工作,保證小車穩(wěn)定快速工作。以下將對各個模塊分別進行分析。4.2 電源模塊 單片機系統(tǒng)、路徑識別的紅外傳感器、測速傳感器均需5V電源。舵機工作電壓范圍4V6V,為提高舵機響應速度,舵機和后輪驅動電機都采用7.2V供電(經(jīng)過測試7.2V對舵機性能沒有太大影響)。常用的轉5V電源芯片分線性型穩(wěn)壓芯片和開關型穩(wěn)壓芯片兩大類。各自的優(yōu)缺點如下:線性型:優(yōu)點:線性度高,紋波小,外圍電路結構簡單。缺點:發(fā)熱量大(需加龐大的散熱片),效率低,功耗大,帶載能力偏弱。常用芯片型號有LM2940、7805、7350等。開關型:優(yōu)點:功耗小,轉換效率高。缺點:電路比較復雜,電路的紋波大,受尖峰脈沖干擾較嚴重

20、。常用型號有LM2596、LM2576等。兩類芯片的優(yōu)點和缺點都比較明顯,所以在使用時需綜合考慮,揚長避短。由于單片機需要提供穩(wěn)定的5V電源,紋波不易過大,否則可能會導致單片機運行異常。而LM2940的輸出線性度非常好,且芯片的壓差不大,最小可到0.6V,對于本次比賽所用的電源7.2V來說無疑是最佳搭檔。所以選用LM2940-5單獨對單片機進行供電。光電傳感器需要較大的工作電流,功耗很大,而紋波對功能上沒有太大影響。所以對驅動芯片的要求是能夠提供充足的驅動力才是最主要的。LM2576-5轉換效率高,帶負載能力強,輸出電流范圍在1.5A3A,對紅外傳感器及測速模塊供電還是很不錯的,能保證充足的電

21、源。盡管LM2596的輸出線性度好且輸出的穩(wěn)定電流可達3A,但是該芯片的價格昂貴。在LM2576能滿足要求的情況下,其優(yōu)勢也就沒有那么明顯了。因此最終還是選用LM2940-5、TPS7350和LM2576-5分別對傳感器檢測電路、最小系統(tǒng)和控制電路供電。 (a)(b)( c)圖4.2.1 電源芯片電路(a)舵機供電電路 (b)檢測板供電電路 (c)最小系統(tǒng)供電電路4.3 電機驅動模塊 電機驅動電路常選用MC33886驅動芯片,其使用簡單,只需通過相應引腳輸入不同的PWM波調節(jié)電機轉速,該芯片支持正反轉和制動功能且解決了死區(qū)問題。對于初學者來說不用考慮死區(qū)肯定是有利無弊的。但芯片的導通電阻較大(

22、約120毫歐),若長時間工作,芯片發(fā)熱過大導致電阻增大,降低芯片的驅動力。所以,尋找了相應內阻比較小的驅動芯片BTS7960。BTS7960 具有很小的內阻,可通過49A的電流的半橋驅動芯片。為方便使用,采用兩片BTS7960并聯(lián)來達到全橋的效果。圖4.3.1 MC33886驅動電路使用MOS管自行設計H橋驅動也是很不錯的選擇。使用MOS管IRF3205最大的優(yōu)勢就是導通電阻小,只有約0.077歐,可提供足夠的驅動力使電機加速。原理圖如下所示: 圖4.3.2 MOS管驅動電路但H橋的電路復雜,且需要考慮導通的死區(qū)(死區(qū)的調整很復雜)。綜上比較,本隊采用BTS7960集成芯片作為本次小車的驅動芯

23、片。4.4 傳感器模塊電磁傳感器檢測路面信息的原理是由電感和電容并聯(lián)產(chǎn)生相應的特定頻率諧振,其頻率的設定為跑到信息頻率的附近,再由諧振感應跑到上由變化的電流產(chǎn)生的變化的磁場,從而產(chǎn)生相應的交流電壓,再將相應的交流的電壓進行放大、整流和濾波從而變化成相應的電壓,如圖4.4.1。而起跑線的檢測采用鋼簧管檢測,如圖4.4.2圖4.4.1 道路示意圖 圖4.4.2 起跑線考慮到舵機響應速度較慢( 0.11s/60),難以滿足高速行駛中的轉彎要求,小車容易沖出跑道。為了使小車在偏離賽道后還能重新調節(jié)角度回到賽道,特意在小車前輪的左右兩邊各安裝一個光電傳感器,并設定其路徑識別優(yōu)先級最高以保證在小車前輪沖出

24、賽道時能感知到黑線,即時做出相應反應。4.5速度檢測模塊受小車機械結構限制,必須采用體積小,重量輕的傳感器。本隊采用500P的測速電機,采用的測速電機的好處有以下幾點:使用方便,它是集成的,可以直接買到,不必花費太多的時間;效果好,它是500P的,即:轉軸轉動一周,會產(chǎn)生500脈沖,其精度很高;干擾很小。若知小車后輪的周長是x,轉一圈傳感器檢測n條黑色標記,設定在t時間內,傳感器檢測了m條黑色標記,小車的速度v為: v=x(m/n)/t 。由此可以測量出小車的運行速度。4.6 舵機控制模塊舵機作為一種位置伺服驅動器件,通過改變輸入信號PWM波的占空比調整輸出角度,實現(xiàn)伺服功能。作為控制賽車循跡

25、行走的關鍵,要求舵機驅動的轉向機構具有精確的角度控制和快速響應能力。我們采用以下三點實現(xiàn)舵機的要求:直接用7.2V 2000mAh Ni-cd電池供電,提高舵機的響應速度;采用兩位PWM連續(xù)使用,提高輸出角度的分辨率;輸出100HZ的調制方波,減小控制信號的延時。第五章 軟件設計5.1 軟件處理流程系統(tǒng)初始化系統(tǒng)初始化讀取道路信息處理道路信息并得到相關參數(shù)根據(jù)參數(shù)選擇算法執(zhí)行舵機與電機圖5.1.1 軟件設計總流程圖模型車在直道上的速度相差不是很大,在彎道上的比拼才是整個比賽的重點,因此如何優(yōu)化彎道的算法才是整個控制算法的關鍵。5.2 速度控制算法與彎道控制策略 模型車平穩(wěn)地行駛是本次比賽的基本

26、要求,但這并不意味著這是最簡單的要求,因為速度控制的好壞直接影響整車的許多方面,比如直道的速度提升,轉彎速度(甚至影響了模型車的打滑程度),導致彎道速度總是無法提升,特別容易打滑,根本原因就是速度控制算法處理不當造成的。首先使用的是速度算法是位置式的PID算法,PID控制是工程實際中應用最為廣泛的調節(jié)器控制規(guī)律。問世至今70多年來,它以其結構簡單、穩(wěn)定性好、工作可靠、調整方便而成為工業(yè)控制的主要技術之一。PID調節(jié)是Proportional(比例),Integral(積分),Differential(微分)三者的縮寫,是一種過程控制算法,就是對誤差信號(采樣信號與給定信號的差)通過比例,積分,

27、微分的運算后的結果作為輸出控制信號,來控制所要控制的對象。比例調節(jié)作用:是按比例反應系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)了偏差,比例調節(jié)作用用以減少偏差。比例作用大,可以加快調節(jié),減少誤差,但是過大的比例使系統(tǒng)的穩(wěn)定性下降,甚至造成系統(tǒng)的不穩(wěn)定。積分調節(jié)作用:是使系統(tǒng)消除穩(wěn)態(tài)誤差,提高誤差度。當有誤差時,積分調節(jié)就進行,直至無誤差,積分調節(jié)停止,積分調節(jié)輸出一常值。積分作用的強弱取決與積分時間Ti,Ti 越小,積分作用就越強。反之Ti 大則積分作用弱,加入積分調節(jié)可使系統(tǒng)穩(wěn)定性下降,動態(tài)響應變慢。微分調節(jié)作用:微分作用反應系統(tǒng)偏差信號的變化率,具有預見性,能預見偏差變化的趨勢,因此能產(chǎn)生超前的控制作用,在

28、偏差還沒有形成之前,已被微分調節(jié)作用消除。因此,可以改善系統(tǒng)得動態(tài)性能。在微分時間選擇合適的情況下,可以減少超調,減少調節(jié)時間。微分作用對噪聲干擾有放大作用,因此過強的加微分調節(jié),對系統(tǒng)抗干擾不利。單位反饋的PID控制原理框圖如圖5.2.1:contorllercontorllerplantReuY圖5.2.1 PID算法框圖單位反饋e代表理想輸入與實際輸出的誤差,這個誤差信號被送到控制器,控制器算出誤差信號的積分值和微分值,并將它們與原誤差信號進行線性組合,得到輸出量u。 (公式1)公式1中,Kp、Ki、Kd分別稱為比例系數(shù)、積分系數(shù)、微分系數(shù)。u接著被送到了執(zhí)行機構,這樣就獲得了新的輸出信

29、號,這個新的輸出信號被再次送到感應器以發(fā)現(xiàn)新的誤差信號,這個過程就這樣周而復始地進行。PID各個參數(shù)作用基本介紹:增大微分項系數(shù)可以加快動態(tài)系統(tǒng)響應,但容易引起震蕩。一般增大比例系數(shù)能夠減小上升時間,但不能消除穩(wěn)態(tài)誤差。增大積分系數(shù)能夠消除穩(wěn)態(tài)誤差,但會使瞬時響應變差。增大微分系數(shù)能夠增強系統(tǒng)的穩(wěn)定特性,減小超調,并且改善瞬時響應。增量型算法與位置型算法相比,具有以下優(yōu)點: (a) 增量型算法不需要做累加,控制量增量的確定僅與最近幾次誤差采樣值有關,計算誤差或計算精度問題,對控制量計算影響較小。而位置型算法要用到過去的誤差的累加值,容易產(chǎn)生大的累加誤差。 (b) 增量型算法得出的是控制量的增量

30、,誤動作影響小,必要時通過邏輯判斷限制或禁止本次輸出,不會嚴重影響系統(tǒng)的工作,而位置型算法的輸出是控制量全量輸出,誤動作影響大。 (c) 采用增量型算法,易于實現(xiàn)手動到自動的無沖擊切換。圖5.2.2 PID算法流程圖對于經(jīng)典的PID算法,經(jīng)過將近一個星期的摸索,仍然不能很好地控制好速度,后來又改為增量式的PID算法,可效果還是平平,增量式的PID算法公式2如下: (公式2)在一般PID中,當有較大的擾動或者大幅度的改變給定值時,由于此時有較大的偏差,以及系統(tǒng)有慣性和滯后,故在積分項作用下,往往會產(chǎn)生較大的超調和長時間的波動。可采用積分分離的措施:同時,因長時間出現(xiàn)偏差或偏差較大,計算出的控制量

31、有可能溢出,或小于零。因此必須指定控制量的上下限。 最后決定在經(jīng)典的PID算法中,加入最簡單的bang-bang算法。算法思想如下:在直道時采用PID算法,同時設定速度的上下限,使速度不至于加減速太過。設定上限速度就是直道極限速度,下限速度就是直道最安全速度,這樣設定保證直道既高速又安全地運行。彎道控制最重要的前提是不能側滑,增大防側滑力是最根本的方法。由于使用的是速度閉環(huán),在入彎道時速度肯定會減低,此時因為速度閉環(huán)的原因,會產(chǎn)生一個很大的力(即前文所說的F2),來提高前進速度,根據(jù)前面的分析,F(xiàn)2的增加必然導致防側滑力F3的減小,造成模型車過彎側滑,但如果在過彎時暫時不使用速度閉環(huán),那么就不

32、會增大F2,防側滑力F3也就增加了。因此,在彎道中暫時屏蔽了速度閉環(huán),采用簡單的bang-bang算法,當雙排傳感器都從黑線的一邊偏離時,零占空比輸出,否則的話滿占空比輸出。公式3如下:(公式3)解決了側滑問題,的過彎速度大大提高。當從直道入彎道時,為保證平穩(wěn)入彎,還必須設定一個入彎安全速度,經(jīng)過反復的實驗,設計比賽規(guī)則中最大彎道安全速度為入彎安全速度。實際流程圖如圖5.2.3:圖5.2.3 直道彎道控制流程圖5.3 舵機控制舵機控制采用PD控制,其中P為變化的量:servo=Pka+Pdd(公式4)公式4中servo為舵機輸出量,a為偏離量,Pk為比例系數(shù),Pd為微分系數(shù),d為微分項,其中比

33、例系數(shù)是變化的。當發(fā)現(xiàn)偏離量在增大時,即上次的動作沒有很好的補償偏差,此時應增大比例系數(shù)Pk。反之,若現(xiàn)在偏離量在減小,且偏離量小于一定值,此時應減小比例系數(shù)Pk,此時為向直道走或者在直道上,同時,若發(fā)現(xiàn)偏離量在0的兩邊抖動時,應減小比例系數(shù),減小震蕩。而加入微分變化量可以很好的解決由直道進彎道和由彎道切彎道舵機反應不過來的問題,加入微分啟動了一定量的超錢控制。第六章系統(tǒng)聯(lián)調6.1 開發(fā)工具我們使用的是飛思卡爾公司提供的16位單片機MC9S12DG128B,軟件開發(fā)工具采用Metrowerks 公司開發(fā)的軟件集成開發(fā)環(huán)境Codewarrior for HCS12,其包括集成環(huán)境IDE、處理器專

34、家?guī)?、全芯片仿真、可視化參?shù)顯示工具、項目工程管理器、C交叉編譯器、匯編器、鏈接器以及調試器,可以完成從源代碼編輯、編譯到調試的全部工作。另外,CodeWarrior編譯器提供了幾種從C源代碼產(chǎn)生實際匯編代碼的優(yōu)化方法,這些代碼被編程到微控制器中。CodeWarrior提供了大量的優(yōu)化方法,選擇不同的優(yōu)化選項,生成的代碼是不同的。在本程序設計過程中用到了很多分支程序,但由于CodeWarrior的分支優(yōu)化功能使得一些算法不能實現(xiàn),所以在編譯時我們重新選擇了編譯優(yōu)化選項下的優(yōu)化功能。圖4.1 Codearrior調試窗口使用M來下載程序,把編譯好的程序下載到單片機里運行。6.2 上位機調試單片機

35、通過MAX232把采集到的圖象信息輸出到上位機。調試的過程中,可以顯示主要參數(shù),例如識別狀態(tài),路徑信息,車模行駛參數(shù)等等,車模將運動過程中的道路、舵機、速度等數(shù)據(jù)記錄下來,運行完畢后,將這些數(shù)據(jù)通過串口傳給上位機。上位機程序進行分析顯示。該程序詳盡記錄了車模行駛過程中,系統(tǒng)全部的控制過程和響應過程,避免了由于車速過快、控制周期過短而造成重要細節(jié)的遺漏,方便對控制策略進行分析、評價和改進為制定最佳的算法策略做準備。第七章 總結 本隊在設計時結合實際,充分考慮了賽道信息及小車結構,特別是在機械結構方面做了大量的改進來降低運行過程中的錯誤率。如考慮到小車在跑S道時容易沖出跑道的問題,我們首先運用力學

36、,運動學等知識進行綜合分析,結合理論分析得到改進方案通過重心的轉移、提高舵機轉向的靈活性以及增大輪胎抓地性等方面進行改進。讓小車在轉彎時快捷、靈敏、穩(wěn)定不至沖出跑道。在硬件設計過程中我們進行大量比較,認真篩選,選擇合適的電路和芯片提高小車的運行效率。如對驅動芯片的選擇,我們仔細區(qū)別各芯片的優(yōu)劣,通過模擬或參考前人經(jīng)驗選擇最好的電路和芯片。光有上面這些是遠遠不夠的,軟件算法也至關重要,離開程序的控制,前面的一切都是徒勞的。在軟件算法方面我們結合多種算法(PID算法,記憶算法等)對賽道信息的精確識別以及對小車運動狀況的控制。包括起跑線的識別,十字交叉線、直道、S道等的識別以及小車運行速度、加速度的

37、檢測。通過MCU對各模塊信息的綜合處理來控制小車穩(wěn)定運行。參考文獻 1 譚浩強.C程序計M.京:清大學出社,001.2 唐俊,張群瞻編.Protel DXP原理與應用北京冶金業(yè)出版社20.3 孫同陳桂友編.Freesale9S12十六位片機原理及嵌入式開發(fā)技術.北京-機械工 業(yè)出版社,2008 4 余志生汽車理論M.機工業(yè)出社.2000年4月第3版.5 宋年,騰飛,朱永強編.圖汽車車身構造與拆裝.京-中國電出版社,2007 6 童詩白模擬電技術基M.北:高教出版社,201. 7 Freesale Seiconducor, Inc. MC9S12G128 evice User GuideZ 8

38、周平周正風編.MATLAB數(shù)值析. 北-械工業(yè)出版社,2009.9 張笑,楊奮強編.MATLAB7x礎教程.西-西安電子技大學出版社,2008 10 張德等編.MATLAB數(shù)字圖像處理.北京-械工業(yè)出版社,200911 唐俊,張群瞻編.Protel XP原理與應用.北京-冶金業(yè)出版社,2003.1012 劉藝許大琴,萬福編.嵌入系統(tǒng)設計大學教程.北人民郵出社,0813 韓紹,許向陽,王曉華編.動控制原理.北京理工大學出版社,200914 胡斌.圖標細說元器件及其實用電路.北-電子工業(yè)版社,2008劉藝許大琴,萬福編.嵌入系統(tǒng)設計大學教程.北人民郵出社,0815 王爾乾,楊士強,巴林鳳.數(shù)字邏輯

39、與數(shù)字集成電路M.北京:清華大學出版社,2002 年6月第2版.16 侯虹 .采用模糊 PID控制律的舵機系統(tǒng)設計. 中國空空導彈研究院 , 河南 洛陽 471009.17 電磁組競賽車模路徑檢測設計參考方案. 競賽秘書處 2010-1,版本1.0.18 李仕伯 馬旭 卓晴.基于磁場檢測的尋線小車傳感器布局研究. 清華大學(北京00084).源程序代碼#include declare.hvolatile int i, j, k, l;volatile int start, start_flag, start_flag1;volatile int state, state_flag, state

40、_flag1;volatile float d_cornerl, d_cornerm, d_cornerr;volatile int o_corner, corner;volatile int max55;volatile int motor_control;volatile int wanted_speed, cur_speed, avg_speed, delta_speed;volatile float corner0;volatile float l04_max, r40_max; volatile float l_max, m_max, r_max; volatile float ad

41、_result5, data5,o_data5; volatile static int m=0; /=鎖相環(huán)初始化程序=/外部晶振時鐘16M,總線時鐘倍頻為32M/輸入?yún)?shù):無;輸出參數(shù)無/void setbusclk_32m( void ) CLKSEL = 0X00; / disengage PLL to system PLLCTL_PLLON = 1; / turn on PLL SYNR = 0 x04 | 0 x07; / pllclock=2*osc*(1+SYNR)/(1+REFDV)=64MHz REFDV = 0 x40 | 0 x03; POSTDIV = 0 x00;

42、_asm( nop ); / BUS CLOCK=32M _asm( nop ); while( !(CRGFLG_LOCK=1) ); /when pll is steady ,then use it CLKSEL_PLLSEL = 1; /engage PLL to system /=AD初始化程序=/輸入?yún)?shù):無;輸出參數(shù):無/void ad_init( void ) ATD0CTL1 = 0 x40; /7:外部觸發(fā),65:轉換位數(shù)選擇:00-8位,01-10,10-12位精度;4:放電 ATD0CTL2 = 0 x60; /禁止外部觸發(fā), 中斷禁止 ATD0CTL3 = 0 xa8;

43、 /右對齊無符號,每次轉換5個序列, No FIFO, Freeze模式下繼續(xù)轉 ATD0CTL4=0 x61;/765:ATD0CTL5 = 0 x30; /6:0特殊通道禁止,5:1連續(xù)轉換 ,4:1多通道輪流采樣 ATD0DIEN = 0 x00; /禁止數(shù)字輸入 /=PWM初始化程序=/輸入?yún)?shù):無;輸出參數(shù):無/void pwm_init( void ) PWME = 0 x00; /PWM使能 PWMPRCLK = 0 x00; /clock A clock B為總線時鐘 PWMSCLA = 0 x32; PWMSCLB = 0X32; /clk SB=clk B/(2*pwmsc

44、lb)=320KHZ PWMCLK = 0 xFF; /PWM clock select register,0:AB,1:SASB PWMPOL = 0 xFF; /PWM 極性選擇:1:high,0:low PWMCAE = 0 x00; /對齊方式:1:中心對齊,0:左對齊 PWMCTL = 0 x70; /01,23,45,16位的寄存器工作方式 /=I/O初始化程序=/輸入?yún)?shù):無;輸出參數(shù):無/void io_init( void ) DDRS = 0 x00; /端口定義為輸入 PTS = 0XFF; /賦初值,防止干擾 DDRA = 0X00; DDRE = 0X00; PORT

45、A = 0XFF; /=PIT初始化程序=/輸入?yún)?shù):t;輸出參數(shù):無/ /void pit_init( void ) PITCE_PCE1 = 1; /定時器通道使能選擇 PITMUX_PMUX1 = 1; /對定時器通道的8位時基進行選擇,8位計數(shù)器只有PMUX0,PMUX1兩個 PITMTLD1 = 159; /設置8位計數(shù)器初值,以實現(xiàn)24位的計數(shù),范圍為0255,PMUX=x時使用PITMTLDx PITLD1 = 200*t - 1; /16位定時器初值設定,200*t=1*tMS,PCEx=1時,選擇PITLDx PITINTE_PINTE1 = 1; /PIT中斷通道1使能,當

46、計數(shù)器遞減溢出時,申請中斷 PITCE_PCE0 = 1; /定時器通道使能選擇 PITMUX_PMUX0 = 1; /對定時器通道的8位時基進行選擇,8位計數(shù)器只有PMUX0,PMUX1兩個 PITMTLD0 = 159; /設置8位計數(shù)器初值,以實現(xiàn)24位的計數(shù),范圍為0255,PMUX=x時使用PITMTLDx PITLD0 = 199; /16位定時器初值設定,200*t=1*tMS,PCEx=1時,選擇PITLDx PITINTE_PINTE0 = 1; /PIT中斷通道1使能,當計數(shù)器遞減溢出時,申請中斷 PITCFLMT_PITE = 1; /定時器使能 /=ECT初始化程序=/

47、輸入?yún)?shù):無;輸出參數(shù):無/ /void ect_init( void ) TSCR1 = 0 x80; /定時器允許正常工作 TSCR2 = 0 x04; /定時器溢出中斷禁止,定時計數(shù)器復位中斷禁止,預分頻因子為16 PACTL = 0 x50; /16位脈沖累加器有效,事件計數(shù)模式,上升沿觸發(fā),使用預分頻因子定義時鐘,禁止溢出中斷,禁止輸入中斷 TCTL3 = 0 x40; /通道7輸入捕捉類型選擇:00:禁止捕捉,40:上升沿捕捉,80:下降沿捕捉,f0:上升下降沿都捕捉 TIE_C7I = 0; /PIT定時器中斷允許寄存器,通道7禁止中斷 TIOS_IOS7 = 0; /通道選擇寄

48、存器,0:輸入捕捉,1:輸出比較 /=ADC轉換程序=/輸入?yún)?shù):無;輸出參數(shù):ad_result04/void ad_convert( void ) ad_init( ); /每次轉換都要重新調用ADC初始化程序,防止干擾 while( !ATD0STAT0_SCF ); /等待轉換結束,ATD0STAT0_SCF為轉換結束標志位 ad_result0 = ATD0DR0; /以下為轉換結果賦給ad_result04作為輸出值 ad_result1 = ATD0DR1; ad_result2 = ATD0DR2; ad_result3 = ATD0DR3; ad_result4 = ATD0

49、DR4; /=PIT定時器溢出中斷服務程序=/輸入?yún)?shù):無;輸出參數(shù):cur_speed/#pragma CODE_SEG NON_BANKEDinterrupt void PIT1( ) PITTF = 0X02; /清除定時器溢出標志位 DisableInterrupts; /關閉中斷,防止高優(yōu)先級中斷搶占 cur_speed = PACNT; /計數(shù)器值賦給count作為輸出 PACNT =0; /清零定時計數(shù)器 if( state=1 ) /state為起跑線第一次檢測狀態(tài)位 /state_flag為起跑線檢測延時中斷計數(shù)標志位 state_flag+; /state_flag1為起跑

50、線延時完畢標志位 /if(state_flag200) /state_flag1=1; if( start=1 ) /start為啟動按鍵按下標志位 /start_flag為啟動延時中斷計數(shù)標志位 start_flag+; /start_flag1為啟動延時完畢標志位 if( start_flag 120 ) start_flag1 = 1; if( start_flag1=1 ) start = 0; EnableInterrupts; /開啟中斷 /=舵機中斷控制服務程序=/輸入?yún)?shù):ad_result0,4;輸出參數(shù):corner/interrupt void PIT0( ) DisableInterrupts; /關閉中斷,防止高優(yōu)先級中斷搶占 PITTF = 0X01; /清除定時器溢出標志位 while ( PTS_PTS0=0 ) ad_convert ( );

溫馨提示

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

評論

0/150

提交評論