匿名四轴上位机使用方法

1. 版本样式

版本 V2.6 这个版本不是最新的,较新的版本目前 V4.22 界面有明显的变化,但是对于运动处理器的数据和姿态验证来说这个 V2.6 版本是足够使用的,这个版本的界面如下图所示,这里有一个四轴无人机的三维模型以及一些数据仪表盘用于陀螺仪姿态等数据的可视化,使用非常直观。
匿名四轴上位机.jpg

2. 基本功能选项卡

20211016223851.jpg

基本功能和其他的串口工具一样,用于普通串口数据的发送和接收,这个面板可以选择串口所在的端口,并设置串口的波特率。所以在使用上位机之前都需要切到这个面板来选择串口和设置串口的波特率。

3. 高级收码选项卡

20211016223901.jpg

1.帧格式设置 1-10 对应 0XA1-0XAA 我们只需要按定义帧设置即可,我这里使用 0XA2,选择 2,并打开开关。
2.因为我需要查看的有三个数据,pitchrollyaw,并为 float 类型,所以如此设置。
3.最后打开高级收码功能,如果你需要实时查看上传的数据可以打开收码显示。

4. 波形显示选项卡

20211017120516.jpg

波形显示功能需要在高级收码的功能上做修改。
20211017115512.jpg
1.数据设置下方格子的1-20 序号对应的是波形序号,也就是说最多能指定显示 20 个波形,我们这里有 pitch,roll,yaw 三个波形,所以只设置1,2,3。
2.设置第一个波形 1,它来源于数据帧 1 的第 1 位。
3.设置第一个波形 2,它来源于数据帧 1 的第 2 位。
4.设置第一个波形 3,它来源于数据帧 1 的第 3 位。
5.开启数据校验,开启数据显示可以看到右侧显示框将当前波形的数据同步显示出来了。
6.开启波形显示。
7.在波形显示页面勾上前三个即可,如下图:
20211017120316.jpg
注意:如果经过上述设置后还是没有同时显示出三个波形,点击波形框下方的全显按钮,即可同时看到三个波形,如下图:
20211017120244.jpg

5. 飞控状态项卡

匿名四轴上位机.jpg

6. 串口发送波形和飞控状态数据

void send_format_data(unsigned char f_code, unsigned char * data, unsigned char length)
{
    unsigned char buf[32];

    if (length > 28)
        return;

    buf[length + 3] = 0;

    buf[0] = 0x88;
    buf[1] = 0xaa;

    buf[1] = f_code;
    buf[2] = length;

    for (unsigned char i = 0; i < length; i++)
        buf[i + 3] = data[i];

    for (unsigned char i = 0; i < length + 3; i++)
        buf[length + 3] = buf[length + 3] + buf[i];

    for (unsigned char i = 0; i < length + 4; i++)
        usart_send_byte(CURRENT_USART, buf[i]);
}

发送波形显示数据
void send_mpu6050_data(short aacx, short aacy, short aacz, short gyrox, short gyroy, short gyroz)
{
    unsigned char buf[12];

    buf[0] = (aacx >> 8) & 0xff;
    buf[1] = aacx & 0xff;
    buf[2] = (aacy >> 8) & 0xff;
    buf[3] = aacy & 0xff;
    buf[4] = (aacz >> 8) & 0xff;
    buf[5] = aacz & 0xff; 
    buf[6] = (gyrox >> 8) & 0xff;
    buf[7] = gyrox & 0xff;
    buf[8] = (gyroy >> 8) & 0xff;
    buf[9] = gyroy & 0xff;
    buf[10]= (gyroz >> 8) & 0xff;
    buf[11]= gyroz & 0xff;

    send_format_data(0xa1, buf, 12);
}

