国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32F4 的四軸無人機設計

2023-05-29 05:50李少童何明興李大彬王耀政
電子制作 2023年7期
關鍵詞:陀螺儀原理圖角速度

李少童,何明興,李大彬,王耀政

(廣州城市理工學院,廣東廣州,510800)

0 引言

四軸無人機的發(fā)展日益迅速,各行各業(yè)對無人機的需求也越來越大,目前國內外無人機技術壟斷相對嚴重,大疆占全球市場份額近八成左右,占國內市場也近七成,但大疆的價格相對較高,普通用戶難以消費,因此低成本多功能的小型無人機相對空缺,因此基于STM32 單片機開發(fā)一款低成本的小型無人機意義重大。

1 四軸無人機的關鍵零部件選型

1.1 電機

在本項目中我們團隊選擇兩種不同的電機,直流有刷電機即圖1 的空心杯電機720 和主流無刷電機A2212 電機??招谋姍C優(yōu)勢在于體型小巧,運行穩(wěn)定性高,其速度波動可控制在2%,在相應速度-電壓參數(shù)能呈現(xiàn)出標準的線性關系,有利于無人機的控制,缺點則在于空心杯電機發(fā)熱嚴重,使用壽命較短,且一般無法承受大電流運行,因此所制作的無人機無法負重飛行,一般適用于超小型無人機設計。A2212 無刷電機在能量轉換效率高,一般可高達96%的能量轉換,啟動轉矩地,峰值轉矩高,機械時間常數(shù)小,轉子與定子間無徑向作用力,轉子穩(wěn)定性高,散熱效果良好等優(yōu)點,一般適用于大型無人機的設計,其主要缺點在于不可缺相運行,不僅因為剩余的繞組的發(fā)生的磁場點2 個大小相等,方向相反旋轉磁場,它們和轉子作用發(fā)生的扭矩大小相等,方向相反相互抵消,零起動轉矩電機不能啟動,還可能直接燒毀電機,損壞電路。本次無人機項目選擇使用直流有刷電機,型號為720,額定電壓3.4V,額定電流800mA,額定轉速34000。電機如圖1 所示。

圖1 電機

1.2 電池

我們選用的是1000mAh,1S/3.7V 的航模鋰電池,電池如圖2 所示。

圖2 電池

航模鋰電池的體積不大,且質量輕,容量比也極高,放電率高,爆發(fā)性強適用于短時間啟動需大能量的電機。而我們選擇的這款航模鋰電池擁有這1000mAh 的容量,理論上可以支撐上述選用的四個空心杯電機全功率使用0.3h。

1.3 螺旋槳

為保證四軸無人機有較強的升力及更輕的重量,我們選用的是直徑為46mm 的槳葉,如圖3 所示。

圖3 螺旋槳

1.4 四軸機架

機架一般占據(jù)了整個無人機的重量70%,常選擇質量較輕,硬度高的材料設計。因為我們所制作的小型無人機,其PCB 板已占據(jù)了大部分重量,為此我們選擇直接通過對PCB 的繪制,制作出無人機機架外觀再增加保護膠圈,提高無人機使用安全性,如圖4 所示。

圖4 機架

2 無人機部分硬件電路系統(tǒng)的設計

2.1 主控MCU

主控MCU 選用STM32F401CCU6,這是一款高性能Arm Cortex-M4 32 位 RISC 核心,工作頻率高達84 MHz,Cortex-M4 核心具有浮點單元(FPU)單精度[1],支持所有的單精度數(shù)據(jù)處理指令和數(shù)據(jù)類型,有助于無人機的四元數(shù)姿態(tài)結算,STM32F401CCU6 采用了高達256KB 的FLASH和64KB 的SRAM,設備還提供一個12 位 ADC、一個低功耗 RTC、六個通用16 位定時器,包括一個用于電機控制的PWM 定時器、兩個通用32 位定時器,可以滿足無人機的系統(tǒng)控制需求,同時設備具有標準的通信接口SPI 和IIC 接口,能滿足無人機的基本通信要求。STM32F401CCU6 原理圖,如圖5 所示。

圖5 MCU 原理圖

2.2 傳感器

