APP下载

基于STM32 的用电器在线识别系统

2023-10-24杨玉涛李春树

物联网技术 2023年10期
关键词:欧几里得用电器参量

杨玉涛,李春树

(宁夏大学 物理与电子电气工程学院,宁夏 银川 750021)

0 引 言

近年来,智能家居和物联网建设快速发展,及时掌握用电器的工作状态对于用户实现用电器精细化管理、设备节能以及提高用电安全有重要意义。

何勇等人设计了一种基于物联网的用电器在线监测系统,符合当下物联网的发展趋势,但是其只能识别单个用电器工作的情况,未涉及多个用电器同时工作时的复杂场景[1]。付英侃提出了一种基于DSP 的负载电参量远程监测系统,该系统采用了多维模型综合识别算法,识别效果较好,但是其需要手动多次测量所有的负载组合类型,对于负载种类较多的情况,系统样本库的构建十分繁琐[2]。王飞提出了一种基于深度神经网络的非侵入式负荷辨识算法,但该识别算法的实现较为复杂,并且未给出具体的系统设计方案[3]。

本文设计并制作了一种基于STM32 的用电器在线识别系统,其优势如下:

具有用电器识别功能,对于单个或多个用电器同时在线的情况均能够识别;具有学习功能,可不断学习新的用电器数据,满足用户对于家庭、办公楼、宿舍等多个不同使用场景的要求;具有良好的人机交互逻辑,用户操作简便;系统算法实现较为简单、可移植性强,能够适应多款硬件平台;具有数据传输功能,通过物联网用户可实现远程实时监测。

1 系统方案

系统总体结构如图1 所示。用电器的220 V 交流信号通过电流互感器和电压互感器处理,转换为数百毫伏的交流信号,通过CS5463 芯片的模数转换功能实现信号转换。CS5463 包含两个Δ-Σ 模数转换器,拥有功率计算功能,利用CS5463 模块可以直接采集多项特征电参数[4],并通过SPI接口发送给STM32。在STM32F103ZET6 上进行数据处理,该开发板具有以72 MHz 频率运行的高性能ARM Cortex-M3 RISC 内核[5],在识别模式下运行FFT 算法对特征电参量作进一步处理,利用欧几里得度量算法进行识别;在学习模式下通过等距采样、限幅滤波及组合计算,存储不同组合下的用电器特征电参数,完成学习。最后将处理结果传输到人机交互模块,同时通过ESP32 模块同步到云端。其中人机交互模块是一块LCD 触摸屏,用户可以通过此屏幕直接对系统进行操作,也可以通过手机终端进行数据接收和指令下发。

图1 系统结构图

2 系统理论分析与计算

2.1 特征电参量分析

选用单一特征电参量来进行用电器识别,辨识准确度较低;而对于多个特征电参量,利用欧氏距离算法进行识别可以增加系统的识别准确度。

系统选取的特征电参量如下:

(1)电流有效值。电流有效值的离散化定义如下:

式中:N表示一个交流周期内的采样点数;I(n)表示第n个交流电流采样瞬时值。不同用电器的电流有效值一般不同,因此可以选用其作为识别用电器的特征参量。

(2)有功功率。有功功率指单位时间内实际发出或消耗的交流电能量,是周期内的平均功率。有功功率的离散化表达式为:

式中:Pact表示有功功率;N表示一个交流周期内的采样点数。有功功率的计算包含了电流值与电压值,更具特征性。

(3)平均无功功率。无功功率的计算公式为:

式中:Qn为无功功率;φ为相角,即电压与电流之间的夹角,sinφ为相角的正弦[6]。平均无功功率的计算公式如下:

式中QAvg为平均无功功率。无功功率与有功功率与功率因数间存在一定关系,将平均无功功率加入欧氏算法中可以扩大各用电器经算法计算后的距离差,从而增加对比度,使用电器分析识别装置更加灵敏。

(4)功率因数。功率因数指交流电路有功功率对视在功率的比值,其计算公式为:

式中PF 为功率因数。功率因数可以用来计算电器的电能利用率与效益,更具有实际意义。

