精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用全包套件組裝、啟動、探索和開發小型無人機

丫丫119 ? 來源:未知 ? 作者:肖冰 ? 2019-08-08 09:53 ? 次閱讀

四旋翼無人機,即四軸飛行器,在各種應用中發揮的作用日趨重要,但這方面的設計仍然相當復雜,需綜合機械、電子和軟件子系統方面的知識。雖然設計人員有能力學習掌握所需的知識,但無人機開發套件可以為他們提供一個良好的開端,集合了無人機飛行理論和實踐經驗累積所需的所有元素。

本文介紹了STMicroelectronics開發套件,該套件可為開發人員提供易于組裝的小型四軸飛行器無人機,同時也充分展示了所有多旋翼飛行器必備的復雜飛行控制系統

四軸飛行器動力學

就最常見的形式而言,四軸飛行器為航空攝影、現場檢測、監控等眾多應用提供了相當穩定的平臺。與固定翼飛機,甚至可變螺距直升機不同,由于小型高效直流電機的廣泛應用,固定螺距多旋翼無人機的設計相對簡單,且易于構建。

這些無人機的機械簡單性和空氣動力學穩定性,主要源自各旋翼間的協調配合以控制各種動作,而不像飛機利用飛行表面控制,或如直升機利用主旋翼和尾槳的配合。

在四軸飛行器中,位于機身對角線上的一對電機旋轉方向相同,而與另一對電機的旋轉方向相反。若四個電機的轉速相同,無人機則可上升、下降或懸停。如果某對對角電機比另一對電機轉速快,則無人機發生偏航,保持在同一水平面繞重心旋轉(圖 1,左)。

圖 1:無人機通過不同的轉速組合操控動作,例如偏航動作(左)時兩個對角電機 (M2, M4) 同時加速;或一個對角電機 (M2) 加速,同時另一對角電機 (M4) 減速,從而完成更復雜的俯仰、滾轉動作(右)。(圖片來源:STMicroelectronics)

如果前(或后)旋翼電機轉速發生變化,無人機就會像固定翼飛機上升或下降飛行一樣,機頭上升或下降。若左或右旋翼作出類似調節,將導致無人機滾轉,即繞中心線旋轉。通過調節對角電機或單個電機的相對速度,無人機可輕松實現更復雜的飛行姿態(俯仰、偏航和滾轉的組合)(圖 1,右)。發燒友公眾號回復資料可以免費獲取電子資料一份記得留郵箱地址。

無人機的飛行控制系統負責調節適當的電機轉速,實現所需的飛行姿態,從而完成所需操作。

例如在實踐中,不僅在轉彎時,即使在水平飛行期間,控制系統也需要不斷調節電機轉速,以校正諸如風、熱流或湍流的擾動力。即使在室內操縱小型無人機,飛行控制系統也需要測量無人機的實際姿態和所需姿態之間的差值。

對于工程師而言,利用誤差信號校正電機轉速是常見的控制回路反饋問題,可以通過比例-積分-微分 (PID) 控制器來解決。而所剩的唯一概念挑戰則是確定測量無人機姿態的方法,不過使用高精度智能傳感器數據來做歐拉角計算,即可輕松解決這一問題。

歐拉角可表示物體相對于某個 xyz 參考坐標系的 XYZ 坐標系方向,這兩個坐標平面相交于直線 N(圖 2)。而歐拉角的定義為:

  • α:x 軸與 N 之間的夾角
  • ?:z 軸與 Z 軸之間的夾角
  • γ:N 與 X 軸之間的夾角

圖 2: 歐拉角 (α, ?, γ) 描述了旋轉坐標系 (XYZ) 相對于固定參考坐標系 (xyz) 的相對方向,兩個坐標平面相交于直線 N。(圖片來源:Wikimedia Commons CC BY 3.0)

對于飛行控制系統,物體坐標系和參考坐標系直接對應為無人機的當前方向 (XYZ) 及所需姿態 (xyz)。而歐拉角則表示無人機所需的軸向旋轉以實現所需姿態。盡管多年來用于確定當前方向的原始數據一直由機械陀螺儀提供,但高精度微機電系統 (MEMS) 加速計和陀螺儀的出現,使該方法甚至可以應用于輕小型無人機。

如今,各種形狀和大小的無人機都依賴基于傳感器的姿態和航向參考系統 (AHRS),該系統可為歐拉角計算提供位置信息。而歐拉角用于為 PID 控制器提供誤差信號,PID 控制器則管理電機轉速以實現所需飛行操作。挑戰在于在移動平臺上使用軟件實現該方法,該平臺必須能夠完成計算并以所需的速度和精度來調整電機。

