基于STM32的四旋翼飛行控制系統(tǒng)畢業(yè)設(shè)計(jì)_第1頁(yè)
基于STM32的四旋翼飛行控制系統(tǒng)畢業(yè)設(shè)計(jì)_第2頁(yè)
基于STM32的四旋翼飛行控制系統(tǒng)畢業(yè)設(shè)計(jì)_第3頁(yè)
基于STM32的四旋翼飛行控制系統(tǒng)畢業(yè)設(shè)計(jì)_第4頁(yè)
基于STM32的四旋翼飛行控制系統(tǒng)畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1 前言 1.1 背景與意義 1.2 國(guó)內(nèi)外研究現(xiàn)狀 1.3 論文主要工作 2 總體方案設(shè)計(jì) 2.1 方案比較 2.2 方案論證與選擇 3 飛行器原理與結(jié)構(gòu) 3.1 飛行器原理 3.2 飛行器結(jié)構(gòu) 4 單元模塊設(shè)計(jì) 4.1 各單元模塊功能介紹及電路設(shè)計(jì)4.1.1 電源 4.1.2 STM32F407最小系統(tǒng)...6下載電路 飛控姿態(tài)模塊 無(wú)刷電機(jī)連接電路 串口接口電路 4.2特殊器件的介紹 4.2.1 無(wú)線數(shù)傳模塊 4.2.2 飛控姿態(tài)模塊 5 軟件設(shè)計(jì) 5.1 軟件設(shè)計(jì)原理及設(shè)計(jì)所用工具 5.2主要軟件設(shè)計(jì)流程框圖及說(shuō)明5.2.1 串口中斷流程圖 5.2 .

2、2外部中斷流程圖 5.2.3 主程序流程圖 6 系統(tǒng)調(diào)試 6.1 通信系統(tǒng) 6.2 姿態(tài)傳感器調(diào)試 6.2.1 傳感器數(shù)據(jù)分析與處理6.2.2 姿態(tài)解算 6.2.3 數(shù)據(jù)中斷 6.3 PID 調(diào)試6.3.1 PID姿態(tài)控制 6.3.2 飛控系統(tǒng) PID 調(diào)試7 系統(tǒng)功能、指標(biāo)參數(shù) 7.1 系統(tǒng)能實(shí)現(xiàn)的功能 .1.2. .3. .3.3. .5. .5. .6. .8. .8. .8.9. .1.1. 1.1. 1.2. 1.2. .1.2. 1.2. 1.3. 1.6. .1.6 .1.7 1.7. 1.8. .1.8. . .2.1. .2.1 .2.3. .2.8. .3.0

3、.3.0. .3.3 .3.6. .3.6.精選.......7.2 系統(tǒng)指標(biāo)參數(shù) 8結(jié)論 8.1 回顧 8.2 展望 9 總結(jié)與體會(huì) 10 謝辭 11 參考文獻(xiàn) 附錄: 1. 硬件電路圖 2. PCB 圖3. 部分程序 4. 外文翻譯 1刖言1.1背景與意義近年來(lái)得益于現(xiàn)代控制理論與電子控制技術(shù)的發(fā)展, 四軸飛行器得到了廣泛的關(guān)注, 在民用與工業(yè)領(lǐng)域,具有廣泛的應(yīng)用前景。甚至無(wú)人機(jī)在戰(zhàn)爭(zhēng)中得到廣泛的應(yīng)用。當(dāng)下 無(wú)人機(jī)發(fā)展火熱,其中以四旋翼飛行器的發(fā)展最為突出。四旋翼飛行器其具有以下特點(diǎn):(1) 體積小巧,可以

4、工作在惡劣的,危害人類健康和生命的環(huán)境中,最大限度地減少 人員傷亡,飛行器可以全天工作無(wú)需休息,工作效率高。(2) 支持配備高端電子產(chǎn)品,多種外設(shè)相連接,如照相機(jī)、機(jī)械臂等,可以實(shí)現(xiàn)一些 娛樂功能。例如在高空電力線巡檢中,無(wú)人機(jī)能在工作人員的操控下進(jìn)行工作,可以代替人工 對(duì)巡檢對(duì)象實(shí)施接近檢測(cè),減少工人的勞動(dòng)強(qiáng)度。也可以攜帶傳感儀器、攝像機(jī)等,對(duì) 巡檢對(duì)象進(jìn)行數(shù)據(jù)收集、分析與存儲(chǔ),這進(jìn)一步提高巡檢的工作效率和巡檢精度。在軍 事上,在局部小規(guī)模對(duì)戰(zhàn)的時(shí)候,一些普通的偵察機(jī),可能受到敵方打擊而造成不必要 的機(jī)體人員傷亡,無(wú)人機(jī)則可以很好地起到替代作用。利用四旋翼飛行器作為偵察機(jī), 具有振動(dòng)小、噪聲

5、小、可靠性高、成本低、反偵察能力強(qiáng)、自我銷毀等優(yōu)勢(shì)。因此無(wú)人 機(jī)的軍事價(jià)值不可估量。四旋翼飛行器還有著更為廣闊的前景等待著開發(fā)。比如可以通 過為飛行器的添加更加智能的算法實(shí)現(xiàn)人機(jī)互動(dòng),讓飛行器幫人取物件等。盡管目前四旋翼飛行器已經(jīng)在許多領(lǐng)域得到運(yùn)用,但總體而言依舊處于初步發(fā)展階 段。1.2國(guó)內(nèi)外研究現(xiàn)狀國(guó)際上比較知名的飛行器公司有中國(guó)大疆創(chuàng)新和美國(guó)的3D Robotics。作為全球無(wú)人機(jī)領(lǐng)域的領(lǐng)頭羊,這兩家公司在無(wú)人機(jī)技術(shù)發(fā)展速度可以用迅猛來(lái)形容。比如大疆公司 最新的精靈4無(wú)人機(jī),實(shí)物圖如圖1.1所示。圖1.1精靈4實(shí)物圖精靈4具有以下功能:1. 可感知前方障礙物并自動(dòng)繞行。2. 通過視覺識(shí)別

