【惯性导航姿态仪】 01 -Mini INS/GPS 资料设计文档
简介
嗯,就是这个东西:

应用框架:

硬件连接:

MPU-6050
可以看出MPU6050 是跟STM32 通过I2C BUS 进行通信的 ( BUS 就是协议的意思)

磁力计 HMC5983L
磁力计就相当于一个电子罗盘的意思(能指出东西南北)
具体磁力计我还不太懂 ,但是可以确定是容易受到铁棒影响,而且这玩意挺重要的
从文档看出还是用IIC来传输 而且它是通过一个MPU6050 传输到STM32F

压力传感器 BMP180
压力传感器是用来读取气压的,直接与STM32相连

Ublox GPS
GPS 是通过串口来读取的
Mini INS/GPS 接口定义
接口定义

物理特性

硬件相连

数据通信协议

/**************************实现函数********************************************
*函数原型:
void UART1_ReportMotion
(int16_t ax,int16_t ay,int16_t az,int16_t gx,
int16_t gy,int16_t gz, int16_t hx,int16_t hy,int16_t hz)
*功 能: 向上位机发送当前传感器的输出值
输入参数: int16_t ax
加速度 X轴ADC输出
范围 :一个有符号整型
int16_t ay 加速度 Y轴ADC输出 范围 :一个有符号整型
int16_t az 加速度 Z轴ADC输出 范围 :一个有符号整型
int16_t gx 陀螺仪 X轴ADC输出 范围 :一个有符号整型
int16_t gy 陀螺仪 Y轴ADC输出 范围 :一个有符号整型
int16_t gz 陀螺仪 Z轴ADC输出 范围 :一个有符号整型
int16_t hx 磁罗盘 X轴ADC输出 范围 :一个有符号整型
int16_t hy 磁罗盘 Y轴ADC输出 范围 :一个有符号整型
int16_t hz 磁罗盘 Z轴ADC输出 范围 :一个有符号整型 输出参数:没有 *******************************************************************************/
void UART1_ReportMotion(int16_t ax,int16_t ay,int16_t az,
int16_t gx,int16_t gy,int16_t gz, int16_t hx,int16_t hy,int16_t hz)
{
unsigned int temp=0xaF+9;
char ctemp; UART1_Put_Char(0xa5);
UART1_Put_Char(0x5a); UART1_Put_Char(14+8);
UART1_Put_Char(0xA2); if(ax<0)ax=32768-ax;
ctemp=ax>>8; UART1_Put_Char(ctemp
嵌入式系统中的传感器数据融合与GPS通信

该文档介绍了MiniINS/GPS系统的设计,包括MPU6050、HMC5983L磁力计、BMP180压力传感器和Ublox GPS的硬件连接及数据通信协议。通过STM32微控制器,传感器数据经I2C和串口协议传输,并实现加速度、陀螺仪、磁力计和气压数据的上位机报告功能,同时提供了解算后的姿态数据输出。

最低0.47元/天 解锁文章
1638

被折叠的 条评论
为什么被折叠?



