1. 简介
基于监督学习的神经网络算法需要大量数据作为输入,模型完全由数据驱动,其数据质量是算法有效的必要条件,所以如何高效的采集到数据,以及正确的标注或分析是极其重要的,如果第一步有问题,后续的所有工作都是徒劳。
本文将介绍 PECC 的数据采集板,以及来自 GPM China 的数据采集工具,简单分析数据质量的一些方法,以及需要注意的一些事项。
图1.PECC 硬件 V1.0
2. 上位机介绍
图2.上位机主界面
2.1. 打开串口
单击①找到相应的串口号,并通过②选择合适的波特率,点击③打开串口。注意:
- 如果连接设备是串口+USB 虚拟串口,则需要选择正确的波特率才能正常通讯。
- 如果连接设备是 USB 虚拟串口(比如 PECC 的开发板),则波特率可以随便选择。
2.2. 数据采集
通过④设置标签,⑤设置采样率(最高 400KHz),⑥设置采样时间,⑦选择通道(目前上位机支持四个通道),选择⑧开始数据采集。
2.2.1. 数据标注方法与原则
-
④中设置的是文件标签,也可以理解为文件保存路径,python 脚本会根据保存的文件路径来给数据进行打标。
-
文件夹中必须有且仅有 “Arc”“Normal”字符串,大小写无关。其中“Arc”,表示该文件夹下的数据全为有弧信号; “Normal”,表示该文件夹下的数据全为无弧信号。参看下文一个比较好的数据标注的例子。
-
“Normal”信号的采集。无弧信号采集较简单,只需要关注不同的采集条件,让数据分布更广即可。为了确保无弧,所有线头连接部分必须保证充分接触,防止接触不良导致接头内部产生电弧,而肉眼无法看到的情况发生,拉弧机两端最好有接示波器,电压必须为 0,以确保拉弧机接头内部没有肉眼无法看到的电弧。
-
“Arc”信号的采集。为了保证采集到的数据全部为有弧信号,需要先打开拉弧机产生电弧,再点击⑧开始采集,待上位机采集完成,再断开拉弧机。
-
由于拉弧与非常多的因素相关,所以数据采集应当在各个不同条件下采集。目前已知能影响拉弧效果的因素包括且不限于:是否有关断器,是否有优化器,电流等级,逆变器通道,硬件采集电路,拉弧距离等。在数据标注时,需要对这些情况进行相应的标注,方便以后分析。电流等级可以以 2-3A 为一个步长采集所有电流等级内的数据。
-
采集时长或数据大小。没有明确规定的大小,建议每个电流等级总时长不低于 30s。
同一条件也不建议太大,因为数据量太多可能导致内存不足,无法训练或训练时间过长。
2.2.2. 数据文件夹
- 文件夹设置好后,采集数据,会自动在上位机同目录下生成文件夹。
- 在 Chart 页面下,左键点击文件夹会将文件夹路径更新到④中,方便采集
2.2.3. 采集板供电
PECC 板子使用 USB 供电,可以连接笔记本,但是 USB 供电会引入工频噪声,在采集阶段和验证阶段,必须保证环境的一致性,所以在采集和验证阶段都需要使用统一的设备进行供电,不能切换电脑或电源。建议使用同一台电脑采集数据和验证,并且连接电源,不使用电池。
图3.数据标注
图4.数据采集 Log
2.2.4. 采集日志
- Log 信息会自动保存在上位机同目录下,以当前时间作为文件名,以.log 作为结尾。
- 如果 Log 信息中,出现了丢包或其他错误信息,最好删掉采集保存下来的这条数据。从上文数据采集 log 中,可以看出
① :400KHz 采样率下,数据有丢包。那么,可以在 Chart 界面下,找到该条数据,点击 delete 删除。
② : 400KHz 正常的数据采集 Log。
目前,仅在 400KHz 采样率下,发现小概率有丢包情况,其他情况未发现,未来提高USB 通信速率应该可以解决该问题,不过串口通讯仍然有误码率的可能性。
2.3. 数据分析
2.3.1. 数据显示
图5.Chart 页面
1.点击采集到的数据①,会在右边绘制出波形图。
2.②:时域图形,横坐标表示采样点数,纵坐标表示 ADC 值。③:频域图形,横坐标表示 N ×采样率,如果采样率为 250KHz,则 0.5 表示 125KHz,纵坐标表示幅值。
3.设置帧长⑤,拖动④可以看到不同帧长窗口下的时域和频域图形。
2.3.2. 数据对比
图6.上位机软件的时域和频域对比功能
-
选择①痕迹,再选择其他数据文件,则可以对比不同数据的波形,上图为有弧和无弧信号的对比。
-
检查②时域部分:查看是否有异常点,是否有样本点超过最大幅值的情况,中心点是否在 2048 附近(12 位 ADC 最大值为 4096,中心点为 2048),可以看出硬件是否有设计问题,比如放大倍数不正确,或者中心点不正确。还可以和示波器进行对比,看采集到的数据是否和示波器上的一致,来检查硬件或固件。
-
检查③频域部分:查看滤波器的滤波范围是否正确,限波点是否正确,上图可以看到数据在相对低频部分有比较好的分辨能力。
2.4. 在线识别
图7.识别结果
选择好①采样率和③通道,点击开始识别,就可以让开发板进入 AFCI 识别模式,识别中会输出
图中④类似的 Log 信息,表示采样率已经设置为 250KHz,CH2 通道已经打开,并输出了
normal 和 arc 的百分比信息,代表是的无弧和有弧的概率。
2.5. 文件验证
文件验证功能指的是将采集到的 csv 格式的原始数据文件,下载到开发板中,进行验证,
从而判断固件部分 AI 功能是否正常,如果固件和模型正确,输出结果应当和标记的内容一样。
图8.文件验证
图9.Log 信息
图 8:在 Chart 界面下,选择需要验证的文件,双击会弹出验证对话框,点击 Yes 进行验证。
图 9:显示的输出结果信息,以及剩余验证数据,通道信息可忽略,因为数据是从上位机下载的
和通道无关。
2.6. 通讯协议
在 Note 界面下,有相应的串口通讯协议和 Release 信息。
图10. Note 界面
3. 总结
数据采集和标注是做好神经网络的第一步,需要格外小心和谨慎,不然其中有脏数据,通
过肉眼十分难以清理出来,脏数据过多会导致模型泛化能力很差。
其中一个办法是用模型对所有数据进行验证,然后挑选出验证结果失败的数据,然后 Plot
出来。若通过肉眼分辨,其工作量非常巨大和繁琐,还是应当在数据收集的过程中保证数据
的有效性。
文档中所用到的工具及版本
serialTool.exe:2.0.0
本文档参考ST官方的《【应用笔记】LAT1322+AFCI应用笔记二、数据采集》文档。
参考下载地址:https://download.csdn.net/download/u014319604/89083015