飛控設(shè)計文檔_第1頁
飛控設(shè)計文檔_第2頁
飛控設(shè)計文檔_第3頁
飛控設(shè)計文檔_第4頁
飛控設(shè)計文檔_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、四旋翼飛控系統(tǒng)設(shè)計文檔第一章 緒論1.1 研究背景任何由人類制造、能飛離地面、在空間飛行并由人來控制的飛行物,稱為飛行器。在大氣層內(nèi)飛行的飛行器稱為航空器,如氣球、滑翔機(jī)、飛艇、飛機(jī)、直升機(jī)等。它們靠空氣的靜浮力或空氣相對運(yùn)動產(chǎn)生的空氣動力升空飛行。飛行器不僅廣泛應(yīng)用于軍事,在民用領(lǐng)域的作用也在增加,機(jī)載 GPS 和 MEMS(Micro-Electro-Mechanical Systems)慣性傳感器的飛行器甚至可以在沒有人為控制的室外環(huán)境中飛行,也就是大家所熟知的無人機(jī),。因此國內(nèi)外研究人員對飛行器進(jìn)行了大量研究。對飛行器的研究目前主要包括固定翼、旋翼及撲翼式三種,而我們所研究的四旋翼飛行

2、器在布局形式上屬于旋翼的一種,相對于別的旋翼式飛行器來說四旋翼飛行器結(jié)構(gòu)緊湊,能產(chǎn)生更大的升力,而且不需要專門的反扭矩槳保持飛行器扭矩平衡。四旋翼飛行器能夠垂直起降,不需要滑跑就可以起飛和著陸,從而不需要專門的機(jī)場和跑道,降低了使用成本,可以分散配置,便于偽裝,對敵進(jìn)行突襲和偵察。四旋翼飛行器能夠自由懸停和垂直起降,結(jié)構(gòu)簡單,易于控制,這些優(yōu)勢決定了其具有廣泛的應(yīng)用領(lǐng)域,在民用,醫(yī)療,軍事等領(lǐng)域都有著無限的潛力。在民用領(lǐng)域,它可以進(jìn)行航拍,以得到在地面難以測量和計算的數(shù)據(jù);在醫(yī)療領(lǐng)域,四旋翼直升機(jī)可以進(jìn)入普通地面機(jī)器人難以到達(dá)的地區(qū)進(jìn)行搜救等活動,最大程度的避免人員財產(chǎn)損失;在軍用方面,四旋翼

3、直升機(jī)可以作為偵查使用,它飛行靈活,穩(wěn)定,同時,若在四旋翼直升機(jī)上增加其他機(jī)械裝置,則可以利用它完成更加復(fù)雜和重要的任務(wù)。然而,作為一個 MIMO 非線性系統(tǒng),四旋翼飛行器輸入變量與輸出變量之間的耦合作用、時變非線性的動力學(xué)特征、系統(tǒng)本身的不確定性及外部的干擾等的引入,使得系統(tǒng)的控制問題變得十分復(fù)雜。如何能夠設(shè)計出有足夠的飛行動力并且具有良好穩(wěn)定性的控制系統(tǒng),是四旋翼飛行器如今面臨的主要問題,這也使得強(qiáng)大而又易于控制的發(fā)動機(jī)和控制飛行器協(xié)調(diào)工作的控制系統(tǒng)成為四旋翼飛行器設(shè)計的關(guān)鍵。近幾年來,國外一些知名研究機(jī)構(gòu)擴(kuò)展了四旋翼飛行器的研究領(lǐng)域,希望其在無GPS信號的室內(nèi)環(huán)境中可以利用一些特定的傳感

4、器數(shù)據(jù)進(jìn)行導(dǎo)航,所以擁有一個穩(wěn)定的飛控系統(tǒng)是非常必要的,而國內(nèi)對于四旋翼飛行器飛控系統(tǒng)的研究起步較晚,一些穩(wěn)定的飛控系統(tǒng)都被商品化,我們不能對其根據(jù)自己的需求進(jìn)行修改,這給我們的研究帶來很多的不便,因此我們需要開發(fā)一款屬于自己的飛控系統(tǒng)。1.2 國內(nèi)外研究現(xiàn)狀MD4-200 是德國 microdrones 公司研發(fā)的微型無人飛行器,機(jī)體和云臺完全采用碳纖維材料制造,這種材料擁有更輕的重量和更高的強(qiáng)度,也使 MD4-200具有抗電磁干擾的能力。飛行時間不低于 20 分鐘。MD4-200 的核心是 AAHRS(姿態(tài)、高度及航向參考系統(tǒng)),集成了加速度計、陀螺儀、磁力計、氣壓計、濕度計、溫度計等多種

