博世传感器调试笔记(二)加速度及陀螺仪传感器BMI160
一.功能参数简介
bosch Sensortec公司推出的最新BMI160惯性测量单元将最顶尖的16位3轴超低重力加速度计和超低功耗3轴陀螺仪集成于单一封装.MI160采用14管脚LGA封装,尺寸为2.5×3.0×0.8mm3。当加速度计和陀螺仪在全速模式下运行时,耗电典型值低至950µA,仅为市场上同类产品耗电量的50%或者更低。
BMI160传感器的i2c 设备地址是 0x68(当sd0脚接地)/0x69(当sdo 脚拉高)。
二. 重要寄存器
1. 芯片ID----R0:CHIPID 寄存器 ,值为 0xd1
2. R0x03:pmu_status--- BMI160当前工作模式/状态寄存器
3. 加速度Accelerometer field data
X轴16bit加速度数据
r0x12:ACCD_X_LSB acc_x_lsb[7:0] bit0--bit7
r0x13:ACCD_X_MSB acc_x_msb[15:8] bit0--bit7
Y轴16bit加速度数据
r0x14:ACCD_Y_LSB acc_y_lsb[7:0] bit0--bit7
r0x15:ACCD_Y_MSB acc_y_msb[15:8] bit0--bit7
Z轴16bit加速度数据
r0x16:ACCD_Z_LSB acc_z_lsb[7:0] bit0--bit7
r0x17:ACCD_Z_MSB acc_z_msb[15:8] bit0--bit7
4. 陀螺仪角速度数据gyroscope field data
X轴角速度数据16 BIT(LSB/°/s)
r0x0c:gyr_x_lsb[7:0] bit0--bit7
r0x0d:gyr_x_msb[15:8] bit0--bit7
Y轴角速度数据16 BIT(LSB/°/s)
r0x0e:gyr_y_lsb[7:0] bit0--bit7
r0x0f:gyr_y_msb[15:8] bit0--bit7
Z轴角速度数据16 BIT(LSB/°/s)
r0x10:gyr_z_lsb[7:0] bit0--bit7
r0x11:gyr_z_msb[15:8] bit0--bit7
5. 加速度量程配置寄存器r0x41:ACC_RANGE
0B0011:+-2G RANGE;0b0101+-4g;0b1000:+-8g;0b1100:+-16g
6. 控制寄存器r0x7e
0x11:set pmu mode of accelerometer to normal
0x15:set pmu mode of gyroscope to normal
7. 建议加速度及陀螺仪模块均使用系统默认参考配置
0x41----0x03 加速度量程±2g
0x40----0x28
0x42----0x28
0x43----0x00 角速度±2000°/s
三. 参考代码
1. 3轴加速度数据读取参考代码:
i2c_write_byte(0x7e,0x11);
DelayMs(100);
x =( i2c_read_byte(0x12) &0xff) ;
x = x|(( i2c_read_byte(0x13) &0xff)<<8);
if(x>0x7fff)
{
x = -(0xffff-x);
}
x = (x*9.8)/(0x8000/2);//当量程为±2g时,转换为g/s的加速度换算公式
y =( i2c_read_byte(0x14) &0xff) ;
y = y|(( i2c_read_byte(0x15) &0xff)<<8);
if(y>0x7fff)
{
y = -(0xffff-y);
}
y = (y*9.8)/(0x8000/2);//当量程为±2g时,转换为g/s的加速度换算公式
z =( i2c_read_byte(0x16) &0xff) ;
z = z|(( i2c_read_byte(0x17) &0xff)<<8);
if(z>0x7fff)
{
z = -(0xffff-z);
}
z = (z*9.8)/(0x8000/2);//当量程为±2g时,转换为g/s的加速度换算公式
2. 3轴陀螺仪数据读取参考代码:
i2c_write_byte(0x7e,0x15);
DelayMs(100);
x =( i2c_read_byte(0x0c) &0xff) ;
x = x|(( i2c_read_byte(0x0d) &0xff)<<8);
if(x>0x7fff)
{
x = -(0xffff-x);
}
x = (x*2000)/0x7fff;// range为2000dps时,转换为角速度°/s的公式
y =( i2c_read_byte(0x0e) &0xff) ;
y = y|(( i2c_read_byte(0x0f) &0xff)<<8);
if(y>0x7fff)
{
y = -(0xffff-y);
}
y = (y*2000)/0x7fff;// range为2000dps时,转换为角速度°/s的公式
z =( i2c_read_byte(0x10) &0xff) ;
z = z|(( i2c_read_byte(0x11) &0xff)<<8);
if(z>0x7fff)
{
z = -(0xffff-z);
}
z = (z*2000)/0x7fff; // range为2000dps时,转换为角速度°/s的公式
四. 调试注意事项
1. 默认开机后bmi160进入suspend mode,此时bmi160的加速度及陀螺仪功能均处于未工作状态。需配置R0x7e寄存器使得加速度及陀螺仪功能进入正常工作(数据采样)模式。
by default bmi160 accel and gyro are in suspend mode after powering up the device.the device is powering up in less than 10ms.
2. 每次进行加速度数据检测前,请先执行i2c_write_byte(0x7e,0x11),使得加速度模块进入normal工作模式;
3. 每次进行陀螺仪数据检测前,请先执行i2c_write_byte(0x7e,0x15) 使得陀螺仪模块进入normal工作模式;
博世传感器调试笔记(二)加速度及陀螺仪传感器BMI160相关推荐
- Arduino驱动QMC6308地磁传感器调试笔记(1)
一.QMC地磁传感器介绍(矽睿科技) QMC6308是三轴磁传感器,它将磁传感器和信号环境ASIC集成到一个硅芯片中. 该晶片级芯片级封装(WLCSP)适用于移动和可穿戴设备中的电子罗盘,地图旋转,游 ...
- 传感器自学笔记第九章——SW-420震动传感器、声控开关传感器、避障传感器模块、TCRT5000循迹传感器、倾斜开关
作者:GWD 时间:2019.06.26 SW-420震动传感器(开关量传感器) 一.学习要点:无 二.手册分析(开关量传感器) 1.产品用途:各种震动触发作用,比如防盗报警等 2.产品不震动时开关闭 ...
- 博世传感器调试笔记(一)----加速度传感器BMA253
公司是bosch的代理商,最近一段时间一直在公司开发的传感器demo板上调试bosch sensor器件.涉及到的器件有7,8款,类型包括重力加速度.地磁.陀螺仪.温度.湿度.大气压力传感器等.在调试 ...
- 博世传感器调试笔记(三)加速度及地磁传感器BMC156
一. 器件简介: 1. BMC 156是一款整合三轴地磁传感器与三轴(12bit)加速度传感器于一体的传感器,以BMC 150 电子罗盘模块为基础, 并与Bosch Sensortec 2 ...
- TQIMAX6q调试笔记二:linux与uboot的编译
一.按照<TQIMX6环境搭建>,成功安装ubuntu开发环境. 二.按照<TQIMX6_COREC编译手册>,成功安装交叉编译器. 三.按照<TQIMX6_COREC编 ...
- S3c2410_SDIO_调试笔记二
摘自:上海嵌入式索漫科技培训教材 作者:下家山 (见Simplified SDIO Card Specification.pdf 35page)因为,CMD52响应后返回数据为8bit,所 ...
- 传感器自学笔记第八章——DHT11温湿度传感器(附带自己写的很好用的51单片机DHT11代码模板,参数列表只有一个字符数组指针)
作者:GWD 时间:2019.06.26 DHT11温湿度传感器(单总线类) 一. 学习要点: 1.(重要)单总线类传感器检测高电平while(DHT11 == 1) temp |=0x01;出错,因 ...
- 安卓传感器全解:注册、注销传感器、监听传感器,距离传感器、方向传感器、陀螺仪、加速计、磁场、气压传感器
全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓传感器全解:注册.注销传感器.监听传感器.距离传感器.方向传感器.陀螺仪.加速计.磁场.气压传感器. 注册.注销.监听传感器 1.自定义传感器监听 ...
- keil4怎么移植其他人的程序_【调试笔记】韦东山:在100ask_imx6ull上移植使用六轴传感器ICM20608...
之前发了LCD调试笔记,大家很感兴趣,所以这次再来一篇:六轴传感器ICM20608驱动移植笔记,大家还需要什么移植笔记?可以留言.我们尽量满足. 1.1 移植思路 先找到驱动:也许内核里已经有,也许需 ...
- 【调试笔记】韦东山:在100ask_imx6ull上移植使用六轴传感器ICM20608
在线课堂:https://www.100ask.net/index(课程观看) 论 坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ...
最新文章
- static和global的区别
- Siri ShortCut 调研(含Demo)
- 结合项目实例 回顾传统设计模式(九)迭代器模式
- oracle undo表空间缩小,缩小undo表空间全记录
- php打印出网站源码/php数据压缩代码
- 【剑指offer】31、栈的压入和弹出序列
- 快速开发微信小程序直播--微信直播--小程序直播开发
- 0.99元用7天,金山云大米云主机给你这个机会!
- nexus开机启动设置
- 普通音箱实现成为无线音箱
- 淘宝奇门接口的签名方法
- HOJ 4585 Shaolin(map, 迭代器)
- Mysql学习笔记day3 --三天学完mysql所有知识点
- 数字医学影像工作站相关资料汇总
- maven 多模块项目,打包其中一个项目,Could not find artifact org.javaboy:commons:pom:1.0-SNAPSHOT
- 什么是量子计算机 什么原理,量子计算机原理是什么?
- 深入理解iOS App的启动过程
- 微软收购动视暴雪,美媒:索尼游戏战略该变了
- 为什么进不去Pycharm官网--解决办法一
- Java JDK 动态代理
热门文章
- LoadRunner教程(18)-LoadRunner 图表合并
- 弹性波波长计算公式_固体中的弹性波
- intouch负值显示0_InTouch常见问题
- Win 10 蓝屏,出现DRIVER_POWER_STATE_FAILURE的解决方法
- 平板电脑android 管理软件,应用宝HD下载V5.2.0.142 安卓版-Android平板电脑(aPad)专用西西软件下载...
- PDF文件阅读器可转word...
- Eureka源码深度刨析-(5)EurekaServer处理服务发现
- pcm5102a解码芯片音质评测_精品推荐:用家票选TOP 30款最佳便携式解码耳放(中)...
- 索尼pha2 android手机,国砖的噩梦?索尼NW-A35捆绑PHA-2A小评
- OpenCV实战 | 低对比度缺陷检测应用实例--LCD屏幕脏污检测