惯性测量单元(IMU)3DM-IMU200A是一款高性能、低价位的惯性测量设备,可以用于导航、控制和动态测量。此系列产品采用密封设计,在恶劣的环境下仍能精密地测量运动载体的角速度、加速度。3DM-IMU200A惯性测量单元采用高可靠性和稳定性的MEMS陀螺仪、加速度计,并通过多项补偿保证测量精度。
图1 3DM-IMU200A惯性测量单元外形
一、应用范围:
导航与控制、平台稳定与控制、通用航空与GPS 组合、船舶姿态的动态测量、采矿和自动耕作、火车和集装箱跟踪等,也适合院校、研究单位进行教学和科学研究使用。
二、产品特点:
1、高性价比、体积小;
2、高可靠性和稳定性;
3、抗冲击能力强;
4、高精度A/D转换,保证加速度计分辨率达到0.33 mg,陀螺分辨率达到0.007°/s;
5、全密封可靠设计,保证在恶劣环境下可以正常工作;
6、抗电磁干扰能力强。
三、性能指标
表1 3DM-IMU200A 性能指标
性能指标 |
参 数 |
单位 |
|
输出数据格式 |
XYZ角速率、XYZ加速度 |
||
更新率 |
300 |
Hz |
|
启动时间 |
< 1 |
sec |
|
陀 螺 仪 |
测量范围 |
± 300 |
°/s |
分辨率 |
0.007 |
°/s |
|
带宽 |
350 |
Hz |
|
零偏稳定性 |
0.007 |
°/s |
|
随机游走 |
2.4 |
°/s√Hz |
|
非线性 |
0.1 |
% |
|
非正交度 |
<0.5 |
degree |
|
加 速 度 计 |
测量范围 |
± 17 |
g |
分辨率 |
0.3 |
mg |
|
带宽 |
350 |
Hz |
|
零偏稳定性 |
0.2 |
mg |
|
随机游走 |
0.2 |
°/s√Hz |
|
非线性 |
0.1 |
% |
|
非正交度 |
<0.5 |
degree |
表2 3DM-IMU200A ****额定值
性能指标 |
参 数 |
单位 |
供电电压 |
4.75 ~5.25 |
V |
引脚电压范围 |
-0.3 ~5.25 |
V |
结温 |
+125 |
oC |
表3 3DM-IMU200A电气特性
电气特性 |
**小 |
典型 |
** |
单位 |
供电电压 |
4.75 |
5.0 |
5.25 |
V |
供电电流 |
60 |
100 |
120 |
mA |
功耗 |
<600 |
mW |
表4 3DM-IMU200A物理特性
物理特性 |
参 数 |
单 位 |
||
尺寸 |
72x72x45(长x宽x高) |
mm |
||
重量 |
140 |
gram |
||
规定温度范围 |
+25 |
oC |
||
工作温度范围 |
-40 |
+85 |
oC |
|
存储温度范围 |
-50 |
+85 |
oC |
四、接口引脚定义
表5 3DM-IMU200A 引脚定义
序 号 |
名 称 |
功 能 |
|
|
1 |
+5V |
供 电 |
||
2 |
RX |
RS232-RXD |
||
3 |
TX |
RS232-TXD |
||
4 |
GND |
地 |
||
5 |
Shell |
外壳 |
五、结构尺寸
图2 3DM-IMU200A结构尺寸
六、通讯协议
1、数据输出及格式:
3DM-IMU200A惯性测量单元采用标准串口RS232输出,波特率可以自由设定(共1-9档,包含常见波特率),默认设置115200(模式0),输出格式为:
输出模式0:
头标识(#IMU,)电源电压(Vcc),X轴角速率(Gx),Y轴角速率(Gy),Z轴角速率(Gz),X轴加速度(Ax),Y轴加速度(Ay),Z轴加速度(Az),X轴陀螺温度(Tx),Y轴陀螺温度(Ty),Z轴陀螺温度(Tz)*校验位 (0D 0A)
电源电压单位:伏特;角速率单位:弧度/秒;加速度单位:g; 温度单位:摄氏度,校验位两个字节,是#之后到*之前所有数据的异或结果的两字节表达),实例数据如下:
输出模式1:
表6:输出模式1数据格式
序号 |
字节 |
数 据 结 构 |
含义 |
单位标称值 |
||
1 |
1,2 |
0AAH, 055H |
首字节 |
-- |
||
2 |
3,4 |
高字节(H),低字节(L) |
供电电压(14位) |
2.418mV |
||
3 |
5~10 |
ωx |
ωy |
ωz |
角速率(14位) |
0.05°/s |
H,L |
H,L |
H,L |
||||
4 |
11~16 |
ax |
ay |
az |
加速度(14位) |
3.33mg |
H,L |
H,L |
H,L |
||||
5 |
17~22 |
Tx |
Ty |
Tz |
温度(12位) |
0.1453°C |
H,L |
H,L |
H,L |
||||
6 |
23,24 |
高字节(H),低字节(L) |
AUX_ADC(12位) |
0.8059mV |
||
7 |
25,26 |
保留 |
保留 |
-- |
||
8 |
27 |
字节3~26的按位异或值 |
校验字节 |
-- |
||
9 |
26,27 |
00DH ,00AH |
尾字节 |
-- |
图3 数据格式
其中:ND为数据更新标志位,ND=1表示数据为已更新数据,ND=0为未更新数据;
EA为系统出错标志位,EA=1表示出错,EA=0为正常;
十六进制数据转换成实际数据方式:
int tmp = buffer[高字节8位];//temp为32位带符号整型数据
int data = (tmp << 8) + buffer[低字节8位];//data为32位带符号整型数据
data <<= 18;//左移18位,这样就去除了实际数据的**高两位
data /= 262144;//上一步左移了18位,即放大了2^18 = 262144倍;所以此处要还原,即除262144
然后将计算所得数据乘以上表的“单位标称值”,即为实际数据。
2、命令
1)SBAUD设置波特率命令
格式:SBAUD [波特率](回车)
例:SBAUD 7(回车)为设置串口通讯波特率为115200,其ASCII码形式为:
53 42 41 55 44 20 37 0D 0A
表6 [波特率]值和具体波特率的对应表
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
4800 |
9600 |
19200 |
38400 |
56000 |
57600 |
115200 |
128000 |
256000 |
用该命令设置后,断电后重新上电后设置波特率生效,[波特率]值不在范围内无效。
2)SRATE设置更新率命令
格式:SRATE [更新率](回车)
[更新率]值为010到300,代表10Hz到300Hz,必须由三位0~9的数构成,代表了更新频率值。
例:设定100Hz更新率,命令为:SRATE 100(回车),其ASCII码形式为:
53 52 41 54 45 20 31 30 30 0D 0A
2)SMODE输出模式设置命令
格式:SMODE [模式](回车)
[模式]值为0或1,0代表字符串输出模式;1代表16进制输出模式;
例:设定0输出模式,命令为:SMODE 0(回车),其ASCII码形式为:
53 4D 4F 44 45 20 30 0D 0A
3)SCONT设置连续运行输出命令
格式:SCONT(回车)
输入该命令后将按照设定的更新率连续输出数据,更新率由SRATE命令设置,其ASCII码为:
53 43 4F 4E 54 0D 0A
4)SSTEP设置单步运行输出命令
格式:SSTEP(回车)
输入该命令后将单步输出数据,每次输入该命令只会输出一组数据,其ASCII码形式为:
53 53 54 45 50 0D 0A
5)SSAVE保存当前设置参数命令
格式:SSAVE(回车)
输入该命令后将保存当前所有参数,包括波特率、更新率、工作模式等。该命令作用后,重新上电将采用保存数据启动系统,其ASCII码形式为:
53 53 41 56 45 0D 0A
3、备注说明
1、如果设置参数后不使用保存命令SSAVE,设定后的参数不保存到flash中。如果设定后再输入保存命令,参数将保存在flash中,后续操作将按照**后一次保存设置运行;
2、SBAUD、SRATE、SMODE设置命令和参数[波特率]、[更新率]和[模式]之间用一个空格(020)隔开。