高禮偉 朱小剛 陶波



摘 要:本文以STM32F4為飛控系統的核心,圍繞傳感器接口和數據采集、PWM電機控制等進行硬件、軟件設計。
關鍵詞:無人機;飛行控制系統;STM32;PID控制
中圖分類號:V249.2;TN61-34
小型四旋翼無人機(簡稱無人機)因機動靈活、費效比高、維護方便、機動性能好等特點而被廣泛應用在軍事、工業、農業等領域。近年來嵌入式芯片高速發展,性能越發強大,為設計無人機飛行系統(簡稱飛控)提供方便。
1 四旋翼飛行器控制原理
小型四旋翼無人機的機械結構一般是“十”字模式,如圖1所示。飛行時通過控制4個電機加、減速旋轉,使飛行器完成起飛、降落、旋轉等動作。
圖2為飛控的典型閉環反饋控制系統。通過各傳感器獲得姿態等數據,若姿態和或位置信息偏離指令值時,控制器根據PID算法輸出相應的控制量,執行機構根據控制量做出相應的動作,使無人機按照預先設定的航點信息準確飛行。
2 飛行器控制系統硬件設計
因無人機自身速度快、位置精度高,對所搭載傳感器的精確性、實時性也要求較高,這才能滿足飛行控制的數據采集、解算、控制通信等任務。系統以STM32F429為核心,搭載9軸傳感器、氣壓計、GPS模塊、數傳電臺等傳感設備[ 1 ]。系統框圖見圖3。
2.1 STM32F4處理核心
ST公司Cortex-M4內核的STM32F439嵌入式ARM芯片,支持浮點數運算、低電壓運行其性能表見表1。
2.2 9軸傳感器接口
BNO055是9軸傳感器:3軸14位的加速度計、磁強計、3軸16位的陀螺儀,輸出四元數、歐拉角、旋轉向量、線性加速等姿態信息,且支持I2C、UART等數字接口[ 2 ]。圖4為傳感器與STM32F429的I2C接口電路。
2.3 GPS模塊接口
系統采用NEO-6M GPS模塊測量速度、緯度、經度、高度等導航數據,其定位速度快、度高、支持修改通信協議的數據格式。模塊自帶MAX232標準的串口電平接口, 圖5為與的STM32F429的串口接口電路。
2.4 數字氣壓計接口
數字式氣壓計BMP085獲取大氣壓力數據和高度數據,結合GPS數據可得到精確的高度和速度數據。壓力測量絕對精度達0.03hPa,可以通過I2C總線直接與處理器相連,如圖6。
2.5 數傳電臺接口
采用Xtend900M電臺實現無人機與地面的數據通信,其抗干擾性好,通信距離遠,穩定性好,頻率范圍 902MHz~928MHz。Xtend與STM32F439為串口連接。
2.6 其他接口
為擴展需求,系統預留了豐富的接口,其中 PWM 輸出接口除了控制量輸出外,還可以為如云臺、傘倉等任務設備使用;SPI、I2C 接口可以用來擴展外接高精度慣性導航器件等;
3 飛行器控制系統軟件設計
系統的軟件設計采用IAR7.2嵌入式集成開發環境開發,該環境支持嵌入式C編譯器,且支持J-link硬件仿真的實時在線調試。飛行器在飛行過程中控制飛行器角速度的增量,故采用PID的增量算法整體程序方法如公式1。
式中:un為第n個采樣時刻的控制;KP為比例放大系數;T 為采樣周期。
軟件模塊化設計包括傳感器數據的讀取及姿態解算、PID控制、PWM 信號捕獲以及控制電機的PWM波形輸出等。根據飛控的控制要求,設計了如圖7的軟件主流程圖。
4 系統調試與結論
根據系統的軟硬件設計,完成了四旋翼飛行器硬件制作與調試,并進行程序編寫、下載調試。調試表明四旋翼飛行控制系統設計合理,飛行靈活、穩定。
參考文獻:
[1] 楊磊.基于STM32的小型無人機飛行控制系統設計[D].哈爾濱:東北農業大學,2016.
[2] 王東平.基于嵌入式的四軸飛行器控制系統研究與設計[D].泉州:華僑大學,2013.
基金項目:江蘇省大學生創新創業訓練計劃
項目編號:201613114011Y