(5)谐波有功功率。利用快速傅里叶变换的方法求得电流的k次谐波振幅值X(k),进而得出谐波有功功率PHK。

综上所述,选择电流有效值、有功功率、平均无功功率、功率因数和谐波有功功率等作为用电器识别的特征参量。

2.2 用电器识别算法设计

2.2.1 FFT 算法设计

电流的k次谐波需用FFT 算法计算得到。快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的快速算法,有助于提高系统的处理速度,缩短识别时间。

在系统应用中,采集长度为N(N=2M)的交流电流瞬时值数组,按照基2 时域抽取法[7]进行快速傅里叶变换后得到电流的各次谐波幅度谱X(k)。

2.2.2 欧几里得识别算法

(1)欧几里得距离

三维空间中任意的点可以被一个三维的坐标定义。而将三维拓展为更高的n维时,便得到了n维欧几里得空间。在n维空间中两个点之间的直线距离,称之为欧几里得距离。

n维空间的欧几里得距离公式如下:

式中:(x1,x2, ...,xn),(y1,y2, ...,yn)分别为n维空间中两点的坐标。

根据2.1 节的分析可知,共选取了5 个特征电参量,因此应当构建一个5 维的欧几里得空间,计算5 维的欧氏距离。单个用电器或者多个用电器同时在线时,均会获得一组特征电参量,将该组特征电参量当作5 维欧几里得空间里的一个特征点,此特征点用坐标形式可以表示为(IRMSi,Pacti,QAvgi,PFi,PHKi)。假设所有用电器共有n种组合(包括只使用单个用电器和多个用电器同时组合使用的情况),则上述坐标中的i=1, 2, ...,n。将这n个特征点作为标准点存储到系统中。在进行用电器识别时,被测用电器组合也有一个特征点,称之为测量点,分别计算出测量点与系统存储的标准点之间的欧几里得距离di:

式中(IRMS0,Pact0,QAvg0, PF0,PHK0)为被测用电器组合的特征点。

计算出所有欧氏距离中的最小值dmin:

找到距离的最小值dmin所对应的标准点,该标准点所对应的用电器组合情况即可作为识别结果。

(2)特征参量归一化

本方案选取的5 个特征电参量分别具有不同的量纲,特征电参量的取值大小相差较多。例如功率因数PF 一般小于等于1,而有功功率Pact对于大功率用电器而言可以达到上千瓦。在进行用电器识别时,用电器的电参量会发生波动,若直接用式(7)计算欧几里得距离,有功功率Pact对计算结果的影响要远远大于功率因数PF 对结果的影响。

为了消除数据量纲的影响,本文对电参量数据进行归一化处理,将所有的数据均压缩在[0,1]范围内。

假设所有用电器共有N种组合,每种组合下均会获得一组特征电参量,可以得到一个5×N的矩阵。

矩阵中每一列代表一种用电器组合,每一行表示N种组合的某一特征电参量。对每种特征电参量数据进行如下处理:

式中:xi为特征电参量矩阵中某一行的一个元素;xmin为所在行的最小值;xmax为所在行的最大值。例如电流有效值IRMS的归一化公式为:

同理,可求得其余特征电参量的归一化结果。将归一化的结果代入欧几里得计算公式可得:

式中(IRMSZ0,PactZ0,QAvgZ0, PFZ0,PHKZ0)为被测用电器组合归一化之后的特征点。最后利用式(12)计算欧几里得距离,进行用电器的识别。

(3)取众数处理

在应用欧几里得距离进行用电器识别时,为避免某种组合的特征点与两个标准点的距离过于相近,导致误判的情况,本文的改进方法是求解多个维度的欧氏距离,将所有维度下计算出的识别结果取众数,作为最终的识别结果。

2.3 用电器学习算法设计

利用欧氏算法进行用电器识别需要用到标准点,标准点的获得是在学习模式下完成的。在学习模式下,学习记录单个用电器在线时的特征点,通过计算得出各种组合情况下的特征点。