6、自動(dòng)跟拍移動(dòng)物體。3. 點(diǎn)擊相機(jī)畫面,即可向指點(diǎn)方向自主飛行。4. 智能返航,感知障礙物后可自動(dòng)提升飛行高度。5. 最大飛行時(shí)間28分鐘,最大可控距離約5公里。6. 最高速度提升至 20m/s (72km/h)。7. 一體化云臺(tái)設(shè)計(jì),提升了飛行和影像的穩(wěn)定性。8. 利用全新的視覺定位技術(shù),可實(shí)現(xiàn)室內(nèi)外精準(zhǔn)定位。又比如:3D Robotics公司最新出品的PIXHAWK飛控,擁有出色飛行穩(wěn)定性,搭 載雙傳感器系統(tǒng)和冗余電源輸入并且可以擴(kuò)展兩組GPS系統(tǒng),確保飛行失誤降到最低。這兩家公司占領(lǐng)了全球大部分無(wú)人機(jī)市場(chǎng),并且由于技術(shù)的高門檻和壟斷,其他無(wú)人機(jī) 公司已經(jīng)被遠(yuǎn)遠(yuǎn)的甩在了后面。大部分的無(wú)人機(jī)公

7、司的技術(shù)僅僅停留在穩(wěn)定飛行、簡(jiǎn)單 航拍和戶外GPS定位階段。1.3論文主要工作無(wú)人機(jī)作為當(dāng)今電子產(chǎn)業(yè)里一個(gè)冉冉升起的新星,具有廣闊的市場(chǎng)和發(fā)展前景。作 為當(dāng)代大學(xué)生,不僅要順應(yīng)時(shí)代的潮流,更要有作為時(shí)代弄潮兒的信心與勇氣。四旋翼 無(wú)人機(jī)涉及知識(shí)面很廣泛,其中核心知識(shí)與本專業(yè)契合度相當(dāng)高。比如,一顆功能強(qiáng)勁 的微機(jī)芯片就可以打造一個(gè)功能完備的飛行控制系統(tǒng)。而這恰恰是微機(jī)原理和單片機(jī)的 運(yùn)用。主流無(wú)人機(jī)的控制系統(tǒng)離不開自動(dòng)控制原理。并且目前無(wú)人機(jī)在電力行業(yè)的應(yīng)用 力度很大,綜上,畢業(yè)設(shè)計(jì)選擇了基于 STM32 ARM單片機(jī)的四旋翼飛控系統(tǒng)。受限于本人知識(shí)水平,本文解決以下問題:第一章節(jié):四旋翼飛行

8、器研究背景與意義,國(guó)內(nèi)外發(fā)展現(xiàn)狀。第二章節(jié):就四旋翼飛行器方案討論與選擇,選擇了基于STM32 ARM單片機(jī)的四簡(jiǎn)單敘述了飛行器飛行原理,以及機(jī)械結(jié)構(gòu)。飛行控制系統(tǒng)硬件設(shè)計(jì),其中包括單片機(jī)最小系統(tǒng),各類模塊接口等。 程序流程圖,對(duì)程序流程進(jìn)行簡(jiǎn)單說(shuō)明。飛行器控制系統(tǒng)設(shè)計(jì),包括傳感器數(shù)據(jù)進(jìn)行分析和處理,DMP姿態(tài)解算PID調(diào)試策略。旋翼飛行控制系統(tǒng)。第三章節(jié)第四章節(jié)第五章節(jié)第六章節(jié) 方式,配置中斷實(shí)時(shí)更新當(dāng)前飛行姿態(tài)數(shù)據(jù)。四旋翼飛行器的PID調(diào)試過程。第七章節(jié):上位機(jī)與飛行器之間的通信系統(tǒng),2總體方案設(shè)計(jì)2.1方案比較方案一:基于意大利開源硬件Arduino Nano作為數(shù)據(jù)處理,姿態(tài)結(jié)算的飛行

9、控制系 統(tǒng)。其飛行控制系統(tǒng)結(jié)構(gòu)如圖2.1所示。方案二:系統(tǒng)結(jié)構(gòu)如圖圖2.1 Arduino飛控系統(tǒng)結(jié)構(gòu)圖采用意法半導(dǎo)體的STM32F407VET6作為飛行器的主控芯片。其飛行控制2.2所示。圖2.2基于STM32飛控系統(tǒng)結(jié)構(gòu)圖2.2方案論證與選擇方案一:Ardui no Na no是基于Atmega328P AVR單片機(jī)的開源硬件,具有兩個(gè)外部 中斷口,可以輸出六路PWM波,兼?zhèn)銲IC,UART,SPI通信功能,總的來(lái)說(shuō),其具有豐富 的片上資源和優(yōu)秀的性能。對(duì)它編程使用的是Arduino C,這種C語(yǔ)言類似于標(biāo)準(zhǔn)C,但又 針對(duì)Arduino系統(tǒng)做了大量的簡(jiǎn)化工作,提供了許多函數(shù)和庫(kù)文件,但是通

10、用性不高。Arduino雖然是已開源的飛行控制系統(tǒng),命令是依靠無(wú)線遙控器發(fā)出的,這會(huì)額外增加 遙控器的費(fèi)用。另外Arduino通信協(xié)議未知,這并不利于增添代碼后的調(diào)試工作。方案二:意法半導(dǎo)體的STM32F407VET6為CORTEX-M4內(nèi)核,屬于32位ARM微 控制器,常用的編程軟件是 KEIL和IAR,編程語(yǔ)言可以是匯編,標(biāo)準(zhǔn)C語(yǔ)言,C+等, 使用靈活方便。友好的編譯方式大大提高了代碼的通用性和可移植性。STM32F407VET6 具有卓越的性能,并不輸于 AVR的Atmega328P。這里采用上位機(jī)傳輸命令給飛行控制 系統(tǒng),也簡(jiǎn)化了系統(tǒng)調(diào)試方式?;?STM32F407VET6 單最后考