STMicroelectronics 的 STEVAL-DRONE01 小型無人機套件及相關軟件提供了該方法的工作示例,可作為探索無人機飛行控制系統細節的基礎。

小型無人機套件整裝待“飛”

STEVAL-DRONE01 套件囊括了構建小型四軸飛行器所需的所有組件。除了塑料機身外,該套件還包括四個 8.5 x 20 mm、3.7 V、8520 無鐵芯直流電機,每個電機的推力約為 35 g,并且配備 65 mm 螺旋槳。電機和螺旋槳配成兩對,可順時針和逆時針旋轉。與 3.7 V 鋰離子聚合物 (LiPo) 電池組裝后,無人機總重量(或空中總重量,AUW)小于 70 g,無人機操作時的最佳推力重量比約為 2:1。

然而,除了機械部件外,該套件的核心組件是 STMicroelectronics 的STEVAL-FCU001V1飛行控制器單元 (FCU) 電路板及相關軟件包,這些部件共同實現了上述飛行控制系統功能。FCU 電路板是高能效的復雜多傳感器系統,具有低功耗藍牙 (BLE) 連接功能(圖 3)。

圖 3: STMicroelectronics 的 STEVAL-FCU001V1 飛行控制器單元是完整的電池供電多傳感器系統,具有 BLE 連接和直流電機驅動功能。(圖片來源:STMicroelectronics)

該電路板配備基于 32 位Arm?Cortex?-M4 的 STMicroelectronicsSTM32F401微控制器,具有三個不同的 MEMS 傳感器,分別用于測量無人機定位和導航的不同特征,包括:

  • STMicroelectronics 的LSM6DSLiNEMO 慣性測量裝置 (IMU),集成了 AHRS 功能所需的加速計和陀螺儀
  • STMicroelectronics 的LIS2MDL磁力儀,為實現方向檢測功能提供數據
  • STMicroelectronics 的LPS22HD壓力傳感器,用于提供垂直定位數據,分辨率為 8 cm

在傳感器輸入端,FCU 的 STM32F401 微控制器通過共享 SPI 總線與各傳感器連接。在電機輸出端,微控制器的 TIM4 通用定時器提供脈沖寬度調制 (PWM) 信號,用于控制 STMicroelectronics 的STL6N3LLH6MOSFET 功率晶體管的柵極,以驅動無人機的直流電機。

FCU 提供兩個選項用于接收用戶控制命令:用戶可以在智能手機上,通過藍牙連接板載 STMicroelectronics 的SPBTLE-RF模塊來控制無人機,該模塊包括該公司推出的BlueNRG-MS收發器,提供最佳功耗的藍牙堆棧。或者,用戶可以使用基于標準無線電控制 (RC) PWM 的遙控器。最后,對于電池和電源管理,該電路板包括 STMicroelectronics 的STC4054鋰離子電池充電器 IC 和LD39015低壓差 (LDO) 穩壓器。

如圖 3 所示,FCU 還支持與外部電子速度控制器 (ESC) 的連接,例如 STMicroelectronics 的STEVAL-ESC001V1。ESC 允許系統驅動更穩定的三相電機,使得 FCU 可以應用于承載能力較大的四軸飛行器設計。

為簡化飛行準備和控制,該套件預先配置為通過 STMicroelectronics 的STDroneAndroid 移動應用程序來使用藍牙連接選項。該應用程序設計為虛擬遙控器,可為用戶提供簡單的飛行控制界面,具有控制圖標和兩個虛擬操縱桿(圖 4)。

圖 4: STMicroelectronics 的 STDrone Android 移動應用程序為用戶提供虛擬遙控器,可操作由該公司的 STEVAL-DRONE01 開發套件構建的小型無人機。(圖片來源:STMicroelectronics)

組裝后,無人機操作員可以在移動設備上使用 STDrone 應用程序啟動和控制無人機。起飛前,操作員需將無人機放置在平坦表面上,觸摸應用程序的“校準”圖標直至圖標變為綠色,則表示校準已完成。為了安全起見,無人機電機最初會通過軟件禁用,要求用戶在應用程序中點擊另一個圖標來“裝載”無人機。此時,應用程序用戶界面的功能則類似于遙控器,允許用戶移動虛擬操縱桿,以調整無人機的電機轉速和飛行姿態。

盡管超輕型 STMicroelectronics 無人機的質量和功率不足以進行廣泛的戶外應用,但是操作員如需在戶外操作小型無人機,則需要了解無人機在預定操作區域的飛行限制。操作小型無人機可能不需要操作許可證,或為這類小型無人機注冊。不過,操作員仍需要遵守相關要求。

