AFCI 应用笔记二之数据采集

1. 简介

基于监督学习的神经网络算法需要大量数据作为输入,模型完全由数据驱动,其数据质量是算法有效的必要条件,所以如何高效的采集到数据,以及正确的标注或分析是极其重要的,如果第一步有问题,后续的所有工作都是徒劳。

本文将介绍 PECC 的数据采集板,以及来自 GPM China 的数据采集工具,简单分析数据质量的一些方法,以及需要注意的一些事项。
图1.PECC 硬件 V1.0
图1.PECC 硬件 V1.0

2. 上位机介绍

图2.上位机主界面
图2.上位机主界面

2.1. 打开串口

单击①找到相应的串口号,并通过②选择合适的波特率,点击③打开串口。注意:

  1. 如果连接设备是串口+USB 虚拟串口,则需要选择正确的波特率才能正常通讯。
  2. 如果连接设备是 USB 虚拟串口(比如 PECC 的开发板),则波特率可以随便选择。

2.2. 数据采集

通过④设置标签,⑤设置采样率(最高 400KHz),⑥设置采样时间,⑦选择通道(目前上位机支持四个通道),选择⑧开始数据采集。

2.2.1. 数据标注方法与原则

  1. ④中设置的是文件标签,也可以理解为文件保存路径,python 脚本会根据保存的文件路径来给数据进行打标。

  2. 文件夹中必须有且仅有 “Arc”“Normal”字符串,大小写无关。其中“Arc”,表示该文件夹下的数据全为有弧信号; “Normal”,表示该文件夹下的数据全为无弧信号。参看下文一个比较好的数据标注的例子。

  3. “Normal”信号的采集。无弧信号采集较简单,只需要关注不同的采集条件,让数据分布更广即可。为了确保无弧,所有线头连接部分必须保证充分接触,防止接触不良导致接头内部产生电弧,而肉眼无法看到的情况发生,拉弧机两端最好有接示波器,电压必须为 0,以确保拉弧机接头内部没有肉眼无法看到的电弧。

  4. “Arc”信号的采集。为了保证采集到的数据全部为有弧信号,需要先打开拉弧机产生电弧,再点击⑧开始采集,待上位机采集完成,再断开拉弧机。

  5. 由于拉弧与非常多的因素相关,所以数据采集应当在各个不同条件下采集。目前已知能影响拉弧效果的因素包括且不限于:是否有关断器,是否有优化器,电流等级,逆变器通道,硬件采集电路,拉弧距离等。在数据标注时,需要对这些情况进行相应的标注,方便以后分析。电流等级可以以 2-3A 为一个步长采集所有电流等级内的数据。

  6. 采集时长或数据大小。没有明确规定的大小,建议每个电流等级总时长不低于 30s。
    同一条件也不建议太大,因为数据量太多可能导致内存不足,无法训练或训练时间过长。

2.2.2. 数据文件夹

  1. 文件夹设置好后,采集数据,会自动在上位机同目录下生成文件夹。
  2. 在 Chart 页面下,左键点击文件夹会将文件夹路径更新到④中,方便采集

2.2.3. 采集板供电

PECC 板子使用 USB 供电,可以连接笔记本,但是 USB 供电会引入工频噪声,在采集阶段和验证阶段,必须保证环境的一致性,所以在采集和验证阶段都需要使用统一的设备进行供电,不能切换电脑或电源。建议使用同一台电脑采集数据和验证,并且连接电源,不使用电池。
图3.数据标注
图3.数据标注

图4.数据采集 Log
图4.数据采集 Log

2.2.4. 采集日志

  1. Log 信息会自动保存在上位机同目录下,以当前时间作为文件名,以.log 作为结尾。
  2. 如果 Log 信息中,出现了丢包或其他错误信息,最好删掉采集保存下来的这条数据。从上文数据采集 log 中,可以看出
    ① :400KHz 采样率下,数据有丢包。那么,可以在 Chart 界面下,找到该条数据,点击 delete 删除。
    ② : 400KHz 正常的数据采集 Log。
    目前,仅在 400KHz 采样率下,发现小概率有丢包情况,其他情况未发现,未来提高USB 通信速率应该可以解决该问题,不过串口通讯仍然有误码率的可能性。

2.3. 数据分析

2.3.1. 数据显示

图5.Chart 页面
图5.Chart 页面

1.点击采集到的数据①,会在右边绘制出波形图。

2.②:时域图形,横坐标表示采样点数,纵坐标表示 ADC 值。③:频域图形,横坐标表示 N ×采样率,如果采样率为 250KHz,则 0.5 表示 125KHz,纵坐标表示幅值。

3.设置帧长⑤,拖动④可以看到不同帧长窗口下的时域和频域图形。

