打印
[开源硬件]

一个发烧友分享的一款LEADIY-M3C传感器,卡尔曼滤波,直接...

[复制链接]
2294|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
没有伞的孩子|  楼主 | 2015-10-15 10:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 没有伞的孩子 于 2015-10-16 16:17 编辑

(一)性能参数
供电电源:3V ~ 5V
电流:< 9mA                                                                        
量程:角速度:2000度/秒
      加速度:+-8 G
         地磁:+- 2.5Ga
尺寸: 16mm*26mm
姿态角精度:0.01度
自动运行
状态LED灯
数据帧更新频率:400Hz

(二)电平:TTL电平
模块支持波特率:115200(默认)9600230400460800

串口设置:数据位:8
          停止位:1  
          效验位:0

(二)模块效准
安装好模块后,需要对模块进行姿态效准和地磁效准。下面介绍两种效准方法
1)       姿态效准:通过串口发送“姿态效准命令”效准时,LED灯灭,效准完毕后,LED灯会重新点亮,效准后的数据会自动保存
2)       地磁效准:通过串口发送“地磁效准命令”,模块接收到“地磁效准命令”后,LED灯会闪烁(亮灭时间间隔为100ms)约30秒,在此期间请将模块沿X,Y,Z轴方向各转至少360度
模块再上电不需要重新效准模块。当发现由于外力作用使安装后的模块不再处于已经效准的状态时,才需要重新效准。

(三)恢复出厂设置
恢复出厂设置方式:
通过串口发送模块复位命令(恢复模块出厂参数设置):D66D0101
(四)数据帧
  
1
  
0xA7
  
起始字节
  
2
0x7A
起始字节
  
3
  

帧类型,0x70:标识该帧为角速度帧,0x71:标识本帧为加速度帧,0x72:标识该帧为姿态帧,0x73:标识该帧为地磁帧,0x74:标识该帧为温度、气压帧,0x75:标识该帧为高度帧,
  
4
  

帧长度,表示接下来的数据字节数(不含此字节和起始字节、帧类型字节)
5

效验和,接下来的字节相互异或的结果
  
......
  

帧内容
  
  
  
  
  
  
  
  
  
  
  
  
  
角速度帧
  
  
帧字节
  
帧内容
  
说明
  
  
1
  
0xA7
  
起始字节
  
2
0x7A
起始字节
  
3
  
0x70
标识该帧为角速度帧
  
4
  
7
帐长度
5
  
CheckSum
  
CheckSum=GyroX_L^GyroX_H^GyroY_L^GyroY_H^GyroZ_L^GyroZ_H
  
6
  
GyroX_L
X轴角速度低八位
  
7
  
GyroX_H
X轴角速度高八位
  
8
  
GyroY_L
Y轴角速度低八位
  
9
  
GyroY_H
Y轴角速度高八位
  
10
  
GyroZ_L
Z轴角速度低八位
  
11
  
GyroZ_H
Z轴角速度高八位
  
*
  
  
GyroX、GyroY、GyroZ均为int16_t类型
  
  
  
  
GyroX=(int16_t)((GyroX_H<<8)|GyroX_H)
  
  
  
  
GyroY=(int16_t)((GyroY_H<<8)|GyroY_L)
  
  
  
  
GyroZ=(int16_t)((GyroZ_H<<8)|GyroZ_L)
  
  
  
  
  
  
  
  
加速度帧
  
  
帧字节
  
帧内容
  
说明
  
  
1
  
0xA7
  
起始字节
  
2
0x7A
起始字节
  
3
  
0x71
标识该帧为加速度帧
  
4
  
7
帧长度
5
  
CheckSum
  
CheckSum=AccX_L^AccX_H^AccY_L^AccY_H^AccZ_L^AccZ_H
  
6
  
AccX_L
X轴加速度低八位
  
7
  
AccX_H
X轴加速度高八位
  
8
  
AccY_L
Y轴加速度低八位
  
9
  
AccY_H
Y轴加速度高八位
  
10
  
AccZ_L
Z轴加速度低八位
  
11
  
AccZ_H
Z轴加速度高八位
  
*
  
  
AccX、AccY、AccZ均为int16_t类型
  
  
  
  
AccX=(int16_t)((AccX_H<<8)|AccX_L)
  
  
  
  
AccY=(int16_t)((AccY_H<<8)|AccY_L)
  
  
  
  
AccZ=(int16_t)((AccZ_H<<8)|AccZ_L)
  
  
  
  
  
  
  
  
姿态帧(此帧输出角度值)
  
  
帧字节
  
帧内容
  
说明
  
  
1
  
0xA7
  
起始字节
  
2
0x7A
起始字节
  
3
  
0x72
标识该帧为姿态帧
  
