0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

加速度计和陀螺仪的测量范围、测量精度及单位换算方法

zhc135136 来源:SmartHWFW 作者:SmartHWFW 2022-10-17 15:58 次阅读

01说在前面的话

1. 有不少朋友在做项目的时候经常涉及到加速度计和陀螺仪的原始数据转换为其他的单位的问题,这篇文章梳理和推导一下。

1)加速度计的原始数据 在应用时常见的转换单位有: g、m/s^2 、角度

2)陀螺仪的原始数据 在应用时常见的转换单位有:°/s、red/s、角度

2. 是对《几种常用的加速传感参数比较》这篇文件更新,在这篇文章中将不同参加的传感器参数对比和精度参数写在一起,本文专讲精度参数和单位换算

02测量范围和精度

MEMS 传感的数据手册中都给出了加速度计和陀螺仪的测量范围和测量精度。有测量范围是可以推算出测量精度的。

不论是加速还是陀螺仪,数据寄存器都是16位的,由于最高位是符号位,故而数据寄存器的输出范围是 -7FFF~7FFF (-32767~32767)。

陀螺仪:

假如,我们选择陀螺仪的测量范围是 ±2000,在数据手册中 16.4 LSB/(°/s)是 32767/2000 = 16.4 计算出来的

那么寄存器的数字和测量范围的对应关系:

-32767 32767
-2000(°/s) 2000(°/s)

比如,通过寄存器读取陀螺仪的值是1000的,那么我们求角速度 X

e6962cb2-4bbe-11ed-a3b6-dac502259ad0.png
加速度:

同样假如,我们选择加速度的测量范围是 ±16,在数据手册中 2048 LSB/g 是 32767/16 = 2048 计算出来的

那么寄存器的数字和测量范围的对应关系:

-32767 32767
-16g 16g

比如,通过寄存器读取陀螺仪的值是1000的,那么我们求重力加速度 X X = 1000 / 2048 = 0.49g

03单位换算

e745ffa2-4bbe-11ed-a3b6-dac502259ad0.png

1. 不同量程下精度的计算

加速度计量程为:±2g

获取到的加速度计数据 除以16384

加速度计量程为:±4g

获取到的加速度计数据 除以8192

加速度计量程为:±8g

获取到的加速度计数据 除以4096

加速度计量程为:±16g

获取到的加速度计数据 除以2048

2.可以转化为带物理单位的数据,单位:g(m/s^2)

e78414cc-4bbe-11ed-a3b6-dac502259ad0.png

3. 可以通过三角关系转换为角度

float tanalpha = 0,tanbeta = 0,tangamma = 0;


tanalpha = (float)data->rawx / sqrt( ((float)data->rawy * (float)data->rawy + (float)data->rawz * (float)data->rawz) );
data->anglex = (float)atan(tanalpha)*57.3;
tanbeta = (float)data->rawy / sqrt( ((float)data->rawx * (float)data->rawx + (float)data->rawz * (float)data->rawz)  );
data->angley = (float)atan(tanbeta)*57.3;
tangamma = (float)data->rawz / sqrt( ((float)data->rawy * (float)data->rawy + (float)data->rawx * (float)data->rawx) );
data->anglez = (float)atan(tangamma)*57.3;

e9c0efee-4bbe-11ed-a3b6-dac502259ad0.png

1. 不同量程下精度的计算

陀螺仪量程为:±250 dps

获取到的陀螺仪数据除以131

陀螺仪量程为:±500 dps

获取到的陀螺仪数据除以65.5

陀螺仪量程为:±1000dps

获取到的陀螺仪数据除以32.8

陀螺仪量程为:±2000dps

获取到的陀螺仪数据除以16.4

2.可以转化为带物理单位的数据,单位:rad/s

e9e3a70a-4bbe-11ed-a3b6-dac502259ad0.png

//原始数据
raw_data[AXIS_X] = (buf[0] << 8) | buf[1];
raw_data[AXIS_Y] = (buf[2] << 8) | buf[3];
raw_data[AXIS_Z] = (buf[4] << 8) | buf[5];
//坐标map转换
remap_data[icm_dev.cvt.axis[AXIS_X]] = icm_dev.cvt.sign[AXIS_X] * raw_data[AXIS_X];
remap_data[icm_dev.cvt.axis[AXIS_Y]] = icm_dev.cvt.sign[AXIS_Y] * raw_data[AXIS_Y];
remap_data[icm_dev.cvt.axis[AXIS_Z]] = icm_dev.cvt.sign[AXIS_Z] * raw_data[AXIS_Z];
//重力加速度计算 unit: m/s2
data->x = (float)remap_data[AXIS_X] * KSCALE_ACC_16G_RANGE;
data->y = (float)remap_data[AXIS_Y] * KSCALE_ACC_16G_RANGE;
data->z = (float)remap_data[AXIS_Z] * KSCALE_ACC_16G_RANGE;
//red/s
data->x = (float)remap_data[AXIS_X] * KSCALE_GYRO_2000_RANGE;
data->y = (float)remap_data[AXIS_Y] * KSCALE_GYRO_2000_RANGE;
data->z = (float)remap_data[AXIS_Z] * KSCALE_GYRO_2000_RANGE;

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48093

    浏览量

    740062
  • 陀螺仪
    +关注

    关注

    44

    文章

    728

    浏览量

    97670
  • 加速度计
    +关注

    关注

    6

    文章

    660

    浏览量

    45418

