IMU传感器输出值与实际物理量的换算关系

一、加速度的换算:


例如:加速度计的量程设置为:±16g ,则:
Data=数据高八位<<8|数据低八位;
A=9.8*Data/2048  (m/s^2)
二、陀螺仪角速度的换算:


例如:陀螺仪的量程设置为:±2000,则:
Data=数据高八位<<8|数据低八位;
Pi=3.1415926;
Ω=(pi/180)*Data/16.4 (rad/s)


三、温度换算:
Data=数据高八位<<8|数据低八位;
 C = (Data)/340 + 36.53 (℃)

四、磁力计(AK8963)转换:


灵敏度:16位AD (0.15uT/LSB);
Data=数据高八位<<8|数据低八位;
ASA:Fuse ROM中读取的值。
M校正后=Data*((ASA - 128) / 256 + 1) * 0.15;


五、MS5611气压计气压值与温度值换算:
D1:24位AD值(压力)
D2:24位AD值(温度)



流程图



程序:
float dT = D2 - C5 * pow(2, 8);

TEMP = (2000 + ((dT * C6) / pow(2, 23)));

float OFF = C2 * pow(2, 16) + (C4 * dT) / pow(2, 7);

SENS = C1 * pow(2, 15) + (C3 * dT) / pow(2, 8);

float T2, OFF2, SENS2;

    if (TEMP >= 2000)
    {
        T2 = 0;
        OFF2 = 0;
        SENS2 = 0;
    }
    if (TEMP < 2000)
    {
        T2 = dT * dT / pow(2, 31);
        OFF2 = 5 * pow(TEMP - 2000, 2) / 2;
        SENS2 = OFF2 / 2;
    }
    if (TEMP < -1500)
    {
        OFF2 = OFF2 + 7 * pow(TEMP + 1500, 2);
        SENS2 = SENS2 + 11 * pow(TEMP + 1500, 2) / 2;
    }

    TEMP = TEMP - T2;
    OFF = OFF - OFF2;

    SENS = SENS - SENS2;

    PRES = ((D1 * SENS) / pow(2, 21) - OFF) / pow(2, 15) / 100;
   TEMP = TEMP / 100;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值