11、慮到資金、性價(jià)比和使用的難易程度選擇方案二,片機(jī)的飛行控制系統(tǒng)。第54頁(yè)3飛行器原理與結(jié)構(gòu)3.1飛行器原理四軸飛行器具有兩種不同的飛行模式:X型與十字型。X型飛行方式的四旋翼飛行器姿態(tài)改變的方向與機(jī)身成一個(gè) 45度角,十字型飛行方式四旋翼飛行器姿態(tài)改變方 向與飛行器機(jī)身相同。因?yàn)椴捎?X型飛行方式的飛行器具有更好的控制靈敏度與穩(wěn)定 性,所以選擇了 X型的飛行方式。兩種工作模式如圖 3.1所示。與十字型(右)飛行方式圖四旋翼飛行器的四個(gè)螺旋槳都是電機(jī)直連的結(jié)構(gòu),通過改變電機(jī)轉(zhuǎn)速獲得旋轉(zhuǎn)機(jī)身 的力,從而調(diào)整自身姿態(tài)。在飛行器飛行過程中,螺旋槳會(huì)產(chǎn)生兩個(gè)力,一個(gè)是升力, 一個(gè)是與螺旋槳轉(zhuǎn)向相反的反扭

12、矩。反扭矩會(huì)使飛行器沿著螺旋槳旋轉(zhuǎn)的方向自旋,如 果不抵消反扭矩會(huì)讓飛行器一直自轉(zhuǎn),這會(huì)影響飛行器的飛行。四旋翼飛行器通過分配 四只螺旋槳的轉(zhuǎn)向來(lái)抵消各個(gè)螺旋槳產(chǎn)生的反扭矩。以X型飛行方式為例,按順時(shí)針方向?yàn)槊總€(gè)電機(jī)編號(hào),右上角電機(jī)為 1號(hào)電機(jī),依次編號(hào)1、2、3、4。并將1、2號(hào)螺 旋槳所在的軸向方向定義為 X軸方向,即機(jī)頭。3、4號(hào)螺旋槳所在的軸向方向定義為 丫軸方向。為了抵消螺旋槳的反扭矩,1、3號(hào)螺旋槳需要順時(shí)針轉(zhuǎn)動(dòng),2、4號(hào)螺旋槳 需要逆時(shí)針轉(zhuǎn)動(dòng),即對(duì)角線上的螺旋角旋轉(zhuǎn)方向相同,以此抵消相互之間的反扭矩。四 旋翼飛行器的飛行方向與速度都是由飛行器的傾角決定的,并且飛行器傾斜的角度越

13、大,飛行速度也就越快。通過調(diào)節(jié)各個(gè)電機(jī)的轉(zhuǎn)速可以達(dá)到控制飛行器姿態(tài)、速度、甚 至是飛行路徑的效果。其中,四旋翼飛行器飛行的姿態(tài)主要是高度、俯仰角(P itch)、橫滾角(Roll)、偏航角(Yaw),可以繼續(xù)細(xì)分為:上升、下降、前傾、后傾、左傾、 右傾、左旋、右旋。(1)高度:使四個(gè)螺旋槳轉(zhuǎn)速相同,當(dāng)其同時(shí)加速時(shí),螺旋槳升力變大,當(dāng)升力大 于飛行器重力時(shí),飛行器擁有向上運(yùn)動(dòng)的加速度,飛行器上升;當(dāng)四個(gè)螺旋槳同時(shí)減速 時(shí),螺旋槳產(chǎn)生的升力變小,當(dāng)升力小于飛行器重力時(shí),飛行器擁有向下運(yùn)動(dòng)的加速度, 飛行器下降。Pitch:就是繞著丫軸方向旋轉(zhuǎn),所進(jìn)行的控制為1, 2號(hào)電機(jī)轉(zhuǎn)述同等減小,3, 4號(hào)電

14、機(jī)轉(zhuǎn)述同等增大,飛行器往前傾;反之,會(huì)后傾。(3) Roll :與俯仰控制相似,橫滾就是繞著 X軸方向旋轉(zhuǎn),1,4號(hào)電機(jī)轉(zhuǎn)述同等減小, 2,3機(jī)轉(zhuǎn)述同等增加,產(chǎn)生右傾;反之,會(huì)左傾。(4) Yaw:同理可得,就是飛行器繞著 Z軸旋轉(zhuǎn)。當(dāng)1、3號(hào)電機(jī)轉(zhuǎn)述同等減小,其 反扭矩和升力減小,并且 2、4號(hào)電機(jī)轉(zhuǎn)述同等增加,其反扭矩和升力增加,由于反扭 矩出現(xiàn)不平衡,會(huì)使飛行器向右轉(zhuǎn),反之,會(huì)使飛行器向左轉(zhuǎn)。3.2飛行器結(jié)構(gòu)采用的機(jī)架型號(hào)為 F360,軸距360mm。螺旋槳型號(hào)是1047型。電機(jī)采用的是朗宇 X2212,980KV無(wú)刷電機(jī),即每加1V的電壓,電機(jī)每分鐘980轉(zhuǎn),電機(jī)轉(zhuǎn)速大約是10878

15、轉(zhuǎn)分。通常四旋翼飛行器配2200mah的電池。電調(diào)為好盈天行者 30A的電子調(diào)速器, 整個(gè)飛行系統(tǒng)用鋰電池供電。電機(jī)實(shí)物圖如圖3.2所示,電子調(diào)速器實(shí)物圖如圖 3.3所示。圖3.2朗宇電機(jī)實(shí)物圖圖3.3電子調(diào)速器實(shí)物圖飛行器組裝完成后如圖3.4所示A心樣匚申出一 化fOP r4. rw耳-_-s來(lái)-3 -I4卍:宀L /P :. ?hl-N - -圖3.4飛行器實(shí)物圖.,:小工丁 -3r-I- L*4單元模塊設(shè)計(jì)4.1各單元模塊功能介紹及電路設(shè)計(jì)即圖2.2。以下就重要的單元模飛行控制系統(tǒng)的硬件結(jié)構(gòu)遵從于方案二的結(jié)構(gòu)框圖, 塊做介紹。4.1.1電源LM1117為低壓差電壓調(diào)節(jié)器。其壓差輸出為1.