5、高精度傳感器和卓越的控制算法,md4-200的操控因而變得非常簡單。可制定飛行航線規(guī)劃,讓飛行器按照預(yù)設(shè)的航線自動飛行。采用選配的 GPS 系統(tǒng)能夠?qū)崿F(xiàn)空間位置鎖定與自動航點(diǎn)導(dǎo)航功能,還可以選擇以 microSD 卡作為記錄器的飛行記錄儀來實(shí)時記錄和分析飛行數(shù)據(jù),所有重要的飛行數(shù)據(jù)都可以下載到數(shù)據(jù)中心,包括電池狀態(tài)、高度、姿態(tài)、位置、飛行時間等,用于航后的數(shù)據(jù)分析。MD4-200 還具有安全保護(hù)措施以避免墜毀,它能夠在電量不足和失去控制信號時自主降落。OS4是瑞士洛桑聯(lián)邦理工學(xué)院(EPFL)自動化系統(tǒng)實(shí)驗(yàn)室開發(fā)的一種電動小型四旋翼飛行器(S.Bouabdallah, R.Siegwart,20

6、07),研究的重點(diǎn)是機(jī)構(gòu)設(shè)計方法和自主飛行控制算法,目標(biāo)是要實(shí)現(xiàn)室內(nèi)和室外環(huán)境中的完全自主飛行。該項(xiàng)目進(jìn)行了兩個階段的研究。已經(jīng)分別基于多種控制算法(例如:PID、LQ、Backstepping、Sliding-mode),實(shí)現(xiàn)了飛行器姿態(tài)控制。2006年 1 月 EPFL 已經(jīng)實(shí)現(xiàn)了 OS4在室內(nèi)環(huán)境中基于慣導(dǎo)的自主懸??刂?。麻省理工學(xué)院(MIT)計算機(jī)科學(xué)和人工智能實(shí)驗(yàn)室 Robust Robotics Group開發(fā)了一種微型四旋翼飛行器(R.He,S.Prentice,N.Roy,2008),安裝北陽(Hokuyo)的激光測距儀、地平面?zhèn)鞲衅鳌z像機(jī),組成了“激光測距+視覺”的自主飛行

7、系統(tǒng)。它既沒有安裝 GPS 也沒有安裝慣性導(dǎo)航裝置,因?yàn)閷τ谖⑿惋w行器而言,慣性導(dǎo)航裝置成本高昂、體積大和質(zhì)量重。這種微型四旋翼飛行器利用機(jī)載的激光測距儀估算自身的相對位置、偏航角和高度信息;利用機(jī)載激光掃描儀和照相機(jī)用于環(huán)境感知、重建并規(guī)劃飛行、建立自身在環(huán)境地圖中的映射和確立明確的飛行路徑以在室內(nèi)狹小的空間和存在 GPS 盲區(qū)的區(qū)域安全穩(wěn)健的自主飛行。Kinect Quadrocopter MIT 是麻省理工學(xué)院 Computer Science and ArtificialIntelligence Laboratory 和 Robotics and States Estimation L

8、aboratory 合作研制的。在四旋翼飛行器上安裝 Kinect,使四旋翼能夠完全自主 3D 地圖映射(3-Dmapping)和飛行。采用 SLAM (Simultaneous Localization And Mapping)算法構(gòu)建環(huán)境模型,并使用 Kinect 傳感器采集數(shù)據(jù)信息。SLAM 地圖映射使得飛行器還能夠在 GPS 盲區(qū)(如室內(nèi)、密集的城市環(huán)境等)自主飛行執(zhí)行任何和進(jìn)行遠(yuǎn)程控制(A.Bachrach,R.He,N.Roy,2009a,A.Bachrach,R.He,N.Roy,2009b)。這對于四旋翼4DraganFlyer X4 是 Draganfly Innovatio

9、n Inc.設(shè)計的一種超級遙控攝像飛機(jī),具有驚人的性能和良好的穩(wěn)定性,它輕便小巧易于攜帶,質(zhì)量為 680g,最大長度約 77.5cm,有效載荷為 250g??捎脕頊y量、工業(yè)測繪、軍事偵察、空中攝影等;機(jī)載高性能處理器可以運(yùn)行數(shù)千行代碼并且接收傳感器(三個加速度計,三個陀螺儀,一個氣壓傳感器)輸出的信息并加以處理。操作者使用手持式控制器可以控制它飛行的方向、速度大小,也可以調(diào)整飛行的高度??梢宰龅阶詣悠胶猓擁?xiàng)目由 Office of Naval Research 和 ArmyResearch Office 資助,具有明顯的軍事用途。AR.Drone 直升飛機(jī)是法國派諾特(Parrot)公司開發(fā)

10、的一款飛行器,AR.Drone類似于一款無人駕駛直升機(jī),擁有四個獨(dú)立旋翼,操作員可以使用 iPad、iPhone、和 iPod Touch 上的軟件對其進(jìn)行飛行控制操作。由于整個飛機(jī)的操作都是基于飛機(jī)自身發(fā)出的 Wi-Fi 信號,因此操控距離可達(dá) 50 米。該飛行器的下方還加裝有重力感應(yīng)裝置、陀螺儀、機(jī)械控制芯片等部件,利用智能飛行技術(shù)可以糾正風(fēng)力和其他環(huán)境誤差,平衡 AR.Drone 的飛行速度和角度。這款航模的駕駛艙前部安裝有一個攝像頭,可以將第一人稱視角的畫面通過 Wi-Fi 信號傳回 iPad(或iPhone、iPod Touch),這樣就能在 iPad 上看到逼真的模擬駕駛艙畫面,而

