“10 DOF IMU Sensor (C)”的版本间的差异

来自丢石头百科
(文本替换 - 替换“转到:#软件#程序#文档”为“ 转到:#软件#程序#文档”)
第13行: 第13行:
 
<div class="tabbertab" title="说明">
 
<div class="tabbertab" title="说明">
 
==产品特性==
 
==产品特性==
{|border=2; style="width:600px;"           
+
{|border=2; style="max-width:600px;"           
 
|-align="center"     
 
|-align="center"     
 
| style="background:#dff" rowspan=2 |驱动芯片||MPU9255<br />(3轴加速度、<br />3轴陀螺仪<br />3轴罗盘)|| 内置16-BitAD转换器<br />陀螺仪量程:±250、±500、 ±1000、±2000°/秒<br />加速度量程:±2、±4、±8、±16g<br />罗盘量程:±4800uT
 
| style="background:#dff" rowspan=2 |驱动芯片||MPU9255<br />(3轴加速度、<br />3轴陀螺仪<br />3轴罗盘)|| 内置16-BitAD转换器<br />陀螺仪量程:±250、±500、 ±1000、±2000°/秒<br />加速度量程:±2、±4、±8、±16g<br />罗盘量程:±4800uT

2020年1月14日 (二) 14:32的版本

10 DOF IMU Sensor (C)
10 DOF IMU Sensor (C)
{{{name2}}}
{{{name3}}}
基本信息
分类: 加速度/角速度/指南针模块
{{{userDefinedInfo1}}}: {{{userdefinedvalue1}}}
{{{userDefinedInfo2}}}: {{{userdefinedvalue2}}}
{{{userDefinedInfo3}}}: {{{userdefinedvalue3}}}
品牌: Waveshare
功能简介
特性 10轴惯性导航模块
主要器件 MPU9255、BMP280
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 I2C
相关产品

{{{Product1}}}

{{{Product2}}}

{{{Product3}}}

{{{Product4}}}

{{{Product5}}}

{{{Product6}}}

产品特性

驱动芯片 MPU9255
(3轴加速度、
3轴陀螺仪
3轴罗盘)
内置16-BitAD转换器
陀螺仪量程:±250、±500、 ±1000、±2000°/秒
加速度量程:±2、±4、±8、±16g
罗盘量程:±4800uT
BMP280(气压计) 内置温度传感器,可进行温度补偿
量程:300~1100hPa(海拔高度:+9000m~-500m)
精度(700hPa~900hPa,25°C~40°C):±0.12hPa(±1m)
工作电压 3.3V,5V
支持接口 I2C
外形尺寸 31.2mm*17mm
表1. 产品特性

主要用途

  • 四轴飞行器;
  • 运动功能游戏控制器;
  • 室内惯性导航;
  • 平衡机器人;
  • 高度计;
  • 工业测量仪表;

接口说明

引脚号 标识 描述
1 VCC 3.3V或5V电源
2 GND 电源地
3 SDA I2C数据线
4 SCL I2C时钟线
5 INT MPU9255数字中断输出
6 FSYNC MPU9255帧同步信号
表2. 接口说明

操作与现象

下面,以接入微雪电子的STM32开发板为例,演示10 DOF IMU Sensor模块的实验效果。
① 将配套程序下载到相应的开发板中。
② 将串口线和模块接入开发板,把10 DOF IMU Sensor模块插在开发板的I2C-2接口上,并注意模块引脚与I2C-2接口必须对应起来,FSYNC引脚悬空。

10 DOF IMU Sensor (C)- (1).jpg

图 1. 10 DOF IMU Sensor模块接线图

③ 串口配置如表 3. 串口配置 所示:

波特率 115200
数据位 8
停止位 1
奇偶校验
表 3. 串口配置

④ 10 DOF IMU Sensor在上电之后会首先进行磁校准,才能输出正确的数据。具体步骤如下:
A. 10 DOF IMU Sensor 放置于水平位置并静止不动,当串口终端接收到稳定数据后,按下JOYSTICK键,此时LED1闪烁,LED2和LED3熄灭。
B. 10 DOF IMU Sensor放置于水平位置绕Z轴旋转180°,当串口终端接收到稳定数据后,按下JOYSTICK键,此时LED2闪烁,LED1和LED3熄灭。
C. 倒置10 DOF IMU Sensor,即保持10 DOF IMU Sensor背面向上,正面向下,当串口终端接收到稳定数据后,按下JOYSTICK键,此时LED3常亮,指示磁力校准完成,LED1和LED2熄灭。
D. 通过将10 DOF IMU Sensor放置于水平位置绕Z轴旋转180°,记录并对比旋转前后串口终端接收到的磁数据,如果大小相等,方向相反,则磁校准成功,否则失败。
⑤ 校准成功后,分别输出如下数据:

10 DOF IMU Sensor (C)- (2).jpg

图 2. 10 DOF IMU Sensor模块水平状态时输出的数据

串口输出数据含义如下:

Roll, Pitch, Yaw Roll倾角(°), Pitch倾角(°), Yaw倾角(°)
Acceleration 加速度(LSB,可换算为g)
Gyroscope 陀螺仪角速度(LSB,可换算为°/秒)
Magnetic 电子罗盘倾角(°)
Angle 方向角(°),理论上等于Yaw倾角。
Pressure 气压值(hPa)
Altitude 海拔高度(m)
Temperature 温度值(℃)
表 4. 串口输出数据含义

参数校准和计算:

校准海拔高度

用户第一次使用10 DOF IMU Sensor模块时可能会发现模块输出的值Altitude误差较大,因为模块是先通过模块当前位置(已知)的海拔高度Altitude,和气压值(已知)计算出海平面气压值P0作为基准。请参考BST-BMP180-DS000-09.pdf:
|10 DOF IMU Sensor (C)- (3).gif
以P0为基准,就可以计算出模块当前位置的海拔高度Altitude:
10 DOF IMU Sensor (C)- (4).gif
因此,用户需要在示例代码10 DOF IMU Sensor\SRC\HardWare\BMP180\BMP180.h中给定模块当前所在位置高度的值作为一个基准(一般以地面的海拔高度值作为基准,单位mm)。例如:
10 DOF IMU Sensor (C)- (5).gif

计算加速度

程序测量出的加速度单位是LSB(最低有效位),实际使用中常常把单位换算成重力加速度(g)。模块的示例程序默认设置AFS_SEL=0,对应量程为16384 LSB/g(±2g),所以测量的实际加速度为:
𝑎=Acceleration/16384 ,𝑈𝑛𝑖𝑡:𝑔
请参考:
PS-MPU-9255.pdf 第9页
RM-MPU-9255.pdf 第14页

计算陀螺仪角速度

程序测量出的角速度单位是LSB(最低有效位),实际使用中常常把单位换算成角速度(°/秒)。模块的示例程序默认设置FS_SEL=2,对应量程为32.8 LSB/(°/s)(±1000°/秒),所以测量的实际角速度为:
ω=Gyroscope/32.8 ,Unit:°/s
请参考
PS-MPU-9255.pdf 第8页
RM-MPU-9255.pdf 第14页

问题:
该模块加速度和角速度的数据输出频率是多少?
答复:

加速度输出频率:4~4000Hz

角速度输出频率:4~8000Hz



Icon-mail.png 联系 丢石头

我们的工作时间是: 09:00-18:00 (UTC+8 周一到周六)