王笑笑 周博 白菊梅 劉波
摘 要:隨著電子技術(shù)的快速發(fā)展,四軸飛行器被越來越多的人們喜歡和使用,特別是用于航拍和軍事領(lǐng)域,在不久的將來必然也會應用于越來越多的其他領(lǐng)域。文章設計一款基于STM32F103C8T6為主控系統(tǒng)的小型四軸飛行器,采用keil5為軟件開發(fā)環(huán)境,用MPU6050芯片進行姿態(tài)采集,根據(jù)采集到的數(shù)據(jù)進行姿態(tài)分析,進而控制其穩(wěn)定飛行。
關(guān)鍵詞:四軸飛行器;單片機;PID
1 無人機的發(fā)展歷史及意義
無人飛行器是指具有動力裝置,而不要求有專業(yè)操縱人員的飛行器。它利用螺旋槳通過轉(zhuǎn)動形成向地面的氣流來抵消機身的質(zhì)量,可實現(xiàn)獨立飛行或者遠程控制飛行。相對于固定翼無人機,旋翼無人飛行器的發(fā)展就較為緩慢,這是因為旋翼無人飛行器的控制系統(tǒng)較為復雜,早期的技術(shù)不能滿足飛行要求。然而旋翼機具備所有飛機和固定翼無人機的優(yōu)點,其成本低,結(jié)構(gòu)簡單,無大機翼的限制,具有自主起飛及下降功能,事故代價低等特點。四軸飛行器是多旋翼飛行器中結(jié)構(gòu)最簡單的一種,由于其應用前景廣泛,很快就吸引了眾多研究者的注意,特別是以美國等西方國家為主的大學在無人機的控制算法研究以及導航等方面取得了不少成果。在我國,北京理工大學在基于PID控制算法,姿態(tài)控制方面也取得一定的成果。國防科技大學從2004年開始對四軸飛行器相關(guān)技術(shù)展開研究,并自主設計了四軸飛行器的原型樣機。但四軸飛行器真正的進入公眾視野卻是2012年2月,美國賓夕法尼亞大學的VijayKumar教授在TED上做出四旋翼飛行器里程碑式的演講[2]。
2 四軸飛行器的動力分析
2.1 四軸飛行器的飛行模式
四軸飛行器的飛行模式主要包括十字模式和X字模式兩種,如圖1所示。
十字模式下的飛行方向與其中一個電機的安裝方向一致,而X模式下的四軸飛行器前進方向指向兩個電機中間。由于十字模式可以直接明了的分清四個電機在四軸飛行器飛行過程的作用,所以操縱簡單,但動作靈活性差。X模式飛行模式復雜,但動作靈活。本次課題的四旋翼飛行器設計采用X模式。
2.2 四軸飛行器的動力學分析
四軸飛行器的動力來自機翼上的四個電機,帶動螺旋槳來提供空氣動力,和普通風扇一樣,螺旋槳在旋轉(zhuǎn)時會通過自身的流線型結(jié)構(gòu)使空氣推向前方或后方(和將的旋轉(zhuǎn)方向有關(guān))。而對于四軸飛行器而言,四個螺旋槳都需要將空氣推向下方,進而產(chǎn)生向上的推進力。對于空氣槳,當電動機在空中停車后,螺旋槳繪像風車一樣繼續(xù)沿著原方向旋轉(zhuǎn),這種現(xiàn)象成為螺旋槳的自旋[3]。通過對槳的受力分析可知,如果某一只螺旋槳是順時鐘旋轉(zhuǎn),則該槳會對機身產(chǎn)生一個逆時針的反作用力,使得機身向逆時鐘方向旋轉(zhuǎn)。如果我們使用四個一模一樣的槳,要使槳螺旋槳空氣推向下方,那么四個電機的轉(zhuǎn)向相同,電機帶動螺旋槳產(chǎn)生的旋轉(zhuǎn)力矩就會朝著同一個方向,四軸則開始瘋狂旋轉(zhuǎn)。因此,為了抵消螺旋槳的自旋,應該使四軸飛行器相鄰的一對槳轉(zhuǎn)向相反,讓這一對槳產(chǎn)生的反作用力互相抵消。
四軸飛行器本身是的欠驅(qū)動系統(tǒng)。當4個電機所產(chǎn)生的轉(zhuǎn)速相等且升力等于四軸飛行器本身重量時,四軸飛行器將會處于懸停狀態(tài)。當飛行器處于懸停狀態(tài)時,可以有留個6個方向的自由度組合,即俯仰(前后運動)、橫滾(左右運動)、升降(上下運動)。
3 四軸飛行器的硬件設計
本文中,四軸飛行器的整個控制系統(tǒng)主要包括電源模塊,控制模塊,電機驅(qū)動模塊,傳感器模塊和通訊模塊,如圖2所示。
電源模塊主要提供給多個模塊供電,提供的電壓主要分為三種3.3V,5V,3.4V-4.2V。其中3.3V主要是給控制器和姿態(tài)傳感器供電;5V主要是給通訊模塊供電,3.4V-4.2V(電池直接輸出)主要是給電機供電。
其中通訊部分主要是來自遙控器的四個通道信號。分別俯仰,橫滾,自旋和油門的指令;傳感器模塊作為飛行器的姿態(tài)檢測部分,將檢測到的角速度和角加速度信號通過控制器轉(zhuǎn)化成角度,用角度信號作為當前飛行器的姿態(tài),與遙控部分的信號比較行程所需的閉環(huán)控制。
主控制器則處理通訊接收的遙控信號和傳感器采集的姿態(tài)信號,對數(shù)據(jù)分析后進行融合處理,最終通過PID算法得出電機的控制值,其值最終以PWM的方式輸出來驅(qū)動電機。
4 四軸飛行器的軟件設計
控制系統(tǒng)軟件采用C語言編寫,對于STM32系列微處理器,ST公司提供了強大的庫函數(shù)功能,使得整個軟件系統(tǒng)的設計可以更多的注重算法和軟件架構(gòu)上。四軸飛行器的硬件系統(tǒng)和軟件系統(tǒng)的最終設計都是為控制電機轉(zhuǎn)速來服務的,所以控制電機轉(zhuǎn)速的PWM波是軟件系統(tǒng)的最終輸出。
軟件系統(tǒng)的主要功能有接收遙控器數(shù)據(jù)并進行解析,讀取姿態(tài)傳感器中角速度和加速度的數(shù)據(jù)并進行數(shù)據(jù)融合,串級PID算法結(jié)合從遙控收到解析后的目標角度和數(shù)據(jù)融合后的當前角度得出控制電機所需的PWM波。
4.1 姿態(tài)解算實現(xiàn)
姿態(tài)解算是飛行器能否正常控制的核心,其主要作用是從遙控器得到的目標的姿態(tài)(歐拉角)與從姿態(tài)傳感器得到的角速度和加速度通過互補濾波和四元數(shù)算法轉(zhuǎn)化為實際歐拉角,目標值與實際進行運算的最終結(jié)果提供給PID控制器,最終得到電機PWM的輸出值,其解算步驟如圖3所示。
4.2 PID控制算法
四軸飛行器的控制算法采用采用PID控制器作為系統(tǒng)的控制算法。PID控制器原理簡單,具有魯棒性好、適用范圍廣,參數(shù)易調(diào)節(jié)等特點。PID控制算法在自動化控制領(lǐng)域中有者廣泛的應用,其原理如圖4所示。
比例控制:能迅速反應誤差,偏差一旦產(chǎn)生,控制器立即產(chǎn)生控制作用,從而減小誤差,但是比例控制不能消除穩(wěn)態(tài)誤差Kp的加大,會引起系統(tǒng)的不穩(wěn)定。
積分控制:主要用于消除靜差,提高系統(tǒng)的無差度。只要系統(tǒng)存在誤差,積分控制器就不斷的進行積累,輸出控制量以消除誤差,因而,只要有足夠的時間,積分控制將能完全消除誤差,積分作用太強會使系統(tǒng)超調(diào)加大,甚至系統(tǒng)出現(xiàn)震蕩。
微分環(huán)節(jié):能反映偏差信號的變化趨勢,并能在偏差信號值變得太大之前,在系統(tǒng)中引入一個有效的早期修正信號,加快系統(tǒng)的動態(tài)響應速度,減小調(diào)整時間,同時可以減小超調(diào)量,克制震蕩,從而提高系統(tǒng)性能。
因為四軸飛行器的動力系統(tǒng)是一個非線性的控制系統(tǒng),采用傳統(tǒng)的PID算法不但參數(shù)調(diào)制麻煩,而且控制起來比較難。所以本設計系統(tǒng)采用的是串級的PID控制,即將第一級的輸出作為第二級的輸入。外環(huán)采角度環(huán),內(nèi)環(huán)采用角速度環(huán),采用串級的PID算法可以很好的控制整個系統(tǒng)的穩(wěn)定。
5 結(jié)束語
本文主要針對四旋翼的動力學分析、硬件的各模塊需求分析與選擇、以及軟件整體框架及核心的算法的解讀與分析。其中硬件設計中,各模塊的選型和電路設計以及板子外形的是最容易出錯的。
參考文獻
[1]劉杰.四軸飛行器的設計與研究[D].南京:南京郵電大學,2013.
[2]夏純.基于單片機的四軸飛行器[D].長春:吉林建筑大學,2015.
[3]龍小輝.PA44-180飛機調(diào)速器維修技術(shù)研究及信息管理系統(tǒng)開發(fā)
[D].成都:電子科技大學,2010.
作者簡介:王笑笑(1995,05-),女,陜西漢中人,學歷:本科,咸陽師范學院物理與電子工程學院電子信息科學與技術(shù)專業(yè)2014級,研究方向:智能控制。