(广东电网茂名电白供电局)
摘要:介绍了一种基于STM32单片机的低功耗、高性能的电力数据采集系统,阐述了系统的工作原理及其软硬件设计。STM32单片机内部包含丰富的功能模块,无需外扩芯片,系统即可利用 STM32 自带的ADC对输入信号进行多通道同步模数转换,利用灵活的静态存储器控制器 FSMC扩展 NAND FLASH 存储数据,并利用 STM32单片机先进的标准通信接口实现基于MODBUS协议的RS485 远程通信,克服了传统电力数据采集器受限于有限的存储空间和通信接口、精度不高、实时性差等缺点。实际运行表明,此系统采集电力数据的实时性和可靠性大为提高,并且系统具有成本低、体积小的特点。
关键词:ST M32;电力数据采集;模数转换;远程通信
1 引言
模拟量与开关量采集模块、通讯模块以及上位机人机交互模块组成。首先电压、电流等模拟信号经信号调理电路调理后,经模数转换器ADC转换为数字信号,再由STM32进行数据处理;开关量信号则通过I/O口输入,STM32通过中断或查询方式进行读取。电力数据经采集处理后,由液晶屏进行显示,同时进行储存以便对历史数据进行查询。为了使数据显示更加直观以及远程监控,通过RS485与上位机通信。
2系统硬件设计
2.1 STM32片上资源
本系统采用了ST公司基于Cortex—M3内核的32位增强型闪存微控制器STM32F103ZE作为控制核心,Cortex-M3内核是专门设计于满足集高性能、低功耗、实时应用、具有竞争性价格于一体的嵌入式领域的要求。该芯片最高工作频率可达到72MHz,具有512K字节的闪存以及64K字节的SRAM,丰富的片上资源大大简化了系统硬件,同时大大降低了系统功耗。STM32F103ZE12位ADC为逐次逼近型模数转换器,各通道的转换可以单次、连续、扫描或间断模式执行,转换结果以左对齐或右对齐方式存储在16位数据寄存器中。通道采样时间可编程,总转化时间可缩减到1s,此外,多种转换模式供选择,支持DMA数据传输。本系统采用定时器触发的同步注入模式,能够对多路信号进行同步采样。STM32F103ZE具有5个USART串行通信接口,内置分数波特率发生器,发送与接收共用可编程波特率,最高达4.5Mbit/s,数据字的长度、停止位均可设置。此外,灵活的静态存储器控制器FSMC能够通过同步或异步存储器与16位PC卡接口相连,便于外扩存储器和液晶显示屏。
2.2数据采集模块设计
数据采集包括对于模拟量与开关量的采集两部分。
1)模拟量数据采集
由于电力数据采集信号为高电压信号和大电流信号,因此,首先要将其调理为满足STM32F103ZEADC输入范围的电压信号,以便进入ADC转换为数字量。各相电流信号经电流互感器和电流变送器,各相电压信号则通过电压互感器和电压变送器变换为低电压信号,输入到STM32的ADC模拟输入通道,其幅值范围为O~3.3V。
本系统采用同步注入模式配置ADC1的注入组通道采样Ua,Ia,配置ADC2的注入通道采样Ub,Ib,从而实现Ua/Ub及Ialib的同步采样。又由于Ua+Ub+Uc=0,Ia+Ib+Ic=0计算出Uc,Ic。定时器2的TRG0事件触发A/D转换,1.5周期的采样时间,可以达到1/zs的转换时间,数据右对齐格式进行存储,使用DMA数据传输,不需CPU干预,即可将ADC1和ADC2存储在寄存器ADC_JDRx(x:1,2)中的转换数据快速存放到指定区域。
2)开关量数据采集
STM32F103ZE的I/0口都可以配置为开关量输入端口,并且通用的I/O可以配置到16个外部中断线上。开关量信号由IN端口输入,电容C与电阻R构成一阶低通滤波器滤除高频噪声,减小信号的毛刺,采用光耦合器TLP521实现现场开关量与STM32间的电气隔离,提高电绝缘和抗干扰能力。
2.3数据存储与显示模块设计
为了实现电力数据采集历史数据的查询,系统扩展了512MBit的NANDFLASH,选用了ST公司的NAND512一A芯片,每页有512+16个字节,每块有16K+512个字节,顺序存取时间为50ns,页编程时间为200s。STM32的静态存储器控制器FSMC可以把外部存储器划分为固定大小为256M字节的4个存储块,其中存储块2和3可用于访问NANDFLASH设备,本电力数据采集系统利用FSMC的存储块2连接芯片NAND512-A。系统采用5.6英寸的彩色液晶显示器实现本地实时监控,并提供良好的人机交互功能。利用STM32F103ZE的FSMC模块控制液晶显示器,即将液晶作为外部存储设备来使用,配置好读写及控制信号的时序,指定指针即可实现对液晶的读写访问。利用这种方式,不仅简化了对液晶的操作,只需指定读写数据指针方可完成操作,而且提高了访问速度,同时,有效避免了用端口模拟时序访问液晶产生的“拉幕”现象。
2.4 RS485通信模块设计
为了更直观的监控电力数据采集,系统需要把采集到的数据上传到控制中心的PC,同时也方便了计算机联网共享数据。传统的抄收数据费时费力,效率较低,而RS485通信方式结构简单,价格低廉,通信距离和数据传输速率适当。系统采用MODBUS协议采用RS485通信方式,进行电力采集数据的远距离、高速传输。本系统选用了最高传输速率可达500Kbps的隔离型R$485通信芯片ADM2483。该芯片采用限摆率驱动器,较低摆率降低了不恰当的终端匹配和接头产生的误码。ADM2483接收输入具有真正的失效保护功能,驱动器还具有短路电流限制,并可以通过热关断电路将驱动器输出置为高阻状态,防止过度的功率损耗。
3系统软件设计
本系统设计中,采用英蓓特公司和ARM公司最近联合推出的高效ARM开发环境RealviewMDK为开发平台。应用程序包括主程序、数据采集及处理程序、串行通信程序3个主要部分。主程序主要负责对于系统时钟、GPIO口、嵌套中断的配置以及定时器、ADC和串行通讯模块的初始化。数据采集及处理程序中,由定时器T2每隔6ms触发一次)C注入组的同步转换,转换结束则会进人中断服务程序,然后读取转换结果并对数据进行处理,从而计算出电压、电流有效值等电力参数。其中,电压有效值计算式如下:
式中:I为电流有效值,n为每周期采样点数,Ik为电流采样值。当A/D转换的数据数据量达到512个字节后,进行一次存储,将数据存入NANDFLASH中,以便实现历史数据查询。同时,通过RS485通信STM32将存储的数据发送到上外机。
4结论
本文介绍的电力数据采集系统采用ST公司的ARM芯片STM32F103ZE,芯片包含丰富的功能模块,系统无需外扩芯片即可实现A/D转换、数据通信等功能,大大简化了硬件设计,节约了投资。灵活的静态存储器控制器FSMC便于系统扩展存储器以及连接液晶显示屏。本系统具有功耗低、可靠性高等优点,采用MODBUS协议通过RS485与上位机实时通信,传输数据的实时性与可靠性显著提高。随着电力系统的发展,这种基于STM32的电力数据采集系统将有更高的应用价值和广阔的市场前景。
参考文献:
[1]姚国珍,康怡. 基于 D SP 的电力数据采集平台的设计与研究 [J].电子工程 师,2004,30(4):72-74.
[2]林涛,邹黎华,耿勇男.多类型多通道的数据采集系统的设计[J].电子测量与仪表学报,2009,23(S1):236-239.
[3]鲁力,张波.嵌入式 T C P/ IP协议的高速电网络数据采集系统[J].仪器仪表学报,2009,30(2):405-409.
[4]季力.基于ST M 32芯片的电参数测量与数据传输[J].自动化与 仪器仪表,2010(3):137-139.
论文作者:廖锦鸿
论文发表刊物:《河南电力》2018年21期
论文发表时间:2019/5/22
标签:数据论文; 信号论文; 电力论文; 通信论文; 系统论文; 数据采集论文; 存储器论文; 《河南电力》2018年21期论文;