编辑器版本 ×
标准版

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

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

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

开源协议: CC-BY 3.0

发布时间: 2022-07-23 14:54:30
  • 436
  • 2
  • 3
描述

根据微雪电子的【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的磁场强度。

 

设计图
原理图
1 /
PCB
1 /
暂无
工程成员
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

  • 开源平台公众号