基于 STM32 的配网变压器涌流抑制器设计与实现
基于 STM32 的配网变压器涌流抑制器设计与实现一、系统功能总览二、核心模块选型对比2.1 主控模块选型2.2 电流检测模块选型2.3 电压检测模块选型2.4 数据显示模块选型2.5 电路开关模块选型三、系统接线总表四、系统软件设计4.1 主程序流程设计4.2 电流检测流程设计4.3 数据显示流程设计五、系统实现与测试5.1 硬件焊接与调试5.2 软件实现与测试5.3 功能测试结果六、总结基于 STM32 的配网变压器涌流抑制器设计与实现配网变压器在空载合闸或故障恢复过程中铁芯磁通饱和会产生数倍于额定电流的励磁涌流轻则导致保护装置误动作重则引发系统不稳定、缩短变压器寿命。本文基于 STM32F103C8T6 单片机设计了一套配网变压器涌流抑制器EG8542 运放电路实时检测变压器电流STM32 内置 ADC 采集电压数据OLED12864 实时显示运行参数用户可通过按键设置电流阈值——一旦检测到电流超过阈值系统立即驱动 SRD-05V 电磁继电器切断回路抑制涌流、保护设备。文章完整给出模块选型论证、硬件电路设计、软件流程与调试过程可作为电力设备保护类毕业设计的参考方案。一、系统功能总览功能编号功能名称功能说明F1电流实时检测EG8542 运放电路采样电流信号经 ADC 转换得到实时电流值F2电压实时检测利用 STM32F103 内置 12 位 ADC 直接采集电压数据F3参数阈值设置用户通过按键模块设置电流、电压等参数的报警阈值F4数据实时显示OLED12864 实时显示电压、电流数据与系统状态便于监控F5涌流抑制保护电流超过预设阈值时自动触发继电器切断回路保护变压器F6持续循环监控主循环持续采集、分析、响应保障变压器安全稳定运行二、核心模块选型对比2.1 主控模块选型对比项方案1STM32F103C8T6方案2NXP Kinetis K60内核ARM Cortex-M3主频 72 MHzARM Cortex-M4主频 120 MHz带 FPU存储64 KB Flash 20 KB SRAM256 KB Flash 64 KB SRAM外设接口3×SPI、2×I2C、3×USART、多路定时器/PWM4×SPI、4×I2C、4×UART、1×CAN功耗与成本低功耗、价格低性能高但功耗与成本均较高本系统的任务以数据采集、阈值比较和继电器控制为主属于中低复杂度应用STM32F103C8T6 的处理能力绰绰有余且开发工具STM32CubeMX、Keil与社区资源成熟性价比明显更高。选择方案1STM32F103C8T62.2 电流检测模块选型对比项方案1EG8542 运放电流检测方案2INA226 数字电流传感器测量方式运放放大采样电阻压降模拟输出内置 12 位 ADCI2C 数字输出精度特性10 MHz 增益带宽积、10 pA 低输入偏置电流、高输入阻抗±1% 测量精度增益配置外部电阻灵活设定增益适应不同电流量程软件校准成本低高极端条件下需软件补偿EG8542 低偏置电流与低噪声特性保证了电流检测精度增益可由外部电阻灵活配置成本也低于 INA226在预算有限的精密电流检测场景中是理想选择。选择方案1EG8542 运放电流检测2.3 电压检测模块选型对比项方案1STM32F103 内置 ADC方案2ADS1115 高精度 ADC集成度片上外设无需额外硬件需外接模块增加电路复杂度分辨率12 位支持多通道采样16 位内置 PGA抗干扰强成本零额外成本较高系统对电压检测的精度要求在 12 位分辨率即可满足使用内置 ADC 降低了系统复杂性与成本开发也更便捷。选择方案1STM32F103 内置 ADC2.4 数据显示模块选型对比项方案1OLED12864方案2LCD2004显示能力128×64 自发光像素高对比度、广视角20×4 字符分辨率低不支持图形背光无需背光暗处依然清晰依赖背光亮度受限接口I2C/SPI引脚占用少并行接口引脚多功耗与耐用性低功耗无背光故障点背光功耗高高温高湿环境易退化OLED12864 自发光特性带来鲜明清晰的显示效果接口简单、功耗低、耐用性好适合本系统的实时监控显示需求。选择方案1OLED128642.5 电路开关模块选型对比项方案1SRD-05V 电磁继电器方案2SSR-25DA 固态继电器负载能力10 A适合高功率设备25 A但大电流需额外散热隔离与安全控制端与负载端良好电气隔离光耦隔离切换速度机械触点速度较慢无触点切换速度快成本低高涌流抑制属于低频次控制动作对切换速度要求不高电磁继电器负载能力充足、隔离可靠、成本低完全满足需求。选择方案1SRD-05V 电磁继电器三、系统接线总表系统以 STM32F103C8T6 最小系统8 MHz 晶振 HSE 32.768 kHz RTC 晶振 按键复位电路 3.3 V 供电为核心模块模块引脚单片机引脚说明EG8542 电流检测电路VoutPA6ADC2 输入通道运放放大后的电流信号送入模拟输入Vcc / −Vcc5V / GND运放供电IN / −IN接电流采样电阻上端 / 下端采样电阻串联在电流路径中压降与电流成正比R_f反馈电阻Vout 与 −IN 之间设定运放增益电压检测电压采样信号PA7ADC2 输入通道内置 ADC 直接采集电压OLED12864VCC / GND3.3V / GNDSSD1306 驱动I2C 总线SCLPB6I2C 时钟线SDAPB7I2C 数据线按键模块阈值设置信号端PB0PB2一端接 I/O另一端接地按下为低电平SRD-05V 继电器线圈一端PB5串 1 kΩ 限流电阻高电平吸合低电平释放线圈另一端5V线圈供电COM / NO串入负载回路高电平时触点闭合实现回路通断控制四、系统软件设计4.1 主程序流程设计系统上电后首先完成初始化配置 ADC 寄存器用于电压电流数据采集、GPIO 寄存器用于按键输入与继电器控制、OLED 显示驱动。随后进入 while 主循环循环执行以下流程int main(void) { System_Init(); // 时钟、ADC2、GPIO、I2C、OLED 初始化 while (1) { current Current_Get(); // EG8542 采样 - ADC2 均值滤波 - 电流值 voltage Voltage_Get(); // 内置 ADC 采集电压值 OLED_Show(current, voltage); // 实时显示运行参数 threshold Key_Scan(); // 读取按键设定的电流阈值 if (current threshold) // 电流超过预设阈值 { Relay_On(); // 继电器吸合切断回路抑制涌流 OLED_ShowAlarm(); // 显示报警信息 } else { Relay_Off(); // 正常区间内保持回路接通 } } }主循环持续运行确保系统实时监控、快速响应一旦电流越限立即切断保障配网变压器安全稳定运行。4.2 电流检测流程设计电流检测程序按以下步骤执行将对应 GPIO 配置为模拟输入模式接收 EG8542 运放输出信号激活 ADC2 时钟选择时钟源并设置分频因子使 ADC 工作在合适频率配置 ADC 为独立模式、单通道、非连续转换、无外部触发软件触发数据右对齐启动 ADC2指定转换通道并设置合适的采样时间轮询转换完成标志位 ADC_FLAG_EOC读取转换结果调用 Get_Adc2() 多次读取同一通道数据并求平均值抑制噪声按(ADC值 / 4095) × 3.3 V将平均值换算为电压值再按运放增益与采样电阻换算为实际电流值。u16 Get_Adc2(u8 ch) { ADC_RegularChannelConfig(ADC2, ch, 1, ADC_SampleTime_239Cycles5); ADC_SoftwareStartConvCmd(ADC2, ENABLE); while (!ADC_GetFlagStatus(ADC2, ADC_FLAG_EOC)); return ADC_GetConversionValue(ADC2); } float Current_Get(void) { u32 sum 0; for (u8 i 0; i N; i) // 多次采样取均值减少噪声影响 sum Get_Adc2(ADC_CH_6); float v (sum / N) / 4095.0f * 3.3f; // 转换为电压值 return v / GAIN; // 按增益换算实际电流值 }4.3 数据显示流程设计OLED 显示程序基于 I2CPB6SCL、PB7SDA驱动 SSD1306配置 I2C 接口初始化时钟速率与应答信号等基本参数发送初始化命令序列配置显示模式、对比度、扫描方向、时钟并开启充电泵最后发送 0xAF 命令点亮屏幕设置显示起始坐标——屏幕分为 128 列x 坐标与 8 页y 坐标通过配置页地址与列地址精确定位显示区域调用 OLED_Fill(0x00) 循环遍历 07 页、0127 列完成清屏通过 I2C 写入函数依次发送设备地址、寄存器地址与显示数据每次传输等待应答信号确认按需调用字符串、字符显示函数将电流值、电压值与阈值信息刷新到指定位置。五、系统实现与测试5.1 硬件焊接与调试按设计方案依次焊接主控模块、电流检测模块、电压检测模块、数据显示模块与继电器模块焊接时确保各模块引脚连接正确避免短路或虚焊。调试阶段逐步上电测试验证各模块功能是否正常重点检查电流与电压检测模块的精度和响应速度并使用万用表和示波器对关键信号进行测量确保系统工作在正常范围。最后整体联调确认系统稳定运行。5.2 软件实现与测试使用 Keil 5 编写与编译程序通过 ST-Link 下载调试设置断点、监视变量与内存逐步验证程序逻辑。调试重点关注电流与电压检测算法的准确性和实时性并通过模拟电流超限等异常情况验证继电器触发逻辑是否可靠。调试中还优化了代码执行效率减少不必要的资源占用保证系统在高负载下仍能稳定运行。5.3 功能测试结果测试项目测试方法测试结果电流检测精度模拟不同负载条件下的电流变化与万用表读数对比检测值与实际值一致精度与响应速度满足要求电压检测功能采集不同电压信号并与示波器测量值对比数据采集准确、稳定阈值设置按键调整电流阈值并观察 OLED 显示阈值设置响应正确、显示清晰涌流抑制保护人为使电流超过预设阈值继电器迅速切断回路保护动作可靠数据显示观察 OLED 显示效果与刷新速度显示正常可实时监控系统状态长时间运行系统连续运行测试复杂环境下稳定运行各项功能达到设计要求六、总结本文设计并实现了一套基于 STM32F103C8T6 的配网变压器涌流抑制器系统。系统通过 EG8542 运放电路与内置 ADC 实时采集变压器的电流与电压数据OLED12864 实时显示运行参数用户可通过按键设置阈值当电流超过预设阈值时系统自动触发 SRD-05V 电磁继电器切断回路有效抑制涌流、保护设备安全。系统整体设计合理、功能实现稳定能够有效满足配网变压器涌流抑制的需求具有较高的实用性与可靠性也为电力设备保护的智能化升级提供了可行的技术路径。七、资料内容完整工程资料原理图、PCB、代码、元件清单八、资料获取方式