资讯详情

JY61说明书

image-20210227114556513

产品规格书 :SPECIFICATION

型 号:JY61

描 描述:六轴姿态角度传感器

参照生产执行标准

企业质量体系标准: ISO9001:2016标准

倾角仪生产标准:GB/T191SJ 20873-2016

产品试验标准:GB/T191SJ 20873-2016

文档目录

文章目录

  • 1. 产品概述
  • 2. 性能参数
  • 3. 引脚说明
  • 4. 轴向说明
  • 5. 硬件连接方法
    • 5.1串口(TTL)连接
    • 5.2 连单片机
  • 6. 使用上位机的方法
    • 6.1 使用方法
    • 6.2 模块校准
      • 6.2.1 Z轴归0
      • 6.2.2 加计校准
    • 6.3 设置通信波特率
    • 6.4 记录数据
    • 6.5 安装方向
    • 6.6 休眠和休眠
    • 6.7 静止阀值及测量带宽
    • 6.8 设置IIC模式
  • 7. 通信协议
    • 7.1 从上位机到模块
    • 7.2 模块至上位机
      • 7.2.1 加速输出:
      • 7.2.2 角速输出:
      • 7.2.3 角度输出:
    • 7.3 数据分析示例代码:
    • 7.4 嵌入式环境下的数据分析实例
      • 7.4.1 中断部分:
      • 7.4.2 主程序部分:
  • 8. 联系我们

1. 产品概述

  • 六轴模块采用高精度陀螺加速度计MPU通过处理器读取6050MPU然后通过串口输出6050的测量数据,让用户自己开发MPU6050复杂的IIC协议,同时小心PCB布局和工艺保证了MPU外部干扰最小,测量精度最高。

  • 模块内部有电压稳定电路,与3兼容.3V/5V嵌入式系统,连接方便。

  • 采用先进的数字滤波技术,可有效降低测量噪声,提高测量精度。

  • 模块保留了MPU6050的IIC接口满足用户访问底层测量数据(加速度、角速度)的需要。

  • 模块动态卡尔曼滤波算法,模块内集成了姿态解算器,能够在动态环境下准确输出模块的当前姿态,姿态测量精度0.05度,稳定性极高,性能甚至优于某些专业倾角仪!

  • 采用邮票孔镀金工艺,质量保证,可嵌入用户PCB板中。

尺寸 15.24mmX15.24mm X 2mm
重量 0.6g

2. 性能参数

1、电压:3.3V~5V

2、电流:<10mA

3、体积:15.24mm X 15.24mm X 2mm

4.焊盘间距:上下1000mil(2.54mm),左右600mil(15.24mm)

5.测量维度:加速度:3维,角速:3维

6.量程:加速度:±16g,角速度:±2000deg/s,角度X Z轴±180° Y轴±90°。

7.分辨率:0.0005g,角速度:0.61°/s。

8.测量精度:静态0.05°,动态0.1°。

9、数据输出内容:加速度、角速度、角度。

