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