具體飛行要求包括:保持視距,最大高度不得超過 400 ft;避開禁飛區,例如美國規定為機場 5 ml 范圍內,英國規定為 1 km 范圍內;避免在體育賽事或緊急行動場地附近進行操作等。無人機操作員可以使用移動應用程序,例如美國聯邦航空管理局的B4UFLY應用程序,或英國國家空中交通管理局 (NATS) 的Drone Assist(無人機助手)應用程序,這些應用程序都可根據用戶的 GPS 定位提供當地空域限制的相關信息。

飛行控制軟件

對于工程師而言,STMicroelectronics 無人機套件的 FCU 具有一大亮眼功能,即相關軟件包,STMicroelectronics 將其保存在開源的github 存儲庫中。該應用程序基于 STMicroelectronics 的 STM32Cube 框架,建立在藍牙堆棧中間件和底層驅動層之上。驅動層使用 STM32Cube 硬件抽象層 (HAL) 和 STEVAL-FCU001V1 板級支持包 (BSP) 處理硬件交互的細節。驅動層包括所有上述 FCU 電路板設備的驅動程序。

該應用程序的軟件架構圍繞三個獨立模塊構建,這些模塊分別用于遙控、位置確定和 PID 控制(圖 5):

  • 遙控模塊處理來自 STDrone 移動應用程序或 RC 遙控器的輸入,從應用程序采集數據值或轉換遙控器 PWM 數據,然后將數據值轉換為所需飛行姿態的歐拉角。
  • 位置確定模塊從 LSM6DSL IMU 采集加速計和陀螺儀數據,用于歐拉角計算所需的 AHRS 位置測定值,從而確定無人機的當前飛行姿態。雖然來自 LIS2MDL 磁力儀和 LPS22HD 壓力傳感器的數據也會得到采集,但截止本文撰寫時,這些數據不適用于現有軟件版本中的無人機飛行控制計算。
  • PID 控制模塊使用所需姿態歐拉角與當前姿態歐拉角之間的差值來完成位置誤差計算。該模塊采用傳統 PID 控制方法,使用誤差信號調節各電機轉速,使無人機實現所需姿態。

圖 5: STMicroelectronics 小型無人機飛行控制軟件功能圍繞獨立的模塊構建,分別用于處理遙控輸入(藍色框,標記(1))、位置確定(紅色框,(2))和 PID 控制(深藍色框,(3))。隨后 PID 控制驅動四軸飛行器的四個電機。(圖片來源:STMicroelectronics)

使用這種功能架構,無人機應用程序將這些模塊整合到所需工作流中,從而將用戶操作命令轉換為執行這些操作所需的電機轉速調整(圖 6)。盡管整體功能比較復雜,但更新飛行控制參數的主循環相對簡單。

圖 6: STMicroelectronics 小型無人機飛行控制軟件實現一個連續讀取傳感器數據的工作流,更新無人機的當前飛行姿態,調整無人機四個電機的轉速,從而達到飛行所需的推力,實現俯仰、滾轉和偏航的動作組合。(圖片來源:STMicroelectronics)

調用初始化硬件和軟件系統等一系列例程后,應用程序主例程 main.c 進入無限循環(清單 1)。在主循環中,更新過程調用一系列例程來執行上述飛行控制核心算法