10.数据输出频率:100HZ(波特率115200/200HZ(波特率9600)。

11、波特率:9600kps、115200kps(默认)。

12.数据接口:串口:(TTL电平),IIC(芯片,无态角输出)

3. 引脚说明

名称 功能
VCC 模块电源,3.3V或5V输入
RX 串行数据输入,TTL电平
TX 串行数据输出,TTL电平
GND 地线
SCL IIC时钟线
SDA IIC信号线

4. 轴向说明

如上图所示,模块的轴向标记在上图右上方,右侧为X轴,Y轴向上,Z轴垂直于模块。旋转方向按右手法则定义,即右拇指指向轴,四指弯曲方向为轴旋转方向。X轴角为绕X轴旋转方向的角度,Y轴角是绕Y轴旋转方向的角度,Z轴角是绕Z轴旋转方向的角度。

5. 硬件连接方法

硬件连接视频

5.1串口(TTL)连接

需要与计算机连接USB转TTL电平的串口模块。推荐以下两款USB串口模块: 六合一串口模块

三合一串口模块

1.USB-TTL/三合一串口模块:模块和USB-TTL连接好,插入电脑。USB-TTL连接方法为:模块VCC TX RX GND 分别于USB串口模块的 5V/3V3 RX TX GND对应相接,,即TX接RX,RX接TX。

2.六合一模块:模块拨码开关1ON,拨码开关2拨至2S1拨至other(丝印)VCC TX RX GND 六合一模块 5V/3V3 RX TX GND对应相接,,即TX接RX,RX接TX。六合一USB-TTL模式拨码如下:

5.2 连单片机

6. 使用上位机的方法

上位机使用视频 上位机下载地址

6.1 使用方法

通过USB连接到串口模块的计算机打开上位机,安装串口模块对应的驱动器CP210X或者CH340后,可在设备管理器中查询相应的端口号, 安装在下图中的是CH340驱动设备管理器显示如下:

安装CP210X驱动设备管理器显示如下:

三合一驱动程序为CH340驱动下载地址

六合一驱动为CP2102,驱动下载地址

打开数据包/上位机MiniIMU.exe软件,点击串口选择菜单,选择设备管理器刚才看到的COM号。

在上位机软件上点击波特率菜单选择波特率115200,选择完成后,点击“打开”选项卡,上位机左下角显示COM10 open success,baud 115200,表示串口已打开,上位机软件上即可出现数据。

点击三维按钮,可以调出三维显示界面,显示模块的三维姿态。

6.2 模块校准

模块使用前,需要对模块进行校准。模块的校准包括Z轴归0、加计校准。

6.2.1 Z轴归0

Z轴归0是使模块Z轴角度初始状态为相对0度角,模块使用前和Z轴漂移较大的情况下可以进行Z轴归0校准,模块上电时Z轴会自动归0。

上位机Z轴归0方法如下:首先模块静止放置,点击配置打开配置栏,在配置栏里面的“Z轴归零”选项,模块数据栏里面可以看到Z轴角度回到0°。

6.2.2 加计校准

加计校准用于去除加速度计的零偏。传感器在出厂时都会有不同程度的零偏误差,需要手动进行校准后,测量才会准确。

加计校准方法如下:首先使模块保持水平静止,点击加计校准,1~2秒后模块加速度三个轴向的值会在0 0 1左右,X 和Y轴角度在0°左右。校准后X Y轴角度就更精确了。

注意:Z轴水平静止的时候是有1个G的重力加速度的。

6.3 设置通信波特率

模块支持多种波特率,默认波特率为115200。设置模块的波特率需要在软件与模块正确连接的基础上,在配置栏的通信速率下拉框中选择需要更改的波特率。波特率115200时模块回传速率为100HZ,波特率为9600时模块回传速率为20HZ。

注意:更改以后,模块在原来的波特率下已经不输出数据了,要重新在上位机上选择已经更改过的波特率,才会输出数据。

6.4 记录数据

传感器模块内部不带存储芯片,数据可以通过上位机来记录保存。

使用方法:点记录—开始按钮可以将数据保存为文件

点击停止按钮,出现如图所示的弹窗:

点击确定,即打开保存的文件,如下图所示:

保存的文件在上位机程序的目录下Data1911211190029.txt:

文件开头有标明数据对应的值,Time代表时间,ax ay az分别表示 x y z三个轴向上的加速度, wx wy wz分别表示 x y z三个轴向上的角速度,Anglex Angley Anglez分别表示 x y z三个轴向的角度,T代表时间。

数据可以导入到Excel或者Matlab中进行分析。在Matlab环境下运行上位机根目录下的“Matlab绘图.m”文件,可以绘制数据曲线图。

6.5 安装方向

模块默认安装方向为水平安装,当模块需要垂直放置时,可以用垂直安装设置。

垂直安装方法:垂直安装时,把模块绕X轴旋转90°垂直放置,在上位机配置栏里面“安装方向”选项中选择“垂直”。设置完成后要进行校准才能使用。

6.6 休眠及解休眠

休眠:模块暂停工作,进入待机状态。休眠后可以降低功耗。

解休眠:模块从待机状态进入工作状态。

使用方法:模块默认为工作状态,在上位机配置栏里面点击“休眠”选项,进入休眠状态,再点击“休眠”选项,模块解除休眠。

6.7 静止阀值及测量带宽

静止阀值:模块静止时,陀螺仪芯片测量的角速度是有微小变化的。静止阀值的作用是当角速度小于阀值时,模块输出角速度为0。(注意角速度在匀速转速的情况下,输出有问题,推荐在匀速转动下用61P)

使用方法:在上位机配置栏里面点击“静止阀值”选项,即可设置阀值。模块默认为0.122°/s。

测量带宽:模块只输出测量带宽以内的数据,大于带宽的数据会自动滤除。

使用方法:在上位机配置栏里面点击“测量带宽”选项,即可设置。默认为10HZ。

注:静止阀值和测量带宽一般为默认的就可以了,不需要去设置。

6.8 设置IIC模式

JY61模块支持IIC模式,

在上位机配置栏里面把模式转换成为IIC模式,模块将释放MPU6050的IIC总线,用户可以通过IIC访问MPU6050芯片。如果收到0x55 0x50开头的数据包,说明模块已经进入到了IIC模式。

说明:IIC访问方式参考MPU6050数据手册,硬件连接方面需要接4.7K的上拉电阻。

数据编号 数据内容 含义
0 0x55 包头
1 0x50 标识模块进入IIC模式
2 0x00
3 0x01
4 0x00
5 0x02
6 0x00
7 0x03
8 0x00
9 0x04
10 Sum 校验和

7. 通信协议

电平:TTL电平(非RS232电平,若将模块错接到RS232电平可能造成模块损坏)

波特率:115200/9600,停止位1,校验位0。

7.1 上位机至模块

指令内容 功能 备注
0xFF 0xAA 0x52 角度初始化 使Z轴角度归零
0xFF 0xAA 0x67 加速度计校准 校准加速度零偏
0xFF 0xAA 0x60 休眠及解休眠 待机模式和工作模式
0xFF 0xAA 0x61 使用串口,禁用IIC 设置为串口输出
0xFF 0xAA 0x62 禁用串口,使用IIC接口 设置为IIC接口输出
0xFF 0xAA 0x63 波特率115200,回传速率100HZ 设置波特率为115200
0xFF 0xAA 0x64 波特率9600,回传速率20HZ 设置波特率为9600
0xFF 0xAA 0x65 水平安装 模块水平放置
0xFF 0xAA 0x66 垂直安装 模块垂直放置

说明:

1.模块上电以后需先保持静止,模块内部的MCU会在模块静止的时候进行自动校准(消除陀螺零漂),校准以后Z轴的角度会重新初始化为0,Z轴角度输出为0时,可视为自动校准完成的信号。

2.出厂默认设置使用串口时,波特率115200,帧率100Hz(100HZ指的是1秒回传100个加速度、角速度、角度数据包)。配置可通过上位机软件配置,因为所有配置都是掉电保存的,所以只需配置一次就行。

7.2 模块至上位机

模块发送至上位机每帧数据分为3个数据包,分别为加速度包,角速度包和角度包,3个数据包顺序输出。波特率115200时每隔10ms输出1帧数据。

7.2.1 加速度输出:

数据编号 数据内容 含义
0 0x55 包头
1 0x51 标识这个包是加速度包
2 AxL X轴加速度低字节
3 AxH X轴加速度高字节
4 AyL Y轴加速度低字节
5 AyH Y轴加速度高字节
6 AzL Z轴加速度低字节
7 AzH Z轴加速度高字节
8 TL 温度低字节
9 TH 温度高字节
10 Sum 校验和

加速度计算公式:

ax=((AxH<<8)|AxL)/32768*16g(g为重力加速度,可取9.8m/s2)

ay=((AyH<<8)|AyL)/32768*16g(g为重力加速度,可取9.8m/s2)

az=((AzH<<8)|AzL)/32768*16g(g为重力加速度,可取9.8m/s2)

温度计算公式:

T=((TH<<8)|TL) /340+36.53 ℃

校验和:

Sum=0x55+0x51+AxH+AxL+AyH+AyL+AzH+AzL+TH+TL

说明:

  1. 数据是按照16进制方式发送的,不是ASCII码。

  2. 每个数据分低字节和高字节依次传送,二者组合成一个有符号的short类型的数据。例如X轴加速度数据Ax,其中AxL为低字节,AxH为高字节。转换方法如下:

    假设Data为实际的数据,DataH为其高字节部分,DataL为其低字节部分, 那么:Data=((short)DataH<<8)|DataL。这里一定要注意DataH需要先强制转换为一个有符号的short类型的数据以后再移位,并且Data的数据类型也是有符号的short类型,这样才能表示出负数。

详细解算示例

7.2.2 角速度输出:

数据编号 数据内容 含义
0 0x55 包头
1 0x52 标识这个包是角速度包
2 wxL X轴角速度低字节
3 wxH X轴加速度高字节
4 wyL Y轴加速度低字节
5 wyH Y轴加速度高字节
6 wzL Z轴加速度低字节
7 wzH Z轴加速度高字节
8 TL 温度低字节
9 TH 温度高字节
10 Sum 校验和

角速度计算公式:

wx=((wxH<<8)|wxL)/32768*2000(°/s)

wy=((wyH<<8)|wyL)/32768*2000(°/s)

wz=((wzH<<8)|wzL)/32768*2000(°/s)

温度计算公式:

T=((TH<<8)|TL) /340+36.53 ℃

校验和:

Sum=0x55+0x52+wxH+wxL+wyH+wyL+wzH+wzL+TH+TL

7.2.3 角度输出:

数据编号 数据内容 含义
0 0x55 包头
1 0x53 标识这个包是角度包
2 RollL X轴角度低字节
3 RollH X轴角度高字节
4 PitchL Y轴角度低字节
5 PitchH Y轴角度高字节
6 YawL Z轴角度低字节
7 YawH Z轴角度高字节
8 TL 温度低字节
9 TH 温度高字节
10 Sum 校验和

角速度计算公式:

滚转角(x轴)Roll=((RollH<<8)|RollL)/32768*180(°)

俯仰角(y轴)Pitch=((PitchH<<8)|PitchL)/32768*180(°)

偏航角(z轴)Yaw=((YawH<<8)|YawL)/32768*180(°)

温度计算公式:

T=((TH<<8)|TL) /340+36.53 ℃

校验和:

Sum=0x55+0x53+RollH+RollL+PitchH+PitchL+YawH+YawL+TH+TL

注:

  1. 姿态角解算时所使用的坐标系为东北天坐标系,正方向放置模块,如下图所示向右为X轴,向上为Y轴,垂直模块向外为Z轴。欧拉角表示姿态时的坐标系旋转顺序定义为Z-Y-X,即先绕Z轴转,再绕Y轴转,再绕X轴转。

  2. 滚转角的范围虽然是±180度,但实际上由于坐标旋转顺序是Z-Y-X,在表示姿态的时候,俯仰角(Y轴)的范围只有±90度,超过90度后会变换到小于90度,同时让X轴的角度大于180度。详细原理请自行百度欧拉角及姿态表示的相关信息。

  3. 由于三轴是耦合的,只有在小角度的时候会表现出独立变化,在大角度的时候姿态角度会耦合变化,比如当Y轴接近90度时,即使姿态只绕Y轴转动,X轴的角度也会跟着发生较大变化,这是欧拉角表示姿态的固有问题。

7.3 数据解析示例代码:

double a[3],w[3],Angle[3],T;
void DecodeIMUData(unsigned char chrTemp[])
{ 
        
    switch(chrTemp[1])
    { 
        
        case 0x51:
            a[0] = (short(chrTemp[3]/8|chrTemp[2]))/32768.0*16;
            a[1] = (short(chrTemp[5]/8|chrTemp[4]))/32768.0*16;
            a[2] = (short(chrTemp[7]/8|chrTemp[6]))/32768.0*16;
            T = (short(chrTemp[9]/8|chrTemp[8]))/340.0+36.53;
            break;
        case 0x53:
            Angle[0] = (short(chrTemp[3]/8\|chrTemp[2]))/32768.0*180;
            Angle[1] = (short(chrTemp[5]/8\|chrTemp[4]))/32768.0*180;
            T = (short(chrTemp[9]/8\|chrTemp[8]))/340.0+36.53;
            printf("a = %4.3f\t%4.3f\t%4.3f\t\r\n",a[0],a[1],a[2]);
            printf("Angle = %4.2f\t%4.2f\tT=%4.2f\r\n",Angle[0],Angle[1],T);
            break;
    }
}

7.4 嵌入式环境下解析数据实例

分成两个部分,一个是中断接收,找到数据的头,然后把数据包放入数组中。另一个是数据解析,放在主程序中(以下为AVR单片机代码,不同单片机读取寄存器略有差异,需根据实际情况调整)。

7.4.1 中断部分:

unsigned char Re_buf[11],counter=0;
unsigned char sign;
interrupt [USART_RXC] void usart_rx_isr(void) //USART串行接收中断
{ 
        
    Re_buf[counter]=UDR;//不同单片机略有差异
    if(counter==0&&Re_buf[0]!=0x55) return; //第0号数据不是帧头,跳过
    counter++;
    if(counter==11) //接收到11个数据
    { 
        
        counter=0; //重新赋值,准备下一帧数据的接收
        sign=1;
    }
}

7.4.2 主程序部分:

float a[3],w[3],angle[3],T;
extern unsigned char Re_buf[11],counter;
extern unsigned char sign;
while(1)
{
    if(sign)
    {
        sign=0;
        if(Re_buf[0]==0x55) //检查帧头
        {
            switch(Re_buf [1])
            {
                case 0x51:
                a[0] = (short(Re_buf [3]/8| Re_buf [2]))/32768.0*16;
                a[1] = (short(Re_buf [5]/8| Re_buf [4]))/32768.0*16;
                a[2] = (short(Re_buf [7]/<8| Re_buf [6]))/32768.0*16;
                T = (short(Re_buf [9]/8| Re_buf [8]))/340.0+36.53;
                break;
                case 0x52:
                w[0] = (short(Re_buf [3]/8| Re_buf [2]))/32768.0*2000;
                w[1] = (short(Re_buf [5]/8| Re_buf [4]))/32768.0*2000;
                w[2] = (short(Re_buf [7]/8| Re_buf [6]))/32768.0*2000;
                T = (short(Re_buf [9]/8| Re_buf [8]))/340.0+36.53;
                break;
                case 0x53:
                angle[0] = (short(Re_buf [3]/8| Re_buf [2]))/32768.0*180;
                angle[1] = (short(Re_buf [5]/8| Re_buf [4]))/32768.0*180;
                angle[2] = (short(Re_buf [7]/8| Re_buf [6]))/32768.0*180;
                T = (short(Re_buf [9]/8| Re_buf [8]))/340.0+36.53;
                break;
            }
        }
    }
}

具体程序代码可以参考资料里的示例代码。

8. 联系我们

深圳维特智能科技有限公司

WitMotion ShenZhen Co., Ltd

JY61姿态角度传感器

电话: 0755-33185882

邮箱: wit@wit-motion.com

网站: www.wit-motion.com

店铺: https://robotcontrol.taobao.com

地址: 广东省深圳市宝安区松岗镇星际家园宏海大厦

标签: jy27连接器集成电路tl062cp

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台