版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第七屆“飛思卡爾”杯全國大學生智能汽車競賽技 術(shù) 報 告學 校:中山大學隊伍名稱:電磁2隊參賽隊員: 李小錕 黃志杰 譽洪生帶隊教師: 成 慧 錢 寧關(guān)于技術(shù)報告和研究論文使用授權(quán)的說明 本人完全了解第七屆“飛思卡爾”杯全國大學生智能汽車競賽關(guān)保留、使用技術(shù)報告和研究論文的規(guī)定,即:參賽作品著作權(quán)歸參賽者本人,比賽組委會和飛思卡爾半導體公司可以在相關(guān)主頁上收錄并公開參賽作品的設(shè)計方案、技術(shù)報告以及參賽模型車的視頻、圖像資料,并將相關(guān)內(nèi)容編纂收錄在組委會出版論文集中。參賽隊員簽名: 帶隊教師簽名: 日 期: 摘 要本論文中設(shè)計的智能車系統(tǒng)采用飛思卡爾公司的kinetisK60作為控制核心,以IR
2、F3205和IRF4905為電機驅(qū)動模塊,通過編碼器獲得電機速度信息。使用由電感及放大電路組成的傳感器獲取賽道信息;在智能車控制方面,基于位置式及增量式的PID控制算法在高速行駛賽車的路徑優(yōu)化和速度控制上有著不錯的效果。為了提高車的速度和穩(wěn)定性,我們使用VC、無線通訊模塊、等多種調(diào)試工具。結(jié)果表明,本系統(tǒng)可靠有效。關(guān)鍵詞:kinetisK60,IRT3205, IRF4905,PIDAbstractWe design the smart car system based on the control of kinetisK60 in this paper. We choose IRF3205
3、and IRF4905 to be the motor drive, and encoder to feedback the speed of the motor. We use electrical inductance to get the information of the track. During the control of the smart car, the positional PID and Increasing PID perform good on path optimization and speed control in high speeding pattern
4、. In order to improve the speed and the stability of the smart car, we use kinds of methods, such as VC, wireless module . It turned out that the system is reliable and effective. Keyword:kinetisK60,IRT3205, IRF4905,PID目錄 TOC h z t 樣式1,1,樣式2,2,樣式3,3 摘要 HYPERLINK l _Toc300772598 Abstract HYPERLINK l
5、_Toc300772598 第一章 HYPERLINK l _Toc300772598 引言 PAGEREF _Toc300772598 h 1 HYPERLINK l _Toc300772599 第二章 系統(tǒng)總體設(shè)計 PAGEREF _Toc300772599 h 2 HYPERLINK l _Toc300772600 2.1 系統(tǒng)概述2 HYPERLINK l _Toc300772612 2.1.1 任務(wù)分解2 HYPERLINK l _Toc300772612 直立控制分析3 HYPERLINK l _Toc300772612 速度控制分析4 HYPERLINK l _Toc300772
6、612 2.1.4 轉(zhuǎn)彎控制分析4 HYPERLINK l _Toc300772601 2.2 車模傾角檢測4 HYPERLINK l _Toc300772601 2.3 整車布局4 HYPERLINK l _Toc300772602 2.4 結(jié)構(gòu)框圖5 HYPERLINK l _Toc300772603 第三章 系統(tǒng)機械結(jié)構(gòu)設(shè)計與實現(xiàn)7 HYPERLINK l _Toc300772604 3.1 車模7 HYPERLINK l _Toc300772604 3.2 車模車身簡化及固定7 HYPERLINK l _Toc300772605 3.3 陀螺儀及加速度計固定結(jié)構(gòu)設(shè)計8 HYPERLIN
7、K l _Toc300772607 3.4 路徑傳感器固定結(jié)構(gòu)設(shè)計9 HYPERLINK l _Toc300772605 3.5 編碼器的安裝設(shè)計9 HYPERLINK l _Toc300772605 3.6主動輪松緊程度的調(diào)整10 HYPERLINK l _Toc300772609 第四章 硬件系統(tǒng)的設(shè)計與實現(xiàn)11 HYPERLINK l _Toc300772610 4.1 硬件設(shè)計總體方案11 HYPERLINK l _Toc300772611 4.2 系統(tǒng)電路的設(shè)計與實現(xiàn)11 HYPERLINK l _Toc300772613 4.2.1 電源管理電路11 HYPERLINK l _To
8、c300772614 4.2.2 電機驅(qū)動電路12 HYPERLINK l _Toc300772615 4.2.3 計數(shù)器電路13 HYPERLINK l _Toc300772615 4.2.4平衡傳感器電路13 HYPERLINK l _Toc300772615 4.2.5 路徑檢測電路14 HYPERLINK l _Toc300772611 4.3 靜電處理14 HYPERLINK l _Toc300772620 第五章 軟件系統(tǒng)的設(shè)計與實現(xiàn)16 HYPERLINK l _Toc300772621 5.1 主程序16 HYPERLINK l _Toc300772622 5.1.1程序運行流
9、程16 HYPERLINK l _Toc300772623 5.1.2 PWM輸出16 HYPERLINK l _Toc300772624 5.1.3 直立控制19 HYPERLINK l _Toc300772624 5.1.4 速度控制19 HYPERLINK l _Toc300772624 5.1.5 轉(zhuǎn)彎控制19 HYPERLINK l _Toc300772625 5.2 卡爾曼濾波19 HYPERLINK l _Toc300772625 5.3 啟動方式20 HYPERLINK l _Toc300772630 第六章 開放工具與系統(tǒng)調(diào)試22 HYPERLINK l _Toc300772
10、631 6.1 開發(fā)工具22 HYPERLINK l _Toc300772631 6.2 無線通信模塊23 HYPERLINK l _Toc300772630 第七章 車輛參數(shù)24 HYPERLINK l _Toc300772630 第八章 總結(jié)24 HYPERLINK l _Toc300772635 致謝 PAGEREF _Toc300772635 h I HYPERLINK l _Toc300772636 參考文獻 PAGEREF _Toc300772636 h II HYPERLINK l _Toc300772636 附錄A HYPERLINK l _Toc300772636 附錄B第一
11、章 引言全國大學生智能汽車比賽是經(jīng)全國高等教育司研究,委托高等學校自動化專業(yè)教學指導分委會主辦的,旨在培養(yǎng)創(chuàng)新精神、協(xié)作精神,提高工程實踐能力的大學生科技創(chuàng)新活動。本次大賽中,使用競賽秘書處統(tǒng)一指定的C車競賽車模套件,采用飛思卡爾半導體公司的32位微控制器kinetisK60作為核心控制單元,自主構(gòu)思控制方案進行系統(tǒng)設(shè)計,包括傳感器信號采集處理、電機驅(qū)動以及控制算法軟件開發(fā)等。制作一個能夠自主識別路線的兩輪自平衡智能車,讓車模以兩個后輪驅(qū)動在專門設(shè)計的跑道上自動識別道路行駛。本技術(shù)報告主要對小車的整體設(shè)計思路,硬件與軟件的設(shè)計及實現(xiàn),機械結(jié)構(gòu)的安裝及優(yōu)化以及賽車的調(diào)試的過程作簡要的說明。第二章
12、 系統(tǒng)總體設(shè)計2.1系統(tǒng)概述系統(tǒng)概述圖如圖2.1所示 圖2.1系統(tǒng)概述2.1.1任務(wù)分解兩輪賽車通過檢測自身傾斜角度以及傾斜角速度的大小,通過單片機處理采集得到的角度、角速度信號,實現(xiàn)對賽車自身平衡以及前進的控制,再以檢測通過以20KHZ、100mA的導線的電磁場為基礎(chǔ),通過單片機處理采集到得磁感應電壓信號,實現(xiàn)對賽車的轉(zhuǎn)向控制,進而識別賽道達到路徑訊跡的目的。車模的運行可以分為三個過程:直立、前進、轉(zhuǎn)彎。但是暫時找不到其他方法可以不依賴電機而可以控制任意一個過程,所以只能由控制車模兩個電機旋轉(zhuǎn)方向及速度實現(xiàn)對車模的控制,因此將車模運動控制任務(wù)分解成以下三個基本任務(wù): 控制車模直立:通過控制兩
13、個電機正反向運動保持車模直立狀態(tài); 控制車模速度:通過控制兩個電機轉(zhuǎn)速速度實現(xiàn)車模行進控制;控制車模轉(zhuǎn)向:通過控制兩個電機之間的轉(zhuǎn)動差速實現(xiàn)車模轉(zhuǎn)向控制。2.1.2直立控制分析如圖2.1.2所示,車身可看作是一個倒立擺,要想通過控制使得倒立擺能夠像單擺一樣,穩(wěn)定在垂直位置,只有兩個辦法:一個是改變重力的方向;另一個是增加額外的受力,使得恢復力與位移 方向相反才行。但顯然能夠做的只有第二種方式。控制倒立擺底部車輪,使得它作加速運動。這樣站在小車上(非慣性系)看倒立擺,它就會受到額外的力(慣性力) ,該力與車輪的加速度方向相反,大小成正比。這樣倒立擺所受到的回復力為 (2-1) 式中,假設(shè)控制車輪
14、加速度與偏角成正比,比例為k1。顯然,如果k1g ,(是重力加速度)那么回復 力的方向便于位移方向相反了。此外,為了使得倒立擺能夠盡快地在垂直位置穩(wěn)定下來,還需要增加阻尼力,與偏角的速度成正比,方向相反。因此式(2-1)可變?yōu)?QUOTE (2-2) 所以車模車輪加速度的控制算法為所以我們需要測量小車的角度和角速度即可控制直立。2.1.3速度控制分析 車模電機的轉(zhuǎn)速與施加在其上的電壓成正比。通過傳統(tǒng)的 PID 反饋控制,便可以精確控制電機的運行速度,從而控制車模的運行速度。不過前提是保持車身平衡。2.1.4轉(zhuǎn)彎控制分析 利用電磁線偏差檢測信號分別與車模速度控制信號進行加和減,左右輪差動控制電壓
15、,使得車模左右輪運行角速度不一致進而控制車模方向。2.2 車模傾角檢測通過加速度計檢測回來的數(shù)據(jù)與重力加速度比較,可以得到車身傾角,再對此信號進行微分便可以獲得傾角加速度。但在實際車模運行過程中,由于車模本身的運動所產(chǎn)生的加速度會產(chǎn)生很大的干擾信號疊加在上述測量信號上,使得輸出信號無法準確反映車模的傾角,盡管平滑濾波可以把波動濾掉,但是也會無法準確反映車模傾角變化,所以需要在加上一個陀螺儀檢測角速度。2.3整車布局小車整體布局如圖2.3所示機械結(jié)構(gòu)方面:電路板緊貼車身,電池放在車身后輪子稍上,降低重心;采用高強度、低質(zhì)量的碳素桿作為電磁傳感器支架;簡化支架,單桿伸出,粘上一個橫放的輕桿作為電感
16、的支撐;電磁傳感器引出電感,裝在支架上,其他部分裝在車身后面,可以盡量減輕支架的質(zhì)量,使得重心盡量靠近車輪;陀螺儀和加速度計模塊裝在車身中間,保持水平,使得檢測回來的數(shù)據(jù) 更加精確,并且使得左右轉(zhuǎn)彎差異變?。患舳滩槐匾倪B線,減輕車重。2)在硬件方面: 力求電路構(gòu)成簡單,穩(wěn)定性高;傳感器的安裝可靠,外界對系統(tǒng)電路的干擾小。硬件主要設(shè)計思路如下:主電路板外形貼合車身的邊沿,安裝時盡量貼近車底盤,降低重心;電路板布線盡量采用單回路布線,并且將數(shù)字地與模擬地分離,并且在容易引入干擾的器件旁加入旁路電容;將容易產(chǎn)生靜電干擾的部分,接入電路板的模擬地中。3)在軟件方面:力求控制算法適合C車的特性,精確完
17、成轉(zhuǎn)向控制和速度,并具有較高的穩(wěn)定性。采用K60作為控制核心,通過電感采集賽道信息,從而對電機進行控制;通過編碼器反饋速度信息,實現(xiàn)對速度的控制。 圖2.3 整車布局2.4結(jié)構(gòu)框圖 根據(jù)兩輪平衡小車設(shè)計方案,小車系統(tǒng)包括角速度檢測;角加速度檢測;路徑檢測;串口通信;速度檢測;電機驅(qū)動。這幾大模塊按照設(shè)計組合在一起構(gòu)成了一個完整的平衡小車控制系統(tǒng)具體系統(tǒng)的框架如圖1.3所示。 圖2.4整體框架第三章 系統(tǒng)機械結(jié)構(gòu)設(shè)計與實現(xiàn)3.1車模圖3.1 c車車模結(jié)構(gòu)車模型號:N286電機:RN260-CN 38-181303.2 車模車身簡化及固定 我們采用賽制規(guī)定的C車車模進行改裝,將沒有用的前輪及其支撐
18、部件去掉,又將后輪懸掛緩沖支架去掉,從而簡化車模,可以有更多空位安裝需要的東西以及減輕車重。原來的車模后輪支架與底盤之間采用了活動連接方式,但為了保證車模直立的穩(wěn)定性,需要這個車身變成剛體結(jié)構(gòu)。所以我們用熱熔膠在后輪支架與底盤之間的縫隙處進行粘接。但在跑的時候車身不穩(wěn),故改用廢電路板將其固死,為防螺絲松掉,又用AB膠將縫隙粘死。整車如圖3.2所示。 圖3.2簡化加固后的車模3.3 陀螺儀及加速度計固定結(jié)構(gòu)設(shè)計陀螺儀安裝主要分為直立陀螺儀的安裝及轉(zhuǎn)向陀螺儀的安裝。直立陀螺儀的安裝共有三種選擇:安裝在頂部,正中和底部。經(jīng)實際測試,陀螺儀安裝在高處,容易受到微小抖動的干擾,影響到車身傾角的檢測,而底
19、部需要放電池及電路板等重物,因此我們選擇了一個比較正中的位置進行安裝。如圖3.3.1所示。而轉(zhuǎn)向陀螺儀對高度并不是很敏感,因此取一個左右適中的位置即可。如圖所示。 圖3.3.1 直立陀螺儀安裝 圖3.3.2轉(zhuǎn)向陀螺儀安裝3.4 路徑傳感器固定結(jié)構(gòu)設(shè)計為了車身的穩(wěn)定,車的重心越靠近車輪越好,所以我們采用了輕質(zhì)量但高強度的碳素桿做成支架,并且只把電感引出去水平的套在支架前段,作為探路所用。如圖3.4所示。 圖3.4電磁傳感器支架3.5 編碼器的安裝設(shè)計飛思卡爾c車車模具有雙電機,為了達到更精準的控速,我們選擇在兩個電機分別安裝編碼器用來測速。在盡量保持車身重量較輕的前提下,我們應選用安裝方便,較為
20、輕便的編碼器。由于光電碼盤的精度不高,并且體積較大,不適用于c車的使用。我們使用了制作輕巧的300線的編碼器,編碼器可方便的安裝在車輪上部,與馬達齒輪相互咬合,來達到精確的測速。編碼器的安裝如圖3.5所示。 圖3.5 編碼器安裝3.6 主動輪松緊程度的調(diào)整在實際調(diào)試過程中,我們發(fā)現(xiàn)主動輪的松緊程度影響比較大,并且輪軸的有無影響也比較大。主動輪過松,會造成輪子與地盤支架之間有間隙,輪子會左右移動,對轉(zhuǎn)彎性能影響較大,而輪子過緊則會造成輪子轉(zhuǎn)動受阻,增加電機的負荷,不利于小車的速度及轉(zhuǎn)彎控制。而去掉輪軸,則會造成輪子晃動,兩個輪子不在同一直線,轉(zhuǎn)彎不穩(wěn)定。最終我們保持輪軸,并調(diào)整輪子的松緊度至輪子
21、可自由轉(zhuǎn)動且不會左右松動。第四章 硬件系統(tǒng)的設(shè)計與實現(xiàn)4.1 硬件設(shè)計總體方案 智能車的硬件系統(tǒng),主要包括控制電路,電源管理電路,電機驅(qū)動電路以及外圍傳感器構(gòu)成,實現(xiàn)了信息采集與控制實現(xiàn)等功能。系統(tǒng)采用的主芯片是龍丘公司制作的MK60DN512VLL10P100管腳的核心板KinetisK60芯片,內(nèi)已封裝了包括看門狗等一系列外圍電路。4.2 系統(tǒng)電路的設(shè)計與實現(xiàn)4.2.1 電源管理電路 小車系統(tǒng)中有多個檢測模塊和驅(qū)動模塊,需要不同的電源電壓,所以電源管理部分要分部完成對各個模塊的供電。系統(tǒng)存在著功率電路與數(shù)字電路,為了更好的隔離干擾,使系統(tǒng)的穩(wěn)定性更高,所以在電源設(shè)計方面要考慮分隔開數(shù)字地與
22、模擬地。當小車驅(qū)動電機在運動過程中,會在一定程度上拉低電池的電壓。為了提高系統(tǒng)的性能,我們采用低壓降的穩(wěn)壓芯片LM2940 LM2940具有高轉(zhuǎn)換效率,低靜態(tài)電流等優(yōu)點,適合本系統(tǒng)工作特點。因為K60需要3.3V供電,因此用LM1117-3.3搭了3.3V穩(wěn)壓電路。另外,電磁檢測電路我們采用了穩(wěn)壓芯片7806,產(chǎn)生6V供電。本系統(tǒng)中,采用一路LM2940為無線模塊等供電,一路7806為電磁檢測模塊供電,一路LM1117進行供電為單片機供電。6V供電如圖4.2.2.1所示,5V供電如圖4.2.2.2所示,3.3V供電如圖4.2.2.3所示。 圖4 6V供電 圖4 5V供電 圖4 3.3V供電 4
23、.2.2 電機驅(qū)動電路 今年C車車模我們采用了傳統(tǒng)的用Mos管搭成的H橋全橋驅(qū)動,全橋驅(qū)動可以輸出兩路PWM,并且允許通過較大電流,驅(qū)動能力強,穩(wěn)定性好,如圖4.2.3.1所示。 圖4.2.3.1 電機驅(qū)動由于Mos管比較多,因此在電路板上排布比較密集,如圖4.2.3.2所示。 電路板上電機驅(qū)動排布4.2.3 計數(shù)器電路 K60芯片只有一路低功耗脈沖累加通道,不能滿足C車電路兩路測速需求.如果不想占用資源而實現(xiàn)硬件計數(shù),則需要用到DMA功能,通過讀取DMA的循環(huán)計數(shù)器即可獲得編碼器脈沖值,從而用作速度計算,所以不需要特別的計數(shù)器,只需接個上拉電阻即可,如圖4.2.4所示。 圖4.2.4 計數(shù)器
24、電路4.2.4平衡傳感器電路 我們采用的陀螺儀跟加速度計是集成模塊,陀螺儀電路分別如圖4.2.5.1所示,加速度計電路如圖4.2.5.2所示。 圖4 陀螺儀電路 圖4加速度計電路4.2.5 路徑檢測電路 路徑檢測分三個部分,諧振、放大、整流三個部分結(jié)合成一個電磁檢測電路。具體電路如圖4.2.6所示。 路徑檢測電路4.3 防靜電處理由于KT板的特性,當智能小車在上面摩擦過后,會在賽道表面累積大量的靜電。當小車在賽道上行駛的過程中,靜電放電會對電路板的穩(wěn)定性產(chǎn)生一定的干擾,嚴重時,引起單片機的復位和死機等問題。在空調(diào)室內(nèi)的賽道,空氣更加干燥,靜電現(xiàn)象尤為嚴重。為了更好地排除外界靜電對智能車系統(tǒng)的干
25、擾,我們采取了以下措施:因為小車底盤較低,底盤部分裸露的螺母會成為靜電的釋放源。我們采用絕緣膠布粘貼小車底盤,初步隔離靜電在電路設(shè)計上,通過使布線更加講究合理,并且在電源和易受干擾的地方加入旁路電容,進一步減少靜電的干擾。對地覆銅,對引入的干擾能更好的吸收。3)此時若依舊存在較大的靜電干擾,那就要將小車上靜電最強烈的地方接入電路板的地中,更好的吸收引入的干擾。在實際測試中,我們檢測到編碼器的支架和外殼部分產(chǎn)生的靜電干擾最為嚴重,我們將其與電路板的模擬地線相連,有顯著的改善第五章 軟件系統(tǒng)的設(shè)計與實現(xiàn)5.1主程序 5.1.1程序流程 5.1.2 PWM輸出 包括兩個子程序: 第一個程序:vcon
26、void vcon(double pwm) uint32 dPWM; dPWM=(uint32)pwm; if(dPWM9999) dPWM=9999; if(dPWM0) /電機1ftm0_pwm_change_duty(6,(uint32)(-dPWM);/控制占空比,占空比為0 010000ftm0_pwm_change_duty(4,0);/控制占空比,占空比為0 010000 /電機2ftm0_pwm_change_duty(5,(uint32)(-dPWM);/控制占空比,占空比為0 010000ftm0_pwm_change_duty(7,0);/控制占空比,占空比為0 0100
27、00 Else /電機1ftm0_pwm_change_duty(6,0);/控制占空比,占空比為0 010000ftm0_pwm_change_duty(4,(uint32)(dPWM);/控制占空比,占空比為0 010000 /電機2ftm0_pwm_change_duty(5,0);/控制占空比,占空比為0 010000ftm0_pwm_change_duty(7,(uint32)(dPWM);/控制占空比,占空比為0 010000 第二個程序:vcon_2motor void vcon_2motor(double Lpwm,double Rpwm) double RdPWM,LdPWM
28、; RdPWM=Rpwm*10; LdPWM=Lpwm*10; /右邊電機PWM限制 if(RdPWM9999) RdPWM=9999; /左邊電機PWM限制 if(LdPWM9999) LdPWM=9999; /右邊電機PWM輸出 if(RdPWM0) /右電機ftm0_pwm_change_duty(7,(uint32)(-RdPWM);/控制占空比,占空比為0 010000ftm0_pwm_change_duty(5,0);/控制占空比,占空比為0 010000 Elseftm0_pwm_change_duty(7,0);/控制占空比,占空比為0 010000ftm0_pwm_chang
29、e_duty(5,(uint32)(RdPWM);/控制占空比,占空比為0 010000 /左邊電機PWM輸出 if(LdPWM0)/左電機 /電機1ftm0_pwm_change_duty(6,(uint32)(-LdPWM);/控制占空比,占空比為0 010000ftm0_pwm_change_duty(4,0);/控制占空比,占空比為0 010000 Else /電機1ftm0_pwm_change_duty(6,0);/控制占空比,占空比為0 010000ftm0_pwm_change_duty(4,(uint32)(LdPWM);/控制占空比,占空比為0 010000 5.1.3 直
30、立控制因為暫時找不到別的方法來平衡小車,所以只能靠兩個電機來維持小車的平衡。根據(jù)陀螺儀以及加速度計返回來的數(shù)據(jù)進行積分,得到車身的角度和角速度,并根據(jù)積分數(shù)據(jù),利用PD控制,5ms控制一下直立,使得車身得以保持平衡,作為速度控制的基礎(chǔ)。5.1.4 速度控制小車的平衡是優(yōu)先考慮的要素,所以為了不影響小車的平衡,我們不能頻繁的改變速度,因此我們100ms才控制一次速度,并且使用增量式PID控制,即將需要的PWM分成20份,每5毫秒加一次,直至加完進行下一次速度控制。5.1.5 轉(zhuǎn)彎控制 車模方向控制是通過比較車模兩個電感檢波電壓進行的,每5ms檢查一次,然后采用比例算法,計算兩個電感電壓差除以兩個
31、電感電壓之和所得到的數(shù)值在-1.0至1.0之間的比例,在乘以一個比例系數(shù)。5.2卡爾曼濾波 卡爾曼濾波是一種高效率的遞歸濾波器, 它能夠從一系列的不完全及包含噪聲的測量中,估計動態(tài)系統(tǒng)的狀態(tài)。加速度計采樣回來的數(shù)據(jù)會因為微小震動而產(chǎn)生毛刺,從而產(chǎn)生誤差,因此用卡爾曼濾波結(jié)合陀螺儀輸出的角加速度,把產(chǎn)生的誤差降到最小。程序如下。void Kalman_Filter(double angle_m,double gyro_m)/gyro_m:gyro_measureangle0+=(gyro_m-q_bias) * dt;/先驗估計Pdot0=Q_angle - P01 - P10;/ Pk- 先驗
32、估計誤差協(xié)方差的微分Pdot1=- P11;Pdot2=- P11;Pdot3=Q_gyro;P00 += Pdot0 * dt;/ Pk- 先驗估計誤差協(xié)方差微分的積分 = 先驗估計誤差協(xié)方差P01 += Pdot1 * dt;P10 += Pdot2 * dt;P11 += Pdot3 * dt;angle_err = angle_m - angle0;/zk-先驗估計PCt_0 = C_0 * P00;PCt_1 = C_0 * P10;E = R_angle + C_0 * PCt_0;K_0 = PCt_0 / E;/KkK_1 = PCt_1 / E;t_0 = PCt_0;t_1
33、 = C_0 * P01;P00 -= K_0 * t_0;/后驗估計誤差協(xié)方差P01 -= K_0 * t_1;P10 -= K_1 * t_0;P11 -= K_1 * t_1;angle0+= K_0 * angle_err;/后驗估計q_bias+= K_1 * angle_err;/后驗估計angle_dot0 = gyro_m-q_bias;/輸出值(后驗估計)的微分 = 角速度5.3啟動方式 直立小車的啟動與四輪車的啟動有所不同,四輪車本身就具有相當高的穩(wěn)定性, 只需設(shè)置定時開車程序即可.而直立小車啟動需要確保靜止沒問題,然后再啟動.在調(diào)試過程中,我們發(fā)現(xiàn)主要有兩種開車方式:第一
34、種是小車直立后手推啟動式,第二種是小車直立后受觸發(fā)啟動式.對于第一種方法,小車被推動后,傾角和速度都會發(fā)生變化,我們可以通過檢測小車的傾角或者速度,設(shè)置一個閥值,觸發(fā)小車啟動控速程序,進而實現(xiàn)小車的啟動.這種方法的優(yōu)點是,小車的啟動速度快,若起跑線后是一條長直道,更可大大提高小車的整體成績.而缺點是,推的力度不同導致小車的穩(wěn)定性不同,很有可能每圈跑出來的成績不一樣.對于第二種方法,小車直立后,通過輕觸小車上面的行程開關(guān),使得小車自己啟動.這種方法的優(yōu)點是,小車每次開頭跑的情況基本一樣,穩(wěn)定性較好.缺點是,小車的啟動速度略遜于第一種.綜合考慮,我們認為小車的穩(wěn)定性比較重要,所遇采取第二種啟動方式
35、.第二種啟動法式所用到的行程開關(guān)如圖5.3所示: 圖5.3行程開關(guān)第六章 開發(fā)工具與系統(tǒng)調(diào)試6.1 開發(fā)工具使用了CodeWarrior Development Studio for Microcontroller v10.1集成開發(fā)環(huán)境。圖6.1.1是軟件的安裝界面,圖6.1.2是燒錄程序的界面。圖6.1.1 安裝界面 燒錄界面6.2 無線通信模塊在調(diào)試過程中,為了能夠?qū)崟r獲取智能車在運動過程中的一些參數(shù),以及避免智能車在嘗試各種算法時沖出賽道而發(fā)生意外,我們使用了無線通信模塊傳輸數(shù)據(jù)。為此,我們設(shè)計了智能車監(jiān)控軟件和遙控器。車載無線模塊如圖所示,能夠?qū)崟r收發(fā)數(shù)據(jù)。圖為我們設(shè)計的遙控器,用于
36、控制智能車的啟停,保護智能車。監(jiān)控軟件如圖所示,可以收集智能車的實時速度和位置偏差等數(shù)據(jù),我們能夠更加直觀方便地觀察智能車的狀態(tài),方便調(diào)試。 圖 車載無線模塊 圖遙控器 圖 監(jiān)控界面第七章 車輛參數(shù)車輛參數(shù)如表7.1所示 表7.1 車輛參數(shù)車模質(zhì)量約900克車模幾何尺寸長寬高:35cm17cm28cm傳感器個數(shù)電磁傳感器1對,陀螺儀2個,加速度計1個,編碼器2個電機個數(shù)2個芯片個數(shù)IRF49054個,IRF32054個,LM78061個,LM29401個,LM11171個,KinetisK60芯片1個,45201個賽道檢測精度5mm賽道檢測頻率200次每秒總電容量約1780微法總功率約10W第
37、八章 總結(jié)在整個賽車設(shè)計制作過程中,我們收獲良多,除了合理運用現(xiàn)有的理論知識,我們還要通過課外的擴展,不斷地學習新知識,譬如陀螺儀的應用、加速度計的應用、卡爾曼濾波。除此之外,我們還要將我們所學應用在實際當中,不斷地端正自身的態(tài)度,鍛煉實踐能力,提高發(fā)現(xiàn)問題、解決問題的能力,加強團隊合作的意識。在參加完賽區(qū)比賽后,我們發(fā)現(xiàn)自己跟兄弟學校的不足之處,主要在于傳感支架比較重,不夠簡潔、長直道加速后轉(zhuǎn)彎摩擦不夠強,不足以提供轉(zhuǎn)彎向心力、輪子會打滑等等。這些都提醒我們,以后要注意提高小車機械結(jié)構(gòu)上的改造能力,要完善自身的理論基礎(chǔ)。致謝感謝飛思卡爾半導體公司,感謝教育部,自動化專業(yè)教學指導分委會為我們?nèi)?/p>
38、國高校的學子,提供了一個鍛煉團隊合作和創(chuàng)新能力的競賽平臺。使得我們在備賽過程中,收獲頗豐。感謝中山大學信息科學與技術(shù)學院的領(lǐng)導與老師對比賽的關(guān)注,在物資上提供大力支持,使我們能專心做事。感謝中山大學實驗中心的領(lǐng)導與老師,為我們提供了良好的調(diào)試場地與齊全的工具設(shè)備。感謝指導老師們的支持和幫助,有了他們的指導,我們才能取得現(xiàn)在的成績。參考文獻李仕伯.馬旭.卓晴.基于磁場檢測的尋線小車傳感器布局研究,清華大學,2009.12競賽組秘書處,路徑檢測設(shè)計參考方案,2010.1卓晴 .基于磁場檢測的尋線小車傳感器布局研究【J】.清華大學.2007競賽組秘書處,直立行走的車模(早期版本),2011.11競賽
39、組秘書處,直立行走的車模(后期版本)2011.11競賽組秘書處,直立行走的車模(大圓圈),2011.11競賽組秘書處,電磁組參考設(shè)計方案_最終版本new,2011.12競賽組秘書處,電磁組直立車模參數(shù)整定與調(diào)試指南手冊.part1 2012.02競賽組秘書處,電磁組直立車模參數(shù)整定與調(diào)試指南手冊.part2 2012.02競賽組秘書處,電磁組參考設(shè)計方案第二版2012.03競賽組秘書處,新版電磁組參考設(shè)計方案第二版2012.03第六屆杭州電子科技大學錢江1號的技術(shù)報告,2011.08第五屆中山大學鷹之隊的技術(shù)報告,2010.08 附錄A.系統(tǒng)電路圖附錄B程序Main.c/* * main im
40、plementation: use this C sample to create your own application * */#include #include derivative.h /* include peripheral declarations */#include includes.h#include math.h#include #define PIT0 0#define PIT1 1#define PIT2 2#define PIT3 3euint8 data1;uint8 data2;uint8 data3;uint8 data4; uint8 data_rec;
41、uint8 data_rec1; uint8 data_rec2; uint8 data_rec3;/*/全局變量聲明extern int periph_clk_khz;#define ADchannel 16uint8 cycle_flags = 0;uint16 result0A,result0B,result1A,result1B;uint8 isr_flag=0;/PIT中斷標志,為1時發(fā)生中段uint32 run_counter;#define OS_SCI1_RATE 57600 /數(shù)據(jù)發(fā)送的波特率為57600 #define OS_BUS_CLK80/總線頻率為80MHzint
42、car_motion_period=20;/車調(diào)速的周期int dead_value=0;/死區(qū)電壓double angle10, angle_dot10;/外部需要引用的變量/*全局變量聲明*int top_key_num=0,j;int key_start_flag=0;unsigned char sendjiaodu;int send_angle;int send_jishu=0;int beepflag=0; int sudu20;/ 記錄車的速度(路程)int sudu_L20;unsigned char data_rec,data_rec1,data_rec2,data_rec3;
43、/接收數(shù)據(jù)int vol1510;/ 八個傳感器,記錄10次歷史值 float pian,pian2,pian3; short delv1,delv2,delv3;long suibianjishu=0;/suibianjishu,隨便計數(shù),檢測時間.short d_pwm2 = 0,0;float a,he,cha;float y;float y_value; float d_y4;float t;float value1,value2;int PWMstart=0;int set_v = 0;double e1,e2;char isStart = 0;int xianzhi;int jia
44、odu=0;double acc10;double w10;double utpwm;int Speed_period;float Lcountspeed=0;float Rcountspeed=0;float zonglucheng;int PWM_total;int display_Vcon_pwm;int delv1_R,delv2_R,delv3_R;short delv1_L,delv2_L,delv3_L;int speed_period;float R_PWM=0;int L_PWM=0;unsigned char SCI1_flag; /接收函數(shù)的標志位unsigned cha
45、r reveive_data;/接收到的數(shù)據(jù)int RValue,LValue;int send_send_period;int turn_pwm;int stop_flag,forward_flag,turn_flag,send_flag;int sudu_rec=860;/控速相關(guān)float R_PPWM,newpwm,oldpwm,deltapwm;float vset,vstart;int start_count=0;int endl=0;int dazhao;int swit20;/撥碼開關(guān)int a_switch34;int sudu_receive=0;int stand_key
46、_count=0;/靜止開關(guān)檢測延時int i=0;uint16 ADValue,ADValue1,ADValue2,ADValue3;int speed_R;int speed_L;int beepfirst_flag=0;float piancha_zhongzhi=0;int startbeepflag=0;int goout=0;char turn_beep=0;float lingdian=0;int last_beep=0;int boma_flag=0;unsigned long L=0;unsigned long R=0;float er=0;/E為歷史平均值char bfla
47、g=0;double lingdian_jiaozheng=0;double lingdian_sum=0;int lingdian_count=700;int testzhouqi=0;float max;float min;/float lishi2=0;float guaidian81;char tubian=0;int q_zheng=0;int q_fu=0;int h_zheng=0;int h_fu=0;unsigned long pre=0;unsigned long now=0;/方差檢測double dy_test400=0;double dy_sum=0;double d
48、y_ave=0;double dy_fangcha;double dy_ans;int gengxin=0;int dy_zhouqi=30;int dy_jiange=1;int wan_cd_time=0;int wan=0;int sudu_overbeep=0;/*/*關(guān)于利用增量式計算左右電機的PWM以及PWM輸出的程序*/void vcon_R(int vset) float dPWM,PPWM;/PPWM是為了可以與靜止的utpwm相互結(jié)合而成的一個中間變量 delv3_R=delv2_R; delv2_R=delv1_R; delv1_R=vset-(Rcountspeed+L
49、countspeed)/2; dPWM=3*(delv1_R-delv2_R)+0*delv1_R+1.2*(delv1_R+delv3_R-2*delv2_R);/增量式PID控速 R_PWM+=dPWM; / if(R_PWM0) /R_PWM=0; PPWM=R_PWM; R_PPWM=-PPWM; oldpwm=newpwm; newpwm=R_PPWM; void switches() char switchcount;char luchengcount;char houchengsuducount;/char lingdiancount;switchcount=15-(8*swit
50、3+4*swit2+2*swit1+swit0);/開始設(shè)定速度luchengcount=15-(8*swit7+4*swit6+2*swit5+swit4);/路程houchengsuducount=15-(8*swit11+4*swit10+2*swit9+swit8);/后面速度/lingdiancount=7-(4*swit15+2*swit14+1*swit13);/零點if(boma_flag=0)if(switchcount=0)/1111 15 sudu_rec=860;else if(switchcount=1)/1110 14sudu_rec=920;else if(swi
51、tchcount=2)/1101 13sudu_rec=980;else if(switchcount=3)/1100 12sudu_rec=1000;else if(switchcount=4)/1011 11sudu_rec=1040;else if(switchcount=5)/1010 10sudu_rec=1080;else if(switchcount=6)/1001 9sudu_rec=1120;else if(switchcount=7)/1000 8sudu_rec=1160;else if(switchcount=8)/0111 7sudu_rec=1200;else if
52、(switchcount=9)/0110 6sudu_rec=1240;else if(switchcount=10)/0101 5sudu_rec=1260;else if(switchcount=11)/0100 4sudu_rec=1280;else if(switchcount=12)/0011 3sudu_rec=1300;else if(switchcount=13)/0010 2sudu_rec=1320;else if(switchcount=14)/0001 1sudu_rec=1380;else if(switchcount=15)/0000 0 鏈蹇?sudu_rec=1
53、440;elseif(houchengsuducount=0)/1111 15 鏈鎱? sudu_rec=860;else if(houchengsuducount=1)/1110 14sudu_rec=920;else if(houchengsuducount=2)/1101 13sudu_rec=980;else if(houchengsuducount=3)/1100 12sudu_rec=1000;else if(houchengsuducount=4)/1011 11sudu_rec=1040;else if(houchengsuducount=5)/1010 10sudu_rec=
54、1080;else if(houchengsuducount=6)/1001 9sudu_rec=1120;else if(houchengsuducount=7)/1000 8sudu_rec=1160;else if(houchengsuducount=8)/0111 7sudu_rec=1200;else if(houchengsuducount=9)/0110 6sudu_rec=1240;else if(houchengsuducount=10)/0101 5sudu_rec=1260;else if(houchengsuducount=11)/0100 4sudu_rec=1280
55、;else if(houchengsuducount=12)/0011 3sudu_rec=1300;else if(houchengsuducount=13)/0010 2sudu_rec=1320;else if(houchengsuducount=14)/0001 1sudu_rec=1380;else if(houchengsuducount=15)/0000 0 鏈蹇?sudu_rec=1440;if(luchengcount0)/鍗婄鍑忛?if(luchengcount=1 & (L+R)/2)77400)/77400 鍗婄15mboma_flag=1;last_beep=1; e
56、lse if(luchengcount=2 & (L+R)/2)103200)/103200 鍗婄20mboma_flag=1;last_beep=1; else if(luchengcount=3 & (L+R)/2)129000)/129000 鍗婄25mboma_flag=1;last_beep=1; else if(luchengcount=4 & (L+R)/2)154800)/154800 鍗婄30mboma_flag=1;last_beep=1;else if(luchengcount=5 & (L+R)/2)180600)/180600 鍗婄35mboma_flag=1;las
57、t_beep=1;else if(luchengcount=6 & (L+R)/2)206400)/206400 鍗婄40mboma_flag=1;last_beep=1;else if(luchengcount=7 & (L+R)/2)232200)/232200 鍗婄45mboma_flag=1;last_beep=1;else if(luchengcount=8 & (L+R)/2)258000)/258000 鍗婄50mboma_flag=1;last_beep=1;else if(luchengcount=9 & (L+R)/2)283800)/283800 鍗婄55mboma_fl
58、ag=1;last_beep=1; else if(luchengcount=10 & (L+R)/2)309600)/309600 鍗婄60mboma_flag=1;last_beep=1; else if(luchengcount=11 & (L+R)/2)335400)/335400 鍗婄65mboma_flag=1;last_beep=1; else if(luchengcount=12 & (L+R)/2)361200)/361200 鍗婄70mboma_flag=1;last_beep=1;else if(luchengcount=13 & (L+R)/2)387000)/3870
59、00鍗婄75mboma_flag=1;last_beep=1;else if(luchengcount=14 & (L+R)/2)412800)/412800 鍗婄80mboma_flag=1;last_beep=1;else if(luchengcount=15 & (L+R)/2)438600)/438600 鍗婄85mboma_flag=1;last_beep=1;/*if(swit12=0)if(lingdiancount=0)lingdian=0;else if(lingdiancount=1)lingdian=0.5;else if(lingdiancount=2)lingdian
60、=1;else if(lingdiancount=3)lingdian=1.5;else if(lingdiancount=4)lingdian=2;else if(lingdiancount=5)lingdian=2.5;else if(lingdiancount=6)lingdian=3;else if (lingdiancount=7)lingdian=3.5;else if(lingdiancount=0)lingdian=0;else if(lingdiancount=1)lingdian=-0.5;else if(lingdiancount=2)lingdian=-1;else i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年金融機構(gòu)間協(xié)議存款結(jié)算服務(wù)合同3篇
- 2025年度個人資產(chǎn)反擔保業(yè)務(wù)合同范本3篇
- 二零二五版旅游度假村客房租賃與管理服務(wù)協(xié)議4篇
- 二零二五年度門店合伙人員工招聘與培訓協(xié)議4篇
- 二零二五版門衛(wèi)人員夜間值班安全協(xié)議2篇
- 全國醫(yī)療機構(gòu)感染監(jiān)測網(wǎng) -2024全球感染預防與控制報告
- 新建農(nóng)溝施工方案
- 2025年度金融產(chǎn)品銷售會議服務(wù)合同范本3篇
- 二零二五年度智能倉儲物流系統(tǒng)開發(fā)與應用合同4篇
- 2025年度個人藝術(shù)品鑒定與評估合同書(專家團隊版)4篇
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預算定額2024年度價格水平調(diào)整的通知
- 2024年城市軌道交通設(shè)備維保及安全檢查合同3篇
- 【教案】+同一直線上二力的合成(教學設(shè)計)(人教版2024)八年級物理下冊
- 湖北省武漢市青山區(qū)2023-2024學年七年級上學期期末質(zhì)量檢測數(shù)學試卷(含解析)
- 單位往個人轉(zhuǎn)賬的合同(2篇)
- 科研倫理審查與違規(guī)處理考核試卷
- GB/T 44101-2024中國式摔跤課程學生運動能力測評規(guī)范
- 高危妊娠的評估和護理
- 2023年高考全國甲卷數(shù)學(理)試卷【含答案】
- 數(shù)獨題目A4打印版無答案
- 自建房承包施工合同
評論
0/150
提交評論