发送 dmp 运算后的欧拉角数据,即飞控状态数据
void send_dmp_data(short aacx, short aacy, short aacz, short gyrox, short gyroy, short gyroz, short roll, short pitch, short yaw)
{
    unsigned char buf[28]; 

    memset(buf, 0, 28);

    buf[0]  = (aacx >> 8) & 0xff;
    buf[1]  = aacx & 0xff;

    buf[2]  = (aacy >> 8) & 0xff;
    buf[3]  = aacy & 0xff;

    buf[4]  = (aacz >> 8) & 0xff;
    buf[5]  = aacz & 0xff;

    buf[6]  = (gyrox >> 8) & 0xff;
    buf[7]  = gyrox & 0xff;

    buf[8]  = (gyroy >> 8) & 0xff;
    buf[9]  = gyroy & 0xff;

    buf[10] = (gyroz >> 8) & 0xff;
    buf[11] = gyroz & 0xff;

    buf[18] = (roll >> 8) & 0xff;
    buf[19] = roll & 0xff;

    buf[20] = (pitch >> 8) & 0xff;
    buf[21] = pitch & 0xff;

    buf[22] = (yaw >> 8) & 0xff;
    buf[23] = yaw & 0xff;

    send_format_data(0xaf, buf, 28);
}

7. 官方帮助文档

欢迎使用<匿名四轴>-串口上位机,有问题请联系QQ:940079007。

    一:基本收发
1:收码和发码格式均可设为HEX或者CHR。
2:定时发送功能可以精确到毫秒,但是不能太快(发送为独占式,数据不发送完函数不会返回),如果上一帧
      数据还没发送完毕就发送下一帧数据会出错。
3:请使用ft232串口芯片或支持高波特率的芯片,否则波特率无法设置过高。

    二:高级收码
1:收码显示为HEX格式。
2:下位机发送自定义数据,格式为:0x88+FUN+LEN+DATA+SUM
      FUN可以是 0xA1到0xAA,共10个;LEN为DATA的长度(不包括0x88、FUN、LEN、SUM)。
      SUM是0x88一直到DATA最后一字节的和,uint8格式。
    (记得打开需要使用帧的开关,更改设置后点击保存设置使设置生效)
3:数据可以是uint8、int16、uint16、int32、float这几个常用格式,多字节数据高位在前。
4:共有20个数据存储器,每个存储器的数据可以分别设置为来自10个自定义帧的30个数据。
5:高速通讯时(2ms一帧数据或者更快),请关闭高级收码页面的数据显示按钮和基本收码,否则更新过快有可
      能会造成程序卡死。
6:飞控显示对应的帧FUN为0xAF,(帧格式:0x88+0xAF+0x1C+ACC DATA+GYRO DATA+MAG DATA+ANGLE DATA
      + 0x00 0x00 + 0x00 0x00+SUM,共32字节,ACC/GYRO/MAG/ANGLE(roll/pitch/yaw)数据为int16格式,其
      中ANGLE的roll和pitch数据为实际值乘以100以后得到的整数值,yaw为乘以10以后得到的整数值,
      上位机在显示时再 除以100和10)。
7:遥控,电机pwm,电压显示对应的帧FUN为0xAE,(帧格式:0x88+0xAE+0x12+THROT YAW ROLL PITCH 
      +AUX1 2 3 4 5 + PWM:1 2 3 4 + VOTAGE + SUM,共28字节),数据为uint16格式,遥控数据最小在1000左右,
      最大在2000左右。数据都为uint16格式,其中pwm范围1-100,votage为实际值*100。
      小技巧:如果高速通讯时是为了画波形,就只开波形显示,并只保留需要观察的波形,如果是为了观察数
      据,就关闭波形显示,只保留收码显示,这样可以加快程序响应速度。
7:最快通讯速度测试过下位机用500K波特率,每1ms发送32字节的数据,上位机显示其中6条波形,OK!
    (有可能和电脑配置有关)

    三:波形显示
1:共有20条波形,对应20个数据存储器。
2:双击波形绘制区域,可以打开波形显示开关。
3:按住Ctrl用鼠标左键点击某一条波形,可以显示数据标签,再次点击隐藏。
4:按住鼠标左键,在绘图区域从一点向右下方拖动,然后松开,可以放大显示框住的波形区域,可以多次放
      大;
