MPU6050配置及读数换算
硬件平台
开发板
- 开发板采用WHEELTEC的STM32F405RG开发板,其板载MPU6050模块一个,其轴向正方向如下图所示:
MPU6050
-
MPU-6050集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其I2C或SPI接口输出一个9轴的信号(SPI 接口仅在MPU-6000 可用)。MPU-60X0 也可以通过其I2C接口连接非惯性的数字传感器,比如压力传感器。 -
其陀螺仪和加速度计相关参数如下: -
MPU6050模块的相关配置可参考:【知乎】MPU6050简介 , 这里只说明几个关键数值的选取:
在计算机中是无法直接表示模拟信号的,因此需要将模拟信号采样量化后转化成数字信号才能使用。信号的采样和量化通常都是由ADC实现的。在这个过程中,量化精度越高,所采集到的信号与原始信号越近似,灵敏度就越高,也就要求ADC的采样位数越高。但是,在低成本的前提下,ADC的性能往往不尽如人意,因此,常需要根据具体的使用环境来配置传感器的相关参数。
-
加速度计量程及灵敏度 -
陀螺仪量程及灵敏度 -
换算公式
- 假设配置
AFS_SEL=0 , 那么实际加速度和传感器读数的换算关系为:
V
a
l
u
e
r
e
a
l
(
单
位
是
g
)
=
A
D
C
o
u
t
p
u
t
16384
?
L
S
B
/
g
Value_{real} (单位是 g)= \frac{ADC_{output}}{16384\ LSB/g}
Valuereal?(单位是g)=16384?LSB/gADCoutput?? 换算成
m
/
s
2
(
g
取
9.8
)
m/s^2(g 取9.8)
m/s2(g取9.8) ,
V
a
l
u
e
r
e
a
l
(
单
位
是
m
/
s
2
)
=
V
a
l
u
e
r
e
a
l
(
单
位
是
g
)
×
9.8
Value_{real} (单位是 m/s^2)=Value_{real} {(单位是 g) } \times 9.8
Valuereal?(单位是m/s2)=Valuereal?(单位是g)×9.8 - 假设配置
FS_SEL=1 , 那么实际角速度和传感器读数的换算关系为:
V
a
l
u
e
r
e
a
l
(
单
位
是
°
/
s
)
=
A
D
C
o
u
t
p
u
t
65.5
?
L
S
B
/
°
/
s
Value_{real} (单位是\degree/s)= \frac{ADC_{output}}{65.5\ LSB/{\degree/s}}
Valuereal?(单位是°/s)=65.5?LSB/°/sADCoutput??
|