4
  
7
帧长度
5
  
CheckSum
  
CheckSum=AngleX_L^AngleX_H^AngleY_L^AngleY_H^AngleZ_L^AngleZ_H
  
6
  
AngleX_L
X轴角度低八位
  
7
  
AngleX_H
X轴角度高八位
  
8
  
AngleY_L
Y轴角度低八位
  
9
  
AngleY_H
Y轴角度高八位
  
10
  
AngleZ_L
Z轴角度低八位
  
11
  
AngleZ_H
Z轴角度高八位
  
*
  
  
AngleX、AngleY、AngleZ均为int16_t类型
  
  
  
  
例:AngleX=(int16_t)((AngleX_H<<8)|AngleX_L);  得到以0.01度为单位的X轴角度值,Y轴和Z轴同理
  
  
  
  
  
  
  
  
  
  
  
  
地磁帧
  
  
帧字节
  
帧内容
  
说明
  
  
1
  
0xA7
  
起始字节
  
2
0x7A
起始字节
  
3
  
0x73
标识该帧为地磁帧
  
4
  
7
帧长度
5
  
CheckSum
  
CheckSum=MagX_L^MagX_H^MagY_L^MagY_H^MagZ_L^MagZ_H
  
6
  
MagX_L
X轴地磁低八位
  
7
  
MagX_H
X轴地磁高八位
  
8
  
MagY_L
Y轴地磁低八位
  
9
  
MagY_H
Y轴地磁高八位
  
10
  
MagZ_L
Z轴地磁低八位
  
11
  
MagZ_H
Z轴地磁低八位
  
*
  
  
MagX、MagY、MagZ均为int_16类型
  
  
  
  
MagX=(int16_t)((MagX_H<<8)|MagX_L)
  
  
  
  
MagY=(int16_t)((MagY_H<<8)|MagY_L)
  
  
  
  
MagZ=(int16_t)((MagZ_H<<8)|MagZ_L)

相关帖子

沙发
没有伞的孩子|  楼主 | 2015-10-15 10:45 | 只看该作者
               
温度、气压帧
帧字节        帧内容        说明
1        0xA7        起始字节
2        0x7A        起始字节
3        0x74        标识该帧为温度、气压帧
4        7        帧长度
5        CheckSum        CheckSum=Temp_L^Temp_H^Pres_L^Pres_H^Height_L^Height_H
6        Temp_L        温度低八位
7        Temp_H        温度高八位
8        Pres_L        气压低八位
9        Pres_LH        气压次低八位
10        Pres_HL        气压次高八位
11        Pres_H        气压高八位
*        温度:以0.1度为单位的温度值,类型为int16
        温度Temp=(int16_t)((Temp_H<<8)|Temp_L)
        气压:以帕为单位的气压值,类型为int32
        气压Pres=(int32_t)((Pres_H<<24) |(Pres_HL<<16)|(Pres_LH<<8)|Pres_L)
               
高度帧
帧字节        帧内容        说明
1        0xA7        起始字节
2        0x7A        起始字节
3        0x75        标识该帧为高度帧
4        7        帧长度
5        CheckSum        CheckSum=Altitude_L^Altitude _LH^Altitude _HL^Pres_H^Altitude _H
6        Altitude _L        海拔高度低八位(Bit0~~BIT7)
7        Altitude _LH        海拔高度次低八位(BIT8~~BIT15)
8        Altitude _HL        海拔高度次高八位(BIT16~~BIT23)
9        Altitude _H        海拔高度高八位(BIT24~~BIT31)
10        0        填充0值,无意义
11        0        填充0值,无意义
*        高度:以厘米为单位的高度值,类型为int32
        Altitude=(int32_t)((Altitude_H<<24)|(Altitude_HL<<16)|(Altitude_LH <<8)|Altitude_L)
               
角速度、加速度、姿态(角度)一体帧
帧字节        帧内容        说明       
1        0xA7        起始字节
2        0x7A        起始字节
3        0x60        标识该帧为角速度、加速度、姿态
4        19        帐长度
5        CheckSum        CheckSum=GyroX_L^GyroX_H^GyroY_L^GyroY_H^GyroZ_L^GyroZ_H^AccX_L^AccX_H^AccY_L^AccY_H^AccZ_L^AccZ_H^AngleX_L^AngleX_H^AngleY_L^AngleY_H^AngleZ_L^AngleZ_H
6        GyroX_L        X轴角速度低八位
7        GyroX_H        X轴角速度高八位
8        GyroY_L        Y轴角速度低八位
9        GyroY_H        Y轴角速度高八位
10        GyroZ_L        Z轴角速度低八位
11        GyroZ_H        Z轴角速度高八位
12        AccX_L        X轴加速度低八位
13        AccX_H        X轴加速度高八位
14        AccY_L        Y轴加速度低八位
15        AccY_H        Y轴加速度高八位
16        AccZ_L        Z轴加速度低八位
17        AccZ_H        Z轴加速度高八位
18        AngleX_L        X轴角度低八位
19        AngleX_H        X轴角度高八位
20        AngleY_L        Y轴角度低八位
21        AngleY_H        Y轴角度高八位
22        AngleZ_L        Z轴角度低八位
23        AngleZ_H        Z轴角度高八位
*        GyroX、GyroY、GyroZ均为int16_t类型
        AccX、AccY、AccZ均为int16_t类型
        AngleX、AngleY、AngleZ均为int_16类型