2.3.2. 数据对比

图6.上位机软件的时域和频域对比功能
图6.上位机软件的时域和频域对比功能

  1. 选择①痕迹,再选择其他数据文件,则可以对比不同数据的波形,上图为有弧和无弧信号的对比。

  2. 检查②时域部分:查看是否有异常点,是否有样本点超过最大幅值的情况,中心点是否在 2048 附近(12 位 ADC 最大值为 4096,中心点为 2048),可以看出硬件是否有设计问题,比如放大倍数不正确,或者中心点不正确。还可以和示波器进行对比,看采集到的数据是否和示波器上的一致,来检查硬件或固件。

  3. 检查③频域部分:查看滤波器的滤波范围是否正确,限波点是否正确,上图可以看到数据在相对低频部分有比较好的分辨能力。

2.4. 在线识别

图7.识别结果
图7.识别结果

选择好①采样率和③通道,点击开始识别,就可以让开发板进入 AFCI 识别模式,识别中会输出
图中④类似的 Log 信息,表示采样率已经设置为 250KHz,CH2 通道已经打开,并输出了
normal 和 arc 的百分比信息,代表是的无弧和有弧的概率。

2.5. 文件验证

文件验证功能指的是将采集到的 csv 格式的原始数据文件,下载到开发板中,进行验证,
从而判断固件部分 AI 功能是否正常,如果固件和模型正确,输出结果应当和标记的内容一样。
图8.文件验证
图8.文件验证
图9.Log 信息
图9.Log 信息

图 8:在 Chart 界面下,选择需要验证的文件,双击会弹出验证对话框,点击 Yes 进行验证。
图 9:显示的输出结果信息,以及剩余验证数据,通道信息可忽略,因为数据是从上位机下载的
和通道无关。

2.6. 通讯协议

在 Note 界面下,有相应的串口通讯协议和 Release 信息。
图10. Note 界面
图10. Note 界面

3. 总结

数据采集和标注是做好神经网络的第一步,需要格外小心和谨慎,不然其中有脏数据,通
过肉眼十分难以清理出来,脏数据过多会导致模型泛化能力很差。

其中一个办法是用模型对所有数据进行验证,然后挑选出验证结果失败的数据,然后 Plot
出来。若通过肉眼分辨,其工作量非常巨大和繁琐,还是应当在数据收集的过程中保证数据
的有效性。

文档中所用到的工具及版本

serialTool.exe:2.0.0


本文档参考ST官方的《【应用笔记】LAT1322+AFCI应用笔记二、数据采集》文档。
参考下载地址:https://download.csdn.net/download/u014319604/89083015

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/798136.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++搭建深度学习的推理框架

我们的目的是:借助C++搭建一个类似于pytorch,tensorflow的深度学习框架,对标pytorch,tensorflow实现对应的功能。由于本人能力有限,下面本人将借助C++搭建一个简单的全连接神经网络,并且尝试解释里面的算子定义和计算图构建。 算子定义 回顾pytorch里面搭建的全连接神经网…

ESP32S3网络编程学习笔记(1)—— Wi-Fi扫描实验

前言 (1)如果有嵌入式企业需要招聘湖南区域日常实习生,任何区域的暑假Linux驱动/单片机/RTOS的实习岗位,可C站直接私聊,或者邮件:zhangyixu02gmail.com,此消息至2025年1月1日前均有效 &#xff…

基于DPDK的VPP 插件demo代码

VPP的插件编写, 首先要把VPP 工程下载下来, 编译通过。 然后按照example程序的套中来编写插件。 还有一个前提, 就是测试机上已经具备了DPDK 已经可用版本。 1. 下载VPP。 可以从github上下载VPP的指定版本的zip包, 也可以用…

2024年租用阿里云服务器多少钱一年?连夜整理分享

阿里云服务器租用价格表2024年最新,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元,ECS u1服务器2核4G5M固定带宽199元一年,2核4G4M带宽轻量服务器一年165元12个月,2核…

__ne__()函数详解

在Python中,ne 是一个特殊方法,用于定义不等于(!)操作符的行为。当你使用 ! 操作符来比较两个类的实例时,Python会自动调用这个方法。如果这个方法没有在你的类中定义,那么 ! 操作符会使用 eq 方法的结果来…

【C++】C++ primer plus 第十二章--类和动态内存分配

动态内存和类 关于静态数据成员 类之作声明,不分配内存,因此静态成员变量在类中不能进行初始化,需要在类外进行。特殊情况: 存在可以在类中声明静态成员并初始化的情况,成员类型为const整型或者const枚举类型。 特殊…

软考高级架构师:嵌入式系统的内核架构

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

