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