行业应用与交流Industrial Applications and Communications
基于STM32的电力数据采集装置设计
常俸瑞1,刘 超2
(1.广东电网有限责任公司湛江供电局,广东 湛江 524005;
2.南京理工大学泰州科技学院,江苏 泰州 225300)
摘 要:现代电力数据采集自动化程度越来越高,本文设计了一种基于STM32单片机完成了电力数据采集装置,完成了硬件设计
和软件调试,测试结果准确,能够对电流电压信号进行数据采集。
关键词:STM32;数据采集;电流电压信号
中图分类号:TM764 文献标识码:A 文章编号:1003-7241(2019)03-0148-05
Design of Electric Power Data Collector Based on STM32
CHANG Feng-rui1, LIU Chao2
( 1. Zhanjiang power supply bureau of Guangdong power grid Co., Ltd., Zhanjiang 524005 China;
2. Taizhou Institute of Sci. & Tech., NJUST, Taizhou 225300 China )
Abstract: The degree of automation of modern power data collection is more and more high. This article designs an electric power
data collector based on STM32, it completes the hardware design and software debugging, the results of the test are accurate, and it can collect data of current and voltage signals.
Key words: STM32; data acquisition; electrical current and voltage
1 引言目前我国对电力数据采集要求越来越智能化,以此来实现电力系统对数据的快速处理,这样可以使电力系统的运行更加可靠。一个性能优良的电力数据采集系统,可以在相关程序的控制下,将从电力线上采集到的数据进行自动处理,与供电部门的运行维护系统相结合,能够实现无人操作下的用电情况统计,电能分配等功能。电力系统对于数据采集的准确度和实时性的要求将会越来越高。对数据的存储应该实时、可靠,尽量保证可能发生的突发状况都不致所采集到的数据的丢失。
本文应用STM32单片机来完成电力数据采集系统的设计。电力线路上的数据经过STM32芯片将数据进行处理,通过RS-485通讯模块完成数据采集器和STM32芯片之间的通讯,将最后的传送到数据存储器存储,并能在STM32的LCD液晶显示屏上显示出来[1]。在Keil 5的开发环境下设计软件程序并编译,将各个模
收稿日期:2018-02-27
块连接起来并顺利工作。
2 电力数据采集系统的总体设计本系统由模拟量的数据采集模块、数据处理模块、液晶显示模块、W25Q64外部存储器、RS-485等组成[2]。电力数据采集系统总体设计框如图1所示。
图1 电力数据采集系统总体设计
该系统通过互感器把电力线上的数据采集出来,在数据处理电路中进行处理,随后输入STM32F103。经过STM32的ADC模块,将模拟量信号转换为数字量信号。随后把采集到的数字量信号则直接通过STM32的I/O
148| Techniques of Automation & Applications
行业应用与交流Industrial Applications and Communications
《自动化技术与应用》2019年第38卷第3期
口输入,通过中断定时器采集,直接录入STM32F103芯片,与转换成数字量的模拟量信号一同处理。将处理好的数据通过存储模块存储在STM32F103芯片内部,便于查询和分析,并在芯片的液晶屏上实时显示出来,同时为了能使STM32F103芯片能够实现数据的传输,对整个系统进行远程的控制,以及对上位机通讯,可以通过RS-485实现。
2.1 数据采集系统本次设计电力数据采集最主要部分是对电压、电流等模拟量的采集以及对开关等数字量的采集,并且需要将采集到的数据进行处理、存储与传送最后显示出来[3]。
数据采集系统的总体构成如图2所示。
图2 数据采集系统
从电力线上直接采集到的电压、电流信号是交流大信号,但是控制芯片不能直接处理这样的信号类型,所以需要对其进行相关的处理。为了满足各种小信号状态,这部分将采用信号测量放大电路去实现。其主要的原理是运放器通过差动电路测量,通过调节电路中与放大器相连的电阻来改变放大的倍数。放大倍数为:
G=VoutV=1+R1 (1)
inR2具体电路设计如图3所示。
图3 放大电路
2.2 信号滤波与整形电路设计交流小信号虽然经过放大电路的处理,但是在实际测量中,会受到各种磁场的干扰,以及放大电路的本身,
也会产生各种干扰,如果直接进入STM32单片机处理,会造成严重的失真,所以还需要对放大后的信号进行滤波整形。具体的电路设计如图4所示。
图4 信号滤波与整型电路
2.3 采样保持电路设计根据本文的课题设计要求,只需要对一条电力线上的电流与电压的数据进行采集并且显示出来,所以只需要使用单通道的ADC注入模块即可,进行电力线上的电压Ua模拟信号和电力线上的Ia模拟信号的采集,需要把处理好的电压与电流的模拟信号注入ADC模块。当输入信号发生变换时,输出信号要实时的跟进输入信号的变化,因此当信号传送到ADC模块之前要经过采样保持器。其主要的作用是对信号进行间隔采样,在两
次采样间隔时间内,保持着上一次采样结束时的状态。
采样保持器的电路设计如图5所示。
图5 采样保持器
根据以上对整个系统的架构设计,经过比较与选择,确定了使用JSY-MK-109单相互感式计量模块进行作为数据采集器进行数据采集。模块外观图如图6所示。
可测量电压、电流、功率、功率因数、频率等多个电参量并进行数据输出,测量误差低至±1.0%。供电电源为100V或220V,电力线路的电压不低于100V且不高于220V均可。另外,根据该芯片的设计,RS-485通讯接口与供电电源、电压输入端口、电流输入端口之
间相互实现电气隔离,以确保系统安全稳定,并提高绝缘性和抗干扰性。该计量模块的工作环境要求较低,但必须远离烟尘、爆炸、腐蚀气体和导电尘埃,还必须无显著摇动、振动和冲击的场所才可以使用。
Techniques of Automation & Applications | 149
《自动化技术与应用》2019年第38卷第3期
行业应用与交流Industrial Applications and Communications
入中断,将上一次收集到的数据再发送出去,然后,移位寄存器再接收本次发送过来的数据,这样依次循环,直到发送完成最后一组数据。最后,为了表示数据发送已经完成,需要进入中断,将暂存数据的寄存器清空。这样,就可以实现了数据采集器把采集到的数据发送给STM32进行处理的过程[5]。设计RS-485通讯模块的工作流程图如图8所示。
图6 计量模块外观图
3 软件设计3.1 主程序首先,先将系统进行初始化,初始化成功后,外部寄存器开始从电力线上采集电压、电流的模拟量信号。按下按键设置一个时钟中断,该中断成功开启后,运行RS-485通讯模块的程序。此时,外部的FLASH开始发送数据到MCU的内部存储器DMA中,随后进行数据分配。随后,将分配过后的数据发送至A/D模块,进行模拟量到数字量的转换。最后,将数字量信号发送到数据存储器。然后,启动液晶显示模块。通过USART串行通讯接口把数电压、电流信号传输到LCD显示屏上。待液晶显示模块检测到数据,并在LCD显示屏上显示出来后,关闭中断,并清除数据存储器的内部存储,完成一次数据采集。
图8 RS-485程序流程图
3.3 ADC转换模块ADC转换模块的程序流程图如图9所示。首先,使能PORTA时钟端,由于本次设计采用ADC1通道来采集外部电压、电流模拟量信号,所以将PA1设置为模拟量输入。接着,使能ADC1时钟端,保证其在使能后进行一次ADC1通道的复位,并设置ADC1通道的分频因子,以确保ADC1通道的时钟端ADCCLK的最大工作频率不要超过14MHz。随后要设置ADC1通道的工作模式为单次的转换模式。通过定时器TRGO事件进行触,按照右对齐的规格对数据进行存储。接着,需要设置ADC1通道的规则序列。因为在本次设计中,使用了ADC1的一个通道和单次转换的模式,所以,在规则序列中的把通道数
3.2 RS-485通讯模块对RS-485通讯模块进行设计与开发是在Keil开发平台下进行的[4]。对于TRE1是高低电平的控制端,输出“1”和“0”所以,也将它设置为输出端。接着,就要对这些串口引脚进行初始化设置。随后,还要对系统的时钟程序以及数据的缓存空间进行初始化。当设置好了输出的波特率后,开始发送与接收从电力线上所采集到的数据。首先要对数据发送的方向进行设定。需要对发送的寄存器进行使能。在进入串口中断,从中断串口读取数据,然后把数据发送给移位寄存器。随后再次进
图7 主程序流程图
150| Techniques of Automation & Applications
行业应用与交流Industrial Applications and Communications
《自动化技术与应用》2019年第38卷第3期
设置为1,采样周期设置为1.5s。当把所有参数设置好了过后,为了提高结果的准确性,要执行复位校准与A/D校准,随后就可以开启A/D转换器了。校准完成后就可以开启ADC转换了,最后直接读取ADC规则寄存器中的数值就完成ADC转换[6]。
图9 ADC转换模块程序流程图
3.4 按键模块本次设计需要用按键模块来实现数据读取的功能,即按下一次按键就可以读取一次数据。
STM32的开发板为用户提供了四个按键,分别是低电平有效的按键KEY0、KEY1、KEY2和高电平有效的WK_UP;两个LED,分别是DS0和DS1;还有一个蜂鸣器。在四个按键中,WK_UP按键是控制蜂鸣器的。WK_UP第一次按下,蜂鸣器响,再次按下时,蜂鸣器停止。KEY1按键是控制DS1的,KEY2按键控制DS0,均是第一次按下按键时,LED亮,再次按下时,LED熄灭;而KEY0同时控制DS0和DS1的亮和灭,每按下一次,DS0和DS1的状态变换一次。按键模块的程序流程图如图10所示。
图10 按键模块程序流程图
3.5 LCD显示模块为了使所采集到的数据实时的在液晶屏上显示出来,本次设计需要使用STM32的FSMC接口来控制TFT-LCD液晶显示模块[7]。
TFT-LCD液晶显示模块的程序流程图如图11所示。
图11 LCD显示模块程序流程图
首先,将时钟端初始化,采用STM32开发板提供的
晶振作为时钟的输出端,将内部时钟倍频后作为系统时钟。接着,初始化GPIO端口,选择一个I/O端口,将其作为驱动LCD模块的I/O端口,并将时钟设置为推挽模式。然后设置ARM的SPI接口的时钟频率,使SPI初始化,接下来通过特殊的命令指示判断液晶是否成功初始化。
一旦液晶初始成功后,就可以开始设置字体颜色和屏幕的背景显示的颜色了。最后,查询字库,得到以上设置的点阵的序列,并将点阵序列传送到LCD液晶显示屏,并进行显示,就完成了液晶显示工作。
4 编译测试通过FlyMcu,可以将设计并编译好的程序烧录进STM32开发板中,具体烧录的步骤如下:
(1) 打开串口烧录助手FlyMcu;(2) 设置通讯波特率为4800bps;
(3) 选择DTR的低电平复位,RTS高电平进Boot Loader。
(4) 将需要烧录的文件选中到“联机时下载的程序文件”中。
此时点击“开始编程”按钮,就可以开始烧录。界面如图12所示。
当把相关程序烧录进STM32中,与STM32连接
Techniques of Automation & Applications | 151
《自动化技术与应用》2019年第38卷第3期
行业应用与交流Industrial Applications and Communications
的LCD会自动显示本次所采集到的内容(电压、电流),按下按键后,会把采集到的数据显示出来。可以通过调整相关程序对液晶显示界面进行优化。
可以拆分成更小的子程序。由于网络技术和集成电路的快速发展,以太网通讯技术逐渐被应用到电力系统及其自动化中来。如果本次设计中的通讯模块可以采用以太网通讯技术,那么未来该系统将可以实现无线传输和远程通讯,其的应用范围将会更广。
参考文献:[1] 张旭.基于STM32电力数据采集系统的设计[J].电子测量技术,2010,33(11):90-93.
[2] 季力.基于STM32芯片的电参数测量与数据传输[J].自动化与仪器仪表,2010,(3):137-139.
[3] 游永健.RS-485总线在电力数据采集系统中的应用[J].电力电子,2006,(6):25-27.
[4] 王书根,王振松,刘晓云.Modbus协议的RS485总线通讯机的设计及应用[J].总线与网络,2011,(5):25-28.
[5] 静恩波.基于嵌入式系统的智能电表设计与研究[J].低压电器,2011,(3):26-30.
[6] 张健雄,苏宏英,郑文争.基于电能计量芯片的功率因数测量仪器[J].电气应用,2006,(4):76-78.
[7] 董爱华,李金莉.一种基于电压采样的功率因数在线测量电路[J].仪器仪表学报,2009,(6):232-236.
图12 编译界面
5 结束语本文设计了基于STM32的电力数据采集系统,实现了用数据采集器将从电力线上采集到的电压、电流信号。但是,STM32的硬件设备过于复杂繁琐,使用不便,有可能的话可以加以精简。由于本次设计过程复杂,涉及到的模块较多,导致Keil软件编写的程序较为冗长,(上接第144页)
池储存,供给电子设备充电,节能环保;还在靠背处安装了一个空气净化器,在休息的时光里呼吸新鲜的空气。
(2) 设计巧妙之处在于方便移动,减少搬动的劳累;最主要是可以解决手动式电子设备充电问题,独特新颖。
(3) 节约成本,在需要精简体积、质量轻的基础上,结合PC/ABS的舒适度与强度,合理的运用材料,打造了一个适合大众的舒适椅子。
作者简介:常俸瑞(1983-),男,研究生,工程师,研究方向:电力系统。
算及效益分析[J].节能,2017,36(7):64-66.
[2] 聂青,聂宏,张明.基于压电效应的新型蓄能器设计[J].机床与液压,2012,40(23):80-82.
[3] 张福学,王丽坤.现代压电学(上册,中册)[M].北京:科学出版社,2002:26-32,67.
[4] 温永清,刘小鱼,鲁飞等.压电发电技术及其应用研究[J].稀土,2013,34(5):82-85.
[5] 陈永超,高敏,俞卫博.压电发电技术发展及其在引信中的应用探索[J].电源技术,2015,139(3):640-642.
[6] 安胜足,张晓燕,刘志军.家具的人性化设计[J].家具与室内装饰,2005,(6):50-51.
[7] 陈龙,王乐平,齐水冰等.自动化育秧播种机构PLC控制的设计[J].自动化与信息工程,2016,37(2):45-47.
[8] 于贺春,李欢欢,马文琦等.基于SolidWorks的高精度气体静压电主轴的结构设计研究[J].机床与液压, 2015,43(17):62-65.
6 结束语基于压电效应设计的摇摆椅操作简单,易于控制,老少皆宜,具有较好的节能减排效果。此设计已经获得国家知识产权局实用新型专利授权,在可行性、实用性、节能性、经济性、以及舒适度方面都有很大的推广应用前景。
参考文献:[1] 陈龙,余俊杰,王逸飞等.踏板发电装置的节能量计
作者简介:陈龙(1983-),男,高级技师,硕士研究生,研究方向:节电技术与管理、电气自动化。
152| Techniques of Automation & Applications
因篇幅问题不能全部显示,请点此查看更多更全内容