1. 引言
在过去几十年,人类的科学技术有了迅猛的发展,先进的通信技术、自动化技术、物联网技术和控制技术不断地渗透到人们的日常生活中的各个领域。随着时代的进步,人们在有所居的条件下,已经开始追求居住环境的信息化、智能化,希望能够拥有一个绿色、舒适、高效、可控的家居环境,因而智能家居系统已成为当今嵌入式系统的研究热点 [1] [2] [3] [4] 。随着技术的发展,智能家居系统也有许多不同的设计方案。文献 [1] 基于ZigBee无线通信技术设计了一类基于ZigBee的智能家居系统,明光照、李鸥等人在其文献 [2] 中将无线传感器网络(WSN)和电力线通信(PLC)用于实现智能家庭控制网络,文献 [4] 结合物联网设计了基于ZigBee的智能家居系统和电力线载波通信技术。
自智能家居的概念被提出以来,智能家居的用电能耗管控系统也逐渐成为人们关注和研究的焦点。尤其是最近几年,随着各种智能家电进入家庭,电作为一种与人们日常生活息息相关的产品,对其的有效管控,更是成为了一个困扰人们的难题。针对智能家居用电能耗管控问题,也进行了大量的研究并提出了各种方案 [5] [6] [7] [8] 。文献 [5] [6] 基于IEEE 802.15.4和ZigBee技术设计了一类能耗管控系统,文献 [9] 开发了一个多目标混合整数非线性规划模型,用于智能家居中的最佳能源使用,谷全琦教授在文献 [10] 对硬件与通信设计,传感技术和机器学习算法的应用提出了一种智能家居能量管理系统(SHEMS)。
在智能家居能耗管控系统设计中,对于电器能耗信息采集方式也有不同的方案,其中就包含对于智能插座的设计。文献 [11] [12] [13] 分别设计了几类智能插座,通过智能插座监控家中所有电器的信息并将其收集到后台服务器数据库中,并根据数据控制电器设备开/关时间以达到节约能耗的目的。然而,上述的这些能耗管控系统以及智能插座设计方案存在功能都不够全面,在人机交互界面设计上不够友好,使用不够方便以及成本较高等问题。
本文针对之前的这些问题,提出设计了一类智能家居用电能耗管控系统。该系统能够对家庭用电设备的运行状况进行实时的监控;能够在用电设备或线路故障时,起到有效的保护作用;能够通过适当的控制算法,实现节约用电的目的。本系统通过对智能插座的设计解决了通过Zigbee终端节点实现对各模块的控制和信号的传输、利用各种保护模块实现了故障检测和保护、利用电能计量模块(CS5460A)实现了对电能的计量问题。在Zigbee通信网络部分系统对包含硬件设备的设计、网络类型的选取和铺设等部分进行了设计,同时,系统又通过对上位系统的设计解决了数据库的建立、数据库服务器的建立、Web服务器的建立、用户端的功能实现等问题。本文所提出设计的智能家居能耗管控系统为普通家庭提供了一种低成本的智能用电管控系统。
论文结构如下。第二部分介绍了系统的整体架构。第三部分详细介绍了系统的硬件设计。上位系统的软件设计和系统应用层的技术架构在第四部分给出。第五部分给出了系统的控制算法设计。本文以第六部分总结结束。
2. 系统整体架构
本文设计的智能家居用电能耗管控系统的整体架构如图1所示。本系统设计主要包括:智能插座、入户电表、家庭Zigbee局域网和用于系统整体控制的Web服务器等。智能插座内部集成了电能计量模块CS5460A、各种保护模块和Zigbee终端节点,智能插座直接与用电器相连,能够通过CS5460A模块采集用电器的用电信息,并通过家庭内的树状Zigbee局域网将用电信息和用电器的工作状态传输给家庭主机上的Web服务器。由服务器对采集到的各用电设备的用电信息进行分析处理,并结合系统内的控制算法获得相应的控制策略和具体指令。然后再经由Zigbee局域网将相关指令下达给各智能插座,由智能插座控制各用电设备的工作状态。同时,用户可以直接或通过手持移动终端间接的访问家庭主机上的Web服务器,实时的了解和控制家庭各用电设备的工作状态。系统设计时需改进入户电表,使其具有RS485和RS232接口,通过RS232接口可将入户电表中的信息传输至家庭主机,通过RS485接口可以将每户的用电信息汇总到每栋楼的汇总设备上,再经该设备上的GPRS模块将汇总后的信息发送给地区供电所。
3. 系统硬件设计
系统的硬件设计是整个系统实施的基础,硬件的设计主要包括:智能插座的设计、Zigbee节点的硬件设计和入户电表的改进。
3.1. Zigbee节点硬件设计
本系统设计时采用树状Zigbee网络,包含Zigbee终端节点、路由器节点和协调器节点的设计。Zigbee的三种节点在硬件结构上基本相似,对Zigbee模块核心板的设计后,在核心板的基础上进行适当的修改便可以分别得到其他三种不同的节点。Zigbee核心板内部集成了CC2591和CC2530芯片,是实现Zigbee自组网技术的核心。CC2530采用CMOS解决方案,内部使用增强型8051内核和频率为2.4 GHz的射频发射器,最大发射功率为4.5 dBm,适用于IEEE 802.15.4协议标准下建立庞大的网络节点,且成本低。CC2530的数字内核和外设由一个AMS117电压模块供电,还包括一个电源管理功能,可以保证CC2530在不同供电模式下正常运行,实现降低功耗目的。CC2591为射频发射功率放大器,可大大提高信号数据的传输距离。核心板的设计原理如图2所示。
Figure 2. ZigBee core board design schematic
图2. ZigBee核心板设计原理图
Zigbee终端节点集成在智能插座内部,同时作为智能插座的控制单元和通信模块,只需要在核心板的基础上焊接多个排针,用于核心板与插座间的信号传输,便可完成核心板向终端节点的转换。Zigbee路由器节点主要充当终端节点和协调器节点间信号传输的桥梁,所设计的核心板能够完全满足路由器节点的所有要求。Zigbee协调器要和家庭主机间进行数据传输,因此在核心板的基础上,利用MAX3232芯片,设计一个RS232串口电路,以便完成核心板向协调器的转换。
3.2. 智能插座硬件设计
方案设计中智能插座功能的实现主要是通过具体的模块组合实现,主要包括:电源模块、计量模块(CS5460A)、ZigBee终端节点、保护模块和基于BTA16-600B芯片的控制模块等五部分组成,电源模块采用AD-DC开关电源,经变压、整流、滤波、稳压等步骤,将220 V交流电变为5 V直流电,然后分别通过7805芯片和AMS1117芯片为其它模块分别提供5 V和3.3 V稳压电源。智能插座的整体结构如图3所示。
(1) 计量模块
采用Cirrus Logic公司的CS5460A芯片分别对每一个插孔上的用电器进行电量采集。利用ZigBee模块控制CS5460A模块来精确测量瞬时电压、电流、功率,以及计算有功和无功功率,基波有功功率、谐波功率和功率因数、电压、电流有效值、瞬时交流电压和瞬时交流电流。经CS5460A芯片内部的滤波、限幅等处理之后,以脉冲方式输出功率、电压和电流的有效值,从而便可以实时知道电量的使用情况。由于CS5460A芯片虽然可以采集交流电流和交流电压信号,但其采样信号亦有其采样范围,因此需要相应的采样负载,所以系统设计时为其设计了相应的采样电路,通过该方法,该系统能够对负载线路进行实时的监控:
a. 电流采样:首先让电流流经50的定值电阻,然后用CS5460A模块的IN+和IN-端口测量其两端的电压,由于该电阻的阻值是固定不变的,所以可以利用欧姆定律
来计算线路电流。
b. 电压采样:首先使用5M和5K的耐压电阻对电压进行分压,然后用CS5460A的VIN+和VIN−端口对电压信息进行采集,最后由CS5460A芯片利用其内置DSP算法计算出待测电压值。
在该系统的设计中,ZigBee模块只对各CS5460A采样模块的SDI、SD0、SCLK、INT、RESET、CS等六个端口进行控制,该插座的各插孔的CS5460A模块需要向ZigBee模块传输数据时,利用ZigBee模块对CS5460A芯片的片选引脚CS进行控制,从而实现ZigBee模块对多个CS5460A模块的信号采集。具体电路如图4所示。
(2) 保护模块
为了实现对整个智能插座的保护,保护模块被连接在智能插座的进线端。当线路或负载发生故障时,保护模块可以控制负载电路或用电线路的通断,进而实现快速保护电路的功能。保护模块主要可以实现防雷保护、短路保护、漏电保护等功能。
a. 防雷击:防雷击模块主要由压敏电阻、瞬态二极管、气体放电管等浪涌保护器组成。当浪涌雷击电压(电压在6 KV左右)过来时,模块的阻抗会快速的降低,将浪涌电压泄入地线中,并将电源电压钳位在恒定值附近,从而保护智能插座上的用电设备不受雷电影响。
b. 防短路:在插座内火线线路上串联一个TRF250-2000自恢复保险丝,当线路发生短路或过载时,自恢复保险丝形成高阻状态,工作电流迅速减小,从而对电路进行限制和保护。当故障排除后,自恢复保险丝恢复为低阻状态,从而对电路形成保护,且无须人工更换。
c. 防漏电:将智能插座接地,并在此基础上增加漏电保护器。漏电保护器被安装在线路中,其一次线圈被连接到电网线路中,二次线圈被连接到漏电保护器的脱扣器中。当设备的外壳发生漏电且被人触及时达到该漏电保护器所限定的动作电流值时,从而自动开关脱扣,关断电源,起到漏电保护的功能。
4. 上位系统设计
4.1. 用电信息采集
对CS5460A模块的初始化包括系统初始化和串口初始化,初始化可以采用软件和硬件两种方法。在使用软件进行初始化时,由于初始化的命令较多,容易造成初始化失败,进而造成芯片的转换失误,因此使用软件方法进行初始化时,必须进行反复的调试。而使用硬件方法进行初始化时通过ZigBee模块给CS5460A模块的端口一个持续50 ms以上的低电平信号,该方法较前种方法更简单易行。但是在用以上方法进行初始化后,有时会出现串口与SCLK的不同步,此时必须对串口重新初始化。CS5460A初始化流程如图5所示。
Figure 5. CS5460AInitialization flowchart
图5. CS5460A初始化流程图
对CS5460A初始化后,通过其引脚采集瞬时电流信号和瞬时电压信号,将瞬时电压和瞬时电流信号相乘得到瞬时功率的采样值,每次A/D转换周期后,瞬时功率的采样值便以24位无符号或有符号的形式储存到周期计数寄存器中。CS5460A的采样流程如图6所示。
Figure 6. CS5460ASampling flowcharing
图6. CS5460A采样流程图
ZigBee终端节点通过中断的方式读取CS5460A寄存器内的数据,首先ZigBee模块要向CS5460A模块发送一个8位字节的命令,然后CS5460A模块对接收到的命令进行译码,译码结束后,ZigBee模块通过SDO引脚读取数据。在读取过程中,每一个寄存器数据的读取需要耗费32个SLCK时钟信号,前8个是用来确定寄存器的地址,后24个才是用来对数据进行读取。从CS5460A中读取的数据并不是最终的监测结果,必须对其进行相应的处理:系统的系数由输入的预定值与寄存器校准后的读数相除得到;最终的测量结果为系统系数与寄存器读数的乘积;ZigBee模块还可以对读取到的功率值进行累加,计算出总的电能消耗。
4.2. ZigBee局域网的建立
用系统使用ZigBee无线自组网技术,以Z-Stack栈协议为基础,通过IAR软件进行具体编程,通过向CC2530芯片中烧录不同的程序可以实现不同ZigBee节点类型。ZigBee局域网有三种网络拓扑结构,由于星形结构无路由节点,网状形又比较复杂,所以选用树形结构。在设计时该系统充分考虑到如果仅仅通过增加功率的方式来增强ZigBee模块的传输距离,可能会对敏感用户(婴儿、孕妇等)产生不必要的电子辐射。所以系统尽可能地使ZigBee保持较低功率运行,并在房间内辅以无线路由节点来增加信号的传输距离。
(1) 协调器节点的自组网
协调器上电后首先对该子网内的所有节点进行软硬件初始化,然后通过扫描各网络节点的空信道建立起自己的网络。在进行信道扫描时,协调器将帧BEACON_REQ发送给各节点信道,若得到响应,则表明被扫描的节点已经属于另一个网络,协调器会自动切换信道,直到扫描到没有响应的空信道为止,并在该空信道上建立起自己的网络。协调器建立起新的网络后,便会不断的接收来自终端节点和路由器节点的入网请求,并对符合入网的节点发出允许入网响应,并为每一个节点分配唯一的网络地址。若节点接收不到来自协调器的响应,便会重复的发出入网请求知道收到允许入网响应为止。协调器的工作流程如图7所示。
Figure 7. Coordinator networking workflow flowchart
图7. 协调器组网工作流程图
(2) 终端节点的入网
Zigbee终端节点集成在智能插座的内部,是智能插座的控制核心和通信模块。终端节点上电初始化后,经路由器节点向协调器发出入网请求,一旦得到协调器的肯定响应后,便会加入该协调器网络,否则终端节点会重复向协调器发出入网请求,直到收到允许入网响应。入网后,终端节点一直处在工作状态,实时的监测智能插座各模块的工作状态,并以轮询的方法读取插座上多个CS5460A芯片的采集数据,并将接收到的所有数据经路由器节点传输到协调器节点。路由器节点的入网流程和终端节点的入网流程基本相似。终端节点的工作流程如图8所示。
4.3. 系统应用层技术架构
系统应用层,利用Oracle11g数据库存储系统运行过程中产生的各种数据;利用3D MAX软件创建家庭3D模型,用于实时、动态、立体的展示家庭各用电器和智能插座等设备的运行状态;利用JAVA、JSP、HTML和Javascript开发该系统的Web服务器,用户通过访问该服务器可以实时的监控家庭各用电设备的运行状况,并结合算法为用户提供用电指导。系统服务器会定时将家庭的详细用电信息通过网络发送到供电部门,有利于供电部分为未来一段时间的供配电做出更加合理的安排。根据数据的种类和产生的方式,系统数据库被划分为:用电信息数据库、设备管理数据库、算法数据库和系统数据库。用电信息数据库用于存储家庭在过去一段时间各用电器的具体用电信息,包括功率、用电时间、能耗等;设备管理数据库主要用于存储设备的工作状态、使用时间段、故障信息等;算法数据库用于存储指导家庭用电的控制策略;系统数据库主要用于存储系统建立和运行过程中产生的各种数据,比如用户信息、系统运行和访问情况等。系统的应用层技术架构如图9所示。
Figure 9. System application layer technical architecture
图9. 系统应用层技术架构
5. 系统控制策略
5.1. 电器模式识别
对于家用电器的模式识别主要从家用电器的类型与状态两方面进行识别。对家用电器进行模式识别时,首先要建立各家用电器的特征参数样本模型库,以模型库中的特种参数作为依据来识别当前智能插座上所连的电器类型及其工作状态。
(1) 家用电器特征参数样本模型库建立
在建立样本模型库时,选取有功功率P,功率因数
,电流波形相关度S,电流波形波动系数Y,电流波形启动脉冲系数Z五个参数作为电器特征参数。电流相关度S定义为采样电流幅值与本地样本库中电流幅值的互相关系数,电流波形波动系数Y可以准确反映电流的幅度变化量,波动系数越小,电流幅度变化越小,电流波形越稳定,电流波形启动脉冲系数Z可以反映反映各电器在启动时刻电流波形的脉冲幅值关系。各特征参数可由以下公式确定。
有功功率P:
(1)
功率因数
:
(2)
电流波形相关度S:
(3)
其中,x表示智能插座实时采样的电器电流幅值数据,a表示Y样本模型库中已有数据。
电流波形波动系数Y:
(4)
其中,
表示为相隔一个电流采样值之间的幅值差。
电流波形启动脉冲系数Z:
(5)
其中,
表示电器开启时间段内电流采样脉冲峰值,
表示电器开启完成时电流稳定值,
表示电器开启之前电流稳定值。
系统预建立的样本模型库可以不断更新,对于用户家庭新增电器可以进行自我学习更新,同时用户也可在上位机客户端中对样本模型库中的电器列表进行管理,尤其是用户可以主动添加家庭新增电器进入样本模型库中。
(2) 对智能插座所连未知电器进行实时采样,并计算该电器各特征参数值。
(3) 将该电器的各项特征参数值与样本模型库中的各电器的特征参数值进行一一比对,识别出当前未知电器的类型和状态。
5.2. 系统控制策略
本文设计的智能家居用电能耗管控系统能够对家居用电实现有效的管控,能够实时的对家庭内各用电设备的运行情况进行全面的监控并对家居电器进行自动控制,因而可以减少与用户交互带来的麻烦。为了更精确地捕捉用户的使用习惯,本文采用了时间序列预测算法,通过记录用户过去时间的电器设备数据,来预测现在时刻的数据,以便准确预测电器动作。
对家用电器电能参数的预测本文采用时间序列模型中的二阶自回归模型(AR2),该模型参数求解相对简单,又能同时兼顾时间的规律性和事件的偶然性,可以做到在线预测。
将二阶自回归模型定义为:
(6)
其中,
为模型参数,
是具备均值为0,方差为
的白噪声序列。
自相关函数定义为:
(7)
自相关函数矩阵估计耶鲁–沃克(Y-W)方程为:
(8)
由上式可以求得
(9)
可由下式求得
(10)
其中,x为采样参数。
6. 结论
本文所设计的智能家居用电能耗管控系统通过运用数据库技术、B/S/S架构的Web服务器技术、ZigBee技术、3D技术和自动控制等技术,充分提高了家庭用电的管理水平和智能控制效果,为住户提供一个更加便利、安全、舒适的家居环境。用户通过系统提供的家居3D效果图,可以直观地看到家庭各用电设备的用电和运行情况,能够通过电脑或手机远程控制各用电设备的工作状态。系统采用智能控制算法,可以根据用户使用习惯,实现对家居电器的智能控制,有效地进行用电能耗管控,节约能源。本文所提出设计的智能家居能耗管控系统为普通家庭提供了一种低成本的智能用电能耗管控选择方案。