劉洋++楊潤豐
摘 要:伴隨著多旋翼飛行器技術(shù)的日益成熟,四軸飛行器因具有結(jié)構(gòu)簡(jiǎn)單、能耗低、體積小等優(yōu)點(diǎn),得到廣泛應(yīng)用。該文旨在設(shè)計(jì)一種采用STM32芯片作為主控芯片,以運(yùn)動(dòng)傳感器MPU6050作為姿態(tài)傳感器,通過2.4G無線通信模塊與遙控板進(jìn)行通信,使用PID控制算法通過PWM方式驅(qū)動(dòng)空心杯電機(jī)實(shí)現(xiàn)遙控控制的微型四軸飛行器。該飛行器采用一體化設(shè)計(jì),結(jié)構(gòu)簡(jiǎn)單,制作方便,可以作為四軸飛行器的科普學(xué)習(xí)及STM32學(xué)習(xí)平臺(tái)。
關(guān)鍵詞:四軸飛行器 STM32 MPU6050 飛行控制
中圖分類號(hào):TH112 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2016)11(b)-0052-02
近年來,伴隨著無人技術(shù)的發(fā)展,多旋翼飛行器技術(shù)日益成熟,多旋翼飛行器不受起飛著陸場(chǎng)地限制,能垂直起降、空中懸停,能向任何一個(gè)方向靈活飛行等特點(diǎn),使其被廣泛應(yīng)用于各個(gè)領(lǐng)域。大疆等航拍飛行器的出現(xiàn)以及植保無人機(jī)的應(yīng)用更是將四軸飛行器技術(shù)帶入千家萬戶,越來越多的人接觸并應(yīng)用四軸飛行器。四軸飛行器技術(shù)的快速發(fā)展及應(yīng)用普及,使得無人飛行器飛手及維修維護(hù)人員的匱乏問題日益顯現(xiàn)。該文提出了一種微型四軸飛行器設(shè)計(jì)方案,該微型四軸飛行器采用STM32芯片作為主控芯片,以運(yùn)動(dòng)傳感器MPU6050作為姿態(tài)傳感器采集飛行器狀態(tài)信息,并通過2.4G無線通信模塊與遙控板進(jìn)行通信,飛行器結(jié)合飛行狀態(tài)信息及接收的遙控信號(hào),使用PID控制算法通過PWM方式驅(qū)動(dòng)空心杯電機(jī)實(shí)現(xiàn)遙控控制。通過該微型四軸飛行器的設(shè)計(jì)制作,可以深入了解四軸飛行器的飛行控制原理,為四軸飛行器的應(yīng)用與開發(fā)奠定基礎(chǔ)。
1 四軸飛行器的結(jié)構(gòu)與原理
四軸飛行器屬于多旋翼飛行器,與直升機(jī)不同,它由4個(gè)旋翼組成,而且4個(gè)旋翼都是電機(jī)直連的簡(jiǎn)單機(jī)構(gòu),通過控制這4個(gè)旋翼的轉(zhuǎn)速,來實(shí)現(xiàn)飛行器的前進(jìn)、后退、轉(zhuǎn)向和旋轉(zhuǎn)等動(dòng)作。其結(jié)構(gòu)圖如圖1所示。
如圖1,四軸飛行器主要包括:旋翼部分、飛行控制部分及機(jī)身3部分,其中旋翼固定在機(jī)架的4個(gè)軸的末端,為整個(gè)飛行器提供動(dòng)力,它包括螺旋槳(正、反槳)、電機(jī)以及一些固定部件;飛行控制部分固定在機(jī)架的中心,用于飛行器姿態(tài)信息的處理及姿態(tài)控制,其中包括主控模塊、遙控接收模塊、傳感器模塊等;機(jī)架是飛行器的基礎(chǔ)平臺(tái),旋翼模塊、飛行控制模、電源等都要安裝在機(jī)架上面。機(jī)架的大小直接決定了飛行器的大小,作為微型四軸飛行器,為了減小飛行器的體積及重量,一般采用一體化設(shè)計(jì)。
2 硬件設(shè)計(jì)
四軸飛行器通過改變其4個(gè)螺旋槳的拉力的大小及方向可以實(shí)現(xiàn)前進(jìn)、后退等簡(jiǎn)單動(dòng)作,要想實(shí)現(xiàn)飛行器的穩(wěn)定多姿態(tài)控制,則需通過姿態(tài)傳感器獲取信息,經(jīng)主控制器進(jìn)一步運(yùn)算處理實(shí)現(xiàn)。基于以上設(shè)計(jì)思路,該設(shè)計(jì)系統(tǒng)框圖如圖2所示。
如圖2所示,該控制系統(tǒng)主要包括STM32主控制器、電源模塊、空心杯電機(jī)、通信模塊及傳感器模塊5部分。
2.1 主控電路
主控制器,作為四軸飛行控制系統(tǒng)的核心,主要功能是接收遙控控制信號(hào),將當(dāng)前飛行姿態(tài)信息與目標(biāo)姿態(tài)信息進(jìn)行比較,通過控制算法,計(jì)算出各電機(jī)PWM脈沖占空比值輸出至電機(jī),實(shí)現(xiàn)飛行控制??紤]到STM32學(xué)習(xí)的方便,該設(shè)計(jì)選用STM32F103作為主控芯片,最小系統(tǒng)電路如圖3所示[3]。
2.2 傳感器模塊
傳感器模塊選用MPU6050傳感器作為姿態(tài)傳感器,用于測(cè)量飛行器的空間加速度與角速度信息,測(cè)量數(shù)據(jù)經(jīng)主控制器預(yù)算后,通過PWM控制各電機(jī)轉(zhuǎn)速,進(jìn)而實(shí)現(xiàn)運(yùn)動(dòng)控制。
2.3 通信模塊
要實(shí)現(xiàn)四軸飛行器的飛行遠(yuǎn)程控制,需要四軸飛行器和遙控端進(jìn)行無線通信,考慮成本及設(shè)計(jì)的簡(jiǎn)化,該設(shè)計(jì)采用NRF24L01作為無線通信模塊,設(shè)計(jì)制作四軸飛行器遙控終端。
2.4 電源模塊
電源模塊為整個(gè)系統(tǒng)供電,該設(shè)計(jì)的電源模塊采用較為輕便的5 V小型鋰電池作為電源,經(jīng)LM1117-3.3V穩(wěn)壓電路實(shí)現(xiàn)微控制器、無線通訊模塊、傳感器模塊的供電。
3 軟件設(shè)計(jì)
軟件設(shè)計(jì)作為四軸飛行器設(shè)計(jì)的重要組成部分,直接影響到飛行器飛行控制的穩(wěn)定與可靠。四軸飛行器的軟件設(shè)計(jì)主要由STM32主控制器的程序設(shè)計(jì)及遙控終端的程序設(shè)計(jì)兩部分組成。
STM32主控制器主要功能是接收無線信號(hào)、處理傳感器信息及控制電機(jī)轉(zhuǎn)速,其處理流程首先是初始化無線通信模塊、傳感器模塊和電機(jī),然后獲取姿態(tài)信息并對(duì)整個(gè)系統(tǒng)進(jìn)行校準(zhǔn),隨后進(jìn)入待機(jī)狀態(tài)等待解鎖控制信號(hào)的傳入。主控制器采用定時(shí)器中斷的方式,在中斷中進(jìn)行對(duì)時(shí)間的處理,每次中斷計(jì)次標(biāo)志就會(huì)自增,根據(jù)不同的中斷積累分別處理優(yōu)先級(jí)不同的任務(wù)。主控制器工作時(shí)每0.5 ms中斷一次,每次中斷都會(huì)檢查一次無線模塊數(shù)據(jù)的接收,確保飛控系統(tǒng)控制信息的實(shí)時(shí)性;每?jī)纱沃袛嘧x取一次傳感器模塊數(shù)據(jù),獲取的數(shù)據(jù)通過卡爾曼濾波算法獲得較為準(zhǔn)確的飛行器姿態(tài)數(shù)據(jù);每4次中斷(即2 ms)通過濾波算法獲取的姿態(tài)數(shù)據(jù)計(jì)算四軸飛行器的姿態(tài),然后結(jié)合遙控終端的目標(biāo)姿態(tài),根據(jù)兩者的差值通過PID控制算法計(jì)算出各電機(jī)PWM值,對(duì)各個(gè)電機(jī)進(jìn)行調(diào)速控制[1]。
該設(shè)計(jì)設(shè)計(jì)的遙控器,主要用于飛行器的簡(jiǎn)單控制,遙控板將操作人員的操作動(dòng)作轉(zhuǎn)化成信號(hào)傳給飛行控制板,實(shí)現(xiàn)飛行器的遠(yuǎn)程控制。
4 結(jié)語
該文設(shè)計(jì)實(shí)現(xiàn)一種微型四軸飛行器系統(tǒng),該四軸飛行器采用STM32芯片作為控制芯片,以運(yùn)動(dòng)傳感器MPU6050作為姿態(tài)采集傳感器,通過2.4G無線模塊與遙控終端通信,并通過PID控制算法得出電機(jī)PWM驅(qū)動(dòng)值來實(shí)現(xiàn)飛行控制。系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn),可用于初學(xué)者及愛好者入門體驗(yàn)學(xué)習(xí)。
參考文獻(xiàn)
[1]常國權(quán),戴國強(qiáng).基于STM32的四軸飛行器飛控系統(tǒng)設(shè)計(jì)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015(2):29-32.
[2]鮑凱.玩轉(zhuǎn)四軸飛行器[M].北京:清華大學(xué)出社,2015.
[3]劉軍.例說STM32[M].北京:北京航空航天大學(xué)出版社,2011.