基于STM32单片机的分布式智能家居插座系统
2019-01-03阚松松彭雪婷刘文张莅谭承旦吴定祥
阚松松,彭雪婷,刘文,张莅,谭承旦,吴定祥
(长沙理工大学,湖南长沙,410114)
0 引言
在科技不断发展的今天,人们的生活水平不断地提高,以物联网为核心的智能家居产品早已深入到人们生活的方方面面。本文将以stm32为核心设计一款监控温度,家用电器电能情况的智能家居系统,以满足用户对低端智能家居的需求。
1 系统的总体设计
本文中的智能家居系统以STMF103微控制器为核心,选择ESP8266无线wi fi模块进行无线数据传输,手机APP作为终端监测和控制平台来实现数据的传输,接受和处理。通过温度传感器DS18B20,电能检测芯片HLW8012和继电器等硬件实现对室内环境以及家用电器电能使用情况的监控。硬件设计布局如图1所示。
图1
图2
其中家用电器设备是是分布在多个接线插座里,在插座里安装检测装置和控制电路和无线通信装置。检测装置包括温度检测,电能使用情况检测,控制装置主要为继电器装置,通过弱电控制强电。通信装置就是esp8266无线模块,所有信息将上传到手机app终端,将信息反馈给用户。整体设计使用模块化设计,思路清晰。
2 系统硬件设计
2.1 电源电路设计
图2是阻容降压电路,将零线当做公共地线。经安规电容c1降压,二极管整流后,采用IN4738将电源降压到8.2V,再通过线性稳压芯片7805将电压稳定在5V,C2,C3为旁路电容,起滤波作用。该电源电路的输出给芯片和微控制器供电。电路原理与结构较为简单,易于实现和制作。
2.2 温度传感器设计电路
图3
如图3所示,温度传感器选择DS18B20芯片,输出的数字信号,具有体积小,硬件开销小,抗干扰能力强,精度高的特点。该芯片电路结构简单,接线方便,采用5V电源对其供电,并用一个电阻将I/O上拉,采用IIC通信方式,在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。用单片机IIC复用引脚接入,读取数据。电容C4,C5为旁路电容,对供电电源滤波,减小干扰保证稳定的供电,使其正常工作。
2.3 电能采集电路
如图4所示,HLW8012是一款单相电能计量芯片,具有有功功率,电压有效值,电流有效值测量功能。广泛应用于智能家电,节能插座等应用场合。其内部集成内置振荡器,参考电源,外部电路连接简单,所用器件少。主要包括电压,电流的采样。电流信号是通过鏮铜电阻对负载电流采样,将电流信号转化为电压信号。其中图中芯片引脚Vip与Vin为电流信号的差分输入端。电压信号是通过电阻网络分压采样,将用电线上的高电压通过电阻分压降至芯片能够承受的电压范围内,以免导致芯片损坏。Sel脚为模式选择端,当Sel为1时,输出电压有效值,Sel为0时,输出电流有效值。另外HLW8012并不是输出成比例的模拟电压信号,而是输出周期脉冲。其中CF1和CF脚为实际输出引脚。用电器的实际电流,电压和有功功率有效值与输出脉冲的周期成比例。比例值可以通过实际的测量与标准仪器进行校准,可以得到较高的精准度。
图4
3 软件设计
3.1 测量脉冲原理
测量一个脉冲周期的长短,就是测量相邻两个下降沿的时间间隔长度T。单片机测量到脉冲周期后,可以根据比例就可以推算出其对应的功率,电流和电压的有效值。
电压,电流和功率测量流程如图5所示。
3.2 ESP8266无线模块设计
本系统要与手机APP平台建立联系,数据上传程序流程如图6所示。
图5
图6
先由传感器将物理信息转化为电信号,然后由单片机读取传感器传输的数据,再由单片机发送指令到ESP8266无线传感模块,将传感器的数据以无线的形式发送出去,由手机接收到数据,再在手机APP上实时显示出来。
3.3 家用电器一般控制流程
家用电器的状态的数据首先由STM32控制器获取传感器获取的数据,再发送指令控制ESP8266无线传输模块将数据以无线的形式发送,手机接收并在APP上进行实时显示。若需要控制家用电器,则可以用手机APP发送指令,由ESP8266无线传输模块接受信息,交由STM32去执行,即控制继电器的开断状态。
图7
4 结语
本文设计了一种以STM32F103RCT6为微控制器的智能家居插座系统,利用电能采集芯片HLW8012以及温度传感器,无线传输模块,手机APP模块实现对室内温度和家用电器电能使用状态的监控。同时可通过手机APP发送控制指令,最终控制继电器来实现对电器的控制。本系统硬件简单,容易实现,为低端智能家居提供了一种解决方案。