蘇柳舒,蔣澤輝,張 穎,徐天越,吳 陽
(無錫太湖學院智能裝備工程學院,江蘇無錫 214064)
基于物聯(lián)網(wǎng)技術(shù)在現(xiàn)代農(nóng)業(yè)領(lǐng)域的應(yīng)用,智慧農(nóng)業(yè)已經(jīng)開始興起,相較于傳統(tǒng)農(nóng)業(yè),智慧農(nóng)業(yè)主要表現(xiàn)在其特有的監(jiān)控功能系統(tǒng)、監(jiān)測功能系統(tǒng)、實時圖像與視頻監(jiān)控功能[1]。其中無人機正是智慧農(nóng)業(yè)的重要工具,為智慧農(nóng)業(yè)提供了有效支撐。與發(fā)達國家相比,我國農(nóng)業(yè)裝備技術(shù)起步較晚,但是我國對于農(nóng)用無人機比較重視,涌現(xiàn)出一大批比較好的農(nóng)用無人機,隨著集約化、大規(guī)模生產(chǎn)方式的推廣普及,農(nóng)用無人機作業(yè)已經(jīng)成為未來病蟲害防治、災(zāi)害預(yù)警的通用手段[2]。
本文設(shè)計了基于STM32 單片機的簡易四旋翼無人機,通過PID 算法實現(xiàn)對飛行狀態(tài)的姿態(tài)調(diào)整,實現(xiàn)在遙控狀態(tài)下的無人機的自穩(wěn)飛行,并通過OpenMV 實現(xiàn)農(nóng)業(yè)生產(chǎn)中的自動巡檢及現(xiàn)場圖片收集,最終為林業(yè)的實時監(jiān)管提供科學有效的依據(jù),保障農(nóng)作物的健康生長[3]。
設(shè)計的簡易四旋翼無人機的整體結(jié)構(gòu),主要包括葉槳保護罩、槳葉、電機、機架等部分。
在調(diào)試四軸的時候,摔下來、失控是很常見的,所以設(shè)計葉槳保護罩,可以很大程度上減小槳葉、電機報廢的概率,減小經(jīng)濟損失,避免無人機葉槳損壞降低工作效率。
四旋翼無人機的飛行依賴的是兩對螺旋槳力的抵消,而兩對相反旋轉(zhuǎn)的槳葉才能抵消作用力,所以四旋翼無人機的槳葉有A、B 之分。兩款槳葉的旋向相反,選用55 mm槳葉,A槳葉安裝在電機2和電機4上,B槳葉安裝在電機1和電機3上。
空心杯電機時本次設(shè)計中首個重要部件。當選擇了不合適的電機時會造成電機側(cè)向震動大,從而使得槳葉轉(zhuǎn)動之后產(chǎn)生很大的側(cè)向震動,進而會嚴重干擾加速度計,接著引起飛行器的姿態(tài)、角度很大的偏差,最終無人機不能垂直飛行。空心杯電機使用SI2302這款MOS管進行驅(qū)動。
機架方面,如果采用飛控板和機架隔離的方式,能從一定程度上降低震動的影響,但是這樣會增加重量及成本,所以選擇了PCB 機架,這個方案相對來說可以減輕設(shè)計方面的工作量。
四旋翼無人機整體框圖如圖1所示。
圖1 無人機整體框
四旋翼無人機需要用到PID調(diào)速,對控制器的運算速度有要求[4],而STM32F103C8T6選用的是LQFP-48封裝,封裝比較大,能降低焊接難度,且價格低廉,研究成本比較低,網(wǎng)上有大量的資料可以提供參考,因此選用STM32F103C8T6作為飛行控制器。
姿態(tài)傳感器是由陀螺儀傳感器和加速度傳感器兩個傳感器共同集合而成的一個系統(tǒng)。陀螺儀的原理是一個旋轉(zhuǎn)物體的旋轉(zhuǎn)軸所指的方向在不受外力影響時不會改變,通過運用多種方法讀取軸所指示的方向,控制系統(tǒng)在讀取信號后能夠做出相應(yīng)反饋。采用MPU6050姿態(tài)傳感器檢測無人機的狀態(tài)。
FBM320 氣壓計采用SiP 封裝技術(shù),成功地將采用MEMS 工藝的氣壓傳感芯片與采用CMOS 工藝的信號處理芯片整合到了同一個封裝內(nèi),并且提供了標準I2C 以及SPI 數(shù)字信號通信串口,可以和主芯片進行通信。
采用的SI24R1 作為無線收發(fā)器芯片,是因為無線發(fā)射可以做到7 dB,在發(fā)射和接收端都采用陶瓷天線的前提下,可以達到50 m 的通訊距離;且SMA 接口,可方便連接外置天線;價格便宜,性價比高。
使用600 mAh鋰離子電池供電,采用升壓電路使電壓由3.7 V升到5 V,采用降壓電路使電壓由5 V升到3.3 V。是因為在進行供電時,沒有負載的情況下,電機能夠正常啟動,但是當4 個空心杯都安裝上槳葉,在達到全速運轉(zhuǎn)的情況下,瞬間電池的輸出電業(yè)就會被降低到3 V以下,不足以驅(qū)動電機。這時候如果直接用電池給LDO供電,那LDO就會失效[5]。
選擇720 空心杯電機,它的能量轉(zhuǎn)換效率高,起動、制動迅速,響應(yīng)極快;在推薦運行區(qū)域內(nèi)的高速運轉(zhuǎn)狀態(tài)下,可以方便地對轉(zhuǎn)速進行靈敏的調(diào)節(jié),運行穩(wěn)定性十分可靠,轉(zhuǎn)速的波動很小。
視覺部分單獨設(shè)計難度較大,所以直接使用OpenMV 視覺模塊。它是基于STM32 的機器視覺模塊,集成了OV7725 攝像頭,這個特點使得它可以很靈活地和其他流行的模塊配合,實現(xiàn)復(fù)雜的功能[6]。另外,選用了NRF24L01無線傳輸模塊,利用SPI接口進行圖像的實時傳輸。經(jīng)過實測,空曠條件下2 M傳輸速率下15 m,1 M傳輸速率30 m,250 K傳輸速率50 m;滿足要求。
四旋翼無人機的飛行控制程序使用基于C 語言的Keil5 編寫,視覺部分的OpenMV 使用基于Python語言的OpenMV IDE編寫。
姿態(tài)程序設(shè)計主要圍繞FBM320 氣壓計(MEMS傳感器)的數(shù)據(jù)進行,姿態(tài)系統(tǒng)程序的軟件流程圖如圖2所示。
FBM320 氣壓計接收到的數(shù)據(jù)不可避免會有噪聲,所以姿態(tài)調(diào)整系統(tǒng)需要對采集到的數(shù)據(jù)進行濾波處理,之后才能對濾波信號進行姿態(tài)解算。
加速度傳感器提取到的信號在與陀螺儀提取到的信號進行結(jié)合的時候以低頻信號為主,所以針對這一特性,需要通過均值濾波提高信噪比來優(yōu)化加速度傳感器接收的數(shù)據(jù)。
依據(jù)控制對象的輸出反饋信號進行糾正的控制方式被稱為閉環(huán)控制,當測量值與預(yù)期值產(chǎn)生偏差時,通過閉環(huán)調(diào)節(jié)可以得到修正;控制線路通過測量值與理論值的比較,再調(diào)節(jié)控制線路輸出的信號。PID調(diào)節(jié)是一種最常用也最簡單、使用最為廣泛的閉環(huán)控制算法。有效組合使用這3個控制方法,可以正確高效地修正被控制對象產(chǎn)生的偏差,進而使整個系統(tǒng)平穩(wěn)有效的運行[7]。
本文從四旋翼的飛行理論入手,結(jié)合機器視覺,設(shè)計出一套適用于農(nóng)業(yè)生產(chǎn),能夠?qū)崟r傳輸飛行畫面的無人機,為后續(xù)采用無人機實現(xiàn)植保及病害識別、自動噴藥等做準備。系統(tǒng)中包含了各類傳感元件,并運用了PID調(diào)節(jié)算法,使得無人機實現(xiàn)飛行時的自穩(wěn)態(tài)調(diào)節(jié)。選用STM32 作為核心,使用多種傳感器反饋得到無人機的狀態(tài),從而更正各個傳感器的數(shù)據(jù),最后采用PID調(diào)節(jié)算法處理數(shù)據(jù),利用電機轉(zhuǎn)速的改變,實現(xiàn)無人機的各種飛行動作和姿態(tài)調(diào)節(jié)。利用OpenMV 采集圖像數(shù)據(jù)并通過無線芯片實現(xiàn)圖片傳輸,讓無人機在飛行時能夠擁有圖傳的功能,賦予了無人機基本的視覺能力。
圖2 姿態(tài)程序設(shè)計流程