16、2V時(shí),負(fù)載電流為800mA。它與國(guó) 家半導(dǎo)體的工業(yè)標(biāo)準(zhǔn)器件LM317有相同的管腳排列。LM1117有可調(diào)電壓的版本,通過 2個(gè)外部電阻可實(shí)現(xiàn)1.2513.8V輸出電壓范圍。另外還有5個(gè)固定電壓輸出(1.8V、 2.5V、2.85V、3.3V和5V)的型號(hào)。因?yàn)樵O(shè)計(jì)的飛行器的主控芯片是3.3V的。所以選取固定輸出為3.3V的LM1117 oLM1117提供電流限制和熱保護(hù)。輸出電壓的精度在% 以內(nèi)。LM1117 系列具有 LLP、TO-263、SOT-223、TO-220 和 TO-252、D-PAK 等多種 封裝。飛行器為了提高續(xù)航能力,要盡量減輕自身重量,所以這里選取的是SOT-223封裝

17、。在電路設(shè)計(jì)的輸出端需要并聯(lián)一個(gè)至少10uF的鉭電容來(lái)改善瞬態(tài)響應(yīng)和穩(wěn)定性。LM1117電氣特性如表4.1所示。表4.1電氣特性表-LM1117符號(hào)參數(shù)測(cè)試條件最小值典型值最大值單位VREF基準(zhǔn)LM1117-ADJ電壓IOUT=10mA, VIN-VOUT=2V , TJ=25?C1.2381.2501.262V10mA w IOUT w 800mA,1.2251.2501.270V1.4V w VIN-VOUT w 10VLM1117-1.8IOUT=10mA, VIN=3.8V , TJ=25?C1.7821.8001.818V0w IOUT w 800mA, 3.2V w VIN w 1

18、0V1.7461.8001.854VLM1117-2.5輸IOUT=10mA, VIN=4.5V , TJ=25?C2.4752.5002.525V出0w IOUT w 800mA, 3.9V w VIN w 10V2.4502.5002.550VVOUT電LM1117-2.85壓IOUT=10mA, VIN=4.85V , TJ=25?32.8202.8502.880V0 w IOUT w 800mA, 4.25V w VIN w 10V2.7902.8502.910V0w IOUT w 500mA, VIN=4.10V2.7902.8502.910VLM1117-3.3IOUT=10mA,

19、 VIN=5V TJ= 25?C0 IOUT 800mA, 4.75V VIN 10V3.2673.2353.3003.3003.3333.365VV?VOUT壓差LM1117-3.3IOUT=0mA, 4.75V VIN 15V16mV+5VT K,心 11117IN 2OUT電源模塊的原理圖如圖4.1所示。圖里的5V電源來(lái)源于電子調(diào)速器的BEC降壓系統(tǒng)。圖4.1電源模塊電路圖4.1.2 STM32F407 最小系統(tǒng)STM32F407VET6是意法半導(dǎo)體基于 CORTEX-M4內(nèi)核的芯片,STM32F407擁有的 資源包括:集成 FPU和DSP指令,并具有192KBSRAM、1024KB F

20、LASH、12個(gè)16 位定時(shí)器、2個(gè)32位定時(shí)器、2個(gè)DMA控制器(共16個(gè)通道)、3個(gè)SPI、2個(gè)全雙工 I2S、3 個(gè) IIC、6 個(gè)串口、2 個(gè) USB (支持 HOST /SLAVE)、2 個(gè) CAN、3 個(gè) 12位 ADC、 2個(gè)12位DAC、1個(gè)RTC(帶日歷功能)、1個(gè)SDIO 接口、1個(gè)FSMC接口、1個(gè)10/100M 以太網(wǎng)MAC控制器、1個(gè)攝像頭接口、1個(gè)硬件隨機(jī)數(shù)生成器、以及112個(gè)通用IO 口 等。該芯片的配置十分強(qiáng)悍,具有卓越的性能。相對(duì)STM32F1來(lái)說(shuō),許多功能進(jìn)行了重大改進(jìn)。STM32最小系統(tǒng)電路圖如圖4.2所示。:STIONDntvr.Hn r.Kr)rst7

21、r.Fn STIr.Trj.LFD 5T2JTTLFD STS rrrCHD3pf:V5GNDCM Ml J5C2 tn AiJtcll czrv2 匸遼!iR csriljl TO? onCflD衆(zhòng)I4RD+HFFXM hr5嚴(yán) F麗罔二二弋芒 FWM=_4蝦緬: cmE I冬卜.1川FB征 ESnsoE r.Fn 5Tijg r.Fn STfjyI上ij iTpriAjiDHP nTTUiMCURAO-WKLiP I fiART-l_rX Aik-1I、& HS 1:l Pt tlPADTlJhKln-CPA J;SART_RX.ADr2J_r;Z rrfi_RtF_rL6; fTIi_B

