基于STM32的新型电力数据采集系统的设计与实现

控制/MCU

1883人已加入

描述

引言

传统的电力数据采集系统受限于有限的存储空间和通信接口,存在精度不高、实时性差、采集信息量小等缺点,已无法满足实际的电力系统调度与管理需要,本文提出的基于STM32的新型电力数据采集器充分利用了STM32丰富的片上资源,大大节约了硬件投资,利用STM32具有快速采样的高性能ADC、先进的电源及时钟管理、双看门狗等功能,从而大大增强了系统的实时性与可靠性,精度显著提高,同时功耗大为降低。

1、总体设计方案

本系统由模拟量与开关量采集模块、通讯模块以及上位机人机交互模块组成,系统框图如图1所示。首先电压、电流等模拟信号经信号调理威廉希尔官方网站 调理后,经模数转换器ADC转换为数字信号,再由STM32进行数据处理;开关量信号则通过I/O口输入,STM32通过中断或查询方式进行读取。电力数据经采集处理后,由液晶屏进行显示,同时进行储存以便对历史数据进行查询。为了使数据显示更加直观以及远程监控,通过RS485与上位机通信。

电力

图1  系统原理

2、系统硬件设计

2.1、STM32片上资源

STM32F103ZE12位ADC为逐次逼近型模数转换器,各通道的转换可以单次、连续、扫描或间断模式执行,转换结果以左对齐或右对齐方式存储在16位数据寄存器中。通道采样时间可编程,总转化时间可缩减到1μs,此外,多种转换模式供选择,支持DMA数据传输。本系统采用定时器触发的同步注入模式,能够对多路信号进行同步采样。

STM32F103ZE具有5个USART串行通信接口,内置分数波特率发生器,发送与接收共用可编程波特率,最高达4.5Mbit/s,数据字的长度、停止位均可设置。

此外,灵活的静态存储器控制器FSMC能够通过同步或异步存储器与16位PC卡接口相连,便于外扩存储器和液晶显示屏。

2.2、数据采集模块设计

数据采集包括对于模拟量与开关量的采集两部分。

小编推荐:基于STM32F103的USB数据采集模块的设计

1)模拟量数据采集

由于电力数据采集信号为高电压信号和大电流信号,因此,首先要将其调理为满足STM32F103ZEADC输入范围的电压信号,以便进入ADC转换为数字量。各相电流信号经电流互感器和电流变送器,各相电压信号则通过电压互感器和电压变送器变换为低电压信号,输入到STM32的ADC模拟输入通道,其幅值范围为0~3.3V

2)开关量数据采集

STM32F103ZE的I/O口都可以配置为开关量输入端口,并且通用的I/O可以配置到16个外部中断线上。开关量输入威廉希尔官方网站 如图2所示。开关量信号由IN端口输入,电容C与电阻R构成一阶低通滤波器滤除高频噪声,减小信号的毛刺,采用光耦合器TLP521实现现场开关量与STM32间的电气隔离,提高电绝缘和抗干扰能力。

电力

图2  开关量输入威廉希尔官方网站

2.3、数据存储与显示模块设计

为了实现电力数据采集历史数据的查询,系统扩展了512MBit的NANDFLASH,选用了ST公司的NAND512-A芯片,每页有512+16个字节,每块有16K+512个字节,顺序存取时间为50ns,页编程时间为200μs。STM32的静态存储器控制器FSMC可以把外部存储器划分为固定大小为256M字节的4个存储块,其中存储块2和3可用于访问NANDFLASH设备,本电力数据采集系统利用FSMC的存储块2连接芯片NAND512-A。

系统采用5.6英寸的彩色液晶显示器实现本地实时监控,并提供良好的人机交互功能。利用STM32F103ZE的FSMC模块控制液晶显示器,即将液晶作为外部存储设备来使用,配置好读写及控制信号的时序,指定指针即可实现对液晶的读写访问。利用这种方式,不仅简化了对液晶的操作,只需指定读写数据指针方可完成操作,而且提高了访问速度,同时,有效避免了用端口模拟时序访问液晶产生的“拉幕”现象。

2.4、RS485通信模块设计

系统采用MODBUS协议采用RS485通信方式,进行电力采集数据的远距离、高速传输。本系统选用了最高传输速率可达500Kbps的隔离型RS485通信芯片ADM2483,设计威廉希尔官方网站 如图3所示。该芯片采用限摆率驱动器,较低摆率降低了不恰当的终端匹配和接头产生的误码。ADM2483接收输入具有真正的失效保护功能,驱动器还具有短路电流限制,并可以通过热关断威廉希尔官方网站 将驱动器输出置为高阻状态,防止过度的功率损耗。

电力

图3  RS485通信威廉希尔官方网站

3、系统软件设计

本系统设计中,采用英蓓特公司和ARM公司最近联合推出的高效ARM开发环境RealviewMDK[10]为开发平台。应用程序包括主程序、数据采集及处理程序、串行通信程序3个主要部分。主程序主要负责对于系统时钟、GPIO口、嵌套中断的配置以及定时器、ADC和串行通讯模块的初始化。

电压有效值计算式如下:

电力

式中:U为电压有效值,n为每周期采样点数,uk为第k点采样电压值。

电流有效值计算式为:

电力

式中:I为电流有效值,n为每周期采样点数,ik为电流采样值。

当A/D转换的数据数据量达到512个字节后,进行一次存储,将数据存入NANDFLASH中,以便实现历史数据查询。同时,通过RS485通信STM32将存储的数据发送到上外机,通信流程图如图4所示。

电力

图4  通信流程

4、实验结果与分析

A、B、C三相分别接到市电220V,利用25W、40W、50W的灯泡作为三相负载,由本电力数据采集系统测得数据如表1所示。

表1实验结果

电力

实验数据表明,本系统设计合理,运行可靠,数据测量准确、精度高且实时性较好,与传统电力数据采集器相比具有显著优点。

5、结论

本文介绍的电力数据采集系统采用ST公司的ARM芯片STM32F103ZE,芯片包含丰富的功能模块,系统无需外扩芯片即可实现A/D转换、数据通信等功能,大大简化了硬件设计,节约了投资。灵活的静态存储器控制器FSMC便于系统扩展存储器以及连接液晶显示屏。本系统具有功耗低、可靠性高等优点,采用MODBUS协议通过RS485与上位机实时通信,传输数据的实时性与可靠性显著提高。随着电力系统的发展,这种基于STM32的电力数据采集系统将有更高的应用价值和广阔的市场前景。

 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分