無人機板載一顆九軸陀螺儀傳感器MPU6050 和一顆高精度氣壓傳感器BMP280,MPU6050 內部整合了三軸MEMS 陀螺儀和三軸MEMS 加速度計,還有可以結合InvenSense 公司提供的運動處理資料庫,實現(xiàn)姿態(tài)解算,并通過I2C 接口輸出,大大降低了運動處理運算對操作系統(tǒng)的負荷,可實現(xiàn)無人機的穩(wěn)飛控制與角度PID 控制。BMP280 是BOSCH 公司旗下的高精度低功耗數(shù)字氣壓傳感器,氣壓相對精度高達±0.12 hPa,用于無人機的高度檢測和定高PID 控制,圖6 是BMP280 氣壓傳感器和MPU6050 陀螺儀傳感器原理圖。

圖6 傳感器原理圖

2.3 電機系統(tǒng)

四軸采用微型高速720空心杯有刷電機,全功率運行下能達到45000RPM,為能提供足夠電流驅動電機,選用NMOS 管SI2302設計電機驅動電路,通過STM32F 401CCU6 定時器產(chǎn)生PWM 脈沖控制NMOS的開斷,從而實現(xiàn)對有刷電機的控制[2]。因為在無人機的PID 控制需不斷的使電機處于啟動與衰減模式而在電機處于衰減模式時,即電機從運動到停止狀態(tài),因為電機屬于感性負載,電流是不能發(fā)生突變的在斷開電機兩端所加的電壓時,電機產(chǎn)生的反向電動勢很有可能損壞NMOS 管,因此在電機需要停止時,除了斷開外,還需增加一個續(xù)流電路,即在NMOS 管旁增加一個續(xù)流二極管。電機控制原理圖,如圖7 所示。

圖7 電機控制原理圖

2.4 無線通訊系統(tǒng)

RF24L01 是由NORDIC 生產(chǎn)的工作在2.4GHz~2.5GHz的ISM 頻段的單片無線收發(fā)器芯片,nRF24L01 的數(shù)據(jù)傳輸速率可達1Mbps、2Mbps,4 線SPI 通訊端口,通訊速率最高可達8Mbps,且nRF24L01+接口有IRQ 引腳,用于指示nRF24L01+中斷的狀態(tài),在IRQ 引腳拉低后,程序觸發(fā)nRF24L01+中斷,在中斷處理函數(shù)中,程序僅置位相應標志,中斷的處理則放置在主函數(shù)中[3]。在于與STM32F401CCU6 建立通訊時,不會過多占用CPU,并且可通過軟件設置工作頻率、通訊地址、傳輸速率和數(shù)據(jù)包長度,方便編輯無人機控制指令集。nRF24L01+接口有IRQ引腳,用于指示nRF24L01+中斷的狀態(tài),在IRQ 引腳拉低后,程序觸發(fā)nRF24L01+中斷,在中斷處理函數(shù)中,程序僅置位相應標志,中斷的處理則放置在主函數(shù)中。無線通信原理圖,如圖8 所示。

圖8 無線通信原理圖

2.5 各子系統(tǒng)布局

無人機的整體布局圍繞輕、小展開,目的是為提升無人機的操控性、可玩性,同時在一定程度上降低整機成本,因此無人機設計過程中將硬件電路板布置為四軸模式[4],PCB電路板,如圖9 所示。

圖9 PCB 電路板

3 軟件設計

3.1 系統(tǒng)框圖設計

系統(tǒng)上電啟動時,將初始化MPU6050 陀螺儀、BMP280 氣壓傳感器、NRF24L01 通訊模塊,以及MCU內部定時器、ADC,DMP 等。將無人機放平,通過觀察無人機指示燈,檢測NRF24L01 的通訊是否正常,等待MPU6050 與BMP280 的自檢完成,等待無人機遙控發(fā)出起飛指令,飛控MCU 接受到指令后,通過MPU6050 發(fā)送的角度數(shù)據(jù),進行互補濾波后,將數(shù)據(jù)傳入STM32F401CCU6的FPU 單精度運算單元進行PID 運算,輸出姿態(tài)控制量,由MCU 定時器生成PWM 脈沖輸出,控制電機的旋轉,與此同時不斷接受來自遙控器的指令和MPU6050 和BMP280的更新數(shù)據(jù),每5ms 進行一次姿態(tài)調整,以保證無人機的穩(wěn)定飛行[4]控制系統(tǒng)框圖,如圖10 所示。

圖10 控制系統(tǒng)框圖

3.2 飛行姿態(tài)解算

