王梓丁 浙江農林大學 310000
隨著現代農業發展,農業對植保技術的要求也越來越高。傳統的植保技術已經不能較好滿足當前要求,開發適合現代農業的新型植保技術已經成為當前的趨勢。針對我國南方以丘陵和山區地形為主的小面積種植區域并結合目前生產現狀及精準農業發展需求,本項目設計了基于STM32F407為MCU小型四旋翼植保無人機,實現在小面積種植區域內平穩飛行,滿足精準作業要求。
本項目開發內容主要包括:飛控板及外圍電路,傳感器底層驅動,飛行控制程序等。
硬件部分
(1)MCU模塊
飛控采用STM32F407做為MCU,該芯片是采用32位RISC內核的Cortex-M4架構,工作頻率180MHz,有豐富的外部接口和內置存儲器,可由2.0V至 3.6V直流電供電,該芯片還專門進行了低功耗設計,可以廣泛應用于無人機或便攜設備的嵌入式開發。STM32F407 滿足植保無人機主控制器對實時性和復雜數據處理能力的要求。
(2)姿態檢測模塊
四旋翼植保無人機需要實時進行姿態解算,選用MPU9250復合芯片作為姿態檢測單元的主要傳感器。采用MPU9250芯片作為姿態檢測單元的主要傳感器,MPU9250一部分由三軸加速度計和三軸陀螺儀組成,另一部分包含一片三軸磁力計AK8963,內置數字運動處理系統(DMP)[1]。
(3)位置檢測模塊
為實現四旋翼植保無人機自動巡航完成預定的航跡規劃,需要提供精確的導航參數,如方位、速度和位置等。利用GPS(Global Positioning System)導航信息精度高的特點,設計了基于GPS的位置檢測單元[2]。
(4)高度檢測模塊
植保無人機在飛行作業時,不僅需要位置信息同時對高度信息也具有嚴格的要求,通過GPS得到的高度信息數據更新慢、數據不穩定和精度低不能滿足植保無人機對高度信息的要求,所以設計了基于氣壓計的氣壓高度及模塊單元。
(5)數據存儲模塊
為方便對植保無人機飛行狀態進行測試和分析,設計了數據存儲單元,以SD卡和AT24C16 作為其存儲單元。其中SD 卡記錄了植保無人機的實時飛行數據,其中包括慣性測量單元和位置檢測單元的數據等飛行日志,方便以后對植保無人機整個使用情況做一個整體的評估和記錄。
(6)電源模塊
電源是整個系統穩定運行的關鍵,電源模塊包括14.8V轉5V電路以及5V轉3.3V和3.0V 電路。選用TPS62163將14.8V電壓降到5V,TPS62163 是TI公司生產的高性
能電源芯片,其最小輸入為3V,最大輸入是17V,能夠提供穩定的5V輸出,最大電流為1A。然后通過電源芯片TPS79333和TPS79330對5V電壓進行降壓分別得到3.3V和3.0V電壓,以滿足不同器件對電壓的要求。
(7)遙控器模塊
方便對植保無人機進行操作和監控,對傳統的遙控器進行了改進,設計了植保無人機手持遙控器,其以數據傳輸系統和圖像傳輸系統相結合的方式對控制命令發送和接收,同時將植保無人機回傳的數據和圖像進行顯示,實現植保無人機傳輸和顯示一體化的功能[3]。
(8)數據傳輸模塊
數據傳輸系統采用億佰特SX1278 無線模塊,使用433MHz 頻段進行數據傳輸,該模塊是高度集成低功耗半雙工無線數據傳輸模塊,其嵌入高速低功耗單片機和高性能擴頻射頻芯片SX1278,同時采用高效的循環交織糾檢錯編碼,具有較強的抗干擾性和靈敏度,提供了多個頻道選擇,可在線修改串口速率,收發頻率,發射功率,射頻速率等各種參數。
(9)噴灑模塊
(1)噴灑裝置
整個噴灑裝置主要由水泵和噴頭組成。采用普蘭迪1206自吸式水泵,自吸式水泵較潛水泵具有揚程高,出水量大等特點。噴頭選用電動離心噴頭或者扇形噴嘴,對于不同的應用場景選用不同的噴頭,利用底板和碳纖維管將水泵和噴頭固定在四旋翼腳架的下方,確保作業時能夠實現穩定噴灑。
軟件部分
軟件系統是整個無人機系統的靈魂,四旋翼植保無人機系統中的各種任務調度、姿態解算和實時信息獲知、飛行任務等都需要借助軟件系統來實現。為提高軟件系統的可讀性、可移植性,需要對軟件系統進行層次劃分,不同層次的程序實現不同的功能。這樣設計還能提高軟件系統的可測試性和可維護性,便于開發和驗證,提高工作效率。
(1)姿態控制
植保無人機每一時刻飛行狀態可以分解為在地理坐標系下這一時刻姿態的橫滾角、俯仰角和偏航角。分別對姿態角度進行角度和角速度都采用PID控制。因為各個通道之間是獨立的,同時采用串級PID控制算法,將多變量輸入多變量輸出的復雜控制系統化簡為多變量輸入而輸出為單一的輸出系統。
(2)姿態位置解算算法
植保無人機姿態和位置檢測系統由三軸陀螺儀、三軸加速度計、三軸磁力計和GPS組成,采用四元數法對姿態矩陣進行計算,針對多傳感器在頻域上的特點,實現了基于互補濾波的姿態和位置解算算法。
(3)位置控制
高度控制也采取串級PID控制算法,外環是高度控制環,輸入的是期望高度,反饋的是數據融合得到的高度信息,內環是速度環,輸入外環的輸出值,以垂直方向上速度值作為反饋值。