22、ror.=ATX:ZriKl 1,TC1PA:.irT;ARTEjT7C ADn 五JKITTMEC: -SFI :_M lW、DTfi_m:J U .Fl OIILUTZcE EATH-|Zj rWllPTZrAJJ;AIlT2ZRX-arG_Tjri-irL0-A D口$_刑訂 匝NELI:電叔打r7rfl_S-Krl7fn_HS_TiCm:S3:_W?r.Ybr l:_IM4J?. l_(Hrrhl hChlALHX蟲TKI 工jm4.14怡 3舸 11_更 lunTC;raJrirfjxAM 叮生/nA已.oin- rrrrrutDt.ADC 12jN i sttm年站FTTTisfX

23、Pr社r_Nja |二兒口0戈_佩-iiH2_Mli-_HH_VEiT jl2S_CKIS.M2SniCi_Dri2r3_mAnrMJ_DlTn? r.ARXOTr3 jaUCBir - - srrs sck-psj ckuartiriiTrsART3-mc _二_ .一二一_一 I, , _一 _一_ _ -= _PA1 U AT41 _ltX DTr_ I T4-_RX i FTl _?.H D *5 C _ J1X7 M_DJ iT7 S A S.TJ!_RXT2 M c s tITC 11iFA rZiT AN I _T7C 常31飛?_応_ FTP T7iK I -_Ty h-JJI

24、LJ_t rCLlL MrOfl-NFlSMCfiinSSSm-l 牙 X K J AjT EL-PT I jPAB-TST)TC- -lb訂 4;.TrK;SWOE| 怕門.ITDI.-ISL叩P1K)-C)TGJ5_L;LP:_DI ADC2_rrS ra 1 n JL|-BS_rE LAdtiz n?7 PB哪D幣 1 r嚴(yán)HGTTTKVHPLX匚IC*FII SCKrBAJVTRT無(wú)麗_?4方和1 _ifT50l253cx1_SDj PH只 ArM_bLJCUU:i_ITCL.FI-HHLH MI-UIU H百工 竺可丈1:工遼也迂丁元DK?問帀廠沽l_寸亦ARTL-TK m FTT?

25、 ISr l_?tuAiTMi.TJLjIjCI V a1|-Wj1 ilSAKTB K3tL AHrLKniiTC An-TnJ-VRTfTSijj:n 知:n n 耳_FTRTTTV 譏;打G 飛 vninrjjr 恤I)卜妒yr肋IVSS iiVH.tTCSTj II Jjul 7? I瓦r5MC_D2C:AML_KX-PD0 1巧*匚_口耳.4汕 亡TTf/FD LJART5_KXSDIC_CVI&-KM 1)1 : -nwr Li.KT7T4iiTz_Lra.mm rSM(M)ELSRT27HTSL F7:Hr WKTSAETZ-IXTnJ rSMC_KVVATT-L;3ART:JR

26、X.TD| f 詁r* TTFThl -fij L)K I XTDOXPlSE5DI0_IM-IX?;fl_D6-C)TG_rS_5CLl2C_5C?DC;L_O 9? 95 L La_tS SU/t-yiDrn 口5_UL Mt_D7jl2L l_?ilJiJrANI IX ra I D-Pi2_SOLl2SrstUUSAHl_IXVTtflB_inJT_D5TJK_l3_HL PHii.vnnvRTTptxFirirjzc _hPBI羽232丁1號(hào)世墜氨工沖代寶直R l-TX DO,FKl 3-7;FlrKJrZS2_riL.t AHJ_JXKIH_T 1 rai 4號(hào) FHjn 亦ent

