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; 	
}
相关推荐
西瓜籽@18 分钟前
STM32——毕设基于单片机的多功能节能窗控制系统
stm32·单片机·课程设计
远翔调光芯片^138287988722 小时前
远翔升压恒流芯片FP7209X与FP7209M什么区别?做以下应用市场摄影补光灯、便携灯、智能家居(调光)市场、太阳能、车灯、洗墙灯、舞台灯必看!
科技·单片机·智能家居·能源
极客小张3 小时前
基于STM32的智能充电桩:集成RTOS、MQTT与SQLite的先进管理系统设计思路
stm32·单片机·嵌入式硬件·mqtt·sqlite·毕业设计·智能充电桩
m0_739312876 小时前
【STM32】项目实战——OV7725/OV2604摄像头颜色识别检测(开源)
stm32·单片机·嵌入式硬件
嵌入式小章6 小时前
基于STM32的实时时钟(RTC)教学
stm32·嵌入式硬件·实时音视频
TeYiToKu7 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
基极向上的三极管8 小时前
【AD】3-4 在原理图中放置元件
嵌入式硬件
徐嵌8 小时前
STM32项目---水质水位检测
stm32·单片机·嵌入式硬件
徐嵌8 小时前
STM32项目---畜牧定位器
c语言·stm32·单片机·物联网·iot
lantiandianzi8 小时前
基于单片机的老人生活安全监测系统
单片机·嵌入式硬件·生活