0x61帧(此帧只输出X轴角速度、Z轴角速度和X轴角度)
帧字节        帧内容        说明
1        0xA7        起始字节
2        0x7A        起始字节
3        0x72        标识该帧为姿态帧
4        7        帧长度
5        CheckSum        CheckSum=AngleX_L^AngleX_H^AngleY_L^AngleY_H^AngleZ_L^AngleZ_H
6        GyroX_L        X轴角速度低八位
7        GyroX_H        X轴角速度高八位
10        GyroZ_L        Z轴角速度低八位
11        GyroZ_H        Z轴角速度高八位
10        AngleX_L        X轴角度低八位
11        AngleX_H        X轴角度高八位
*        AngleX、AngleY、AngleZ均为int16_t类型
        GyroX=(int16_t)((GyroX_H<<8)|GyroX_H)
        GyroZ=(int16_t)((GyroZ_H<<8)|GyroZ_L)
        AngleX=(int16_t)((AngleX_H<<8)|AngleX_L); 得到以0.01度为单位的X轴角度值,Y轴和Z轴同理
       
       



       
(五)控制帧
命令字        发送十六进制数
模块复位命令(恢复模块出厂参数设置)        D66D0101
更改串口波特率命令        波特率设置为115200        D66D050500
        波特率设置为9600        D66D050501
        波特率设置为230400        D66D050502
        波特率设置为460800        D66D050503
上电即有串口数据输出命令        D66D0606
上电不自动输出串口数据命令        D66D0707
开启串口数据输出命令        D66D0808
停止串口数据输出命令        D66D0909
姿态效准命令        D66D1010
地磁效准命令        D66D1111
输出加速度帧命令        D66D1313
停止输出加速度帧命令        D66D1414
输出角速度帧命令        D66D1515
停止输出角速度帧命令        D66D1616
输出地磁帧命令        D66D1717
停止输出地磁帧命令        D66D1818
输出角速度、加速度、姿态一体帧命令        D66D2020
停止输出角速度、加速度、姿态一体帧命令        D66D2121
输出温度气压帧和高度帧命令        D66D2222
停止输出温度气压帧和高度帧命令        D66D2323
输出姿态帧命令        D66D2424
停止输出姿态帧命令        D66D2525
输出0x61帧命令        D66D2626
停止输出0x61帧命令        D66D2727



(六)控制帧描述

模块复位命令(恢复模块出厂参数设置)
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x01        模块复位命令字
4        0x01        模块复位命令字
               
更改串口波特率命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x05        更改串口波特率命令字
4        0x05        更改串口波特率命令字
5        Baud        波特率值标志
*        波特率的出厂配置为115200,设置后需要重启模块后才生效
        Baud=0x00,则波特率为115200
        Baud=0x01,则波特率为9600
        Baud=0x02,则波特率为230400
        Baud=0x03,则波特率为460800
               
上电即有串口数据输出命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x06        上电即有串口数据输出命令字
4        0x06        上电即有串口数据输出命令字
*        出厂配置为上电自动串口输出姿态帧、温度气压帧和高度帧,其余帧不输出,若用户开启其他帧输出命令,则此后输出帧类型为用户配置后的,使用模块复位命令则恢复到出厂配置
               
上电不自动输出串口数据命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x07        上电不自动输出串口数据命令字
4        0x07        上电不自动输出串口数据命令字
*        出厂配置为上电自动串口输出姿态帧、温度气压帧和高度帧,其余帧不输出,若用户开启其他帧输出命令,则此后输出帧类型为用户配置后的,使用模块复位命令则恢复到出厂配置
               
开启串口数据输出命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x08        开启串口数据输出命令字
4        0x08        开启串口数据输出命令字
               
停止串口数据输出命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x09        停止串口数据输出命令字
4        0x09        停止串口数据输出命令字

使用特权

评论回复
板凳
没有伞的孩子|  楼主 | 2015-10-15 10:47 | 只看该作者
               
