張鵬 王彬

摘要:因為四旋翼飛行器本身具備結構合理、體積輕盈小巧、質量輕等多種優點,使得四旋翼飛行器得到了廣泛的應用。因此,文中就是基于意法半導體的STM32系列單片機作為控制核心對微型四旋翼飛行進行設計與實現研究。
關鍵詞:四旋翼飛行器;STM32控制器;PID算法
中圖分類號:V22;TP273
文獻標識碼:A
文章編號:2095-6487(2019)02-0057-02
0引言
隨著信息技術、科學技術的不斷發展,于STM32微型四旋翼飛行器的設計與應用逐漸增多。文章就是應用了基于STM32微型四旋翼飛行器的研究方法,進行了簡單的微型四旋翼飛行器設計,并進行模擬實驗,證明該設計中的微型四旋翼飛行器的飛行狀態比較平穩,能夠較好的完成飛行任務,值得進一步研究。
1基于STM32微型四旋翼飛行器的硬件設計
1.1主控模塊設計
在對成本、性能進行全面分析的基礎上,基于STM32微型四旋翼飛行器在其主控模塊設計中使用的都是意法半導體公司的增強型高速單片機STM32F103。因為STM32F103的內核架構是ARM32位的CortexM-M3,因此在實際的操作中,處于穩定工作狀態下,其工作頻率基本保持在72MHz。該主控模塊最顯著的特點就是資源豐富、時鐘高速、指令精簡的微型處理器,可以較好的滿足基于STM32微型四旋翼飛行器的基本操作叫。
1.2飛控板電路設計
在本次基于STM32微型四旋翼飛行器設計中,其中設計的核心是MPU6050角速度傳感器、NRF2401無線模塊、~飛控板電機驅動等模塊。在飛控模板中應用MPU6050,是為了實現其對飛控系統慣性測量單元的測量傳感器的作用,及時傳輸信號。MPU6050角速.度傳感器的驅動方式則選擇了IIC接口,在STM32的PB10端口連接時鐘引腳SCL,在STM32的PB11端口連接數據引腳,在STM32的PB5端口連接數據中斷引腳,其中ADO做接地處理,其他各引腳做懸空處理。飛控電路板內的每個引腳都加入10k的上拉電阻,這樣可以保證飛行器有比較充足的驅動力,滿足四旋翼飛行器飛行成功,其原理具體如圖1所示。
在飛控板設計中,本次飛行器設計中其動力雙系統是由四個十字交叉且呈對稱分布的高速空心杯構成的,從而保證飛控板作業。通過應用N溝道來使電控板中的型場效應晶體增強來實現對電控板的驅動開關部分的管控。在飛控板的設計中為了實現對電機的運轉速度進行調整,可以通過修改、調整STM32引腳上的PWM信號實現的。在整個電機運行中通過設置控制開關MOS管來實現開關控制,對飛行器中4個電機的控制則是通過STM32定時器2中的四個通道的PWM控制來實現的。
1.3遙控板電路設計
在本次基于STM32的四旋翼飛行器的遙控板控制電路設計中無線收發通信模塊應用SPI總線與2.4GHZ,將其與控板自帶的8位并行口與OLED顯示屏通信進行連接,在遙感和電池電量采集方面則是通過應用ADC輸入引腳實現對的?!憋w控板通過控制與遙控電路中相對應的引腳來實現對遙控板電路設計的語音模塊控制功能,對飛行器的飛行狀態與飛行中發生的故障進行語音提醒,從而能夠為和使用者提供更加全面、優質的服務。在遙控板電路設計中其設計核心就是通過萬象控制桿實現對數據的采集與識別,通過應用NRF2401無線模塊,從實現對數據的收、發,并設置了語音提示模塊。通過在遙控電板設計中為進行遙感模擬實驗,分別應用了STM32單片機ADC的通道4、通道5、通道6和通道7,將其中采集到的數據轉換為數字量,并通過在其遙控電板中接入PWM1、PWM2、PWM3和PWM4引腳,可以削減加入濾波電容時雜質信號對飛行器飛行軌跡、飛行狀態的影響。
2四軸飛行器的軟件設計
2.1飛控板的軟件設計
在本次基于STM32的四旋翼飛行器的飛控板軟件設計中,主要包含了以下功能:數據采集、無線模塊、MUP6050姿態檢測模塊以及PWM空心杯電機的自檢以與初始化等多個模塊構成,這樣就可以較好的滿足本次飛控板軟件設計中對IMU零偏處理,并對飛控板中的2.4GHZ頻率及時進行校對。基于STM32的四旋翼飛行器的飛控板系統軟件設計的實際操作反應流程為:首先,開機后保證系統上電,系統進入自檢狀態,如系統位通過自檢則系統發出警報;其次,在自檢通過中,將系統中多傳感器數據融合算法所得出的數據進行采集與匯編;最后,啟用系統中的PID控制子程序與多級濾波算法實現飛控板的控制。在以上操作結束之后進入到飛控板設計的循環操作中[2]。
通過核心傳感器MPU6050的驅動總線的IIC方式來實現對飛行器姿態采集與控制,在本次基于STM32的四旋翼飛行器的飛控板軟件設計中應用了PB10和PB11來對該驅動總線的IIC方式進行模擬,這樣可以使本系統的設計更加方便。通過讀取的加速度與角速度的值來實現飛控板姿態處理流程設計,再通過調用姿態解算的子模式,來獲取姿態解算結果。
2.2遙控板的軟件設計
在本次基于STM32的四旋翼飛行器的遙控板系統軟件設計中,為了能夠滿足地面控制人員和飛行器的機載設備之間無線通信的雙向性溝通,這樣就能夠通過0LED顯示屏將飛行器飛行信息、出現的故障信息以及其他必要信息進行顯示。在本次設計中,基于經濟性原則,選擇了STM32中ADC的DAM通道,該遙控板的軟件設計可以使系統更好的控制~飛行器飛行運動?;赟TM32的四旋翼飛行器的遙控板系統軟件設計的實際操作反應流程為:首先,系統自檢,各個模塊進入初始化狀態系;其次,測試系統通信狀態后,通過SPI總線除數與之對應的ADC數據;最后,在液晶顯示屏中的顯示相關的數據,數據發生變化也會及時的更新數據。
3系統調試與飛行測試
雖然可以通過系統模型來對飛行器的飛行情況進行模擬,但是這并不能完全展現飛行器的飛行情況,通過理論模型推理獲得的數據與實際飛行中還是存在一定差異的,甚至有部分數據與參數會存在差異。因此,要想保證基于STM32的四旋翼飛行器的設計的合理性,實現其預期的飛效果還是要做好系統調試與飛行測試。
首先,本次設計中的基于STM32的四旋翼飛行器的設計的電池電壓為11.3V,如果低于11.3V時,就很有可能導致電動馬達驅動電壓到不到標準,飛行器無法正常飛行,因此可以在電池上安裝電壓警報設備,并將報警電壓設置為11.3V,如果低于該設定制就要及時報警,提醒使用者及時充電,保證飛行器的飛行效果。
其次,還要做好PID控制參數的設置??梢酝ㄟ^MPU一6050將傳回主控芯片的姿態數據與PID算法結合起來,這樣就可以實現對基于STM32的四旋翼飛行器的飛行姿態進行控制。如果顯示為error,則表示該飛行器的姿態角度與預設姿態角之間存在差異。可以將計算得到控制調整信號輸出給控制芯片編程PWM,這樣就可以實現對飛行器的飛行姿態角調整。
4結束語
總而言之,基于STM32的四旋翼飛行器的設計與實現,對其設計中的硬件設計、軟件設計以及算法流程都進行研究,從而保證基于STM32的四旋翼'飛行器能被設計與實現。
參考文獻
[1]許琳娜,王振華,羅魏魏.基于STM32的四旋翼飛行器的設計與實現[J].自動化技術與應用,2017(8):122-124,135.
[2]尹項博,張亞明,王珂,等一種基于STM32的微型四旋翼飛行器硬件設計方案[J].中小企業管理與科技(下旬刊),2017(2):162-163.
[3]顏平,王麗丹,李夢柯,等.基于STM32的四旋翼飛行器設計與實現[J].電子設計工程,2016(2):187-189,193.
[4]李華貴,李輝,李剛,等.基于STM32的四旋翼飛行器的設計與實現[J].儀表技術,2015(5):27-30.