本文來源電子發燒友社區,作者: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
+關注
關注
18文章
971瀏覽量
17334 -
DFRobot
+關注
關注
4文章
1158瀏覽量
9550
發布評論請先 登錄
相關推薦
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使用SPI通信緩存有多少?
我們計劃用ESP32-AT功能,看到資料上ESP32-C3僅支持SPI通信,請問:
①ESP32-C3使用SPI通信緩存有多少?
②ESP32-C3使用SPI通信接收到數據以后空中速率
發表于 06-26 07:58
ESP32-C3的USB在計算機上識別的COM口能夠干什么用?
我想選用ESP32-C3 開發產品,其價格和藍牙@WIFI的功能是最吸引我的,但令人頭疼的是其開發環境,在WIN10下試用了VSCODE+PLATFORMIO和ECLIPCE兩個IDE
發表于 06-21 06:41
請問esp32-c3不支持pcnt嗎?
我在esp32-c3開發板上測試pcnt,編譯報錯找不到相關的函數,查看sdk源碼發現要配置CONFIG_SOC_PCNT_SUPPORTED才會編譯pcnt.c,查看examples里面的項目也說了只支持
發表于 06-18 07:27
請問ESP32-C3藍牙如何獲取RSSI的值?
各位大佬,小弟剛接觸ESP-IDF不久,摸索了一段時間,物聯網的基本流程已經摸索的差不多了。
現在想知道ESP32-C3通過藍牙與手機建立連接后,怎么才能獲取當前手機端到開發板的RSSI值,我應該去參考哪些例程?
本人英語實在是
發表于 06-13 07:47
BNO055傳感器報錯的原因?
硬件
ESP32-WROOM-32(ESP32-DevKitc型)
AE-BNO055-BO 9軸傳感器
開發環境
Windows11 22621.2715
IDE
發表于 06-06 06:36
畫了一塊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,可能是哪里出錯了呢。
發表于 06-05 07:42
啟明云端WT32C3系列模組/開發板連接AWS亞馬遜云方法
ESP32-C3因為其性價比高,價格便宜性能又好一直是量產的首選芯片,隨著量產項目擴大,對接云服務器的情況也增加了,接下來小啟給大家分享下啟明云端ESP32-C3模組——WT32C3系列模組/
充電樁選型對比:ESP32-S3模組和ESP32-C3模組誰更合適
和整體解決方案供應商,有非常豐富的充電樁物聯網項目經驗,充電樁物聯網選型中經常會用到ESP32-C3、ESP32-S3模組,那么今天小啟就對這幾種方案做個對比,看
技術分享|Model 3C芯片86盒彩屏開發板:ESP32-C3助力,3MB波特率OTA升級更便捷!
在物聯網快速發展的今天,彩屏顯示作為人機交互的重要一環,其顯示效果和升級便利性成為了衡量產品競爭力的關鍵指標。而Model 3C(以下簡稱M3C芯片)與ESP32-C3的結合,無疑為物聯網彩屏領域應用奠定了堅實的基石。
ESP32-C3模塊使用問題集錦| C3的串口日志該如何禁用?
ESP32-C3因為功能強大、低功耗一直廣受歡迎,客戶在使用過程中,也是有很多疑問。下面小啟整理了一些C3模塊實際應用客戶遇到的問題,做出解答,大家如果也有關于C3模塊的問題,可以評論區提出來
評論