超好用的软件示波器,PID调参、智能车、平衡车开发很方便

文章目录

  • yPlot介绍
        • 特点:
  • 使用帮助
    • 1 软件页面说明
      • 鼠标操作
    • 2 如何连接下位机(开发板)
    • 3 通信协议说明
      • 3.1 下位机(开发板)向软件发送波形的协议
      • 3.2 上位机向下位机发送指令的协议
      • 4 STM32示例程序
      • 4.1 波形发送
      • 4.2 接收代码
      • 4.3 波形生成函数
    • 4 如何二次开发

yPlot介绍

这款软件可以将串口接受到的数据以波形的方式显示,方便查看数据和调试参数。在电赛等一些场合用来调试PID参数非常方便。
在刚开始参加比赛的时候做无人机,全靠肉眼调参,然后一遍又一遍的修改参数,编译程序,下载程序。效率低而且慢。后来了解到有软件示波器,用过匿名的,用过山外调试助手,但是他们看波形还行,在线修改参数不方便。后来又了解到一个叫做serialplot的软件,非常好用,但是发送参数还是感觉不合适。所以就想着自己开发一款软件用来调参。
这款软件UI清新,通信协议简单,发送命令、波形名称显示等更多考虑到舒适性的问题。波形显示窗口使用的是QCustomPlot控件。

特点:

  • 自适应数据通道,自动添加线条名称

  • 支持超大数据量显示不卡顿

  • 支持多种波特率

  • 界面美观、性能强劲

  • PID调试神器

  • 鼠标操作非常方便

  • 发到上位机的数据类型只能是 float 型 !!!

开发环境

  • QT5.9.8

项目开源仓库链接

  • github:https://github.com/syuan7/y-serialplot

下载安装包

    使用帮助

    1 软件页面说明

    鼠标操作

    • 左键框选放大

    • 右键按住可拖动线条

    • 单击右键视图复位

    • 左击线条突出显示

    • 左击图例隐藏线条

    • 按钮功能

      • 命令发送区域

      • 无线连接

      这里提供了CH340的驱动,一起放在软件目录下了。

      如果安装失败,可以尝试先点击卸载,然后再点击安装。

      4.1 波形发送

      例程中使用的是 STM32 的串口1进行数据收发。

      1. 波形发送业务代码

      12行的通道名称,是一个字符串,不同通道之间以 间隔,上位机中设置了多少个通道就写多少个名字。

      15行定义了发送的数据数组,数组类型需要和上位机中设置的类型一样一致。数组成员数量需要和上位机中设置的通道数量一致。

      16~19行对数组赋值。数据是 函数生成的三角函数。

      20~22行对数组赋值。数据是 函数获取的上位机设置的PID数值。

      26~32行使用串口1,通过数据指针将数据发出。 函数是自己是自己实现的串口多字节发送函数。

      1. 波形发送驱动

      4.2 接收代码

      1. 接收驱动(串口中断函数)
      • 这个函数不需要我们调用它,它会在单片机串口每接收到1Byte数据时自动调用。比如发了发送一个 hello 字符,单片机就会自动调用5次这个函数。

      • 接受到的字符会存在 数组中,当接收到 时,会停止将数据保存到数组,并且置位 ,直到我们处理了这一帧数据。

      • 使用这种方法会让程序有层次性,但是会出现数据阻塞(必须要处理了上一帧数据才会接收下一帧数据)。

      1. 解析函数
      • 关于 函数大家自行了解。

      • 第6行的 字符格式化,和第3.2节的接受函数对应。

      1. 接收的业务代码

      声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月20日
下一篇 2022年10月20日

相关推荐