AFCI 应用笔记二之数据采集

news2024/11/20 23:21:28

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.coloradmin.cn/o/1570133.html

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

相关文章

如何删除 iPhone 上的 iCloud 激活锁

Apple 在 iPhone 上通过不同的安全屏障来保护您的数据。 iCloud 激活锁可阻止外部人员访问您的手机。您可以通过打开“查找我的 iPhone”功能来激活此锁。 使用安全协议似乎是无害的,直到你到达门的另一边。如果您购买了带有激活锁的二手 iPhone 或忘记了 iCloud 凭…

eBay买家号注册下单容易死号?是什么原因导致?

随着电子商务的迅猛发展,跨境电商平台eBay日益成为众多消费者和商家的首选。然而,自去年下半年以来,eBay推出的新规则给买家号的注册带来了前所未有的挑战。许多新用户反映,在注册eBay买家号后,往往遭遇刚注册就被冻结…

哈希表2s总结

3.哈希表 哈希表非常常用,字典一般会用来保存处理过后的输入输出信息,集合也可以用来去重,这部分是重点,但是还是那句话,这种题目是不会或者说很少考原题的,主要还是学习知识,所以题目看一下答…

JS详解-手写Promise!!!

前言: 针对js的深入理解,作者学习并撰写以下文章,由于理解认知有限难免存在偏差,请大家指正!所有定义来自mdn。 Promise介绍: 对象表示异步操作最终的完成(或失败)以及其结果值. 描…

基于SpringBoot+Vue光影视频平台(源码+部署说明+演示视频+源码介绍)

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通…

ChernoCPP 2

视频链接&#xff1a;【62】【Cherno C】【中字】C的线程_哔哩哔哩_bilibili 参考文章&#xff1a;TheChernoCppTutorial_the cherno-CSDN博客 Cherno的C教学视频笔记&#xff08;已完结&#xff09; - 知乎 (zhihu.com) C 的线程 #include<iostream> #include<th…

SV学习笔记(六)

覆盖率类型 写在前面 覆盖率是 衡量设计验证完备性 的一个通用词。随着测试逐步覆盖各种合理的场景&#xff0c;仿真过程会慢慢勾画出你的设计情况。覆盖率工具会 在仿真过程中收集信息 &#xff0c;然后进行后续处理并且得到覆盖率报告。通过这个报告找出覆盖之外的盲区&…

设计模式——原型模式05

原型模式核心复制&#xff0c;每次new出来的对象完全不一样&#xff0c;实现对象之间的隔离。 学习前最好先掌握jAVA值传递和深浅拷贝 设计模式&#xff0c;一定要敲代码理解 浅拷贝 克隆出对象&#xff0c;其中两者的引用类型属性是同一个对象。 对象信息 /*** author ggb…

C++:逻辑运算符-非与或(19)

!非!a如果a为假&#xff0c;那么当前他就是真&#xff0c;如果a是真&#xff0c;那么他直接就是假&&与a&&ba与b都为真&#xff0c;那么就是真&#xff0c;如果两个里面有一个为假那么就是假||或a||ba或b有一个为真&#xff0c;那么就是真 非&#xff08;!&…

怎样把学浪购买的课程下载下来

如何把学浪已购买的课程下载下来?这里就教大家一个方法,利用一个工具轻轻松松把视频下载下来 这个工具我打包成压缩包了,有需要的自己取一下 链接&#xff1a;https://pan.baidu.com/s/1y7vcqILToULrYApxfEzj_Q?pwdkqvj 提取码&#xff1a;kqvj --来自百度网盘超级会员V1…

基于springboot+vue+Mysql的在线考试系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

redis集合Set

set是一种无序集合。它和列表的区别在于列表中的元素都是可以重复的&#xff0c;而set中的元素是不能重复的。而且set中的元素&#xff0c;并不像列表那样是具有顺序的。 SADD是添加一个元素。course是集合。 SMEMBERS SISMEMBER判断Redis在不在集合course里 SREM是用来删除Re…

Jupyter Notebook安装使用(一)

1. 简介 Jupyter Notebook 是一个非常强大的工具&#xff0c;它允许用户创建和共享包含实时代码、方程式、可视化和叙事文本的文档。这种工具特别适合数据清理和转换、数值模拟、统计建模、数据可视化、机器学习等多种应用领域。 2. 安装Jupyter Notebook 2.1. 使用 Anaconda…

校招说明书

3400字的详细说明&#xff0c;介绍了程序员类岗位校招的整体时间节点和招聘流程。还对一些常见的问题进行讨论&#xff0c;例如内推、offer和三方、实习等。 第一章介绍基本的术语&#xff0c;第二章介绍整个校招的重要流程及时间点&#xff0c;然后第三章介绍每次招聘要经过的…

golang 和java对比的优劣势

Golang&#xff08;或称Go&#xff09;和Java都是非常流行的编程语言&#xff0c;被广泛应用于各种领域的软件开发。尽管它们都是高级编程语言&#xff0c;但它们具有许多不同的特性和适用场景。本文将重点比较Golang和Java&#xff0c;探讨它们的优势和劣势。 性能方面&#…

JSP

文章目录 JSP1. 快速入门2. page 指令3. 三种常用脚本声明脚本表达式脚本代码脚本 4. 注释5. 内置对象6. 域对象7. 请求转发标签8. EL 表达式快速入门EL运算操作EL的11个隐含对象四个特定域变量 9. JSTL快速入门<c:set /><c:if />\<c:choose> \<c:when>…

【微服务】------核心组件架构选型

1.微服务简介 微服务架构&#xff08;Microservice Architecture&#xff09;是一种架构概念&#xff0c;旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦&#xff0c;从而降低系统的耦合性&#xff0c;并提供更加灵活的服务支持。 2.微服务技术选型 区域内容…

爬虫学习第一天

爬虫-1 爬虫学习第一天1、什么是爬虫2、爬虫的工作原理3、爬虫核心4、爬虫的合法性5、爬虫框架6、爬虫的挑战7、难点8、反爬手段8.1、Robots协议8.2、检查 User-Agent8.3、ip限制8.4、SESSION访问限制8.5、验证码8.6、数据动态加载8.7、数据加密-使用加密算法 9、用python学习爬…

汽车疲劳测试试验平台技术要求(北重厂家)

汽车疲劳测试试验平台技术要求通常包括以下几个方面&#xff1a; 车辆加载能力&#xff1a;测试平台需要具备足够的承载能力&#xff0c;能够同时测试多种车型和不同重量的车辆。 动力系统&#xff1a;测试平台需要具备稳定可靠的动力系统&#xff0c;能够提供足够的力和速度来…

C++ 指针与数组

指针与数组名都是地址&#xff0c;可以混合使用访问数组元素。 用指针访问数组&#xff0c;计算数组元素之和。 总结 如图所示&#xff0c;获取数组起始地址的方法有两种&#xff0c; 其一为数组名&#xff0c; 其二为通过数组的首元素地址。指针变量p是通过数组名获得指向…