11、 Parrot公司還提供有 SDK,游戲開發(fā)者可以針對該產(chǎn)品設(shè)計開發(fā)虛擬空戰(zhàn)游戲。1.3 國內(nèi)外現(xiàn)有的四旋翼飛控系統(tǒng)1.4 文檔主要內(nèi)容設(shè)計四旋翼飛行器需要綜合很多方面,例如設(shè)計飛行器結(jié)構(gòu)、選擇合適的傳感器件和有效的控制算法等等。本文的主要任務(wù)是實(shí)現(xiàn)四旋翼飛行器完整控制系統(tǒng)的設(shè)計,包括實(shí)驗(yàn)用飛行器模型硬件部分及軟件部分設(shè)計,系統(tǒng)的動力學(xué)建模,姿態(tài)解算原理及實(shí)現(xiàn),基于動力學(xué)模型的控制器設(shè)計,最終還要完成裝置的調(diào)試和飛行實(shí)驗(yàn)。具體研究內(nèi)容分為以下幾個部分:(1) 系統(tǒng)硬件設(shè)計。通過分析四旋翼飛行器的飛行原理,確定結(jié)構(gòu)模塊化的硬件設(shè)計思路,分別進(jìn)行系統(tǒng)控制模塊、PWM驅(qū)動模塊、IMU(慣性測量)模塊

12、和遙控器信號捕捉模塊硬件原理的分析和實(shí)物電路的設(shè)計。(2) 結(jié)合四旋翼飛行器的硬件結(jié)構(gòu),進(jìn)行軟件編程部分的工作。按照四旋翼飛行器的飛行原理和控制特性進(jìn)行系統(tǒng)飛行控制主程序以及各模塊軟件編程。(3) 對四旋翼飛行器系統(tǒng)的控制方法進(jìn)行研究,根據(jù)飛行原理進(jìn)行動力學(xué)建模,并完成系統(tǒng)控制器的設(shè)計。(4) 系統(tǒng)調(diào)試和實(shí)驗(yàn)結(jié)果分析。首先對系統(tǒng)的各個模塊進(jìn)行相關(guān)調(diào)試和檢測,然后組裝模型,進(jìn)行四旋翼飛行器實(shí)物系統(tǒng)的飛行實(shí)驗(yàn),驗(yàn)證理論設(shè)計方案的合理性。第二章 四旋翼飛控系統(tǒng)硬件平臺搭建2.1 四旋翼飛行器飛行原理圖2-1 四旋翼模型圖四旋翼飛行器故名思議采用四個旋翼作為飛行的直接動力源,旋翼對稱分布在機(jī)體的前后、

13、左右四個方向,如圖2-1,四個旋翼處于同一高度平面,且四個旋翼的結(jié)構(gòu)和半徑都相同,旋翼1 和旋翼3 逆時針旋轉(zhuǎn),旋翼2 和旋翼4 順時針旋轉(zhuǎn),四個電機(jī)對稱的安裝在飛行器的支架端。四旋翼飛行器和典型的傳統(tǒng)直升機(jī)不同,直升機(jī)配備有一個主轉(zhuǎn)子和一個尾漿。他們是通過控制舵機(jī)來改變螺旋槳的槳距角,從而控制直升機(jī)的姿態(tài)和位置。四旋翼飛行器是通過調(diào)節(jié)四個電機(jī)轉(zhuǎn)速來改變旋翼轉(zhuǎn)速,實(shí)現(xiàn)升力的變化,從而控制飛行器的姿態(tài)和位置。由于飛行器是通過改變旋翼轉(zhuǎn)速實(shí)現(xiàn)升力變化,這樣會導(dǎo)致其動力不穩(wěn)定,所以需要一種能夠長期確保穩(wěn)定的控制方法。圖2-2 四旋翼飛行器飛行原理圖四旋翼飛行器是一種六自由度的垂直起降機(jī),因此非常適合

14、靜態(tài)和準(zhǔn)靜態(tài)條件下飛行。但是四旋翼飛行器只有四個輸入力,同時卻有六個狀態(tài)輸出,所以它又是一種欠驅(qū)動系統(tǒng)。因?yàn)殡姍C(jī)1 和電機(jī)3 逆時針旋轉(zhuǎn)的同時,電機(jī)2 和電機(jī)4 順時針旋轉(zhuǎn),所以當(dāng)飛行器平衡飛行時,陀螺效應(yīng)和空氣動力扭矩效應(yīng)均被抵消。四旋翼典型的控制模式有兩種,即“十”模式和“X”模式,如圖2-2是“十”模式控制原理圖,圖a)中表示的是1號電機(jī)轉(zhuǎn)速比3號電機(jī)快,這飛行器會向后方運(yùn)動,同理圖b)中3號電機(jī)轉(zhuǎn)速比1號電機(jī)轉(zhuǎn)速快,則飛行器向前方運(yùn)動,圖c)和圖d)表示的是飛行器向左右運(yùn)動的控制原理圖,圖e)和圖f)表示的是飛行器上下運(yùn)動的控制原理圖,當(dāng)四個電機(jī)轉(zhuǎn)速同時增大時飛行器會上升,同時減小時飛

15、行器會下降。圖g)和圖h)表示的是飛行器偏航方向的控制原理圖,當(dāng)1號和3號電機(jī)轉(zhuǎn)速比2號和四號轉(zhuǎn)速快時,飛行器會逆時針旋轉(zhuǎn),同理增加2號和4號電機(jī)的轉(zhuǎn)速,飛行器會順時針旋轉(zhuǎn)。四旋翼的另外一種控制模式是“X”模式,和“十”模式控制方式相比只有在前后和左右方向上不同,而垂直方向和偏航方向控制完全相同?!癤”模式下左右運(yùn)動依靠左右兩對電機(jī)的轉(zhuǎn)速差控制,前后運(yùn)動依靠前后兩對電機(jī)的轉(zhuǎn)速差控制。本實(shí)驗(yàn)室開發(fā)的飛控系統(tǒng)基于的是“X”模式。2.2 四旋翼飛控系統(tǒng)硬件平臺設(shè)計2.2.1 設(shè)計目標(biāo)本實(shí)驗(yàn)室所設(shè)計的四旋翼飛控系統(tǒng)的目標(biāo)是設(shè)計出一套完整的四軸飛行器飛行控制系統(tǒng),并利用硬件和軟件實(shí)現(xiàn)設(shè)計的控制系統(tǒng),從而