姿态效准命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x10        姿态效准命令字
4        0x10        姿态效准命令字
*        模块进行姿态效准时LED灯会熄灭,LED灯重新点亮则表明效准完成,进入正常工作模式。模块进行姿态效准前需要将模块静止放置,效准期间请不要移动模块
       
       
               
地磁效准命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x11        地磁效准命令字
4        0x11        地磁效准命令字
*        模块进行地磁效准时,LED灯会闪烁(亮灭时间间隔为100ms)约30秒,在此期间请将模块沿X,Y,Z轴方向各转至少360度
       
               
设置当地磁偏角命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x12        设置当地磁偏角命令字
4        0x12        设置当地磁偏角命令字
5        MagDe_L        当地磁偏角低八位
6        MagDe_H        当地磁偏角高八位
*        磁偏角默认值为0
        当地磁偏角为int16类型,格式为[sign]dddmm。例如:如果当地磁偏角为-9Deg 21min,则设置为MagDe=-921
MagDe_L = (uint8_t)((uint16_t)MagDe & 0xFF)
MagDe_H = (uint8_t)(((uint16_t)MagDe & 0xFF00) >> 8)
        可从以下网站获取当地磁偏角
       

        配置后模块会自动保存当前设置
               
输出加速度帧命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x13        输出加速度帧命令字
4        0x13        输出加速度帧命令字
*        默认不输出加速度帧
        模块接收到此命令后,会持续输出加速度原始数据,直到用户关闭
        当模块配置为输出角速度、加速度、姿态一体帧时,不单独输出加速度帧,即此命令无效
        配置后模块会自动保存当前设置
               
停止输出加速度帧命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x14        不再输出加速度帧命令字
4        0x14        不再输出加速度帧命令字
*        默认不输出加速度帧
        配置后模块会自动保存当前设置
               
输出角速度帧命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x15        输出角速度帧命令字
4        0x15        输出角速度帧命令字
*        默认不输出角速度帧
        模块接收到此命令后,会持续输出角速度原始数据,直到用户关闭
        当模块配置为输出角速度、加速度、姿态一体帧时,不单独输出角速度帧,即此命令无效
        配置后模块会自动保存当前设置
               
停止输出角速度帧命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x16        停止输出角速度帧命令字
4        0x16        停止输出角速度帧命令字
*        默认不输出角速度帧
        配置后模块会自动保存当前设置
               
输出地磁帧命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x17        输出地磁帧命令字
4        0x17        输出地磁帧命令字
*        默认不输出地磁帧
        模块接收到此命令后,会持续输出地磁帧,直到用户关闭
        配置后模块会自动保存当前设置
               
停止输出地磁帧命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x18        停止输出地磁帧命令字
4        0x18        停止输出地磁帧命令字
*        默认不输出地磁帧
        配置后模块会自动保存当前设置
               
输出角速度、加速度、姿态一体帧命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x20        输出角速度、加速度、姿态一体帧命令字
4        0x20        输出角速度、加速度、姿态一体帧命令字
*        默认不输出输出角速度、加速度、姿态一体帧
        配置后,角速度、加速度、姿态放在同一帧输出,不再输出独立帧
        配置后模块会自动保存当前设置
       
停止输出角速度、加速度、姿态一体帧命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x21        停止输出角速度、加速度、姿态一体帧命令字
4        0x21        停止输出角速度、加速度、姿态一体帧命令字
*        默认不输出输出角速度、加速度、姿态一体帧
        配置后模块会自动保存当前设置
               
               
输出温度气压帧和高度帧命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x22        输出温度气压帧和高度帧命令字
4        0x22        输出温度气压帧和高度帧命令字
*        默认输出温度气压帧和高度帧
        配置后模块会自动保存当前设置
       
停止输出温度气压帧和高度帧命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x23        停止输出温度气压帧和高度帧命令字
4        0x23        停止输出温度气压帧和高度帧命令字
*        默认输出温度气压帧和高度帧
        配置后模块会自动保存当前设置
               
输出姿态帧命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x24        输出姿态帧命令字
4        0x24        输出姿态帧命令字
*        默认输出姿态帧
        当模块配置为输出角速度、加速度、姿态一体帧时,不单独输出姿态帧,即此命令无效
        配置后模块会自动保存当前设置
               
停止输出姿态帧命令
帧字节        帧内容        说明
1        0xD6        起始字节
2        0x6D        起始字节
3        0x25        停止输出姿态帧命令字
4        0x25        停止输出姿态帧命令字
*        默认输出姿态帧
        配置后模块会自动保存当前设置

使用特权

评论回复
地板
zuijinhaihaoma| | 2015-10-15 10:57 | 只看该作者

值得支持下shijiazhuang.jimdo.com
shanghaivip.jimdo.com/

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

28

帖子

1

粉丝