5:按住鼠标左键,在绘图区域从一点向左上方拖动,然后松开,可以将放大后的波形还原。
6:按住鼠标右键,在绘图区域上下左右拖动,可以移动波形。
7:显示波形时按F9键,可以打开波形高级设置。

    四:DEBUG功能
1:在调试过程中可以将某些标志位、寄存器、变量实时发回上位机,并在DEBUG页面显示。
2:通讯格式为:0x88 + 0xAD + len + num + DATA + SUM,  len为num与DATA的总长度,num表示要改变哪个显示
      状态,例如num=0x01即是要改变第一个LED,num=0x07即是改变第一个数字输出显示。当要改变LED时,
      DATA只需一字节,DATA=0x00表示关闭LED,大于0x00表示点亮LED;当要改变数字输出时,DATA需要两字
节,
      表示 一个uint16数字,高字节在前。SUM为从0x88开始到SUM前一字节的和校验,uint8格式。
      例如:发送 0x88 + 0xAD + 0x02 + 0x01 + 0x01 + 0x39    表示点亮第一个LED
                  发送 0x88 + 0xAD + 0x03 + 0x07 + 0x00 + 0x05 + 0x44   表示在第一个数字输出位置显示 5 。

    五:键鼠控制
1:控制数据发送格式为:0x8A + 0x8A + 0X1C + THROT YAW ROLL PITCH AUX1 AUX2 AUX3 AUX4 AUX5 + 0x00 0x00 
      0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 + SUM,遥控数据都为int16格式,中值1500,最小最大值为1000、
      2000。
2:发送频率 50Hz。
3:鼠标上下控制油门,左右控制YAW,键盘的WASD控制ROLL/PITCH,键盘12345控制AUX12345。共9通道。

    六:飞控参数
1:点击3D模型显示右下方的校正按钮,上位机会发送0X8A 0X8B 0X1C 0XAA 0XA3 +无用数据+SUM给下位机,
      其中0X8B表示飞控参数,0XAA表示零偏,0XA3表示ACC GYRO都要校正。
2:点击飞控参数界面传感器矫正功能里面的校正按钮,分别表示ACC 和GYRO的校正,不会同时校正两个传感
器,
      上位机校正ACC发送格式为:0X8A 0X8B 0X1C 0XAA 0XA1+无用数据+SUM
      上位机校正GYRO发送格式为:0X8A 0X8B 0X1C 0XAA 0XA2+无用数据+SUM(送有数据整个长度都为32字节)
3:上位机发送微调后的offset数据(仅为ACC的 X 和 Y ),格式为0X8A 0X8B 0X1C 0XAB + offset.x + offset.y
      +无用数据 +SUM,数据为int16格式。
4:上位机发送读offset的命令格式为:0X8A 0X8B 0X1C 0XAC + 无用数据 + SUM
5:上位机发送读PID数据的命令为:0X8A 0X8B 0X1C 0XAD + 无用数据 + SUM
6:下位机发送offset数据给上位机的格式为:0X88 0XAC 0X1C 0XAC + 传感器零偏数据ACC XYZ GYRO XYZ
      +无用数据+SUM,共六个int16型数据。
7:下位机发送PID数据给上位机的格式为:0X88 0XAC 0X1C 0XAD + PID数据 + 无用数据 + SUM
      PID数据为rol_p,rol_i,rol_d,pit_p..i..d,yaw_p,,i,,d,共9个uint16型数据。
8:上位机发送PID数据给下位机的格式为:0X8A 0X8B 0X1C 0XAE +PID数据+ 无用数据 + SUM
      PID数据格式和下位机发送给上位机的格式一样。
9:点击飞控解锁按钮,上位机会发送0X8A 0X8B 0X1C 0XA1+无用数据+SUM给下位机,如果下位机已经解锁,
      点击此按钮会发送0X8A 0X8B 0X1C 0XA0+无用数据+SUM给下位机,锁定飞控。
  • 15
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值