16、實(shí)現(xiàn)我們的控制目標(biāo),期望通過該飛行控制系統(tǒng)可以讓四旋翼飛行器在近地環(huán)境下,通完成垂直起降、懸停等動作,并在對其施以外界干擾時能自動調(diào)節(jié)迅速恢復(fù)到平穩(wěn)狀態(tài),最后能在此基礎(chǔ)上通過暴力測試。同時為了能夠滿足飛行試驗(yàn)的需要提出了以下要求:(1)具有較高的可靠性。(2)具有較好的可維護(hù)性,配件的購買和更換方便,便于外場試驗(yàn)。(3)具有較好的安全防護(hù)機(jī)制,可以應(yīng)對突發(fā)的故障。(4)具有一定的續(xù)航能力,提高外場飛行試驗(yàn)效率。2.2.2 系統(tǒng)硬件結(jié)構(gòu)整個系統(tǒng)硬件部分根據(jù)模塊化思想進(jìn)行設(shè)計,結(jié)構(gòu)框圖如圖2-3所示 圖2-3系統(tǒng)硬件結(jié)構(gòu)框圖從上圖可以看出整個系統(tǒng)主要包含的模塊有遙控器信號捕捉模塊、IMU(姿態(tài)測量

17、模塊)、PID控制器模塊、PWM輸出模塊、IIC模塊和USART(無線串口)模塊。下面簡要介紹每個模塊的功能:遙控器信號捕捉模塊:這個模塊主要用來捕捉遙控器的PWM波信號,遙控器2通道信號主要用做飛行器的油門,1通道信號作為飛行器橫滾角設(shè)定值,3通道信號作為飛行器俯仰角設(shè)定值,4通道作為飛行器俯仰角設(shè)定值,5通道信號作為模式切換開關(guān)信號。IMU(姿態(tài)測量模塊):該模塊包括三個傳感器總共九軸數(shù)據(jù),這個模塊和STM32連接的接口是IIC接口,九軸數(shù)據(jù)通過基于互補(bǔ)濾波的姿態(tài)解算算法算出當(dāng)前飛行器的姿態(tài)然后和上一個模塊給出的姿態(tài)設(shè)定值做差,得到姿態(tài)誤差。PID控制器模塊:該模塊由軟件生成,我們開發(fā)最后

