基于快速傅里叶变换的用电器分析识别装置
2023-07-04孙霁阳王家东巩荣芬
孙霁阳 王家东 巩荣芬
(辽宁科技大学电子与信息工程学院 鞍山 114051)
引言
随着时代的高速发展,各种用电器已经走进千家万户,给人民带来便利的生活同时也带来了安全隐患,各种由于电路过载引起的火灾时有发生,尤其是一些老旧小区,电热水壶、电热毯等大功率用电器造成的事故问题比例更大。
对用电器参数的分析不仅可以帮助用户节约电费,也可以降低火灾的隐患,同时智能家居中的家用电器用电监控系统的形成与发展是倡导智慧城市建设发展中的重要环节[1],在未来智慧城市建设的过程中该装置可以接入城市系统,所以对用电器的识别研究有重要意义,所以本文设计了一款基于快速傅里叶变换算法的用电器分析识别装置,该项目具有成本低、识别准确度高的优点,可以有效解决以上的问题。
1 系统总体设计
本文设计的装置采用STM32F103C8T6 作为核心处理器,该芯片内置了硬件IIC 和SPI 协议接口,且GPIO 数量足够完成该装置,同时意法半导体提供了开源的DSP库,所以选取该款单片机非常合适,该装置设计了按键系统,可以进行学习模式和检测模式的切换,对用电器的数据的采集选用CS5463 模块,该模块可以采集电路的电压、电流、功率的参数,其与单片机之间采用SPI 作为通信协议。该装置系统框图如图1 所示。
图1 用电器分析识别装置系统框图
2 硬件设计
1)主控模块
为了在降低成本的同时满足用电器分析装置的硬件接口和FFT 算法的运算量,本文选择的STM32F103C8T6芯片是一款采用Cortex-M3 内核开发的32 位单片机[2],芯片具有DMA 功能可用于SPI、IIC 和ADC。为了考虑装置的体积,本文选用LQFP48 方式封装的芯片,其具备37 个I/O 可以在满足本文装置的同时剩余8 个I/0 口用于后期增添新功能。
2 )按键交互系统
本文的按键交互系统由四个轻触开关组成,分别代表:模式切换、上一个、下一个和确定。按键一端连接到单片机的IO 口,另一端通过电阻上拉到5 V,IO 口连接到地线上,按键未按下时IO 电压为0 V,按键按下时IO 电压为5 V,单片机通过不断扫描对应IO 口电平即可实现交互。
3)继电器保护电路
由于需要引入市电,所以为了防止用电器连接出现问题导致设备损坏和造成安全隐患需要设计保护电路,该电路主要由固态继电器和光电耦合器组成,电路结构简单,响应速度快,在电流过大时,能快速切断检测回路,起到过流保护的作用[3]。
4)显示屏
本文所选的显示屏为12864 液晶LCD 显示屏,该模块具有功耗低、显示内容丰富等特点而被广泛运用。该模块内部自带升压电路可支持(3~5.5)V 驱动,并将JP2 引脚连接一个电位器进行背光调节,其分辨率为128* 64,内置2 M 位中文字形CGROM,满足本次开发需求。
5)CS5463 模块
该模块主要由CS5463 芯片、电磁式电压互感器、电流互感器三部分组成。
CS5463 是一款结合了两个模数转换器的电功率测量芯片,其可以通过内部计算直接输出单相电路的瞬时电流、电压、瞬时功率、视在功率、有功功率和二线或三线功率计量应用。
电压互感器与变压器功能相似,但是电压互感器变化电压的主要目的是给仪器仪表供电,CS5463 模块选用的电磁式电压互感器是利用电磁感应原理按比例变换电压,通过测量电压后成该比例即可完成对线路中的电压的测量。
由于所测电流较大且电压较高有一定的危险性,所以为了测量和电气隔离该模块设置了电流互感器,电流互感器是依据电磁感应原理将一侧的大电流转化为小电流,电流互感器起到的是桥梁的作用[4],可以将用电器的大电流转换后交由CS5463 芯片进行采集和计算。
3 软件设计
1)软件系统流程
软件程序主要由数据采集和数据处理两大部分组成,控制部分以STM32F103C8T6 单片机为核心,采用执行效率高的C 语言进行编程,通过CS5463 采集数据,数据处理部分为快速傅里叶变换程序,将电流、电压波形进行变换,得到电流和电压的谐波和香味,最后将电流、电压、有功功率、无功功率、谐波参量等参数结合进行识别,系统流程图如图2 所示。
图2 软件系统流程图
2)电参数计算
电信号经过CS5463 采样后,将数据通过SPI 协议传入单片机,单片机需进一步计算出电流真有效值(URES)、电压真有效值(IRES)和有功功率(P),其数学表达式如下:
式中:
N—一周期内采样的点数;
Ui、Ii—某一采样时刻的数值;
φi—对应时刻电压和电流信号的相位差。
3)快速傅里叶变换
在本文中,如果仅针对电压、电流、功率等进行分析,在同时识别多个用电器时常常出现识别错误的效果,所以为了提高多个用电器分析时的准确性必须以其他电信号特征作为分析目标,最后确定采用利用FFT 计算出信号的谐波作为识别的主要特性。
在信号处理中,离散傅里叶变换(DFT)的计算具有举足轻重的地位,信号的相关、滤波、谱估计等等都可通过DFT 来实现[5],但是在实际工程中起计算量相当大,所以在1965 年通过利用wn因子的对称性和周期性构造了快速傅里叶变换(FFT)。在快速傅里叶变换诞生之后,数字信号处理技术的发展越加迅速、应用范围也越加广泛[6]。
离散傅里叶变换(DFT)的运算公式为:
其中,
将离散傅里叶公式拆分成奇偶项,前N/2 个点可以表示为:
后N/2 个点可以表示为:
由此可知,后N/2 个点的值完全可以通过计算前N/2个点的中间过程值确定[7],这样可以减少大量的运算,该算法虽然数学表达式复杂但是对于本文的设计可以利用意法半导体公司所提供的开源DSP 库直接实现FFT 算法。
4)自学习算法
由于每款用电器都具有不同的参数,所以为了针对不同用电器需要给装置增加自学习功能。即在设备使用前进入学习模式记录各个用电器的参数后将数据存入AT24C02 芯片进行存储,在识别模式下通过将负载的每一个参数在数据库中遍历,最后通过设定好的阈值进行判断,最终计算出结果。
用于存储的AT24C02 芯片是一个2 K 位串行EEPROM,内部含有256 个8 位字节,其在掉电后数据不会被擦除,该器件通过IIC 总线与单片机进行通信完成读写操作。
4 实验结果与分析
根据本文所叙述的原理最终设计出该装置,装置实物图如图3 所示。
图3 实物图
将用电器分别编号1、2、3、4、5、6、7,其中1号用电器和二号用电器电流、电压和功率相同,5、6、7号用电器为大功率用电器,选取的用电器可以完成大小功率用电器的测试也可以测验谐波分析的准确性,本文将UTE1003B 型智能电参数测试仪测量的数据作为电参数的准确数值,每个用电器测试100 次后计算出平均值,具体实验结果如表1 所示。
表1 电参数实验结果统计表
A 组为低功率用电器,B 组为高功率用电器,C 组为高功率和低功率用电器混合,D 组为测量过程中随机增减用电器,该装置通过将电参数和谐波分析结合后通过
(a)识别模式 (b)学习模式阈值判断负载为什么用电器,本文每组分别测试50 次后得出结果,具体结果如表2 所示。
表2 用电器分析实验结果统计表
5 结语
本文通过STM32F103C8T6 单片机和CS5463 模块设计了一款可进行人机交互的用电器分析识别装置,软件部分主要采用计算电参数真有效值和FFT 算法实现对数据更加准确的处理,数据处理后通过提前设置好的阈值与学习模式下所记录的数据库进行匹配后在LCD 屏幕上显示。
根据实验结果分析电参数测量准确性平均达到97.5%以上,也可以实现大小功率用电器的同时测量,随机增减用电器时准确率也可达到94.4 %,可以完成日常生活中绝大多数的用电器测量。相信随着智慧城市的建设和智能家居的普及,本装置可以适用于更多场景,为更多家庭带来生活上的便利。