本文來源電子發燒友社區,作者:superjiulong, 帖子地址:https://bbs.elecfans.com/jishu_2296773_1_1.html
1 前言
2 什么是陀螺儀、加速度傳感器、地磁傳感器2.1 加速度計是什么
2.3 地磁傳感器是什么
3 硬件接線圖
4 程序編寫及調試4.1 下載bno055的庫】
4.2 安裝庫
4.3 測試代碼
復制代碼
5 結果演示
1 前言
BNO055是博世ASSNs展品系列的新產品,是一款性能優越的IUM芯片,數據輸出類型多,可根據需要選擇讀取不同的IMU融合數據。也是一款系統級封裝(SiP)解決方案,集成了一個三軸14位加速度計,一個三軸16位陀螺儀,一個三軸地磁傳感器和一個32位Cortex M0+微控制器。
其封裝尺寸只有3.8 x 5.2 x 1.13mm3,明顯小于可比較的同級解決方案。
技術參數如下:
BNO055加速度:
加速度:±2g/±4g/±8g/±16
低通濾波頻段:1kHz~<8Hz
工作模式:正常、睡眠、低功耗、待機、深度睡
BNO055陀螺儀:
加速度:±2g/±4g/±8g/±16
低通濾波頻段:1kHz~<8Hz
工作模式:正常、睡眠、低功耗、待機、深度睡
BNO055陀螺儀:
范圍:±125°/s~2000°/s
低通濾波頻段:523Hz~12Hz
工作模式:正常,快速啟動、深度睡眠、睡眠、高級省電
芯片中斷控制:運動觸發中斷信號
BNO055地磁:
范圍:±1300uT(x-,y-axis);±2500uT(z-axis)
地磁分辨率:~0.3
工作模式:低功耗、定期、增強定期、高精度
工作模式:正常、睡眠、強制
2 什么是陀螺儀、加速度傳感器、地磁傳感器2.1 加速度計是什么
加速度計 (accelerometer) 測量加速度的儀表。加速度測量是工程技術提出的重要課題。當物體具有很大的加速度時,物體及其所載的儀器設備和其他無相對加速度的物體均受到能產生同樣大的加速度的力,即受到動載荷。欲知動載荷就要測出加速度。其次,要知道各瞬時飛機、火箭和艦艇所在的空間位置,可通過慣性導航(見陀螺平臺慣性導航系統)連續地測出其加速度,然后經過積分運算得到速度分量,再次積分得到一個方向的位置坐標信號,而三個坐標方向的儀器測量結果就綜合出運動曲線并給出每瞬時航行器所在的空間位置。再如某些控制系統中,常需要加速度信號作為產生控制作用所需的信息的一部分,這里也出現連續地測量加速度的問題。能連續地給出加速度信號的裝置稱為加速度傳感器。
2.2 陀螺儀是什么
陀螺儀是用高速回轉體的動量矩敏感殼體相對慣性空間繞正交于自轉軸的一個或二個軸的角運動檢測裝置。利用其他原理制成的角運動檢測裝置起同樣功能的也稱陀螺儀。
在解釋陀螺儀的工作原理之前,我先介紹一些轉動的術語。在飛行器的航行中,進行XYZ三個方向旋轉的旋轉有專業的術語,見下圖:

沿著機身右方軸(Unity中的+X)進行旋轉,稱為pitch,中文叫俯仰。
沿著機頭上方軸(Unity中的+Y)進行旋轉,稱為Yaw,中文叫偏航。
沿著機頭前方軸(Unity中的+Z)進行旋轉,稱為Roll,中文叫桶滾。
我把三個Gimbal環用不同的顏色做了標記,底部三個軸向,RGB分別對應XYZ。
2.3 地磁傳感器是什么
地磁場是地球的固有資源,為航空、航天、航海提供了天然的坐標系,可應用于航天器或艦船的定位定向及姿態控制。利用地球磁場空間分布的磁導航技術簡便高效、性能可靠、抗干擾,是發達國家不可缺少的基本導航定位手段之一,如自動化程度很高的波音飛機都裝載有磁導航定位系統。
陀螺儀是利用陀螺的定軸性和進動性,可以測量姿態(利用定軸性)和尋北(利用進動性)的儀器;短時間精度高,長時間工作時存在累積誤差。地磁場傳感器是可以測量地球磁場,在不受磁干擾的情況下,如果知道當地的經緯度和海拔,就可以在測量地磁場方向后,利用各種地球磁場模型計算磁傾角、磁偏角,然后就可以算出極北和姿態等。磁場傳感器容易受干擾,但是簡單不容易壞。
3 硬件接線圖

4 程序編寫及調試4.1 下載bno055的庫】
注意:此處需要下載您手頭購買的模塊相應的庫文件,此處使用的是DFRobot的做演示用。
https://github.com/DFRobot/DFRobot_BNO055
4.2 安裝庫
先把庫文件從網站上下載下來,整個壓縮包解壓到Arduino IDE的libraries文件夾中。

需要注意的是,庫文件夾下要直接顯示*.cpp和*.h文件,絕對不可以把這些庫文件再套到二級以上目錄,這樣子就會導致IDE無法識別。

