周忠容+俞文武+陳元偉+張海兵+曹吉花


摘 要:本文研究的是基于TR-Thread實時操作系統并借助搭建云臺的圖傳向上位機輸送圖像以達到人物是別功能的飛行器。控制系統是以STM32系列的單片機為核心處理器,通過采集傳感器的數據,利用PID控制算法對電機調速器進行控制,從而實現飛行器的穩定飛行。
關鍵詞:TR-Thread;STM32單片機;飛行器
DOI:10.16640/j.cnki.37-1222/t.2017.08.244
1 引言
本項目通過對四旋翼飛行器動力學原理分析,建立了系統的動力學模型[3],對系統進行整體的設計,旨在進一步提高四旋翼的飛行穩定性和良好的跟蹤性能,實現避障和人物識別的功能[4],對未來的發展具有一定的現實意義。
2 基于TR-Thread識別人物的四翼飛行器的總體設計方案
主控芯片是 STM32 系列的 ARM 控制芯片,它是ST公司的 Cortex-M3 內核的處理器且基于ARMv7體系結構的處理器內核[5]。通過IIC對9軸傳感器MPU6050的加速度、角度進行采集,再運用卡爾曼濾波算法對采集到的數據進行融合,得到有用的數據。最后借助增量式PID算法和電機調速器對電機的轉速和轉向進行控制,從而實現飛行器的穩定飛行。此外,搭建云臺的圖傳向上位機輸送圖像,單片機將采集到的圖像與事先存儲的圖像進行對比,當兩幅圖像的相似度大于某一個閾值時,我們便認為兩者相同,反之亦然,以此來實現人物的識別 。
其中,我們對濾波算法進行了試驗,分別使用了互補濾波、卡爾曼濾波和清華濾波,我們發現卡爾曼濾波在此系統上最合適。最終的結果是飛行器能夠穩定的飛行,并且能通過圖傳輸送的畫面識別簡單的人物輪廓。
3 硬件電路設計
硬件電路分為外部通信模塊、單片機最小系統模塊、 存儲模塊、電源模塊、傳感器模塊。下面分別介紹下電源模塊、傳感器模塊和電機驅動模塊。
3.1 電源模塊電路
整個系統是通過1節12V電池來給無刷電機供電,然而單片機系統、傳感器模塊需要的是3.3V電源。所以我們需要對電源進行降壓設計。通過AMS117電源芯片穩成系統需要的3.3V電源,前后均有濾波電路和防過載電路。以下是設計的硬件圖。
3.2 傳感器模塊電路
系統需要應用陀螺儀、加速度計傳感器、三軸電子羅盤,我們采用的陀螺儀和加速度計傳感器是集成了二者的MPU6050及AK8975。MPU6050和AK8975中的數據是通過IIC進行讀取。 4 軟件代碼調試
系統開始工作,首先初始化IIC、UART串口、PWM、定時器,初始化結束程序進入大循環。把四旋翼飛行器水平方向放好,STM32單片機開始采集MPU605和AK8975的數據,通過PID控制無刷電機的轉速,飛行器穩定飛行,程序結束。
5 結論
本文針對四旋翼飛行器的系統設計與研究,成功實現了飛行器的平穩飛行。通過多次的試驗表明,傳統的PID控制器只能針對機械結構固定的飛行器控制,通過反復試驗的方法找到較為合適的控制參數最終實現控制功能。在此過程中學習了硬件結構,軟件調試、了解了卡爾曼濾波和PID算法功能。接下來將以此為基礎,更加深層次地研究四旋翼飛行器的設計過程,以更好的滿足飛行器控制的要求,具有很好的應用前景。
參考文獻:
[1]劉煥曄.小型四旋翼飛行器飛行控制系統研究與設計[D].上海:上海交通大學,2011.
[2]鮑凱.玩轉四軸飛行器[M].北京:清華大學出社,2015.