基于STM32与LabVIEW的光伏发电数据监测系统设计
2024-08-01马星宇李国利王翠红冯飞刘一诺
关键词:STM32 单片机;光伏发电系统;数据监测;LabVIEW
中图分类号:TP277;TH741 文献标识码:A
0 引言
随着科技的发展,能源需求不断增加,各国面临着共同的能源挑战,需要采取积极策略解决能源问题。光伏发电是一种零排放、可持续的可再生能源形式,对于实现碳中和、改善环境具有极其重要的意义[1-3]。
光伏电站需要对光伏发电量进行实时监测,分析系统是否正常运行,实时监测电能质量,包括电压、电流、频率、功率因数等参数[4-6]。叶琴瑜[7]研发了基于数字信号处理技术和云服务的光伏并网发电监控系统。严莉莉等[8] 设计了基于LabVIEW软件和无线通信技术的光伏电池组件参数监测系统,系统可实现运行参数的实时显示、波形显示和数据存储。刘代勇等[9] 以太阳辐射传感器作为太阳能辐射强度监测传感器,以遥测终端机作为监测数据自动采集的核心,以通用分组无线业务(generalpacket radio service,GPRS)作为数据传输方式,设计了一套光伏电站太阳能资源监测系统。
本文基于STM32 单片机与LabVIEW 开发了光伏发电数据监测系统。该监测系统能够对光伏电池板的工作电压、电流、光照强度、环境温湿度、大气压强、火灾信息等数据进行检测,并通过串口模块与上位机LabVIEW 进行软件通信,从而实现对光伏发电数据的实时监控。
1 系统总体方案设计
本文介绍的光伏发电数据监测系统常应用于光伏电站,安装位置在光伏电池板下方。系统设计目标是全面监测光伏电池板发电时的关键参数,包括电压、电流、热斑、光照强度、环境温湿度以及大气压强,并实现火焰报警和上位机实时数据监控等功能。
该系统的设计要求如下。
(1)电压、电流检测:确保光伏电池板的电压、电流稳定,从而保证系统的可靠运行和高效发电。
(2)热斑检测:采用分布式多机位方案,及时发现和防范可能引发火灾的热斑问题,保障设备和人员安全。
(3)光照强度检测:利用成本较低的模块替代太阳辐射度测量仪器,实现对太阳辐射度的准确监测。
(4)环境温湿度检测:监测环境的温度和湿度变化,确保光伏转换效率的稳定,保障设备长期可靠运行。
(5)大气压强检测:监测光伏电池板周围环境大气压强的变化,为系统运行提供参考。
(6)火焰检测:对光伏电池板周围环境进行火焰检测,若发现火情,系统能及时报警并采取相应措施。
(7)上位机实时数据监控:通过与上位机通信,实现对系统所有检测数据进行实时监控,以及数据存储与分析,为运维人员提供及时有效的数据支持。
该系统的测量模块包括霍尔电流传感器模块、温度检测模块、温湿度检测模块、光照强度检测模块、大气压强检测模块、火焰检测模块。STM32 芯片负责接收处理数据并控制报警模块,然后将数据上传上位机,上位机进行数据通信、数据处理、数据显示、数据存取等操作。
2 系统硬件设计
2.1 MCU 主电路设计
STM32 芯片工作电压为2 ~ 3.6 V,48 个引脚中有37 个为通用输入/ 输出(general-purpose input/output,GPIO)口。配备两个12 位模拟数字转换器(analog to digital converter,ADC)、7 个定时器、多个通信接口。主电路原理如图1 所示。
电源电路主要由供电电路和稳压电路组成。供电电路使用USB 接口供电、5 V 电源输出;稳压电路使用一款固定输出的高性能线性稳压器芯片,具有超高的电源抑制比和极低的压差。
2.2 数据采集电路设计
光伏电池板通过端口接入, 经R4、R14 分压至微控制单元(microcontroller unit,MCU)的ADC 口测量电压; 另一路接入ACS712 的IP+,IP- 接JP2 的负载, 测量电流(VO) 为0 A 时,VO=VCC/2,VO 偏移量为180 mV/A,量程为5 A;被测电流经过电阻分压接入MCU 的PA1 接口进行公式换算即可得出被测电流数值。热斑检测电路有3 个DS18B20 传感器,分别接入MCU 并测量温度,反馈光伏电池板热斑状态。光照强度检测电路通过稳压和电平转换后,采用集成电路总线(interintegratedcircuit,IIC) 协议与MCU 通信, 其中SCL 接PC14,SDA 接PC15。
2.3 温湿度、大气压强和火焰检测电路设计
数据输出口DATA 在接入4.7 kΩ 上拉电阻后与MCU 的PA4 口连接进行串行通信。湿度和温度数据均使用8 位整数和8 位小数的数据格式,再加上8 位的校验码,共计40 位数据。这种数据格式可以保证数据的完整性,且高位先出。
大气压强检测电路由BMP180 芯片、稳压电路与电平转换电路组成,芯片通过稳压电路和电平转换电路后使用IIC 通信协议与MCU 进行通信,其中SCL 引脚与MCU 的PB6 连接,SDA 引脚与MCU 的PB7 连接,CSB 和SDO 悬空,无须连接。
火焰检测电路主要由红外发射管、电压比较器、滑动变阻器等构成。红外发射管检测火焰,电压比较器负责阈值的检验,当光线亮度低于阈值时,电压比较器输出高电平;当光线亮度大于阈值时,电压比较器输出低电平。电压比较器数字输出口连接MCU 的PC13。滑动变阻器可以改变火焰检测阈值。
2.4 USB 转TLL 串口电路设计
USB 转TLL 串口电路主要由CH340G 芯片电路、降压电路、指示灯电路组成。芯片电路负责PC 与MCU 之间的电平转换,芯片电路中的晶振保证了其与MCU 信号的同步;降压电路将USB 供电转换为MCU 的工作电压并带有电压保护电路;指示灯电路包含电源指示灯、数据发送指示灯、数据接收指示灯,用于判断模块的工作状态。
3 系统软件设计
系统的软件设计总体可分为下位机程序设计和上位机程序设计两大部分,下位机程序采用Keil5进行设计;上位机程序使用LabVIEW 实现光伏发电数据监控与存取等功能。软件总体设计框图如图2所示。
STM32 程序初始化包括系统时钟、定时器、中断、延时等模块。在进入while 循环后执行串口和数据采集程序,比较实际值与用户设定的报警设定值,超过设定值则触发故障报警模块。系统上位机程序模块化,启动时可选USB 连接,并且设置波特率。用户确认后,数据经USB 数据接收模块的处理与校验,传至分析模块进行算法处理,绘制波形图并存储数据。
4 系统测试和试验
在设计下位机印刷线路板(printed circuit board,PCB)之前,需要全面了解所使用元器件的尺寸、规格和面积等信息。在摆放元器件的位置时,需要合理安排,特别是要考虑到增强电磁兼容性、增强抗干扰能力、减少短接线、降低交叉干扰、优化电源和接地路径等因素,以保证设计的可靠性和稳定性。
通过USB 转TTL 串口模块连接PCB 与PC,在PC 的上位机软件上打开光伏发电数据监测系统工程,输入正确用户名和密码即可成功登录。在数据显示界面选择串口和波特率,点击“确认”按钮,即开始数据采集等工作。
4.1 电压电流数据采集调试
将一个光伏电池板接入板上电压测量接口,电机作为负载接入电流测量接口,再分别使用万用表与光伏发电数据监测系统同时进行电压、电流测量,一共测量5 次,每次间隔1 min。监测系统电压、电流测量结果如图3 所示,电压、电流测量数据对比如表1 所示,结果表明系统电压、电流测量值的相对误差在5% 以内。
4.2 光照强度数据采集调试
日常生活中, 光线亮度范围差别较大, 在夏天阳光的直射下室外光照强度可以达到30 000 ~ 100 000 lx, 即使是阴天也可以达到20 000 lx;而室内不开灯环境下的光照强度仅为100 ~ 550 lx。
4.3 环境温湿度及大气压强数据采集调试
环境温湿度及大气压强测量环境处于室内,环境温湿度数据参考温湿度计测量的实时数据;大气压强数据参考手机天气APP 的当地实时环境数据。同时使用温湿度计与光伏发电数据监测系统每隔1 min 测量1 次相关数据,一共测量5 次。环境温湿度和大气压强测量数据如图4 所示,温湿度及大气压强测量数据对比如表2 所示。测量结果表明系统的温度与大气压强测量的相对误差在1.2% 以内,湿度测量相对误差在2.5% 以内。
5 结论
系统采用STM32 单片机采集光伏发电系统及环境参数,通过串口上传数据至上位机,上位机通过LabVIEW 软件实现光伏发电电压电流、热斑、温湿度、光照强度、大气压强、火焰报警等信息的实时显示、存储,实验选取的参数测量相对误差在5% 以内。通过长时间的运行进行验证,该系统运行稳定可靠,适用于中小型光伏电站和家用光伏电站的数据监测。该研究为光伏发电领域的监测提供了一种有效的方案,对于推动光伏发电技术的应用和发展具有积极意义。