本文来源电子发烧友社区,作者: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.13mm³,明显小于可比较的同级解决方案。
技术参数如下:
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
+关注
关注
17文章
956浏览量
17071 -
DFRobot
+关注
关注
4文章
1156浏览量
9442
发布评论请先 登录
相关推荐
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模块的问题,可以评论区提出来
ESP32-WROOM-32开发板教程
ESP32-WROOM-32是一款功能强大的物联网开发板,它基于Espressif的ESP32芯片,拥有更多的性能和功能。在本篇文章中,我将为您提供一份详尽、详实、细致的教程,以帮助您快速上手
评论