原文标题:MEMS 惯性传感器 - 加速度计&陀螺仪原始数据到不同单位的转换

文章出处:【微信号:SmartHWFW,微信公众号:SmartHWFW】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于加速度计的无陀螺惯性导航系统的研究

    基于加速度计的无陀螺惯性导航系统的研究汽车状态的实时准确测量是汽车智能辅助驾驶系统研究的关键问题。本文针对智能辅助驾驶车辆研究的需求,建立了一套无陀螺仪式惯性导航系统。该系统没有采用传
    发表于 12-02 12:40

    关于陀螺仪和加速度计的选择问题

    最近突发奇想,想做一个双轮的平衡车,打算捣鼓一个加强版的城市版类型的。关于车体倾斜角度的测量,大部分的方案都是采用加速度计+陀螺仪+卡尔曼滤波,对于这方面的硬件不太了解,有的人用MPU6050
    发表于 11-27 16:38

    加速度计提高倾角测量精度方法

    防止汽车侧滑和翻车;如今,ESC功能已经成为世界各国或地区法律的强制要求。如果通过组合器件(单芯片、组合式加速度计陀螺仪)实现倾角测量,则不必在车上安装一个独立的EPB模块,结果可以大幅降低汽车的成本
    发表于 10-23 11:48

    请问四轴姿态解算为什么用加速度计的本次测量值和陀螺仪的上次值做叉乘?

    1 为什么用加速度计的本次测量值和陀螺仪的上次值做叉乘?
    发表于 06-24 04:37

    请问为什么陀螺仪需校准而加速度计不需?

    我看了原子四轴的代码。发现上电后需要对陀螺仪数据进行统计,计算出样本方差和均值。陀螺仪的均值作为零偏。为何加速度计不需求方差验证?为何加速度计不需要修正零偏?
    发表于 07-04 04:35

    基于加速度计的倾角测量精度提高

    是为了防止汽车侧滑和翻车;如今,ESC功能已经成为世界各国或地区法律的强制要求。如果通过组合器件(单芯片、组合式加速度计陀螺仪)实现倾角测量,则不必在车上安装一个独立的EPB模块,结果可以大幅降低汽车
    发表于 07-18 07:23

    介绍加速度计陀螺仪的数学模型和基本算法

    本帖翻译自IMU(加速度计陀螺仪设备)在嵌入式应用中使用的指南。这篇文章主要介绍加速度计陀螺仪的数学模型和基本算法,以及如何融合这两者,侧重算法、思想的讨论
    发表于 08-06 08:04

    介绍加速度计陀螺仪的数学模型和基本算法

    本帖翻译自IMU(加速度计陀螺仪设备)在嵌入式应用中使用的指南。这篇文章主要介绍加速度计陀螺仪的数学模型和基本算法,以及如何融合这两者,侧重算法、思想的讨论介绍本指南旨在向兴趣者介
    发表于 08-09 06:46

    初识加速度计陀螺仪

    如何认识这个加速度呢?加速度计的原理是什么?什么是陀螺仪
    发表于 09-28 08:50

    加速度计陀螺仪的数学模型和基本算法是什么?如何进行融合?

    加速度计陀螺仪的数学模型和基本算法是什么?如何进行融合?
    发表于 11-12 07:15

    基于MEMS的加速度计陀螺仪设备是如何工作的

    基于MEMS的加速度计设备是如何工作的?基于MEMS的陀螺仪设备是如何工作的?
    发表于 11-12 06:59

    加速度计的相关资料分享

    在20世纪40年代初,由德国人研制了世界上第一只摆式陀螺加速度计。此后的半个多世纪以来,由于航天、航空和航海领域对惯性测量元件的需求,各种新型加速度计应运而生,性能和
    发表于 11-29 07:41

    如何去读取MPU6050的加速度计陀螺仪的原始数据呢

    MPU6050是什么?如何去读取MPU6050的加速度计陀螺仪的原始数据呢?
    发表于 12-15 06:03

    一种适用于小型无人机的加速度计陀螺仪的矫正方法

    基于机器学习方法校准MCU6050陀螺仪加速度计(含源码)最近组装了一架无人机,想要自己写一个飞控,所以一直在研究陀螺仪,我使用的是目前最常用的MCU6050六轴运动传感器,如下图所示
    发表于 02-10 06:11

    MPU-6050模块三轴加速度+三轴陀螺仪简介

    第三方的数字传感器。MPU-6050对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,
    发表于 02-10 07:17