27、匚吃DMSAJEbimudd上c巧人訊 J ) D-XJS.RT1_|-X.H)K rswrD 14a.ABTZ!-R 龍 TDq PMC_D1 i.-3ART3_CKTDl 0 T F R:Mr_A fil IS.KI1 r77:.Tni TSMCAIT-VSARTJRrSlPDt: 一F$疔 mmmfc mm: Fvit ik/pb巧HS LIPPCidDH力 FiPtl5M(32 pLn;VSS n .vrn 4 nh s mu石 vrih 1VTIl Ivrih 1VHATVC-lP IVCAP 2SIM52F407VGT6D胡耳md By EfQ23g 2012/07/07I.O I

28、 H M M5Z戶KO rSMCZKOL: TJCSOl-PE TTArFr:.K-FC_AZT.FFZTULC DOlTSMO L9;ntJ| TRACKDI磚訊-虛二口估山元rM-T=TH TrtALCDlfStt(二A?匕 DChl:匚Dt/Pld TRACTDlTSHfTTJCMT DT.-FK, FSMC ru-rr?LQiPlOOFSMC用卜專 FW匚 MTTJFS1C TJl阡J mfr DPFll |FSlC T曲阡 V IT-C n肝It Jvd TSl I.TRiaFSVC ni嚇 13NRSTROOTWVSSaSTM32F4(nVGT6用 RT=FRTIC 吆 I鴻卜.I

29、f TEE 円I E$ERVT, It 需 FklF:IJz_.科It I壽UH*21丄一節(jié)A 5 1 I圖4.2 STM32最小系統(tǒng)電路圖STM32上電復(fù)位后默認(rèn)使用內(nèi)部晶振(精度 8MHz左右),為了讓飛行控制板穩(wěn)定 工作,這里選擇了外接8MHz的晶振,在程序里切換為使用外部 8MHz晶振,并通過芯 片自帶的鎖相環(huán)PLL倍頻到168MHz。所以需要修改系統(tǒng)時(shí)鐘配置 System_stm32f4xx.c 文件,把PLL第一級(jí)分頻系數(shù)M修改為8,這樣才能讓主時(shí)鐘頻率達(dá)到168MHz。在STM32F40XX里,可以通過BOOT1:0引腳選擇三種不同啟動(dòng)模式。一般我們選 用從主閃存存儲(chǔ)器啟動(dòng)。啟動(dòng)

30、模式如表 4.2所示。表4.2啟動(dòng)模式-STM32啟動(dòng)模式選擇引腳啟動(dòng)模式說(shuō)明BOOT1BOOT0X0主閃存存儲(chǔ)器主閃存存儲(chǔ)器被選為啟動(dòng)區(qū)域01系統(tǒng)存儲(chǔ)器系統(tǒng)存儲(chǔ)器被選為啟動(dòng)區(qū)域11內(nèi)置SRAM內(nèi)置SRAM被選為啟動(dòng)區(qū)域根據(jù)選定的啟動(dòng)模式,主閃存存儲(chǔ)器、系統(tǒng)存儲(chǔ)器或SRAM可以按照以下方式訪問:從主閃存存儲(chǔ)器啟動(dòng):主閃存存儲(chǔ)器被映射到啟動(dòng)空間(0x0000 0000),但仍然能夠在它原有的地址(0x0800 0000)訪問它,即閃存存儲(chǔ)器的內(nèi)容可以在兩個(gè)地址區(qū)域訪問, 0x00000000 或 0x0800 0000。從系統(tǒng)存儲(chǔ)器啟動(dòng):系統(tǒng)存儲(chǔ)器被映射到啟動(dòng)空間(0x0000 0000),但仍

31、然能夠在它原有的地址(互聯(lián)型產(chǎn)品原有地址為0x仆FF B000,其它產(chǎn)品原有地址為0x仆FF F000) 訪問它。 從內(nèi)置SRAM啟動(dòng):只能在0x2000 0000開始的地址區(qū)訪問SRAM。注意:當(dāng)從內(nèi)置SRAM啟動(dòng),在應(yīng)用程序的初始化代碼中,必須使用NVIC的異常表和偏移寄存器,從新映射向量表之 SRAM中。4.1.3下載電路如果采用用串口燒錄程序,必須先配置BOOT0為1, BOOT1為0,然后按復(fù)位鍵,最后再通過程序下載代碼,下載完以后將 BOOT0置GND,復(fù)位后運(yùn)行代碼。這里采用 了 jlink( SWD )下載方式,需要接:jlink的第1腳(VDD )、第7腳(TMS/SWDIO

32、 對(duì)應(yīng) STM32 的 PA13)、第 9 腳(TCK/SWCLK 對(duì)應(yīng) STM32 的 PA14)、第 6.18.20中的任意一個(gè)腳(地腳)、第 15 腳(RESET對(duì)應(yīng) STM32 的 NRST)。 SW模式下載電路如圖4.3所示。GND彳圖4.3 SW模式下載電路圖4.1.4飛控姿態(tài)模塊性能良好的飛控傳感器是飛行器穩(wěn)定飛行重要保證, GY-86模塊上集成了陀螺儀、 加速度計(jì)、磁力計(jì)和氣壓計(jì),很適合飛行器上使用。 GY-86模塊與飛行控制系統(tǒng)連接電 路圖如圖4.4所示。Header TOTOSTT-GXZDRJYTrmoTTTNTtucrfiice CiY

33、SS圖4.4 GY-86模塊連接電路圖4.1.5無(wú)刷電機(jī)連接電路無(wú)刷電機(jī)依靠PWM波來(lái)驅(qū)動(dòng),PWM波通過電子調(diào)速器輸送到無(wú)刷電機(jī),電子調(diào)速器有3個(gè)接口,VCC,GND和Mx。在電路板上需要給出連接口。如圖 4.5所示。AGgp僥曲 MIAGNDAUNDrWM M5458014ir _13 14IntcilaccFPWMFWM M4圖4.5無(wú)刷電機(jī)接口電路圖4.1.6串口接口電路如圖4.6所示,將單片機(jī)上的串口一一引出, 收發(fā)上位機(jī)命令。其余串口接口可用來(lái)外擴(kuò)模塊,主要作用是連接無(wú)線數(shù)傳模塊,用于 如超聲波模塊和GPS。GND5DR-RXIUARPTrl(靠13 14rGND-1 f_lO.ea

34、d&r5_ XTTTRX.51亠I1 ART4 RXUSEInterlace Oihers圖4.6串口接口電路圖4.2特殊器件的介紹4.2.1無(wú)線數(shù)傳模塊CC1101無(wú)線數(shù)傳模塊,體積小巧,尺寸僅為 1.45*2.8CM, 433MHZ,穿透能力強(qiáng),可直接和 51、AVR、STM8、STM32、 的串口相連接。實(shí)物圖如圖4.7所示。操作簡(jiǎn)單,工作頻段為MSP430、PIC等單片機(jī)圖4.7無(wú)線數(shù)傳模塊圖CC1101無(wú)線數(shù)傳模塊和STM32單片機(jī)串口連接后,串口就可以實(shí)現(xiàn)遠(yuǎn)距離無(wú)線收 發(fā)數(shù)據(jù),這樣的好處就是減少了調(diào)試難度,因?yàn)槿绻皇褂脽o(wú)線數(shù)傳模塊的話,就只有 另購(gòu)NRF24L01通信模塊,這會(huì)增

35、添代碼量,加大調(diào)試難度。4.2.2飛控姿態(tài)模塊選擇GY-86模塊的原因是其集成度很高,實(shí)物圖如圖4.8所示。|Io 二;2 松、宀*“X - g . C嚴(yán)oHH、Of 1r -力応?圖4.8 GY-86模塊實(shí)物圖DMP: Digital Motion P rocessor)硬件加9軸融合演算數(shù)據(jù)。有了 DMP,我們可 實(shí)現(xiàn)姿態(tài)解算,降低了運(yùn)動(dòng)處理運(yùn)算對(duì)MPU6050芯片實(shí)物圖如圖4.9所示。模塊上的MPU6050是InvenSense公司推出的全球首款整合性6軸運(yùn)動(dòng)處理組件, 相較于多組件方案,免除了組合陀螺儀與加速器時(shí)之軸間差的問題,減少了安裝空間。 MPU6050內(nèi)部整合了 3軸陀螺儀和3

36、軸加速度傳感器,并且含有一個(gè)第二IIC接口,可 用于連接外部傳感器,并利用數(shù)字運(yùn)動(dòng)處理器( 速引擎,通過主IIC接口,向應(yīng)用端輸出完整的 以使用InvenSense公司提供的運(yùn)動(dòng)處理資料庫(kù), 操作系統(tǒng)的負(fù)荷,同時(shí)大大降低了開發(fā)難度。:: Jst. .,圖4.9 MPU6050芯片實(shí)物圖MPU6050的特點(diǎn)包括: 以數(shù)字形式輸出6軸或9軸(需外接磁傳感器)的旋轉(zhuǎn)矩陣、四元數(shù)(quaternion) 歐拉角格式(Euler Angle forma)的融合演算數(shù)據(jù)(需DMP支持)。 具有131 LSBs/ /sec敏感度與全格感測(cè)范圍為 250、 500、 1000與 2000 /sec 的3軸角速

37、度感測(cè)器(陀螺儀)。 集成可程序控制,范圍為 2g、 4g、 8g和 16g的3軸加速度傳感器。 移除加速器與陀螺儀軸間敏感度,降低設(shè)定給予的影響與感測(cè)器的飄移。 自帶數(shù)字運(yùn)動(dòng)處理(DMP: Digital Motion Processing引擎可減少M(fèi)CU復(fù)雜的融合演 算數(shù)據(jù)、感測(cè)器同步化、姿勢(shì)感應(yīng)等的負(fù)荷。內(nèi)建運(yùn)作時(shí)間偏差與磁力感測(cè)器校正演算技術(shù),免除了客戶須另外進(jìn)行校正的需求。 自帶一個(gè)數(shù)字溫度傳感器。帶數(shù)字輸入同步引腳(Sync pin)支持視頻電子影相穩(wěn)定技術(shù)與GPS??沙绦蚩刂频闹袛啵╥nterrupt),支持姿勢(shì)識(shí)別、搖攝、畫面放大縮小、滾動(dòng)、快速下 降中斷、high-G中斷、零

38、動(dòng)作感應(yīng)、觸擊感應(yīng)、搖動(dòng)感應(yīng)功能。 VDD 供電電壓為 2.5V 5%、3.0V 5%、3.3V 5%; VLOGIC 可低至 1.8V 5%。? 陀螺儀工作電流:5mA,陀螺儀待機(jī)電流:5uA;加速器工作電流:500uA,加速器 省電模式電流:40uA10Hz。?自帶1024字節(jié)FIFO,有助于降低系統(tǒng)功耗。? 高達(dá)400Khz的IIC通信接口。? 超小圭寸裝尺寸:4x4x0.9mm ( QFN)。MPU6050芯片工作電路圖如圖4.10所示。D+3JVM2 L鑒丄-嗦INI Ml2U2scrSDAINTAUX_CLAUXZDAKESVRESV RESVNCtCLKIN護(hù)NClUVLOGIC

39、 VDD REGOUTGN& CPOLTMPL6U50AGND那夢(mèng)4AGKD圖4.10 MPU6050芯片工作電路圖MPU6050主要用于采集飛行器飛行時(shí) X,Y,Z三個(gè)軸上的加速度和偏轉(zhuǎn)角速度。 具體 的講,陀螺儀的測(cè)量物理量是偏轉(zhuǎn)、傾斜時(shí)的轉(zhuǎn)動(dòng)角速度和坐標(biāo)軸上的線加速度。MPU6050內(nèi)部通過MEMS工藝做出了一個(gè)參考坐標(biāo)系,當(dāng)芯片隨著飛行器動(dòng)作時(shí), 芯片的坐標(biāo)相對(duì)參考坐標(biāo)發(fā)生旋轉(zhuǎn)時(shí),芯片會(huì)讀出這個(gè)差異。經(jīng)過芯片內(nèi)部處理后,會(huì) 輸出一個(gè)繞坐標(biāo)軸旋轉(zhuǎn)的角速度。MP U6050芯片坐標(biāo)軸分布如圖4.11所示。+x圖4.11 MPU6050芯片坐標(biāo)軸分布圖關(guān)于加速度的測(cè)量其實(shí)是當(dāng)物體在加速過程中

40、作用在物體上的力,這里需要注意的是在地球上任何物體都會(huì)受到地球給的重力,芯片也不例外,所以 X,Y,Z坐標(biāo)軸上測(cè)得 的加速度包含了重力在三個(gè)坐標(biāo)軸上的重力加速度分量。5軟件設(shè)計(jì)5.1軟件設(shè)計(jì)原理及設(shè)計(jì)所用工具上位機(jī)采用Lab windows制作。Lab windows是美國(guó)國(guó)家儀器公司推出的交互式 C語(yǔ)言開發(fā)平臺(tái)??删帉憴z測(cè)系統(tǒng)、數(shù)據(jù)采集系統(tǒng)等應(yīng)用軟件。用于數(shù)據(jù)采集分析和顯示。軟件界面如圖5.1所示。file Edit Yift* uild fiunLibrary Tools 亶InMcwv Options tllpL1 囤rwtTwifiwi nj.阜已3o帖Pi: ” 同 exviEdew

41、ibi. i Gi& In:lvde rilas:麗:m 門 Vi*r Ttn&ifsuii回 ciricdprUp. , i-J 囤 2::時(shí):曰O Sa-jrcp ri 1 石匸Eld narTTiha-nc-f-i白12za: ntT-faz E|吧| JliZ-匚淤5匚士2:lnzi-L.de- T二 1汕歸c4ficliriLr4phts(vo id);/h簾/tMiin Rout incHi/nm/mtm MM*” HHMihtiKd 1*(1 (|4 HUiHM 也MMibii M* 制mlwiln (liinL arse. cHr 電f紐口)i1 tin tDlKlt Co.

42、ars:v, 0) = 11 川deeded t p ini- inr irieMerrul cokipi ler: heirrles? cttirv I Etlurn -1; /lb uul judi、4ET (p*neI Handle = LjaLPanel 0. *cx(tlndD(?iin?. uili r, F4lt_)l Mi y酬厲Hitt卅*寓HhH葉峯Mu*郴細(xì)?|腫冊(cè)=榊K刖榊陽(yáng)用厲卅/*吋/flKeca leu ate +Iif UutpJl LIrfoha和川*/刖1|41艸#41*41艸申刊嗎艸* 神*1屮艸*車列 *期艸* 特(1(屮W Irt 01邙1丄日臨 E

43、ppcRlrWftVfifcinns fine :sne I. In(l npnt rol. I nt 冃呵卜, I I H- II K II hLn 13/135Cfll L護(hù) I I粘 |tebis圖 5.1 Lab Windows 界面圖5.2所示。STM32F407芯片使用C語(yǔ)言軟件開發(fā)系統(tǒng)KEIL開發(fā)。KEIL提供了包括C編譯器和功能強(qiáng)大的仿真調(diào)試等在內(nèi)的完整開發(fā)方案。操作界面如圖f lie Efft 帥fw fraecr F蝕n KAua 陳呻h軻mi kohAinqjpw heivd鼻I二-JSI * I憐h血如童章膽-色吃叭.61瀕蘭越 凋I Obidcsnrr- J |豪弓

44、鞘J ?1商?hào)XJL312425朋J7丄a39JU132JJ14J5JGJ7Jd加占:洽 C*lCrlLllvlu4- 1)0)(. r.RO.jrctf; .叮 r 祚冷惜IE Oj_LOCXu)打丄認(rèn)柑JU汽世 if (tXifrttcLnjiii)runt DCd-t 亠 5-PiD_P17OU I* in_KDL KilE, Oin-PJD_i* HAIHt) U f+tOUJ.附tm?TMrtt:o-Pn)丁rC貼TH OCT 卜F:WAVE,OUI+Pl匸TA兀陽(yáng)TE, OimFTD丁E;ir.oinrLDtfl3=tliEtrtt:&+PII Pn EiiIE. QCI+Z ID

45、RO(L_EirE. 007-PID 7T RilE. 0UT+Fn_BEZ;C,O(n n Bt a 4t ettl ctPLDi_Pn_lttJE. QU I-f lD_hLL_iiAlL Uin+Plb_?rK#_ElATf .OUl+P:liUT. UU7rLDtaJtiJli 如0b Ja 11-5).ifioiaE 11gtJ, IQL):tug吃T曲Mg 1730.J1G5). ri-itnl-JBLJrOZlbJL jioLo TJQ. 11:5).nI_:-TCTD=jrto3. nl-riDtoS; r,_4fomI =nntfl* nJ- J二not or Qt旳.n2.

46、4=rwtQ2-rir0t q d.昭=4=TiotbbU)I I (.bx (nJ_3 510)1 (sbiJ |i sbr (tQI fiFin) I I:jibj h rtLMTfir*l tllNJ,:叩門;Ti_9L堆址蛇(TlltJ” lOJUiJ ; TIYSetCtJitarsl iTITli lOdiJ; THiiS(TIKi, 1400);1S_1jCiCX-1.上計(jì)throctl*-:f00.圖5.2 KEIL操作界面圖5.2主要軟件設(shè)計(jì)流程框圖及說(shuō)明5.2.1串口中斷流程圖無(wú)線數(shù)傳模塊連接在串口上,當(dāng)串口有中斷發(fā)生時(shí),說(shuō)明接收到上位機(jī)命令,需要處理串口數(shù)據(jù)。串口中斷流程

47、圖如圖5.3所示。圖5.3串口中斷流程圖5.2.2外部中斷流程圖GY-86飛控姿態(tài)模塊的數(shù)據(jù)就緒中斷連接在單片機(jī)外部中斷的管腳上,當(dāng) STM32F407接收到外部中斷時(shí),說(shuō)明一組飛行器姿態(tài)數(shù)據(jù)已經(jīng)就緒,需要進(jìn)行姿態(tài)解 算。外部中斷流程圖如圖5.4所示。圖5.4外部中斷流程圖5.2.3主程序流程圖在主程序里,進(jìn)行一系列初始化后就進(jìn)入while大循環(huán),在循環(huán)里主要做了通信數(shù)5.5所示。據(jù)處理,這是為了防止飛行器飛行角度過大導(dǎo)致飛行器側(cè)翻問題,其次就是調(diào)整PWM波占空比調(diào)節(jié)無(wú)刷電機(jī)轉(zhuǎn)速。主程序流程圖如圖(1)圖5.5主程序流程圖根據(jù)主程序流程圖底層驅(qū)動(dòng)主要使用到的部分如下:USART1 :外接擴(kuò)展的

48、傳感器模塊。USART2:用于調(diào)試程序、發(fā)送和接收上位機(jī)命令的通信。IIC :用于讀取GY-86模塊的值,此處使用GPIO模擬IIC。GPIO:用于控制LED,通過不同的閃爍以及亮滅提示飛行器的運(yùn)行狀態(tài)。 SYSTICK :滴答定時(shí)器,用于系統(tǒng)的精確定時(shí)以及延時(shí)。TIM定時(shí)器的PWM通道:使用TIM3和TIM4的PWM功能輸出4路不同占空比的 PWM波給電子調(diào)速器從而控制無(wú)刷電機(jī)的轉(zhuǎn)動(dòng)。(8)外部中斷:利用單片機(jī)的外部中斷,可以及時(shí)的獲取當(dāng)前的飛行姿態(tài)。 獨(dú)立看門狗:溢出時(shí)間為2s,防止系統(tǒng)死機(jī)停止工作。6系統(tǒng)調(diào)試6.1通信系統(tǒng)飛行器不同于一般的控制系統(tǒng),由于帶有四個(gè)螺旋槳,并且電機(jī)轉(zhuǎn)速很高,

49、近距離 調(diào)試意味著伴隨著安全隱患。需要構(gòu)建一個(gè)通信系統(tǒng)對(duì)飛行器進(jìn)行遠(yuǎn)距離調(diào)試。用上位機(jī)對(duì)飛行器實(shí)時(shí)控制,上位機(jī)發(fā)送到飛控系統(tǒng)的數(shù)據(jù)很多,比如想要加減油 門,讓飛行器往哪飛,在調(diào)試的時(shí)候需要隨時(shí)更改 PID參數(shù),這也是上位機(jī)要發(fā)送命令。 對(duì)于飛行控制系統(tǒng),也需要發(fā)送數(shù)據(jù)到上位機(jī),比如,當(dāng)前四個(gè)電機(jī)的轉(zhuǎn)速,當(dāng)前飛行 器的姿態(tài),以及正在使用的PID參數(shù)。為保證通信的準(zhǔn)確性,及時(shí)性,對(duì)于數(shù)據(jù)傳輸編 寫一個(gè)通信協(xié)議很有必要。上位機(jī)如圖 6.1所示。COM am屋h PffiPITCU溝廉F丄TUH. IftMlWLL. 1腐 Jfe-1m虔Ift度劉】LL角底TTCB.DSjSf.Dpit 由 FITCILP嫌虛EOLL. V速度YUJtrirrn

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論