站内搜索
发作品签到
标准版

ICM20948 十轴传感器(磁力计 陀螺仪 加速度计)

工程标签

1.2w
0
0
13

简介

基于ICM20948 的十轴传感器

简介:基于ICM20948 的十轴传感器

开源协议

CC-BY 3.0

创建时间:2022-05-22 09:02:58更新时间:2022-07-23 14:54:30

描述

根据微雪电子的【10轴传感器 ICM20948 3轴加速度/陀螺仪/磁力计】设计

使用I2C总线通信最高400KHz

ICM20948 巨贵无比(115一颗)请谨慎购买、焊接

另有低成本版本可供选择:MPU9250 低成本 十轴传感器(磁力计 陀螺仪 加速度计) - 嘉立创EDA开源硬件平台 (oshwhub.com)

链接:原装正品 ICM-20948 I2948 封装QFN-24 9轴加速度陀螺仪 ic 芯片 (1688.com)

微雪官方售价:¥370.67

本工程成本价:¥164.51

  • 供电范围:3.3V~5V(内部低压差稳压)
  • 加速度计特性:
    • 分辨率:16位
    • 量程(可选):±2、±4、±8、±16g
    • 工作电流:68.9uA
  • 陀螺仪特性:
    • 分辨率:16位
    • 量程(可选):±250、±500、 ±1000、±2000°/sec
    • 工作电流:1.23mA
  • 磁力计特性:
    • 分辨率:16位
    • 量程:±4900µT
    • 工作电流:90uA
  • 气压高度计特性:
    • 气压分辨率:0.0016hPa
    • 温度分辨率:0.01°C
    • 量程:300~1100hPa(海拔高度:+9000m ~ -500m)
    • 气压相对精度(700hPa~900hPa,25°C~40°C):±0.12hPa(±1m)
    • 工作电流(1Hz更新速率,超低功耗模式):2.8uA

 

接口说明

引脚号 标识 描述
1 VCC 3.3V~5.5v电源
2 GND 电源地
3 SDA I2C 数据线
4 SCL I2C 时钟线
5 INT ICM20948数字中断输出
6 FSYNC ICM20948帧同步信号

 

 

 

 

  • ICM20948支持多种量程,包括±2g、±4g、±8g、±16g,在示例程序中采用的是±2g,如果需要更改量程,可以通过修改<ACCEL_CONFIG>寄存器,下图为datasheet中<ACCEL_CONFIG>寄存器取值与量程的对应关系:

10 DOF IMU Sensor Range.png

  • 以STM32示例代码为例,±2g在代码中设置方法如下:
I2C_WriteOneByte( I2C_ADD_ICM20948, REG_ADD_ACCEL_CONFIG,
                  REG_VAL_BIT_ACCEL_DLPCFG_6 | REG_VAL_BIT_ACCEL_FS_2g | REG_VAL_BIT_ACCEL_DLPF);
  • 如果需要修改为±8g,做如下修改即可:
 I2C_WriteOneByte( I2C_ADD_ICM20948, REG_ADD_ACCEL_CONFIG,

REG_VAL_BIT_ACCEL_DLPCFG_6 | REG_VAL_BIT_ACCEL_FS_8g | REG_VAL_BIT_ACCEL_DLPF);

  • 不同量程时,从传感器寄存器读出的原始值,需要除以相应的转换系数,即可转换为单位为g的加速度,下表各量程对应的系数值:

10 DOF IMU Unit conversion.png

  • 当量程为±2g, 传感器原始值/16384即可得到单位为g的加速度值。

角速度传感器

  • 角速度传感器得到的数值为绕各坐标轴旋转的角速度,当旋转方向与坐标轴标注方向相同时为正,旋转方向与坐标轴标注方向相反时为负。角速度同样存在零偏误差,一般可采用静止放置取均值的方法进行去除。

ICM20948角速度量程设置

  • ICM20948支持多种量程,包括±250、±500、 ±1000、±2000°/sec,在示例程序中采用的是±1000°/sec,如果需要更改量程,可以通过修改<GYRO_CONFIG_1>寄存器,下图为datasheet中<GYRO_CONFIG_1>寄存器取值与量程的对应关系:

10 DOF IMU Angular velocity range.png

  • 以STM32示例代码为例,±1000°/sec在代码中设置方法如下:
I2C_WriteOneByte( I2C_ADD_ICM20948, REG_ADD_GYRO_CONFIG_1,   
                  REG_VAL_BIT_GYRO_DLPCFG_6 | REG_VAL_BIT_GYRO_FS_1000DPS | REG_VAL_BIT_GYRO_DLPF);
  • 如果需要修改为±2000°/sec,做如下修改即可:
I2C_WriteOneByte( I2C_ADD_ICM20948, REG_ADD_GYRO_CONFIG_1,   
                  REG_VAL_BIT_GYRO_DLPCFG_6 | REG_VAL_BIT_GYRO_FS_2000DPS | REG_VAL_BIT_GYRO_DLPF);

ICM20948角速度单位转换

  • 不同量程时,从传感器寄存器读出的原始值,需要除以相应的转换系数,即可转换为单位为°/sec的角速度,下表为各量程对应的系数值:

10 DOF IMU Angular velocity unit conversion.png
当量程为±1000°/sec, 传感器原始值/32.8即可得到单位为°/sec的角速度。

磁力计传感器

  • 磁力计传感器测量的是传感器周边磁场大小,当附近没有较强磁场(电机等)时,磁力计传感器输出的数值为地磁场在三个坐标轴的分量。

ICM20948磁力计

  • 从传感器寄存器读出的原始值,需要乘以转换系数,即可转换为单位为μT($10^-6$特斯拉)的磁场强度,下表为ICM20948中磁力计的转换系数:

10 DOF IMU Magnetometer conversion coefficient.png
既传感器原始值*0.15即可得到单位为μT的磁场强度。

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
树莓派,STM32,Arduino使用教程.pdf
277
2
10_DOF_IMU_Sensor_D_Schematic.pdf
115
3
10_DOF_IMU_Sensor_D_Code.7z
224
4
RT9193.pdf
66
5
NDC7002N.pdf
59
6
BST-BMP280-DS001-09-371189.pdf
68
7
DS-000189-ICM-20948-v1.3.pdf
115
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航