復制while (1) { ...if (tim9_event_flag == 1) { // Timer9 event: frequency 800Hz tim9_event_flag = 0; ...// AHRS update, quaternion & true gyro data are stored in ahrs ahrs_fusion_ag(&acc_ahrs, &gyro_ahrs, &ahrs); // Calculate euler angle drone QuaternionToEuler(&ahrs.q, &euler_ahrs); #ifdef REMOCON_BLE gRUD = (joydata[2]-128)*(-13); gTHR = joydata[3]*13; gAIL = (joydata[4]-128)*(-13); gELE = (joydata[5]-128)*13; /* joydata[6]: seek bar data*/ /* joydata[7]: additional button data first bit: Takeoff (0 = Land, 1 = Takeoff) second bit: Calibration When it changes status is active third bit: Arming (0 = Disarmed, 1 = Armed) */ gJoystick_status = joydata[7]; if ((gJoystick_status&0x04)==0x04){ rc_enable_motor = 1; fly_ready = 1; BSP_LED_On(LED2); } else { rc_enable_motor = 0; fly_ready = 0; } if (connected){ rc_connection_flag = 1; /* BLE Remocon connected flag for enabling motor output */ SendMotionData(); SendBattEnvData(); SendArmingData(); } else{ rc_connection_flag = 0; gTHR=0; rc_enable_motor = 0; fly_ready = 0; BSP_LED_Off(LED1); BSP_LED_Off(LED2); } if (joydata[7]&0x02){ rc_cal_flag = 1; BSP_LED_On(LED1); } #endif #ifdef REMOCON_PWM ...#endif // Get target euler angle from remote control GetTargetEulerAngle(&euler_rc, &euler_ahrs); ...FlightControlPID_OuterLoop(&euler_rc_fil, &euler_ahrs, &ahrs, &pid); ...} ...}

在此循環中,微控制器的 TIM9 通用定時器用作事件標志以控制更新速率。發生更新計時器的事件時,主循環調用 AHRS 更新例程 ahrs_fusion_ag(),該例程使用來自加速計 (acc_ahrs) 和陀螺儀 (gyro_ahrs) 的最新數據,執行更新涉及的傳感器融合計算。然后,QuaternionToEuler() 例程使用該結果數據(四元數形式)來計算無人機當前飛行姿態的歐拉角。

此時,如果已啟用藍牙 (#ifdef REMOCON_BLE),應用程序主循環將使用藍牙采集所需飛行姿態的相關數據;如果已啟用外部 RC 遙控器,則應用程序將使用遙控器采集相關數據。而代碼更新對應傳統 RC 遙控器數據的四個變量:gRUD(方向舵位置,即偏航)、gAIL(副翼位置,即滾轉)、gELE(升降舵位置,即俯仰)和 gTHR(節流閥位置)。采集了這些數據后,主循環使用例程 GetTargetEulerAngle() 來計算所需飛行姿態的歐拉角,以執行無人機操作員的命令。不過在執行計算之前,主循環這部分的功能對無人機操作員而言至關重要。若出于任何原因導致藍牙連接失敗,代碼將停止電機。顯然,這將致使無人機即刻不受控制地下降。然而有個簡單卻意義重大的軟件擴展,可能會使用 LIS2MDL 磁力儀和 LPS22HD 壓力傳感器數據,在停止電機前,使無人機飛回起始點,并控制下降速度以平穩降落。

最后,主循環調用例程 FlightControlPID_OuterLoop(),更新 PID 控制器的目標值。此外,FlightControlPID_innerLoop() 則屬于回調操作的一部分,旨在中斷 TIM9 定時器事件。TIM9 定時器事件頻率設定為 800 Hz。每次中斷時,回調例程讀取傳感器,篩選原始數據,更新與變量 acc_ahrs 和 gyro_ahrs 相關的先進先出 (FIFO) 緩沖器。這兩個變量在上述主循環中均已提及。回調例程使用無人機當前飛行姿態的更新數據,調用 FlightControlPID_innerLoop(),重新計算各電機的 PWM 值。最后,回調例程調用 set_motor_pwm(),為微控制器的 PWM 輸出賦值,并結束更新過程。

開發人員可以使用各種工具鏈修改開源軟件包,輕松探索其他飛行控制方案。這些工具鏈包括適用于 ARM 的 IAR Embedded Workbench、適用于 STM32 的 KEIL RealView 微控制器開發套件,以及 STMicroelectronics 推出基于 Windows 的免費版System Workbench for STM32集成開發環境 (IDE)。在對修改過的代碼進行編譯后,開發人員可以使用 STMicroelectronics 的ST-LINK/V2在線調試器和編程器,或連接 STMicroelectronics 的STM32 Nucleo開發板與套件隨附的 JTAG 串行線調試 (SWD) 適配器板,將固件加載到 FCU 中。

總結

在航空攝影、現場檢測、監控等眾多應用中,多旋翼無人機因機械設計頗為簡單而深受青睞。這些無人機使用智能傳感器為控制算法提供數據,采用復雜的飛行控制軟件,支持穩定操作,并能快速響應無人機操作員的操作命令。

雖然開發人員可以自行尋找并組裝所需的機械、電氣和軟件組件,但 STMicroelectronics 推出的全面小型無人機開發套件,使其能夠更輕松地引入小型無人機的設計和操作。通過探索甚至修改相關的開源飛行控制軟件,開發人員可以快速獲取多旋翼無人機飛行動力學和控制算法方面的經驗。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PID
    PID
    +關注

    關注

    35

    文章

    1471

    瀏覽量

    85286
  • 無人機
    +關注

    關注

    228

    文章

    10336

    瀏覽量

    179607
  • 四軸飛行器
    +關注

    關注

    55

    文章

    206

    瀏覽量

    51108
收藏 人收藏

    評論

    相關推薦

    “酒駕”不能飛!輕小型無人機運行規定出臺

    。 2015年12月29日,民航局出臺《輕小無人機運行規定(試行)》(以下簡稱《運行規定》),對低、慢、小無人機運行實施放管結合的細化分類管理,為進一步維護輕小型無人機的飛行秩序,促進
    發表于 01-18 16:22

    中國新出神秘武器專攻小型無人機

    `近幾年來,美國、日本等國都曾相繼曝光過小型無人機意外墜落其核心區域,但由于小型飛行器的體積小且低空低速,幾乎是無聲逼近,所以在其墜毀前無論采取什么手段都無法發現它,只有墜毀后發現其殘骸才能知道發生
    發表于 06-20 10:25

    無人機AOPA

    (中國航空器擁有者及駕駛員協會—AOPA-China)對無人機駕駛員資質認證體系,公司積極研究和探索無人機在民用領域中的實際應用和技術要領,現已形成以民用無人機為載體的多方向培訓課程體
    發表于 06-07 15:39

    【資料】無人機開箱組裝視頻下載鏈接

    無人機開箱、組裝視頻下載鏈接:https://pan.baidu.com/s/1miACTIS
    發表于 05-09 18:59

    無人機流行和快速增長背后,對無人機開發平臺了解多少?

    、以及先進電池和無線技術的規模化生產,導致小型消費產品級別的低價格四軸無人機迅猛發展。那么能否介紹幾個無人機開發平臺或者對功能解讀呢?
    發表于 02-21 18:18

    無人機類型之植保無人機,帶你了解什么是植保無人機?

    無人機類型有很多種,復合翼無人機,六旋翼無人機,彩虹無人機都屬于不同的類型,下面來讓我們了解植保無人機吧吧。 最近,植保
    發表于 06-28 10:06

    張飛電子工程師無人機硬件閑置

    因學習緊張,沒有時間跟著張老師的視頻學習無人機無人機硬件閑置出售,加密視頻自己珍藏。只組裝了電機,未焊接,箱說,眾籌時買的。喜歡的同學私聊吧。QQ:2461307814
    發表于 07-16 13:25

    STM32G4微控制器推出數字電源和電機控制兩版探索套件

    意法半導體加大對STM32G4微控制器的開發支持力度,推出數字電源和電機控制兩版探索套件,并在最新的STM32CubeG4軟件(v 1.1.0)中增加新的固件示例,幫助
    發表于 10-30 08:51

    無人機的工作原理

    如今,我們經常在很多公園或空曠場所看到有人玩那種小型無人機,每次看它們拿著手里的遙控器,讓無人機自由翱翔于空中,這種感覺很“酷炫”,可是您知道無人機的工作原理嗎?
    發表于 01-13 06:34

    制作無人機小型PCB

    描述使用 ESP32 的無人機飛控這是我們制作自己的無人機小型 PCB,它使用 ESP32 和 MPU-6050 進行軸控制。電機控制是通過 PWM 完成的。我們仍在忙于對其進行編程,并將在代碼
    發表于 08-01 07:04

    無人機技術的研發,無人機反制設備成為熱門產品

    /導航系統干擾是當下反無人機技術的主流方式之一。通過實施干擾,使無人機的通信/導航設備受到影響或失靈。考慮到當前各國出現的小型偵察無人機大多通過地面控制站、采用無線電實時遙控的方式獲取
    發表于 09-08 10:10

    NXP無人機開發套件及工具

    NXP無人機開發套件及工具
    發表于 02-10 15:39 ?52次下載

    無人機入門指南資料,限時免費領取!

    資料將教會你:根據自身要求挑選滿意的無人機;正確啟動、飛行和保養無人機;通過Scratch編程控制飛行器,實現有趣的互動。這份無人機資料
    的頭像 發表于 01-14 09:33 ?4402次閱讀

    小型無人機實戰運用與反制技術的探索

    小型無人機的材料一般為塑料或復合材料。所以大部分的小型無人機往往不耐用且戰場生存能力較差。想要摧毀觀察到的小型
    發表于 02-28 11:12 ?566次閱讀

    探索無人機云臺的奧秘與組裝調試技巧

    在科技飛速發展的今天,無人機已經成為了眾多領域的熱門工具。而無人機云臺作為其中至關重要的組成部分,其性能和精準度直接影響著無人機的拍攝效果和穩定性。接下來,就讓我們一同深入探索
    的頭像 發表于 10-18 17:56 ?221次閱讀
    <b class='flag-5'>探索</b><b class='flag-5'>無人機</b>云臺的奧秘與<b class='flag-5'>組裝</b>調試技巧