姿態(tài)解算指MCU 讀取自身傳感器數(shù)據(jù),實時計算四軸飛行器的姿態(tài)角,比如橫滾角(roll),俯仰角(pitch),偏航角(yaw)的信息,一般姿態(tài)解算分為硬件解算與軟件解算,硬件解算即使用MPU6050 自帶的數(shù)字運動處理器DMP 它可以融合來自陀螺儀、加速度計的數(shù)據(jù),并基于硬件電路的處理計算出準確的四元數(shù),處理結果可以從 DMP寄存器讀出,使用DMP 讀取數(shù)據(jù)雖然簡單,但是無法跟蹤飛行器劇烈的姿態(tài)變化,而且有些時候還會出現(xiàn)突變甚至卡死現(xiàn)象[5]。因此我們將選擇使用軟件解算,通過互補濾波算法,分別利用加速度計和陀螺儀的頻率響應優(yōu)勢,對傳感器測量的原始數(shù)據(jù)進行互相彌補, 來提高解算的姿態(tài)精確度,因為加速度計的靜態(tài)特性好,而動態(tài)特性差的原因,需對測量得到的數(shù)據(jù)進行低通濾波,陀螺儀則因存在溫漂和零漂的關系,其在低頻段動態(tài)響應特性差,高頻動態(tài)響應特性好,需對測量的數(shù)進行高通濾波,圖11 是Mahony 互補濾波算法的程序流程圖。

圖11 互補濾波流程圖

3.3 四元數(shù)運算

四元數(shù)是利用一種超復數(shù)的乘法來等效放映姿態(tài)變換的方法[6],相比于歐拉角描述姿態(tài)矩陣,后者需要大量的三角函數(shù)計算,以及存在奇異點,因此采用四元數(shù)表示可較低姿態(tài)解算的復雜度,達到實時解算飛行姿態(tài)。以下是四元數(shù)轉旋轉矩陣:

3.4 串級PID 控制算法

四旋翼無人機是多輸入多輸出的非線性系統(tǒng),且實際飛行時周圍環(huán)境多變,為了達到較好的控制效果,使其能迅速調整,保持一定的穩(wěn)定性,一般會選擇使用PID 控制算法進行自動控制,PID 算法是一個在工業(yè)控制應用中常見的反饋回路部件,由比例單元 P、積分單元 I 和微分單元 D 組成[7]。常見的PID 算法分為單環(huán)PID 和串級PID,在無人機實際使用單環(huán)PID 控制進行實測時能明顯感覺到動態(tài)性能比較差,振蕩較大,阻尼較小,增加D 性能提升有限甚至會導致系統(tǒng)發(fā)散,因此我們選用串級PID 作為項目的控制算法,串級PID 相比單環(huán)PID 只增加了一個內環(huán),內環(huán)的加入相當于增加了系統(tǒng)的阻尼,對于系統(tǒng)的抗干擾性得到了進一步提升。遙控發(fā)送期望角度數(shù)據(jù),反饋角度來自MPU6050 陀螺儀傳感器,二者的偏差作為外環(huán)角度環(huán)的輸入,角度環(huán) PID輸出角速度的期望值;角速度期望值減去傳感器反饋的角速度得到角速度偏差值,這個值作為內環(huán)角速度環(huán)的輸入,角速度環(huán) PID 輸出姿態(tài)控制量,控制量轉換為 PWM 去控制電機,從而控制四軸,串級PID 流程圖如圖12 所示。圖13 為部分串級PID 控制程序。

圖12 串級PID 流程圖

圖13 串級PID 控制程序

4 總結

本文采用STM32F4 單片機自主開發(fā)四軸無人機,采用自適應的智能控制方法串級PID 控制算法實現(xiàn)飛行器姿態(tài)控制?;赟TM32F4 開發(fā)的四軸無人機,其體積更小,功耗更低且續(xù)航時間更長,抗干擾性強,響應快速。未來可通過擴展適用于其他行業(yè),以提升該機型的擴展性。

猜你喜歡
陀螺儀原理圖角速度
基于EMD的MEMS陀螺儀隨機漂移分析方法
淺談STM32核心板原理圖設計
電路原理圖自動布圖系統(tǒng)的設計與實現(xiàn)
基于Protel DXP 2004層次原理圖的設計
我國著名陀螺儀專家——林士諤
圓周運動角速度測量方法賞析
微機械陀螺儀概述和發(fā)展
MEMS三軸陀螺儀中不匹配干擾抑制方法
半捷聯(lián)雷達導引頭視線角速度提取
基于構架點頭角速度的軌道垂向長波不平順在線檢測