基于STM32的12kV电力开关柜模型结构与控制设计
2021-01-30唐子峻陈俊江
唐子峻,陈俊江
(闽江学院 计算机与控制工程学院,福建 福州 350108)
12kV电力设备被大范围地应用于发电厂、设备制造及轻工等各个行业中,其稳定且安全的系统运行和工作状态本身就是现代用电设备的重要技术保障。随着使用年限的增加和材料老化情况的不断恶化,其存在的电气风险问题。
电力开关柜所可能存在的突发性电气事故风险主要可以认为有两个基本方面:其一,主要是对于电力开关柜本身的结构造成风险,比如:开关柜排线的绝缘老化、短路、过电压等;其二,主要是对于电力设备和工作人员的造成风险。因此对这些电力开关柜内部环境进行实时的监测和远程监测也是必不可少的。
本文采用传感器技术完成对电力开关柜的数据收集,采用通讯技术完成对电力开关柜的数据传输和监测工作。以上这些技术的采用,很好地解决电力开关柜的远程监测和监测,即使工作人员不在现场,也能准确的得知电力开关柜的运行情况,实现自我调节,防患于未然[1]。
1 系统模块设计
1.1 系统的组成框图
开关柜的实时监测系统的结构(图1)可以大致划分为主要的5个模块:处理模块、传感器模块、继电器模块、显示模块以及通信模块。
1.2 实时时钟介绍
1.2.1 实时时钟寄存器RTC
图1 电力开关柜实时传感器监测系统的总体结构和框架图
图2 RTC 框图
设计利用STM32单片机的实时时钟RTC定时器,实现时钟日历功能。该时钟寄存器应用连续技术,通过修改计数器的值,重新设置系统初始化时间。RTC模块和时钟配置系统(RCC_BDCR寄存器)是在后备区域,即在系统复位或从待机模式唤醒后RTC的设置和时间维持不变[10]。
RTC的简化框图,如图2所示。RTC由三个主要部分构成:APB1接口和APB1总线、RTC预分频模块以及一个32位可编程计数器,可通过APB1总线对寄存器进行读写操作[11]。若设置RTC预分频模块的相应允许位,则RTC可在每个TR_CLK周期中产生一个秒中断。32位可编程计数器可以设置成初始化时间,按秒钟计算,可以记录4294967296 s,约为136年。
1.2.2 实时时钟程序
在RTC_Set()函数中设置初始化日期与时间。系统启动后,初始化RTC时钟即RTC_Init()函数,配置相关函数,使能秒中断,监测时钟是否工作正常,在相应的后备寄存器中写入相关程序数据。初始化RTC时钟后,开始设置时钟,以1970年1月1日为基准,把之前设置的初始化的日期与时间转换为秒钟。利用RTC_Get()函数进行数据处理,分别获取年、月、日、星期、时、分、秒,最后将数据传送至LCD液晶屏,利用LCD液晶屏显示。程序系统框图见图3。
图3 实时时钟系统框图
1.3 温湿度及电流电压监测模块
1.3.1 温湿度监测模块
首先是单片机判断该设备是否存在,单片机会发送一个信号,拉低数据线电位保持18 ms左右,然后再拉高数据线电位保持20 μs左右,然后继续拉低数据线电位保持40 μs左右,最后返回一个响应信号给单片机(图4)。
确认硬件设备正常后开始进行设备的数据传输(图5),传输的数据可以作为一个数据包,数据包里面包含40个位的温湿度信号,湿度的整数小数各8(bit)、温度的整数小数各8(bit)以及8(bit)的数据校验位[11]。
1.3.2 电流电压监测模块
图4 温湿度传感器程序流程图
图5 温湿度监测数据发送信号流程图
电压传感器和电流传感器均采用单线杜邦线连接单片机引脚接口,单片机通过引脚将引脚的模拟量转化为引脚的数字量进行计算得出ADC的数值(图6)。
图6 ADC模数转换流程图
单片机端口电压:ADC值×(3.3/4096)
由于电压传感器监测的电压值是实际测量电压值的五分之一,所以实际电压值为端口测量电压值的5倍。
电压传感器的电压值计算公式:
ADC值×(3.3/4096)×5 V
电流传感器的电压值计算公式:
当电流传感器没有监测到电流通过时,电压值为设备供电电压的1/2,分辨率为185 mA/V。
即:[ADC值×(3.3/4096)-VCC/2]/0.185 A
1.3.3 实时性和滞后性分析
实时性:温湿度实时监测从而控制散热器、除湿器工作,防止开关柜器件长期处于高温潮湿环境下工作。电流电压实时监测从而得知内部线路是否正常连接,为线路漏电做预防。
滞后性:当开关柜长期处于高温、潮湿环境,会加速器件的老化,从而引发事故的发生。当开关柜发生漏电情况未能及时地发现,会引发电气爆炸等安全事故问题。
1.4 LCD显示模块
LCD液晶显示器的软件设计方面主要包含了初始化LCD显示器、设置X、Y坐标、清除存储空间内的LCD数据以及将写入数据到LCD显示器的存储空间这4个主要步骤的操作过程(图7)。
图7 显示屏模块流程图
1.5 除湿模块
除湿模块利用5 V的继电器作为开关,除湿器负端接继电器常开触头,继电器信号口接STM32单片机信号I/O口(PA3),进而实现控制除湿器启动关断的目的,5 mm的除湿器由变压器220 V转12 V的开关电源提供电。
当湿度大于等于80%时,将SMT32单片机信号I/O口(PA3)置1,(PA8)置0,闭合继电器的常开触头,接通除湿模块,LED0灯点亮;当湿度小于80%时,将信号I/O口置0,断开继电器的常开触头,断开除湿模块,LED0灯灭。
1.6 散热模块
散热模块利用5 V的继电器作为开关,散热风扇负端接继电器常开触头,继电器信号口接STM32单片机信号I/O口(PA4),进而实现控制散热风扇启动关断的目的,散热风扇由变压器220 V转12 V开关电源提供电。
当温度大于23 ℃,将STM32单片机信号I/O口(PA4)置1,(PD2)置0,闭合继电器的常开触头,接通散热模块,LED1灯点亮;当温度小于23 ℃时,将信号I/O口置0,断开继电器的常开触头,断开散热模块,LED1灯灭。
1.7 数据传输
单片机通I/O口PA9、PA10接USB-232数据线连接电脑。单片机通过CS()函数向PC端发送一串16进制的实时电气变量:温度、湿度、电压、电流。CS()函数如下,在CS()函数中利用if语句控制单片机传送数据的时间,利用printf语句发送实时数据,在main函数中循环该函数实现数据的实时传输。 而XCOM V2.0通过监测串口将数据显示在主界面上,图8上位机显示界面。
图8 上位机显示界面
2 系统调试
2.1 硬件电路的调试和结果分析
调试硬件电路的2个步骤主要分别表现为:静态硬件调试和通电硬件调试。
2.1.1 静态硬件调试
单片机静态的硬件调试主要包括对单片机电源设备的检查、温湿度传感器设备检查、电流传感器和电压传感器的设备检查、继电器的设备检查。
⑴ 单片机电源的设备检查:先把所有的用电设备从电路板上全部拔下来,然后给单片机电路板上5 V供电电源,最后按照接下来的顺序用万用表检查所有的电源入口电压的电压情况和出口电压的电压情况。
⑵ 温湿度传感器的设备检查:先检查确保温湿度传感器没有出现任何的损坏,检查供电电源线路是否正常,再根据线路连接直流电源和地线,最后连接上单片机的数据线。
⑶ 电流传感器和电压传感器的检查:先确保电流传感器和电压传感器硬件正常,然后检查供电电源,分别连接电源和地线,然后接上单片机。电流传感器和被测设备进行串联连接,电压传感器和被测设备进行并联连接。
⑷ 继电器的设备检查:先确保继电器的供电电源是否正常,接地端必须与单片机同时接地,最后将开关的控制线连接单片机的控制引脚端口。而开关部分先将继电器常开端口和公共端口与控制电路进行串联,使其能开关部分能够正常地进行控制散热器和除湿器的自动开启和自动关闭。
2.1.2 通电硬件调试
所谓的通电硬件调试就是指在一台单片机完成系统上电后,需要确认单片机系统的每一个模块和处理器等设备是否能够正常工作,故要进行测试。首先是的单片机通过内部时钟计算出星期、年月日、实时时间并在LCD显示器上进行数据显示;其次是通过温湿度传感器设备、电流传感器设备、电压传感器设备的端口进行状态的监测;然后在LCD显示器上更新显示设备的运行状态;最后加热环境测试到达一定的阈值以此来判断控制散热器的继电器和指示灯是否正常工作,加湿环境测试到达一定的阈值以此来判断控制除湿器的继电器和指示灯是否正常工作。
表1 传感器数据与实际测量数据对比表
2.2 软件调试
使用单片机软件进行断点调试,使得各个功能模块完成单独的调试并且成功后,再将这些各个功能模块都进行整合,进行一个总体的单片机功能系统调试。
单片机系统软件的调试过程主要是通过以下步骤来实现的:
⑴ 编写各个功能模块程序,对各个模块分别进行断点调试。
⑵ 将前面编写的程序集合到一个主程序里面进行联合调试。
本次使用的调试软件是KEIL,首先在KEIL软件编写温湿度及电流电压实时监测系统的主程序和子程序,主程序经过汇编后产生.Hex的格式文件,然后将生成的文件通过数据线烧写到单片机中进行硬件的调试。
3 误差分析
根据DHT11温湿度传感器传回数据与实际温湿度传感器进行数据对比,其数值相差在1左右。
根据电流传感器和电压传感器传回的数据,由于精确到小数点后3位,随着时间变化,数据会出现较小的波动,与万用表数据测量数据进行对比。数据对比见表1。
4 总结
在查阅相关的开关柜资料,发现国内外对电力开关柜的电气量的监测是十分重视的。本次课题的设计是制作开关柜模型,以及基于STM32单片机进行实时的电气量的监测,在其中利用到了GPIO以及延迟函数的使用方法,再到电流电压的端口电压的监测从ADC的模数转换的相关参数的配置,以及根据温湿度传感器时序图来接收数据。测量得出实际结果与测量结果偏差不大,程序运行成功。