基于STM32的高精度电能测量系统设计
2021-12-27郑争兵韩团军王桂宝
郑争兵,韩团军,王桂宝
(陕西理工大学 物理与电信工程学院,陕西 汉中723000)
0 引 言
随着国家节能减排任务的不断深入,能源消耗问题得到重视,电能参数的监测使用情况以及如何监督和优化电能执行方案、合理规划使用电能已成为管理部门管理企业用电的主要依据。设计一种高精度电能监测装置已成为科研单位和环保部门的研究重点。目前,市面上的电能测量存在精度较低、价格昂贵、灵活性较差、功能单一等缺点[1-4]。针对此,本文提出一种功能多样、成本较低的电能测试装置仪器,对电力的各个参数进行有效的监测。系统采用RS 485总线,通过ModBus协议采集电网参数,包括电网的三相电压Ua,Ub和Uc,三相电流为Ia,Ib和Ic,电网的有功和无功功率,电网的功率因数以及电网频率相位等。主控芯片检测到传感器传输的这些数据后显示,并通过可选择的各种方式发送至服务器,上位机接收到数据后显示在PC端屏幕上。整个系统工作稳定、精度较高,可以在工业应用中推广。
1 系统的硬件设计
系统硬件由电量采集部分、温湿度采集数据上传单元和云平台显示三部分构成。通过ATT7022E电量计量模块进行电量的电压电流采样,然后将数据传输到主控芯片STM32处理器,通过串行口可在PC机端查看各电量参数。另一端STM32接收来自主控芯片STM32的数据,对数据进行分析,然后通过DHT11温湿度采集传感器采集环境的温湿度,将数据传输到TFT液晶显示。最后利用WiFi模块ESP8266将数据发送到ONENET云平台。
系统的硬件设计整体方案图如图1所示。
图1 系统硬件设计框图
1.1 电量计量模块电路设计
设计中采用的电量计量模块为ATT7022E,该芯片可以精确、实时地测量三相三线和三相四线常用的各个电力参数[5-7],包含电网三相电压、电网的三相电流、有功以及无功功率、电网的功率因数、相位和频率等。其内部集成了主控芯片和RS 485控制芯片,将三相电通过互感器接入变送器后,变送器上面的数码管显示器可以实时显示当前三相电压电流等参数,主机可以读取温湿度并向变送器发送数据。同时这个变送器可以通过硬件操作的方式来设计其波特率、从机地址、电压变比、电流变比等参数,同时也可以通过ModBus协议下发约定的数据包修改这些参数。计量模块电路设计如图2所示。
图2 电量计量模块电路
1.2 RS 485总线电路设计
设计中需要将数据传输给上位机,首先需明确发送单元与接收单元的地址和数据传输格式。使用RS 485总线将两单元的串口相连接,完成数据对传,可将发射单元地址设置为0,接收单元地址设置为1,将发射单元中所测得的数据通过RS 485总线由串口发送。在此需进行发送过程的配置,接收单元须通过RS 485总线由串口接收数据。经过一定的配置,在此过程中RS 485总线成为了数据传输的桥梁,并且可稳定在接收单元得到准确的数据[8-10]。RS 485总线电路设计如图3所示。
图3 RS 485总线电路图
1.3 WiFi传输电路设计
设计中使用云平台技术的关键在于搭建数据传输网络,网络传输由ATOM ESP-8266无线WiFi模块构建。以TTL级通信方式通过串行端口2工作,该芯片供电电压为3~5 V。
WiFi模块电路设计如图4所示。
图4 WiFi模块电路图
1.4 TFTLCD电路设计
人机交互系统部分,采用低功耗的电容3.2英寸TFTLCD触摸屏与单片机上的管脚直接相连工作,该屏幕上开发者可以直接观察到所需要显示的三相电压、电流、相位、功率、温湿度等参数。该屏幕亮度大,可读性高,具有FSMC接口资源,可以降低开发者的开发任务难度。该屏幕相比传统的微型显示器更加稳定数据不易丢失[11-12]。TFTLCD显示电路如图5所示。
图5 TFTLCD显示电路
2 系统软件设计
系统软件设计是由发射端系统软件设计、接收端系统软件设计、网络数据传输软件设计等部分组成。
2.1 发射端系统软件设计
系统上电开始,通过3条耐压电线上使用的电压互感器和电流互感器,先将三相电转换为系统可处理的电压值;然后微控制器与传感器ATT7022E通过SPI总线通信协议进行数据传输,由ADC通道对经过处理的电能值采样,将其发送给微控制器,通过数据解析和计算公式得到电压以及电流等值。将所得到的数据由串口2发送给RS 485总线,再由RS 485总线发送给接收 端。电 压 的 数 据 解 析 式 为:value=((float)(ReadSampleRegister(0x0D+i))8 192.0;电流数据解析 式 为:value=(ReadSampleRegister(0x10+i)&0x7FFFF)/8 192.0;频 率 数 据 解 析 式 为:value=(float)(ReadSampleRegister(0x1C)8 192.0)。可以实现发射端采集电量数据的软件部分设计需求,把所采集的电量参数记录在内存中,通过程序中的算法处理电压、电流以及电气使用的功率,最后数据存储分析显示功能设计,TFTLCD屏幕显示所测量数据以及配置。将数据上传到平台上的设计部分,其中包括数据的压缩和根据原有所规定的固定格式将数据进行打包出来,发射端软件设计流程如图6所示。
图6 发射端软件设计流程
2.2 接收端软件设计
由发射端处理后得到的电压值、电流值、功率以及相位等电量参数,通过RS 485总线,由接收端微处理器的串口3接收和解析,接收端利用温湿度传感器通过单总线协议进行数据传输,经数据解析,即可得到具体的温度、湿度测量值。使用串口2可将得到的所有数据显示在TFTLCD模块上。温湿度传感器每次传输40 B格式,传输数据格式为先上传湿度数据高低8位,再上传温度数据高低8位。这样微处理器便可得到此刻环境的温湿度值,如若此刻环境温度值高于设置的阈值,则判断发生异常情况,用单片机发送低电平使蜂鸣器报警,此刻电能监管者便可即时地发现异常情况,从而更好地降低异常情况产生的危害。接收端软件设计流程如图7所示。
图7 接收端软件设计流程
3 系统终端
设计整个系统终端,在测试时首先应将3根耐压电线接在3个接线端子上,经电压互感器和电流互感器连接在电压计量芯片的引脚上,将其spi模拟时序管脚SLK、CS、DIN、DOUT分别与微控制器的B15、B14、B13、B12管脚连接起来,再将芯片的硬件设置管脚ATT7022EU-SEL与A8相连用于设置测量范围,微控制器的串口2读写管脚与RS 485总线一端的读写管脚反接。接收端将串口3读写管脚与RS 485总线另一端读写管脚反接,将温湿度传感器DOUT管脚与接收端PA9管脚相连接,WiFi与接收端微控制器串口2管脚相连[13-14]。经上电调试后,各个模块正常工作,能正常完成电量计量功能,也可完成高压环境下的正常数据传输及环境数据监测。系统实物终端图如图8所示。
图8 系统实物终端
4 系统测试与分析
对实验室自然环境的温度和湿度在一段时间内进行测试并记录。通过上位机返回数据开始分析。记录每10 min的温、湿度变化情况,总记录时间为100 min,数据记录如表1所示。从记录的温、湿度数据可以看出,监测系统所测量的温、湿度数据和实际的数据基本一致,误差符合要求,说明该电能检测系统的温、湿度数据符合监测系统设计的需求。由此可知,检测环境各项数据正常,未出现异常情况,芯片耐压、耐温情况较好,电路无温度过高和湿度异常情况发生。此系统可以对高压工作下的芯片环境进行监测,做到对芯片的高温保护,用于完善系统延长系统的使用寿命,
表1 温湿度监测数据
系统对电能各参数也进行了详细测量,通过数据可以分析该装置的电压电流以及频率监测是否达到国家标准要求。软件设计通过串口显示在PC端,其中各参数如表2所示。上位机观测各个寄存器的电压电流、功率、相位等,如图9所示。
图9 寄存器各个数值
表2 电压电流测试数据
接通三相电后,需要在测量线端口接上三相电的用电器,本次接通的是三相电电动机,连接后可在LCD屏幕上明显地观测到所测量的电压电流参数,如图10所示。云平台显示数据如图11所示。可以看出系统能正常工作,达到了设计要求。
图10 测量电压电流显示
图11 上位机显示测量值
5 结 语
本文提出一种基于RS 485总线高精度电能监测系统,通过ModBus协议实现了采集温度、湿度、油温的环境参数和三相电压电流、电能、功率因数、频率等电力参数。通过对系统具体软硬设计和常温测试,得出该系统满足国家对电能监测装置的设计需求。本文系统能在工业环境下测量三相电各个参数,并可以将数据准确地传输给云平台进行统计分析;可以将电量计量电路测算出的各项计量参数统计在所设设备下的数据流中;还可通过云端向下发送阈值设置命令,改变异常环境的温湿度阈值,使得设计系统和通用设备具有一致性且系统精度较高。