在学习模式下,系统采集用电器特征电参数,通过等时间间隔采样及限幅滤波的方法,将单个用电器的特征点存储到系统中。然后将新学习的用电器特征点与已学习的特征点组合计算,得到共用时的特征点。组合学习算法是利用电路并联特点、功率三角形法则以及相量法来实现的,即各个支路用电器独立使用时的特征电参数按照叠加或者相量法计算出的结果与这些用电器同时使用时在干路上获得的特征电参数数值相等[6]。

利用CS5463 模块可以直接获得电流有效值、功率因数。通过FFT 算法计算出电流谐波值。利用电流互感器和电压互感器可以获得电流相位值,各支路用电器独立使用时的谐波电流按照相量法相加计算出的结果,与这些用电器同时使用时在干路上获得的谐波电流值相等。

综上,由单个用电器的特征点,通过计算获得了用电器各种组合情况下的特征电参数,将所有情况下的特征电参数作为标准点存储到系统中即完成学习过程。

3 电路设计

3.1 CS5463 电能采集电路

CS5463 电能采集电路由CS5463 电能计量芯片、HCT215 电流互感器和ZMPT101B 电压互感器组成。CS5463电能采集电路如图2 所示。

图2 CS5463 电能采集电路

3.2 ESP32 模块电路

ESP32 集成了蓝牙和WiFi,WiFi 支持极大范围的通信连接,也支持通过路由器直接连接互联网[8]。ESP32 模块电路如图3 所示。

图3 ESP32 模块电路

4 程序设计

系统通过判断来自电容屏或手机终端的指令来切换系统模式。在学习模式下,系统读取用电器的各项电参数,然后进行等距采样和限幅滤波,存储到系统中,将新学习的用电器特征点与已有特征点按照组合学习算法计算,得到共用时的特征点,更新特征点数据库,完成学习。

在识别模式下,读取存储的用电器数据,然后进行用电器测量,将测量结果作为一个特征点,利用欧氏算法计算该点到标准点的距离,找到和该用电器特征点距离最小的标准点,其所对应的用电器组合即为识别结果。程序运行的具体流程如图4 所示。

图4 主程序流程

5 系统测试及分析

本系统主要用来进行用电器的识别和用电情况的获取,同时方便用户进行远程监测,系统实物如图5 所示。

图5 系统实物图

通过用电器识别系统分别对被测用电器进行学习,然后进行识别,对比实际结果,评估用电器在线识别系统的识别准确性。用于测试的用电器见表1 所列。用电器的识别测试按照用电器同时工作的数量依次进行,在每种数量下确保所有的用电器组合都进行了测试,同时每种组合要进行多次测试,最后计算识别准确度。

表1 被测用电器数据

针对不同的用电器数目,用电器的识别测试结果见表2 ~表5 所列。

表2 单个用电器识别结果

表3 两个用电器同时工作时识别结果

表4 三个用电器同时工作时识别结果

表5 四个或五个用电器同时工作时测量结果

由测试结果可知,用电器在线识别系统可以较为准确地识别单个用电器的类别以及多个用电器同时工作时的类别;系统的识别准确度随着同时在线的用电器数目的增加而有所降低,但对小功率用电器的组合识别准确度较高。

6 结 语

本文利用欧几里得识别算法、学习算法和物联网技术,设计一款基于STM32 的用电器在线识别系统。欧氏距离算法的优点在于:分析简单、识别较快、准确度高。通过学习不同类别的用电器可以广泛应用于多个场景,具有较强的实用性。本设计采用无线传输模块,增加系统的拓展性,在手机端可以实时获得测量数据及识别结果,有利于推动物联网的建设。系统具有良好的人机交互功能,可以灵活切换系统模式,操作简单。

通过实物制作,成功实现了系统的远程监测功能、快速识别功能以及学习功能。实验结果表明,本系统可以较好地识别出用电器的类别,并且稳定性良好。

猜你喜欢

欧几里得用电器参量
欧几里得:助力几何学的独立与发展
例析电路中不同用电器的最大功率
欧几里得的公理方法
用电器 写电器
环形光的形成与参量的依赖关系
含双参量的p-拉普拉斯边值问题的多重解
锁定放大技术在参量接收阵中的应用
双棱镜干涉实验中的参量取值研究