18、決定使用分段PID串級控制,使用串級控制的好處是可以很好地消除外部擾動,之所以使用分段PID是因?yàn)樵谡`差小時,所需要的控制作用較小,而誤差較大的時候所需要的控制作用較大。,該模塊輸入是姿態(tài)誤差,輸出是控制量對應(yīng)的四個電機(jī)的PWM輸出。PWM輸出模塊:利用stm32自帶的PWM生成器直接產(chǎn)生需要的PWM波,PWM波的參數(shù)主要是周期與占空比。IIC模塊:之所以要加上這個模塊是因?yàn)镾TM32這塊芯片的硬件IIC使用時不能滿足使用要求,我們開發(fā)的時候是根據(jù)時序自己編寫軟件的模擬IIC來解決這個問題的。USART(無線串口)模塊:這個模塊主要是用于調(diào)試PID參數(shù)和姿態(tài)數(shù)據(jù)的實(shí)時回傳給上位機(jī),里面主要涉及

19、的是通信協(xié)議的編寫。2.2.3 器件選取(1)微控制器選型飛控系統(tǒng)是一個多輸入多輸出系統(tǒng),輸入信號主要是對四旋翼飛行器飛行姿態(tài)的設(shè)定值,開發(fā)第一階段使用遙控器信號給定姿態(tài)的設(shè)定值,第二階段使用上位機(jī)給定姿態(tài)設(shè)定值,所以選擇的控制器需要都能夠接受這兩種設(shè)定信號。飛控系統(tǒng)輸出的控制信號是PWM(脈沖寬度調(diào)制)信號,所以需要微控制器可以比較容易的產(chǎn)生PWM信號。整個飛控系統(tǒng)還涉及到飛行姿態(tài)的解算,所以需要微控制器的主頻較高,這樣可以提高姿態(tài)解算的時間。還有IMU(慣性測量單元)接口是IIC接口,所以需要所選擇的微控制器具有IIC通信接口。最后由于控制系統(tǒng)具有3ms的控制周期,所以需要微控制器的定時器

20、精度較高,基于以上這么多要求,本飛控系統(tǒng)選定的微控制器是ST(意法半導(dǎo)體公司)的STM32系列芯片。圖2-4 STM32芯片圖如圖2-4所示,這個系列的芯片是基于ARM Cortex-M3內(nèi)核的微控制器,片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器。具有3種低功耗模式:休眠,停止,待機(jī)模式。為RTC和備份寄存器供電的VBAT。兩種調(diào)試模式:串行調(diào)試(SWD)和JTAG接口。具有12通道DMA控制器,支持的外設(shè)有定時器,ADC,DAC,SPI,IIC和USART。具有2個12位的us級的A/D轉(zhuǎn)換器(16通道),A/D測量范圍:0-3.6 V、雙采樣和保持能力、片上集

21、成一個溫度傳感器。具有最多高達(dá)112個的快速I/O端口:根據(jù)型號的不同,有26,37,51,80,和112的I/O端口,所有的端口都可以映射到16個外部中斷向量。除了模擬輸入,所有的都可以接受5V以內(nèi)的輸入。最多多達(dá)11個定時器:4個16位定時器,每個定時器有4個IC/OC/PWM或者脈沖計數(shù)器。2個16位的6通道高級控制定時器:最多6個通道可用于PWM輸出。2個看門狗定時器(獨(dú)立看門狗和窗口看門狗)。Systick定時器:24位倒計數(shù)器。2個16位基本定時器用于驅(qū)動DAC。最多多達(dá)13個通信接口:2個IIC接口(SMBus/PMBus),5個USART接口(ISO7816接口,LIN,IrD

22、A兼容,調(diào)試控制),3個SPI接口(18 Mbit/s),兩個和IIS復(fù)用,CAN接口(2.0B),USB 2.0全速接口,SDIO接口。(2)IMU(慣性測量單元) 選型四旋翼飛行器在空中飛行時由于受到周圍環(huán)境的影響,無法使飛行器一直保持平衡的狀態(tài),這就需要一定的傳感器件來對飛行器的姿態(tài)進(jìn)行檢測,而現(xiàn)在一般使用傳感器就是IMU,以前的IMU一般只有三軸陀螺儀,但是由于陀螺儀往往存在溫度漂移,所以就需要有其他的傳感器件對陀螺儀數(shù)據(jù)進(jìn)行糾正?,F(xiàn)在IMU一般包括三軸陀螺儀,三軸加速度計和三軸磁力計,其中加速度計和磁力計用來對陀螺儀數(shù)據(jù)進(jìn)行糾正。本套飛控系統(tǒng)選用的傳感器信號是MPU6050,其整合了

23、三軸加速度計和三軸陀螺儀,坐標(biāo)軸定義如圖2-5圖2-5 MPU6050坐標(biāo)軸定義MPU6050的角速度全格感測范圍為±250、±500、±1000與±2000°/sec (dps),可準(zhǔn)確追蹤快速與慢速動作,并且,用戶可程式控制的加速器全格感測范圍為±2g、±4g±8g與±16g。產(chǎn)品傳輸可透過最高至400kHz的IIC。磁力計選用的是Honeywell公司的HMC5883l三軸數(shù)字羅盤,接口是IIC,通過配置輸出頻率最高是75HZ。(3)電調(diào)、電機(jī)、螺旋槳及機(jī)架選型實(shí)驗(yàn)室的四旋翼飛行器電調(diào)、電機(jī)和螺旋槳

24、都是DJI公司的,其中電調(diào)(電子調(diào)速器,用來控制電機(jī)的轉(zhuǎn)速,輸入是一定周期的PWM波,英文簡稱ESC)如圖2-6的規(guī)格參數(shù)如下: 電流 : 30 AOPTO兼容信號頻率 : 30Hz - 450Hz電池 : LiPo ( 3-4S 1500mAh 2600 mAh)。電機(jī)如圖2-7,規(guī)格參數(shù)如下:定子尺寸 : 22 x 15mm KV值 : 920KV rpm/V 螺旋槳 : 10 x 4.5 in型號:2212實(shí)際重量:60克。螺旋槳如圖2-8所示,規(guī)格是10英寸。圖2-6 DJI電調(diào)圖2-7 DJI電機(jī)圖2-8 DJI 1045螺旋槳由于飛控程序一開始不穩(wěn)定,在調(diào)試的時候肯定會出現(xiàn)炸機(jī)的情

25、況,所以機(jī)架必須非常結(jié)實(shí),我們選取的機(jī)架是XAircraft公司的X450Pro機(jī)架,如圖2-9圖2-9 XAircraft X450Pro機(jī)架 (4)電源、遙控器及無線模塊選型關(guān)于遙控器的選型,主要看設(shè)計飛控系統(tǒng)時需要多少個輸入信號,為了滿足當(dāng)前使用和以后繼續(xù)開發(fā)的要求,實(shí)驗(yàn)室選擇的是天地飛公司的一款7通道的遙控器,型號WFT07,如圖2-10所示圖2-10 天地飛遙控器與接收機(jī)關(guān)于電源的選型,本系統(tǒng)選用的是鋰電池,用它來給電調(diào)供電,同時通過穩(wěn)壓電路輸出5V給控制板供電。關(guān)于無線模塊的選型,由于有時候飛行器飛的距離比較遠(yuǎn),所以選擇如圖2-11這款無線模塊,它的型號是XBEE PRO 900

26、HP 250MW,傳輸距離野外無遮擋距離一般為4-10km。圖2-11 XBEE PRO 900無線模塊第三章 四旋翼飛行器軟件設(shè)計3.1 軟件設(shè)計需求本系統(tǒng)主要完成的是四旋翼飛行器的垂直起降控制和一定范圍內(nèi)的姿態(tài)變化控制。在飛行控制的軟件設(shè)計中,預(yù)期的目標(biāo)是讓飛行器能夠快速到達(dá)設(shè)定的姿態(tài),并且在垂直方向可以穩(wěn)定在設(shè)定的高度上,而對于飛行器最基本的飛行特性-懸停就是第一個我們要完成的任務(wù)。 由四旋翼飛行器的飛行原理可知,飛行器飛行姿態(tài)的調(diào)節(jié)最終體現(xiàn)在四個帶螺旋槳電機(jī)的速度調(diào)節(jié)上,在四個電機(jī)不同的轉(zhuǎn)速組合條件下,飛行器能夠?qū)崿F(xiàn)俯仰、橫滾、偏航等不同的飛行姿態(tài),相應(yīng)的飛行控制系統(tǒng)也使用三個控制通道

27、,采用一定的控制律控制每個通道。在軟件設(shè)計的時候忽略各通道之間的耦合作用。根據(jù)上述飛行控制系統(tǒng)的設(shè)計要求,將四旋翼飛行器飛控系統(tǒng)軟件任務(wù)劃分為以下幾部分:(1)初始化任務(wù):完成系統(tǒng)、外設(shè)及相關(guān)數(shù)據(jù)變量的初始化工作(2)數(shù)據(jù)通訊任務(wù):通過點(diǎn)對點(diǎn)無線模塊完成數(shù)據(jù)的下傳、上傳。(3)遙控器信號捕捉任務(wù):通過對遙控器信號的解析通過一定的時序完成對遙控器信號的捕捉 (4)數(shù)據(jù)采集任務(wù):完成陀螺儀、加速度計及磁力計的數(shù)據(jù)采集工作。(超聲波)(5)定時器定時及PWM輸出:需要利用一個定時器對控制周期進(jìn)行定時,同時利用四個定時器來產(chǎn)生PWM波對電調(diào)進(jìn)行控制,繼而控制電機(jī)。(6)姿態(tài)解算任務(wù):對采集到的九軸數(shù)據(jù)

28、利用一定的濾波算法融合在一起,進(jìn)而實(shí)現(xiàn)對飛行器姿態(tài)的解算。(7)控制律解算任務(wù):采用PID控制律,在每個控制周期內(nèi)對PWM波輸出進(jìn)行更新,即對電機(jī)的控制量更新,本飛控系統(tǒng)是個控制姿態(tài)的閉環(huán)系統(tǒng)而不是控制電機(jī)轉(zhuǎn)速的閉環(huán)系統(tǒng)。課件軟件任務(wù)工作量大,而且涉及到各個任務(wù)之間的協(xié)作問題,所以設(shè)計出一個合理的任務(wù)時序,可以提高整個系統(tǒng)運(yùn)行效率。3.2 飛控系統(tǒng)及各模塊的軟件流程3.2.1飛控系統(tǒng)軟件流程本系統(tǒng)軟件開發(fā)環(huán)境是IAR Embedded Workbench IDE for ARM,這個環(huán)境具有高度優(yōu)化的 IAR AVR C/C+編譯器;一個強(qiáng)大的編輯器;一個工程管理器;一個具有世界先進(jìn)水平的高級

29、語言調(diào)試器。使用戶在開發(fā)新的項(xiàng)目時也能在所熟悉的開發(fā)環(huán)境中進(jìn)行。一般基于ARM開發(fā)系統(tǒng)用的開發(fā)環(huán)境有兩個,一個就是IAR,另外一個是MDK,明顯后者在編譯的時候速度很慢,而且調(diào)試環(huán)境前者比后者簡單且容易直觀,所以選擇前者作為開發(fā)環(huán)境。圖2-12是整個系統(tǒng)的軟件流程圖 圖2-12 飛控系統(tǒng)整體軟件流程圖從圖中可以看出整個系統(tǒng)的流程是這樣的,首先必須對系統(tǒng)的各個硬件模塊進(jìn)行初始化,初始化完畢以后需要讀出保存在Flash的控制參數(shù),這些控制參數(shù)都是在上一次試飛過程中調(diào)試完畢并保存在Flash中的,讀取完參數(shù)后把這些參數(shù)賦值給相應(yīng)的運(yùn)算變量以備之后的PID運(yùn)算,緊接著依據(jù)捕捉的遙控器2通道的信號上升沿

30、是否大于1700判斷是否需要對電子調(diào)速器進(jìn)行行程的校準(zhǔn),接著就是進(jìn)入姿態(tài)解算模塊對姿態(tài)數(shù)據(jù)進(jìn)行更新,再對發(fā)送給上位機(jī)的緩沖區(qū)數(shù)據(jù)進(jìn)行更新。之后就是判斷系統(tǒng)是否處于解鎖和關(guān)閉狀態(tài),這些都是出于安全防護(hù)的考慮,因?yàn)槿绻麑φ麄€系統(tǒng)沒有鎖定這一功能,而操作者在對系統(tǒng)上電的時候系統(tǒng)就處于運(yùn)行狀態(tài),假如這個時候遙控器信號不是正常值,很容易出現(xiàn)危險的情況。同理為什么要判斷遙控器是否關(guān)閉,原因是遙控器關(guān)閉的時候信號處于異常狀態(tài),如果不加這個判斷,即遙控器關(guān)閉狀態(tài)下對系統(tǒng)上電,且解鎖完畢,飛行器會出現(xiàn)異常的工作狀況。接著就是等待控制周期標(biāo)志置位,對控制量進(jìn)行更新,本系統(tǒng)的控制周期是2.5ms,之所以采用這個控制

31、周期是因?yàn)榭刂齐娬{(diào)的PWM波周期是2.5ms。這里還需要說明一點(diǎn)是程序流程圖里面沒有提到好幾個子模塊的程序,它們分別是遙控器信號捕捉模塊,主要應(yīng)用的是中斷子程序,算法在下面小節(jié)會具體說明;還有控制周期定時子模塊,主要是控制周期一到對標(biāo)志置位;還有數(shù)據(jù)發(fā)送子程序,應(yīng)用DMA發(fā)送;姿態(tài)傳感器數(shù)據(jù)接收子模塊,通信協(xié)議是IIC;還有上位機(jī)數(shù)據(jù)接收子程序,應(yīng)用的是中斷子程序;還有PWM控制量輸出子程序;還有“X”模式四個電機(jī)控制量耦合關(guān)系子程序和Flash讀取存儲子程序。本章只敘述程序的流程和算法,代碼詳見附錄。下面將對這些子程序一一詳細(xì)介紹。3.2.2飛控系統(tǒng)子模塊軟件流程(1)Flash存儲和讀取子

32、程序STM32微控制器一個比較搶眼的有點(diǎn)事內(nèi)置了大容量的Flash存儲器,通過STM32內(nèi)部的Flash控制模塊可以對Flash存儲其進(jìn)行操作。STM32內(nèi)置的Flash具有128KB的容量,可以重復(fù)擦寫10萬次。以上特性決定了STM32內(nèi)置Flash可以符合本系統(tǒng)中對于控制參數(shù)的讀寫要求。本飛控系統(tǒng)主要有5組15個參數(shù),每個參數(shù)數(shù)據(jù)類型都是浮點(diǎn)型占用4個字節(jié),所以參數(shù)總共占用的空間是60個字節(jié)。同時在處理傳感器數(shù)據(jù)時需要先對傳感器數(shù)據(jù)進(jìn)行標(biāo)定,標(biāo)定數(shù)據(jù)也會存儲到Flash中,那些數(shù)據(jù)大小也不大,總共是28個字節(jié),所以根本不需要外部Flash來存儲這些數(shù)據(jù),這樣既可以節(jié)約開發(fā)成本,還可以減小控

33、制電路的復(fù)雜度。但是特別要注意的是由于內(nèi)部Flash主要用于程序的存儲,所以這些數(shù)據(jù)存儲在最后幾頁,以免和主程序地址沖突,破壞主程序的執(zhí)行。要成功對STM32內(nèi)部Flash進(jìn)行寫操作,關(guān)鍵是要遵循如下的流程:圖2-13 Flash寫操作流程這里需要說明的是對Flash寫是寫一頁大小的,所以最后在程序里面不同數(shù)據(jù)各占了一頁的大小。在Flash存儲和讀取子程序主要包括的是Flash本身的讀寫函數(shù),MPU6050標(biāo)定數(shù)據(jù)讀寫函數(shù),HMC5883L標(biāo)定數(shù)據(jù)的讀寫函數(shù),控制參數(shù)讀寫函數(shù)。具體代碼詳見附錄。(2) IIC通訊接口子程序上文中有提到過STM32這款微控制器具有其本身的硬件IIC的,但是由于使

34、用不便,所以本系統(tǒng)中使用的IIC通訊接口是模擬硬件IIC時序的模擬IIC,即用軟件代碼實(shí)現(xiàn)硬件IIC的功能。IIC只要求兩條總線線路,一條串行數(shù)據(jù)線SDA,一條串行時鐘線SCL。圖2-14表示的是典型的IIC接口連示例。圖2-14 典型的IIC接口連示例每個連接到總線的器件都可以通過唯一的地址和其它器件通信,主機(jī)/從機(jī)角色和地址可配置,主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接受器。但是如果兩個或者更多的主機(jī)同時請求總線,可以通過沖突檢測和仲裁防止總線數(shù)據(jù)被破壞。IIC的的通信協(xié)議可以簡單概括為如下:a) 數(shù)據(jù)的有效性 在時鐘信號高電平的時候,SDA線上的數(shù)據(jù)必須保持穩(wěn)定,數(shù)據(jù)線僅可在SCL時鐘信號為低電

35、平時改變。b) 起始和結(jié)束條件起始條件:當(dāng)SCL為高電平是,SDA線上由高到低的跳變被定義為起始條件;結(jié)束條件:當(dāng)SCL高電平時,SDA線上由低電平變?yōu)楦唠娖降奶儽欢x為結(jié)束條件??偩€在起始條件之后被視為忙狀態(tài),在結(jié)束條件后被視為空閑狀態(tài)。c) 應(yīng)答每當(dāng)主機(jī)向從機(jī)發(fā)送完一個字節(jié)的數(shù)據(jù),主機(jī)總是需要等待從機(jī)給出一個應(yīng)答信息已確認(rèn)是否接收成功。從機(jī)應(yīng)答主機(jī)所需的時鐘仍是主機(jī)提供的,應(yīng)答出現(xiàn)在每一次主機(jī)完成8個數(shù)據(jù)位傳輸后緊跟著時鐘周期。d) 帶有7位地址的數(shù)據(jù)格式典型的IIC傳輸數(shù)據(jù)流由最高位在SCL的驅(qū)動下依次傳輸。在起始條件后,第一個字節(jié)由長度為7位的傳輸?shù)刂沸畔⒑烷L度為1位的數(shù)據(jù)方向位組成

36、。數(shù)據(jù)方向位為1表示主機(jī)請求從機(jī)數(shù)據(jù),為0表示主機(jī)向從機(jī)輸出數(shù)據(jù)。在隨后的第9個時鐘周期,主機(jī)將等待從機(jī)的應(yīng)答。e) 仲裁仲裁時間發(fā)生在至少有兩個設(shè)備的同時向總線傳輸起始條件、嘗試成為主機(jī)的時刻。贏得仲裁的設(shè)備將成為主機(jī),其余設(shè)備將退出仲裁保持在空閑狀態(tài),直至下一次總線空閑后才能再次申請控制總線。 自己編寫的IIC通訊接口程序其實(shí)就是按照上述協(xié)議編寫的模擬IIC程序,實(shí)驗(yàn)證明模擬IIC程序可以準(zhǔn)確的讀取傳感器數(shù)據(jù)。(3)MPU6050讀取子程序在讀取傳感器數(shù)之前需要對傳感器進(jìn)行初始化,讓其進(jìn)入可用狀態(tài),首先需要設(shè)置時鐘,接著定義傳感器數(shù)據(jù)量程,再接著對傳感器設(shè)置低通濾波器頻率,最后開啟傳感器。

37、隨后還需要對中斷模式進(jìn)行配置,讀取事先做好的標(biāo)定值,然后就是讀取傳感器數(shù)據(jù)。最后再對讀取到的傳感器數(shù)據(jù)減掉標(biāo)定的偏移量,經(jīng)過滑動平均濾波器最后應(yīng)用于姿態(tài)解算。(4)磁力計讀取子程序磁力計數(shù)據(jù)讀取和MPU6050數(shù)據(jù)讀取大同小異,也是先對傳感器初始化讓其進(jìn)入可用狀態(tài),然后讀取標(biāo)定值,對讀取的數(shù)據(jù)減去標(biāo)定偏移量,經(jīng)過濾波器最后應(yīng)用于姿態(tài)解算。(5)姿態(tài)解算子程序姿態(tài)解算主要應(yīng)用的算法是互補(bǔ)濾波,將在下一個章節(jié)詳細(xì)敘述。(6)遙控器信號捕捉子程序遙控器信號在接收機(jī)上表現(xiàn)的形式是周期是21ms的PWM波,而其實(shí)有用的信號只是高電平,所以遙控器信號捕捉子程序主要做的事情是通過一定的數(shù)量關(guān)系把高電平時間捕

38、捉出來。通過示波器可以發(fā)現(xiàn)高電平的時間范圍是1ms到2.5ms之間,程序中把1ms的時間量化為1000的數(shù)量,同理2.5ms量化為2500的數(shù)量,所以定時器需要分頻成1MHZ,即計數(shù)器計一次數(shù)就是1us,然后上升沿瞬間讀一次計數(shù)器,下降沿的瞬間讀一次計數(shù)器,兩次計數(shù)器數(shù)值相減就是高電平的時間。但是計數(shù)器會有溢出出現(xiàn),這個問題的解決在下面的流程圖很好的體現(xiàn):圖2-15 遙控器信號捕捉流程圖當(dāng)下降沿時間比上升沿時間小時,返回主程序,遙控器信號保持上次的捕捉值不變。本系統(tǒng)主要捕捉遙控器六個通道的信號值,每個通道捕獲原理相同。(7)PWM控制信號輸出STM32有一個PWM波發(fā)生器,只要對相應(yīng)的寄存器進(jìn)

39、行賦值就可以得到所需要的PWM波。而本系統(tǒng)需要的PWM控制信號也即是PID計算出一個值然后賦給對應(yīng)的寄存器就可以得到控制量。這個子程序中還包括對控制量的初始化,對控制量平滑濾波和限幅。最后是根據(jù)相應(yīng)的控制模式(“X”或者“十”)把控制量輸出到電機(jī),如表2-1和表2-2所示。從表格中可以看到控制量主要是Pitch,Yaw,Roll三個通道的控制量,規(guī)定電機(jī)的順序是右后1號電機(jī),右前2號電機(jī),左后3號電機(jī),左前四號電機(jī)。表2-1 “十”模式電機(jī)控制量控制量電機(jī)油門RollPitchYaw電機(jī)1+10+1-1電機(jī)2+1-10+1電機(jī)3+1+10+1電機(jī)4+10-1-1表2-2 “X”模式電機(jī)控制量

40、控制量電機(jī)油門RollPitchYaw電機(jī)1+1-1+1-1電機(jī)2+1-1-1+1電機(jī)3+1+1+1+1電機(jī)4+1+1-1-1表格中的“+1”表示控制量相加,“-1”表示控制量相見,比如“X”模式下的對電機(jī)1的控制量輸出等于油門量減去Roll控制量加上Pitch控制量減去Yaw控制量。(8)PID控制子程序該子程序主要用來控制姿態(tài),用的是分段串級PID控制,具體算法詳見下面章節(jié)。(9)USART(無線串口)通訊子程序上一章中已經(jīng)提到本系統(tǒng)采用的無線模塊的接口是全雙工異步串口協(xié)議,所以需要用到STM32中的USART收發(fā)器,其中把數(shù)據(jù)發(fā)送到上位機(jī)系統(tǒng)采用的是DMA發(fā)送的形式,這樣可以保證數(shù)據(jù)連續(xù)發(fā)送,保證數(shù)據(jù)發(fā)送的實(shí)時性,從而上位機(jī)上可以看到很好的系統(tǒng)運(yùn)行的狀況。而上位機(jī)把PID參數(shù)發(fā)送到系統(tǒng)中實(shí)時性要求不高,而且不需要一直發(fā)送控制參數(shù),只需要發(fā)送一次,系統(tǒng)接收到控制參數(shù)就把其寫入到Flash,然后根據(jù)上位機(jī)發(fā)送的標(biāo)識(用來區(qū)別本

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論