2024/4/1—力扣—二叉树的最近公共祖先

代码实现: 思路: 递归判断左子树和右子树,查找p或者q是否在当前节点的子树上 1,在同一子树上,同一左子树,返回第一个找到的相同值,同一右子树上,返回第一个找到的相同值 2&#xff0…

Oracle23免费版简易安装攻略

installation-guide 1 安装 root用户下 wget https://yum.oracle.com/repo/OracleLinux/OL8/developer/x86_64/getPackage/oracle-database-preinstall-23c-1.0-1.el8.x86_64.rpm wget https://download.oracle.com/otn-pub/otn_software/db-free/oracle-database-free-23c-1…

UML 绘制工具 starUML 入门介绍

拓展阅读 常见免费开源绘图工具 OmniGraffle 创建精确、美观图形的工具 UML-架构图入门介绍 starUML UML 绘制工具 starUML 入门介绍 PlantUML 是绘制 uml 的一个开源项目 UML 等常见图绘制工具 绘图工具 draw.io / diagrams.net 免费在线图表编辑器 绘图工具 excalidr…

linux lua版本升级

要在Linux上升级Lua到5.4版本,你需要执行以下步骤: 1、下载Lua 5.4源代码: 首先,你需要从Lua的官方网站下载Lua 5.4的源代码。你可以访问Lua的官方网站或使用wget或curl命令从命令行下载。 wget http://www.lua.org/ftp/lua-5.4.x…

工具推荐-针对Nacos利器-NacosExploitGUI_v4.0

Nacos是由阿里所开发的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 工具简介 集成Nacos的各种poc Nacos控制台默认口令漏洞(nacos,nacos)Nacostoken.secret.key默认配置(QVD-2023-6271)Nacos-clientYaml反序列化漏洞Nacos Jraft Hessian反序列化漏洞…

代码随想录算法训练营第46天|139.单词拆分|关于多重背包,你该了解这些!|背包问题总结篇!

代码随想录算法训练营第46天|139.单词拆分|关于多重背包,你该了解这些!|背包问题总结篇! 详细布置 关于 多重背包,力扣上没有相关的题目,所以今天大家的重点就是回顾一波 自己做的背包题目吧。 139.单词拆分 视频讲…

PET-SQL:基于大模型的两阶段Text2SQL方法

简介 PET-SQL出自论文《PET-SQL: A Prompt-enhanced Two-stage Text-to-SQL Framework with Cross-consistency》,将基于大模型的Text2SQL分为两个阶段进行,在第一阶段使用数据表schema信息、数据表采样数据、相似问答问答对生成初步的SQL(PreSQL)&…

【边缘智能】00_边缘计算发展背景

本系列是个人学习《边缘就算基础知识入门》的笔记,仅为个人学习记录,欢迎交流,感谢批评指正 移动物联设备产生海量数据,数据密集型移动智能应用,计算密集、动态性高,实时性强 传统云计算架构 基于广域互联…

大学课堂点名程序

大学课堂点名程序 from gtts import gTTS import os import tkinter as tk import pygame import csv import random from datetime import datetime from tkinter import messagebox from tkinter import simpledialog input_data="student1" def langDu(text):tts…

matrix-breakout-2-morpheus 靶机渗透

信息收集: 1.nmap存活探测: nmap -sn -r 192.168.10.1/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-06 12:13 CST Nmap scan report for 192.168.10.1 Host is up (0.00056s latency). MAC Address: 00:50:56:C0:00:08 (VMware) Nmap…

鸿蒙内核源码分析 (双向链表篇) | 谁是内核最重要结构体

双向链表是什么&#xff1f; 谁是鸿蒙内核最重要的结构体 &#xff1f; 一定是: LOS_DL_LIST(双向链表)&#xff0c; 它长这样。 typedef struct LOS_DL_LIST {struct LOS_DL_LIST *pstPrev; /**< Current nodes pointer to the previous node | 前驱节点(左手)*/struct L…

Qt实现Kermit协议(四)

3 实现 3.3 KermitRecvFile 该模块实现了Kermit接收文件功能。 序列图如下&#xff1a; 3.3.1 KermitRecvFile定义 class QSerialPort; class KermitRecvFile : public QObject, public Kermit {Q_OBJECT public:explicit KermitRecvFile(QSerialPort *serial, QObject *…

题目 1847: 字符串中间和后边*号删除

题目描述: 假定输人的字符串中只包含字母和*号。请编写函数fun(  )&#xff0c;它的功能是&#xff1a;除了字符串前导的*号之外&#xff0c;将串中其他*号全部删除。在编写函数时&#xff0c;不得使用C语言提供的字符串函数。 代码: package lanqiao;import java.math.Bi…