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