JY901S 9轴姿态角度传感器模块

JY901S 9轴姿态角度传感器模块

JY901S 简介

模块集成高精度的陀螺仪、加速度计、地磁场传感器,采用高性能的微处理器和先进的动力学解算与卡尔曼动态滤波算法,能够快速求解出模块当前的实时运动姿态。 采用先进的数字滤波技术,能有效降低测量噪声,提高测量精度。模块内部集成了姿态解算器,配合动态卡尔曼滤波算法,能够在动态环境下准确输出模块的当前姿态,姿态测量精度静态 0.05 度,动态 0.1 度,稳定性极高,性能甚至优

于某些专业的倾角仪! 模块内部自带电压稳定电路,工作电压 3.3v~5v,引脚电平兼容 3.3V/5V 的嵌入式系统,连接方便。支持串口和 IIC 两种数字接口。方便用户选择最佳的连接方式。串口速率

2400bps~921600bps 可调,IIC 接口支持全速 400K 速率。最高 200Hz 数据输出速率。输入内容可以任意选择,输出速率 0.1~200HZ 可调节。保留 4 路扩展端口,可以分别配置为模拟输入,数字输入,数字输出,PWM 输出等功能。具备 GPS 连接能力。可接受符合 NMEA-0183 标准的串口 GPS 数据,形成 GPS-IMU组合导航单元。采用邮票孔镀金工艺,可嵌入用户的 PCB 板中。

4 层 PCB 板工艺,更薄、更小、更可靠。

模块特性

  • 电压:3.3V~5V
  • 电流:<25mA
  • 测量维度:加速度:3 维,角速度:3 维,磁场:3 维,角度:3 维,气压:1 维(JY-901B),GPS:3 维(接 GPS 模块)。
  • 量程:加速度:±2/4/8/16 g(可选),角速度:±250/500/1000/2000 °/s(可选),角度 X、Z 轴±180°,Y 轴±90°。
  • 稳定性:加速度:0.01g,角速度 0.05°/s。
  • 姿态测量稳定度:0.01°。
  • 数据输出内容:时间、加速度、角速度、角度、磁场、端口状态、气压(JY-901B)、高度(JY-901B)、经纬度(需连接 GPS)、地速(需连接 GPS)。
  • 数据输出频率 0.1Hz~200Hz。
  • 数据接口:串口(TTL 电平,波特率支持 2400、4800、9600(默认)、19200、38400、57600、115200、230400、460800、921600),I2C(最大支持高速 IIC 速率 400K)
  • 扩展口功能:模拟输入(0~VCC)、数字输入、数字输出、PWM 输出(周期 1us-65535us,分辨率 1us)。

引脚说明

模块的轴向在上图的右上方,向右为 X 轴,向上 Y 轴,垂直模块向外为Z 轴。旋转的方向按右手法则定义,即右手大拇指指向轴向,四指弯曲的方向即为绕该轴旋转的方向。X 轴角度即为绕 X 轴旋转方向的角度,Y 轴角度即为绕 Y 轴旋转方向的角度,Z 轴角度即为绕 Z 轴旋转方向的角度。

IIC通讯

模块有串口通讯和IIC通讯2种方式,这里主要说下IIC通讯方式。

JY-901 模块可以完全通过 IIC 进行访问,IIC 通信速率最大支持 400khz,从机地址为为7bit,默认地址为 0x50,可以通过串口指令或者 IIC 写地址的方式更改。IIC 总线上面可以挂多个 GY-901 模块,但需提前将模块的 IIC 地址修改为不同的地址。

IIC读写寄存器代码示例

javascript 复制代码
//读取指定设备 指定寄存器的 Lenght个值
u8 IICreadBytes(u8 dev, u8 reg, u8 length, u8 *data){
    u8 count = 0;	
	IIC_Start();
	IIC_Send_Byte(dev<<1);	  
	IIC_Wait_Ack();
	IIC_Send_Byte(reg);  
    IIC_Wait_Ack();	  
	IIC_Start();
	IIC_Send_Byte((dev<<1)+1);  
	IIC_Wait_Ack();
    for(count=0;count<length;count++)
    {		
    	if(count!=length-1)data[count]=IIC_Read_Byte(1);  
		else  data[count]=IIC_Read_Byte(0);	 
	}
    IIC_Stop();
    return count;
}
//将多个字节写入指定设备指定寄存器
u8 IICwriteBytes(u8 dev, u8 reg, u8 length, u8* data)
{   u8 count = 0;
	IIC_Start();
	IIC_Send_Byte(dev<<1);	   
	IIC_Wait_Ack();
	IIC_Send_Byte(reg);   
	IIC_Wait_Ack();	  
	for(count=0;count<length;count++){
		IIC_Send_Byte(data[count]); 
		IIC_Wait_Ack(); 
 }
	IIC_Stop();
    return 1; 	
}
相关推荐
清风6666667 小时前
基于单片机与DAC0832的双路波形信号发生系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
azwsm8 小时前
电路元器件和GPIO控制器
单片机·嵌入式硬件
kebidaixu11 小时前
FreeRTOS 移植到 STM32F407VETX 记录(一)
stm32·单片机·嵌入式硬件
CSDN官方博客12 小时前
「谁说嵌入式只是调包和焊板子?」—— 2026嵌入式全栈技术征锋令
嵌入式硬件·物联网·embedding
点灯小铭12 小时前
基于单片机的数码管定时插座设计与定时开关功能实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
云栖梦泽12 小时前
玩转RK3506SDK
linux·嵌入式硬件
数智工坊14 小时前
机器人四大主控板系统分层选型指南:树莓派、ESP32、STM32与Arduino的能力边界与实战定位
stm32·嵌入式硬件·机器人
进击的小头15 小时前
第8篇:IGBT 从零到精通:核心原理、关键参数、选型指南与工业级应用要点
经验分享·嵌入式硬件·学习
点灯小铭15 小时前
基于单片机的多模式智能洗衣机设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
项目題供诗15 小时前
STM32-AD单通道&AD多通道(十九)
stm32·单片机·嵌入式硬件