【正文】
碼流程圖 姿態(tài)處理 姿態(tài)處理單元基于 MPU6050 姿態(tài)傳感器,通過(guò) IIC 總線得到四元數(shù)數(shù)據(jù),并通過(guò)四元數(shù)向歐拉角的轉(zhuǎn)換得到 姿態(tài)角。 接收到的 PPM 信號(hào)由接收機(jī)解碼為 PWM 信號(hào)通過(guò)引腳發(fā)送給處理器, 每通道對(duì)應(yīng)一個(gè)引腳。 圖 43: PPM信號(hào)說(shuō)明 PPM 信號(hào)為周期為 20ms 的邏輯脈沖。 定時(shí)器 PWM 功能 初始化代碼: 遙控器解碼 本實(shí)驗(yàn)遙控器與接收機(jī) 之間為 PPM 信號(hào) [4],由遙控器發(fā)送接收機(jī)接收。 已知處理器晶振為 16MHz, 8 位定時(shí)器,采用 256 分頻可以 達(dá)到16000000/256/256=244Hz 刷新速度,滿足 50500Hz 刷新率要求。如圖 411 圖 411: PWM占空比 基于 AVR的四旋翼 無(wú)人機(jī)控制 18 由于 本實(shí)驗(yàn)所選 電調(diào)接受 12ms 高電平信號(hào)作為輸入,分別對(duì)應(yīng)最低功率和最高功率輸出,轉(zhuǎn)速刷新率在 50500Hz。 每路 PWM 分別 控制 某個(gè)電機(jī)轉(zhuǎn)速。其中 設(shè)置 DMP 輸出頻率為40Hz, 實(shí)驗(yàn)發(fā)現(xiàn) 高頻率輸出對(duì)信號(hào) 將影響 濾波效果 。 在本程序中設(shè)置遙控器接收端口為輸入方向, PWM端口 為 輸出方向 ? IIC 總線初始化完成 IIC 總線 的使能,使能 IIC 總線后 PC PC5 則從普通端口變?yōu)?SCL、 SDA 信號(hào)線。 如圖 41 綜 合 處 理 單 元遙 控 器 解 碼姿 態(tài) 處 理初 始 化 模 塊電 機(jī) 驅(qū) 動(dòng) 圖 41:程序 整體結(jié)構(gòu) ? 初始化模塊進(jìn)行處理器引腳初始化,定時(shí)器初始化, IIC 端口初始化等工作,為整個(gè)系統(tǒng)工作所需操作做鋪墊 ? 遙控器解碼單元解碼接收機(jī)發(fā)來(lái)的 PWM 信號(hào),轉(zhuǎn)化成 規(guī)則數(shù)據(jù),用于綜合處理單元 ? 姿態(tài)處理接受 MPU6050 發(fā)送的數(shù)據(jù)并換算成歐拉角 ? 綜合處理單元結(jié)合所有數(shù)據(jù)確定當(dāng)前應(yīng)輸出量 ? 電機(jī)驅(qū)動(dòng)模塊 根據(jù)輸出值 直接控制定時(shí)器寄存器,控制電機(jī)轉(zhuǎn)速 系統(tǒng)初始化 系統(tǒng) 初始化完成對(duì) IIC 總線初始化,串口初始化(僅調(diào)試 ) ,普通端口設(shè)置,以及定時(shí)器設(shè)定。 圖 37:電調(diào) 1 見(jiàn) 基于 AVR的四旋翼 無(wú)人機(jī)控制 16 第四 章 程序 設(shè)計(jì) 本章說(shuō)明控制程序的各個(gè)模塊組成與信息交流方式,重點(diǎn)討論姿態(tài)數(shù)據(jù)的獲得。 驅(qū)動(dòng)電調(diào) 電調(diào)在項(xiàng)目中的作用為接受處理器 PWM 信號(hào),通過(guò)改變電壓控制電機(jī)轉(zhuǎn)速。 接收機(jī)接基于 AVR的四旋翼 無(wú)人機(jī)控制 15 到遙控器 PPM信號(hào)并解碼為 PWM 信號(hào) 從六個(gè)引腳輸出 。 圖 34為 ATmega328p 芯片引腳定義說(shuō)明 [3]。 主控芯片 從姿態(tài)傳感器接受到的數(shù)據(jù)與遙控器數(shù)據(jù)的需要進(jìn)行計(jì)算后 才能 交給執(zhí)行單元完成實(shí)際控制 。當(dāng)讀取完 FIFO 數(shù)據(jù)后系統(tǒng)處理器 可進(jìn)入休眠模式以節(jié)約能源,直到 MPU 再次提供完整 的姿態(tài) 數(shù)據(jù)。所有能夠從 MPU 傳感器的數(shù)據(jù)有 3 軸加速度值, 3 軸陀螺儀值和溫度值。/s 運(yùn)動(dòng)引擎 DMP( Digital Motion Processing) 是 MPU6050 傳感器內(nèi)部 數(shù)字 運(yùn)動(dòng)引擎 [5],它將采集自身傳感器數(shù)據(jù),對(duì) 數(shù)據(jù) 融合濾波后轉(zhuǎn)換為四元數(shù)( quaternion)形式放進(jìn) FIFO 緩沖池等待處理器 讀取 。 2g,177。 2020176。 1000176。 500176。 250176。 8g 177。 2g 177。 XDA 與 XCL 為連接其他 IIC 總線傳感器接口 ,本文沒(méi)有使用 。 INT 引腳為 MPU6050 DMP 數(shù)據(jù)輸出中斷,當(dāng) DMP 完成一份姿態(tài)角度計(jì)算后會(huì)拉高 INT 引腳以通知處理器數(shù)據(jù)準(zhǔn)備完成。 IIC 總線的 SDA 與 SCL 引腳分別與處理器 SDA 與 SCL 引腳相連。 本文采用MPU6050 三軸加速度計(jì)與陀螺儀集成芯片 模塊。 A T m e g a 3 2 8 p接 收 機(jī)遙 控 器電 調(diào)馬 達(dá)M P U 6 0 5 0P W MP P MP W MD A T A 31:硬件系統(tǒng)構(gòu)成 ? 無(wú)線控制系統(tǒng)由發(fā)射機(jī)和接收機(jī)組成,為 外界對(duì)飛行器的操控單元 ? 姿態(tài)傳感器是由 MPU6050 三軸陀螺儀和加速度計(jì)傳感器 ,實(shí)時(shí)提供飛行器的當(dāng)前姿態(tài),為處理器提供當(dāng)前姿態(tài)參考。 基于 AVR的四旋翼 無(wú)人機(jī)控制 11 第三 章 硬件 結(jié)構(gòu) 本章完成 無(wú)人機(jī)系統(tǒng)的硬件 部分內(nèi)容 , 其中 主控芯片 ATmega328p、姿態(tài)傳感器為 本 設(shè)計(jì) 的核心 硬件 。 ? 俯仰角的改變: 如圖 26 圖 26:俯仰角的改變 F(Ω3+?3) F(Ω1Δ1)產(chǎn)生多余升力將飛行器沿 X軸傾斜,達(dá)到改變俯仰角的目標(biāo)。 如圖 24包含了飛行器所有飛行狀態(tài)。 姿態(tài) 控制 飛行過(guò)程中, 升力 F ∝ Ω, 其中 Ω為 螺旋槳 轉(zhuǎn)速 。 數(shù)學(xué)定義為: Q a bi cj dk? ? ? ? () 基于 AVR的四旋翼 無(wú)人機(jī)控制 8 其中 a,b,c,d為實(shí)數(shù), i,j,k為虛數(shù) 即 ??2 = ??2 = ??2 = ?1 另可表達(dá)為 ? ?TQ w x y z? () 并且滿足 2 2 2 2 2| | 1Q w x y z? ? ? ? ? () 四元數(shù)加減法對(duì)應(yīng)項(xiàng)相加減,但不滿足乘法交換律, 四元數(shù)乘法規(guī)則: 1 i j k 1 1 i j k i i 1 k j j j k 1 i k k j i 1 在三維空間中,任意軸的旋轉(zhuǎn)伸縮都可以用四元數(shù)的乘積來(lái)表示。 四元數(shù) 四元數(shù)( Quaternion) 是描述飛行器空姿態(tài)變化的另一種方法,不會(huì)出現(xiàn)歐拉角萬(wàn)向節(jié)問(wèn)題。 則他們的轉(zhuǎn)換關(guān)系為: ( , ) ( , ) ( , )r c z c y c x R? ? ? ? () 及 1 0 0 c o s 0 sin c o s sin 00 c o s sin 0 1 0 sin c o s 00 sin c o s sin 0 c o s 0 0 1c o s c o s c o s sin sinsin sin c o s c o s sin sin sin sin c o s c o s sin c o sc o s sixXyYzZ? ? ? ? ?? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ?? ? ? ? ? ?? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ?? ? ? ? ?? ? ? ? ? ? ? ? ? ?? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ?? n c o s sin sin c o s sin sin sin c o s c o s c o sXYZ? ? ? ?? ? ? ?? ? ? ?? ? ? ?? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? () 可以簡(jiǎn)寫為 BER Cr? () 其中 ??????為地面坐標(biāo)系到機(jī)體坐標(biāo)系轉(zhuǎn)換矩陣,另外 EBr CR? () ??????為機(jī)體坐標(biāo)系到地面坐標(biāo)系的轉(zhuǎn)換矩陣。 起始位置 E、 B坐標(biāo)系重合 ? Ψ 角:偏航角為機(jī)體沿 Z 軸旋轉(zhuǎn)的角度,代表著飛機(jī)的機(jī)頭航向 ? θ 角:俯仰角為機(jī)體沿 Y 軸旋轉(zhuǎn)的角度,代表著飛機(jī)的機(jī)頭上下指向 ? ? 角:橫滾角為機(jī)體沿 X 軸旋轉(zhuǎn)的角度,代表著飛機(jī)機(jī)身旋轉(zhuǎn)大小 Ψ、 θ、 ? 統(tǒng)稱為歐拉角, 在 慣性導(dǎo)航領(lǐng)域的運(yùn)用。從物理角度看,歐拉角表示法可能是最簡(jiǎn)單的方法之一。 圖 22:不同軸上 力矩 的抵消 基于 AVR的四旋翼 無(wú)人機(jī)控制 6 姿態(tài)描述 飛行器空中姿態(tài)描述通常 為 歐拉角,本文從姿態(tài)傳感器得到的數(shù)據(jù)為四元數(shù),通過(guò)四元數(shù)向歐拉角的轉(zhuǎn)換,得到歐拉角用于飛行器控制。要求在同一軸上的電機(jī) 轉(zhuǎn)動(dòng) 方向相同,不同軸上的電機(jī)轉(zhuǎn)動(dòng)方向相反 , 如圖 22。四旋翼有兩個(gè)軸,若兩個(gè)軸產(chǎn)生的 力矩 能相互抵消,則可以抑制自旋狀態(tài)的產(chǎn)生 。 ? F f時(shí),飛行器做垂直下降運(yùn)動(dòng)。 ? F = f時(shí),飛行器懸停。 工作原理 四旋翼無(wú)人機(jī)通過(guò)四軸連接的電機(jī)轉(zhuǎn)動(dòng) Ω,帶動(dòng)槳葉產(chǎn)生升力 F。通過(guò)第六章總結(jié)部分回顧整個(gè)實(shí)驗(yàn),描述問(wèn)題解決的不足與長(zhǎng)處。 PID 控制基本可以滿足一般性控制要求, 本文則采用 PID控制作為飛行器的控制算法。 ( 3) 飛行控制算法 四旋翼飛行器為四輸入,六輸出系統(tǒng),其本身并不像固定翼那樣穩(wěn)定,這對(duì)控制算法提出了苛刻要求。 ( 2) 姿態(tài)數(shù)據(jù)的 融合 姿態(tài)數(shù)據(jù)對(duì)飛行器的控制起到?jīng)Q定性作用,但由于干擾源較多,往往不能得到準(zhǔn)確的實(shí)時(shí)姿態(tài),直接影響飛行器的姿態(tài)調(diào)整 。 但由于外界干擾源多,受到多種物理因素的制約,很難建立一個(gè)準(zhǔn)確的數(shù)學(xué)模型,這對(duì)飛行器的控制 起到不理 的作用 , 仍需要繼續(xù)探索。數(shù)據(jù)采集包括單片機(jī)對(duì)姿態(tài)傳感器的數(shù)據(jù)基于 AVR的四旋翼 無(wú)人機(jī)控制 4 和遙控器數(shù)據(jù)的采集;數(shù)據(jù)處理由 PID控制理論作為思想基礎(chǔ)對(duì)采集到的數(shù)據(jù)處理得到控制量; 數(shù)據(jù)輸出通過(guò)給電調(diào)信號(hào) 達(dá)到控制轉(zhuǎn)速的目標(biāo)。 飛行平臺(tái)硬件主要包括姿態(tài)傳感器和遙控接收機(jī), 數(shù)據(jù)由中央處理器 ATmega328p 處理后,由電調(diào)改變電壓的大小控制電機(jī)轉(zhuǎn)速 。 第二章 簡(jiǎn)單 描述 四旋翼 系統(tǒng) 的 理論基礎(chǔ) 。 屬于四旋翼研究的第一部分 : 研究重點(diǎn) 偏向系統(tǒng)建模和控制算法的 優(yōu)異與否 。重點(diǎn)在飛行器控制程序的設(shè)計(jì)。到 2020 年亞馬遜 持續(xù)對(duì)該項(xiàng)目進(jìn)行 安全測(cè)試,以獲得美國(guó)聯(lián)邦航空管理局的批準(zhǔn)。 基于 AVR的四旋翼 無(wú)人機(jī)控制 3 圖 15:麻省理工學(xué)院四旋翼項(xiàng)目 另一部分則更加側(cè)重飛行器在具體應(yīng)用中的 研究, 比較為人熟知的有亞馬遜的 “首要飛行” 無(wú)人機(jī)送貨項(xiàng)目。 圖 14:賓夕法尼亞四旋翼項(xiàng)目 圖 15 則為麻省理工學(xué)院所設(shè)計(jì)的四旋翼飛行器,它運(yùn)用的為擴(kuò)展卡爾曼算法對(duì)姿態(tài)傳感器得到的數(shù)據(jù)進(jìn)行融合濾波, 達(dá)到穩(wěn)定控制的目標(biāo)。 圖 13:第一架飛行器結(jié)構(gòu) 直到上世紀(jì) 90 年代, 隨著微型計(jì)算機(jī)、傳感器 、通訊技術(shù)、能源 以及控制理論的發(fā)展, 給四旋翼的發(fā)展帶來(lái)了質(zhì)的飛躍, 四旋翼的研究已經(jīng)成為時(shí)代的熱點(diǎn)。 研究狀況 四旋翼結(jié)構(gòu)最早在 20 世紀(jì)初就已經(jīng)出現(xiàn),對(duì)于當(dāng)時(shí)的科技水平人們嘗試了許多方法,都沒(méi)很好的完成控制飛行。 圖 12:四旋翼在救災(zāi)中的應(yīng)用 本論文 通過(guò)研究四旋翼控制算法和數(shù)據(jù)解算方式, 實(shí)現(xiàn)靈活運(yùn)用理論,完成基于 AVR的四旋翼 無(wú)人機(jī)控制 2 理論到實(shí)踐的轉(zhuǎn)化過(guò)程 。在民用領(lǐng)域無(wú)人機(jī)的應(yīng)用也比較 廣泛。 讓美軍在取得碩碩戰(zhàn)果的同時(shí),極大減小人員傷亡和戰(zhàn)爭(zhēng)開(kāi)銷 。 圖 11:四旋翼結(jié)構(gòu) 無(wú)人自主飛行平臺(tái)能夠自主 飛行并完成相應(yīng)任務(wù),與通用有人飛機(jī)相比,其造價(jià)低廉,可維護(hù)性,使用費(fèi)用都具有明顯優(yōu)勢(shì) 。 關(guān)鍵字: ATmega328p、 運(yùn)動(dòng) 引擎 DMP、 PID 控制, PPM 基于 AVR的四旋翼 無(wú)人機(jī)控制 II Abstract With the development of the puter and control theory, unmanned aerial vehicles has bee a hot research practice platform. Four rotor unmanned aerial vehicle (uav) as a kind of simple structure model of the unmanned aerial vehicle (uav), the control mode is the key of the research. This paper research has important influence on the control of attitude algorithm and PID control, and on this basis to realize four rotor of flight control. This thesis implemented based on Atmel pany produces ATmega328p singlechip microputer as main control chip, to realize the four rotor aloft, pitch and roll. The whole system can be divided into processing units, remote control unit, posture and settlement unit and control unit of view of the design goal, this pape