4.3 測試代碼
- /***************************************************
- Thisis an example for the BNO055
- ****************************************************/
- #include
- #include
- BNO055 imu;
- void setup()
- {
- Serial.begin(115200);
- if(!imu.begin(imu.NDOF, imu.NORMAL_MODE )){
- Serial.println("unable to initialize the chip, or it isnt ready.I'll give it a sec and try anyway!");
- delay(30);
- }
- delay(1000);
- imu.getInfo();
- Serial.print("status code:");Serial.println(imu.SystemStatusCode);
- Serial.print("Selftest results:");Serial.println(imu.SelfTestStatus);
- Serial.print("System Error code:");Serial.println(imu.SystemError);
- }
- void loop()
- {
- imu.readEuler();
- Serial.print("X: "); Serial.print((float)imu.EulerData.x,6); Serial.print(" ");
- Serial.print("Y: ");Serial.print((float)imu.EulerData.y,6);Serial.print(" ");
- Serial.print("Z: "); Serial.println((float)imu.EulerData.z,6);Serial.print(" ");
- delay(100);
- }
可以打印出陀螺儀的三軸數據

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
ESP32
+關注
關注
21文章
1012瀏覽量
18977 -
DFRobot
+關注
關注
4文章
1160瀏覽量
10629
發布評論請先 登錄
相關推薦
熱點推薦
ESP32-S3開發板燒錄小智AI系統全流程指南
在AI語音交互領域不斷發展的今天,開發者們對于功能強大、開源靈活的開發板需求日益增長。今天,我們就來詳細了解一下ESP32AgentDevKit燒錄小智的全流程,這款搭載樂鑫科技ESP32-S

ESP32-C3開發板全面支持小智AI!燒錄實戰指南來了!
本文將詳細解析基于樂鑫ESP32-C3芯片的ZXAIEC43開發板燒錄“小智”AI語音系統的全流程。該方案代碼完全開源,支持深度定制開發,適用于智能玩具、潮玩手辦及智能家居控制等多元場景。開發

【AI技術支持】ESP32-C3芯片/模組SPI-AT問題處理
描述在使用ESP32-C3芯片/模組,AT版本為Release/v3.0.0.0時,客戶在使用常規AT通信時,速率達不到需求,需要換成SPI-AT,測試中遇到問題,這是為什么呢?啟明云端/02

【AI技術支持】ESP32C3 開發板在Linux環境下,進行JTAG 調試演示
啟明云端/01JTAG調試工具本教程主要演示ESP32C3開發板在linux環境下,通過vscode的ESP-IDF插件使用JTAG調試工具。ESP32C3不但內置了USB-JTAG,

在rt-thread bsp里esp32c3里編譯出的bin文件燒到esp32的開發板上運行提示chipid不對,為什么?
在rt-thread bsp里esp32c3里編譯出的bin文件燒到esp32的開發板上 運行提示chipid不對,是否有方法修改能支持esp32 系列的
發表于 09-27 10:01
esp32-c3燒錄代碼的時候提示Failed to connect to ESP32-C3: No serial data received,問題出在哪里?
畫了一塊esp32-c3但是燒錄代碼的時候提示Failed to connect to ESP32-C3: No serial data received,問題可能出現在什么地方,使用的是ch340模塊下載程序。
發表于 07-01 07:48
ESP32-C3開發板用數據線連接在電腦USB口上,無法識別出端口,為什么?
各位好,我的ESP32-C3開發板用數據線連接在電腦USB口上,電腦上事先安裝了CP210x驅動程序,發現只是開發板上的紅燈亮了,win11系統的設備管理器卻沒有檢測出端口。ESP-I
發表于 07-01 07:25
ESP32-C3-MINI-1的ESP32-C3-DevKitM-1 VSCODE和thonny開發環境如何切換?
買的是搭載ESP32-C3-MINI-1的ESP32-C3-DevKitM-1 官方開發板,可以從VSCODE開發環境下切換到thonny,使用micropython進行
發表于 07-01 06:03
esp32-C3如何設置掃描周期?
我們使用的芯片是esp32-C3
IDF版本版本:5.0.0
我們開發的產品使用BLE Mesh組網,我們同時希望產品能開啟掃描BLE廣播包的功能,根據樂鑫官方在線文檔 \"https
發表于 06-28 09:44
請問ESP32-C3的USB-CDC例程在哪個目錄啊?
大佬,
我想用ESP32-C3的USB串口和電腦通信。我用的是ESP-IDF 4.3的SDK。在SDK里面沒找到關于ESP32-C3的USB-CDC的例程。
ESP32-S2倒是有,但
發表于 06-27 07:28
esp32-c3工程中怎么創建多個freertos任務?
ESP-IDF中給出的ESP32-C3的例程都只有一個任務。即void app_main()
而且沒看見這個app_main任務是在哪里被創建的???
如果我想建一個ESP32-C3的多任務的工程該
發表于 06-27 06:37
ESP32-C3使用SPI通信緩存有多少?
我們計劃用ESP32-AT功能,看到資料上ESP32-C3僅支持SPI通信,請問:
①ESP32-C3使用SPI通信緩存有多少?
②ESP32-C3使用SPI通信接收到數據以后空中速率
發表于 06-26 07:58
請問ESP32-C3和ESP32-S2或WROOM系列是否支持單步調試?
/index.html#introduction
中文版描述只有ESP-S2-Kaluga-1板載了JTAG調試接口,而英文版說ESP32-C3可以直接用USB進行調試:“This is made
發表于 06-21 07:32
ESP32-C3的USB在計算機上識別的COM口能夠干什么用?
我想選用ESP32-C3 開發產品,其價格和藍牙@WIFI的功能是最吸引我的,但令人頭疼的是其開發環境,在WIN10下試用了VSCODE+PLATFORMIO和ECLIPCE兩個IDE
發表于 06-21 06:41
評論