• 正文
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

一文圖解無人機(jī)飛行的內(nèi)部運(yùn)作

02/19 14:23 來源:直觀解
2035
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

1

開關(guān)按鈕按下時(shí),其實(shí)僅僅啟動(dòng)了機(jī)身電源管理通信模塊,這兩個(gè)都是nRF51 SOC芯片控制的。

nRF51系列是由挪威公司Nordic Semiconductor生產(chǎn)的系統(tǒng)級(jí)芯片(SoC)。這些芯片主要應(yīng)用于低功耗藍(lán)牙(Bluetooth Low Energy, BLE)以及其他2.4GHz無線通信技術(shù)的產(chǎn)品中。

nRF51系列芯片是個(gè)片上系統(tǒng),system on chip,SOC,包括了處理器無線電收發(fā)器、存儲(chǔ)器和其他外圍設(shè)備。其處理器并不強(qiáng)大,一般是ARM Cortex-M0內(nèi)核,其運(yùn)行頻率為48-72MHz。這意味著該處理器可以在每秒執(zhí)行4800萬條指令以上。

這個(gè)主頻很低(97年的賽揚(yáng)300主頻是300MHZ),但處理通信和電源管理,對(duì)于小型無人機(jī)夠用了。

2

開關(guān)打開又接到起飛指令后,nRF51會(huì)通過syslink或者UART(Universal Asynchronous Receiver/Transmitter,即通用異步收發(fā)傳輸器,是一種在串行通信中廣泛應(yīng)用的硬件接口)發(fā)布指令,來啟動(dòng)主控芯片和各種傳感器。

UART實(shí)際上讀者用的有線鼠標(biāo)鍵盤就是UART,操控鼠標(biāo)鍵盤的速度和靈敏程度可以直觀地說明,數(shù)據(jù)帶寬對(duì)轉(zhuǎn)發(fā)解碼后的通信指令和電源管理是足夠的。

3

慣導(dǎo)MPU-9250,定高LPS25H和主控STM32,MPU-9250是一個(gè)9軸慣性測(cè)量單元(IMU),包括陀螺儀、加速度計(jì)和磁力計(jì)。壓力傳感器LPS25H來估計(jì)高度。大氣壓力每下降約1 hPa,高度大約增加8.25米。LPS25H傳感器的絕對(duì)壓力精度為±0.5 hPa(百帕),對(duì)應(yīng)大約±5米的高度變化(根據(jù)標(biāo)準(zhǔn)大氣模型)。所以定高并不精確。

大部分處理工作在主微控制器(STM32)上完成。它運(yùn)行FreeRTOS作為操作系統(tǒng),狀態(tài)估計(jì)和姿態(tài)控制以250 Hz的頻率執(zhí)行。從這一主頻來看,應(yīng)該是F7系列的高端STM32。

STM32系列 內(nèi)核 主頻范圍?(MHz) 特點(diǎn)
STM32F0xx Cortex-M0 48-72 低成本、低功耗,適用于成本敏感和低功耗的應(yīng)用
STM32F1xx Cortex-M3 72 中低端微控制器,具有豐富的外設(shè)和良好的性能
STM32F2xx Cortex-M3 72-120 高性能微控制器,配備高速處理器核和豐富外設(shè)
STM32F4xx Cortex-M4 69-180 高性能微控制器,具有浮點(diǎn)運(yùn)算單元(FPU)和數(shù)字信號(hào)處理(DSP指令集
STM32F7xx Cortex-M7 216-300 高性能微控制器,具有更高的處理能力

表1-STM32各系列主要信息對(duì)比

4

電調(diào)在哪里?沒有,飛控兼任了。電子調(diào)速器用來控制電機(jī)的速度和方向。其實(shí)也就是控制整個(gè)無人機(jī)的姿態(tài)。因?yàn)樗男頍o人機(jī)方向和速度以及姿態(tài)包括翻滾,都是不同旋翼不同速度和方向造成的,

STM32可以用于控制無人機(jī)的電調(diào)(Electronic Speed Controller, ESC),雖然通常情況下,STM32作為主控芯片主要負(fù)責(zé)整體飛行控制和傳感器數(shù)據(jù)處理,而ESC則專門用于調(diào)節(jié)電機(jī)速度。在某些低成本設(shè)計(jì)中,STM32也可以直接生成PWM信號(hào)來驅(qū)動(dòng)ESC,從而實(shí)現(xiàn)對(duì)電機(jī)的速度控制。本文用的實(shí)際上是一款30克重的微型無人機(jī),不僅僅是成本,重量和空間還有功耗也限制了專門安裝獨(dú)立電調(diào)。

現(xiàn)實(shí)中,STM32可以通過其定時(shí)器模塊產(chǎn)生多路PWM輸出,這使得它能夠同時(shí)控制多個(gè)電機(jī)。例如,STM32F1系列單片機(jī)可以輸出不同頻率的PWM信號(hào)來直接驅(qū)動(dòng)電機(jī)。頻率的選擇取決于具體的電機(jī)要求。此外,一些高級(jí)應(yīng)用中還會(huì)使用FOC(Field-Oriented Control)算法來更精確地控制無刷電機(jī)。

所以買到?jīng)]有獨(dú)立電調(diào)的無人機(jī)也不奇怪。順便說一句,電調(diào)里面也是有芯片的,而且現(xiàn)代高性能電調(diào)還可能集成更復(fù)雜的算法,如磁場(chǎng)定向控制(Field-Oriented Control, FOC)市場(chǎng)上大多數(shù)電調(diào)使用ATMEL、Silabs和ARM,Busybee的處理器。不同的處理器具有不同的規(guī)格和功能,并且受不同的固件支持。

5

航點(diǎn)setpoint的必要性。Setpoint是指無人機(jī)在飛行過程中需要保持的目標(biāo)位置或姿態(tài)(推力thrust)。通過設(shè)定setpoint,飛控系統(tǒng)可以根據(jù)當(dāng)前位置與目標(biāo)位置之間的偏差進(jìn)行調(diào)整,確保無人機(jī)能夠穩(wěn)定地保持在預(yù)定的航路點(diǎn)或飛行路徑上。

在視距內(nèi),直接控制是可行的。但是一些特殊任務(wù)需要航點(diǎn):如航拍、測(cè)繪或巡檢,無人機(jī)需要按照預(yù)設(shè)的航線飛行依次通過預(yù)設(shè)航點(diǎn)最基本的航點(diǎn)是起飛點(diǎn),當(dāng)無人機(jī)需要返回起飛點(diǎn)時(shí),setpoint可以幫助無人機(jī)準(zhǔn)確地回到設(shè)定的返航點(diǎn)。

圖1 微型無人機(jī)的內(nèi)部芯片和運(yùn)行[1]

引用聲明:

[1]公開發(fā)表論文

相關(guān)推薦