
#第十届立创电赛#能量回馈负载试验装置
简介
STM32双向能量回馈变流器负载,三相32V正弦输出THD<2%,BOOST闭环回馈1A+,节电90%,过压/短路保护,OLED实时显示,教学科研通用。
简介:STM32双向能量回馈变流器负载,三相32V正弦输出THD<2%,BOOST闭环回馈1A+,节电90%,过压/短路保护,OLED实时显示,教学科研通用。开源协议
:Public Domain
描述
* 1、项目功能介绍
本项目设计并实现了一套能量回馈的变流器负载试验装置,主要用于解决传统变流器测试中能量浪费严重、测试效率低的问题。系统由 DC-AC 逆变器 和 AC-DC 整流回馈单元 组成,通过电能闭环回馈机制,将负载消耗的能量回馈至直流母线,显著降低直流电源的输出功率,实现节能目标。
系统可输出 三相正弦交流电,频率范围为 20Hz~100Hz(步进1Hz),输出电压为 32V±0.25V,最大输出电流为 2A,总谐波畸变率(THD)低于 2%,负载调整率优于 0.3%。在发挥部分,系统可确保在 1A 以上电流稳定回馈,并对回馈功率进行优化控制。整个系统结构清晰、调试便捷、运行稳定,适用于变流器性能测试、教学实验等场景。
*2、项目属性
是否首次公开:是,本项目为首次公开。
是否为原创:是,项目为团队原创设计,涵盖电路设计、控制算法、仿真与测试等完整开发流程。
是否曾在其他比赛中获奖:是,本项目曾参加全国大学生电子设计竞赛(A题),并提交完整技术文档与实物作品。
是否在学校参加过答辩:是,项目已完成校内答辩,并作为课程设计与毕业设计的重要组成部分,获得指导教师与评审专家一致好评。
* 3、开源协议
本项目名称:《能量回馈的变流器负载试验装置》
本项目(包括硬件设计、源代码及相关文档)以 Public Domain(公共领域)形式发布。
作者自愿放弃对本项目的全部版权及相关权利,任何个人或组织均可在不受限制的情况下自由地使用、复制、修改、发布、再发布或用于商业与非商业目的,无需征得作者许可,也无需署名。
项目开源范围包括:
- STM32主控程序(SPWM控制、BOOST回馈控制、闭环采样算法);
- 硬件电路原理图与PCB设计文件;
- 系统测试与调试说明文档。
引用与说明:
本项目引用的器件资料、应用电路及说明文件均来源于公开渠道(如ST、TI、ADI官方资料等),其版权归原作者所有。所有第三方内容均仅作教学与科研参考之用。
声明:
本项目作者不对因使用或修改本项目而导致的任何直接或间接损失承担责任。
使用者在采用本项目时,即视为已同意本声明。
*4、硬件部分
本系统的硬件以能量闭环回馈为核心目标,由直流母线电源、DC-AC逆变模块、AC-DC整流模块、BOOST升压回馈模块、采样与信号调理电路、驱动保护电路及辅助电源组成。系统整体采用模块化设计,结构清晰、调试方便、扩展性强。
(1)总体原理
直流电源经DC-AC逆变模块生成三相正弦交流电(50Hz、32V RMS),输出至负载端。负载输出经AC-DC整流模块转换为直流,再通过BOOST升压模块将能量回馈至母线电源,实现能量的闭环流动。系统以STM32主控芯片为核心,采用SPWM调制实现逆变输出控制,同时实时采样输出电压、电流及直流母线电压,利用闭环算法调节占空比,保证输出波形质量与功率平衡。
(2)主要模块说明
- DC-AC逆变模块:
采用三相半桥结构,由IRF540功率MOS管组成桥臂,IR2104双通道驱动芯片实现高低端驱动。主控输出SPWM信号经驱动放大后控制MOS导通,实现三相正弦电压输出。模块支持20Hz~100Hz调频,输出THD低于2%。 - AC-DC整流模块:
采用六管肖特基二极管桥(SS520),结构简单、效率高、纹波低(约4.2%)。整流后的直流经滤波电感与电容平滑后,输出送入BOOST升压单元。 - BOOST升压回馈模块:
使用单开关BOOST结构,由IRF3205 MOS作为主功率器件。STM32输出PWM信号控制其导通与关断,实现电压提升与能量回馈。升压输出端与直流母线并联,当输出电压高于母线电压时,能量自动回流至电源端,实现闭环节能。 - 电压、电流采样模块:
电压采样采用ZMPT107-1互感器+分压电阻+LMV358运放滤波输出;电流采样采用ZEMCT131互感器+取样电阻+缓冲放大电路。所有信号经调理后输入STM32的ADC通道,用于实时监测与反馈控制。 - 辅助电源模块:
采用工业级DC-DC隔离电源模块(输入18~75V,输出±12V/5V),为运放、驱动芯片及主控系统供电,具备高隔离度与抗干扰能力。
(3)设计与调试注意事项
- 隔离与接地: 控制电路与功率电路必须分地处理,通过隔离模块实现信号与电源隔离,防止地环流引起干扰或误触发。
- PWM走线: 高频SPWM信号走线应尽量短、加地保护线,避免串扰至模拟采样通道。
- 采样信号滤波: 采用RC低通滤波,截止频率约为200Hz,以抑制开关噪声。
- MOS散热: 各桥臂MOS管需加铝基散热片,保证温升小于40℃。
(4)测试与验证方法
- 空载调试: 断开BOOST模块,仅测试逆变输出波形是否对称、频率是否可调。
- 负载测试: 连接电阻性负载,测量三相输出电压、电流有效值,验证输出稳定性与谐波指标。
- 能量回馈测试: 启用BOOST升压控制,观察直流母线电流变化,确认能量闭环流动。
- 保护验证: 模拟过流、过压条件,检查系统是否及时切断驱动输出,保证安全性。
- 系统测试结果表明:输出波形稳定、谐波含量低(THD≤2%),负载调整率≤0.3%,回馈电流可稳定在1A以上,整体能效显著提升。系统适用于教学、科研及能量变换实验等多种场合。
*5、软件部分
一、系统总体流程
系统上电后,首先完成时钟、GPIO、ADC、PWM 以及 OLED 模块初始化;随后进入主循环,对电压、电流等信号进行实时采样,经滤波与PID算法计算后输出控制量,从而调整变流器的工作状态,实现能量回馈与稳态控制。
主程序框架如下:
#include "stm32f10x.h"
#include "OLED.h"
void System_Init(void);
void ADC_Init_Config(void);
void PWM_Init_Config(void);
void PID_Control(void);
float Vref = 2.5; // 目标电压
float Vfb = 0.0; // 反馈电压
float duty = 0.5; // 初始占空比
int main(void)
{
System_Init();
OLED_Init();
OLED_ShowString(1,1,"Energy Feedback");
while(1)
{
// 读取反馈电压
Vfb = Read_ADC_Value(ADC_Channel_0);
// 执行PID控制
PID_Control();
// 更新PWM输出
Update_PWM(duty);
// OLED显示当前电压
OLED_ShowNum(2,1,(int)(Vfb*1000),4,2);
delay_ms(50);
}
}
二、ADC采样模块
采样模块主要用于获取直流母线电压与输出电流信号,通过 ADC 转换后送入控制算法。为提高精度,程序采用简单的滑动平均滤波。
float Read_ADC_Value(uint8_t channel)
{
ADC1->SQR3 = channel; // 选择通道
ADC1->CR2 |= 1 SR & (1 DR; // 读取结果
return (3.3f * raw / 4096.0f); // 转换为电压值
}
调试时,可通过示波器观察 ADC 输入波形,确保采样信号平滑且无明显干扰。
三、PID控制模块
控制核心采用比例、积分、微分三部分构成的闭环算法,根据设定电压与实际反馈电压之间的误差动态调整 PWM 占空比。
void PID_Control(void)
{
static float error = 0, last_error = 0, integral = 0;
float Kp = 1.2, Ki = 0.05, Kd = 0.01;
error = Vref - Vfb;
integral += error;
// 防积分饱和
if(integral > 100) integral = 100;
if(integral 0.9) duty = 0.9;
if(duty
调试过程中,可通过调整比例系数、积分系数与微分系数来改善动态响应与稳定性,通常先调整比例,再补充积分和微分。
四、PWM输出模块
PWM模块采用 定时器1,输出 SPWM 波形用于驱动功率器件。通过改变 CCR1 的值来调节占空比,实现能量双向流动的控制。
void PWM_Init_Config(void)
{
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_TIM1EN;
GPIOA->CRH &= ~(0xF CRH |= (0xB PSC = 0;
TIM1->ARR = 3600; // PWM周期对应约20kHz
TIM1->CCR1 = 1800; // 初始占空比50%
TIM1->CCMR1 |= 6 CCER |= 1; // 使能通道1
TIM1->BDTR |= 1 CR1 |= 1; // 启动定时器
}
void Update_PWM(float duty)
{
TIM1->CCR1 = (uint16_t)(TIM1->ARR * duty);
}
调试注意:若驱动电路为半桥或全桥结构,需同时配置互补PWM通道,并设置适当死区时间(一般为五百纳秒左右)。
五、显示与调试模块
OLED显示模块采用I2C接口,实时显示电压、电流、占空比等信息。用于调试时的直观数据反馈,帮助观察PID收敛过程。
例如:
OLED_ShowString(1,1,"Udc:");
OLED_ShowNum(1,5,(int)(Vfb*1000),4,2);
OLED_ShowString(2,1,"Duty:");
OLED_ShowNum(2,6,(int)(duty*100),3,0);
六、源码结构说明
/Core
├── main.c // 主程序
├── pid.c // PID算法模块
├── pwm.c // PWM初始化与更新
├── adc.c // ADC采样与滤波
├── oled.c // OLED显示驱动
└── delay.c // 毫秒延时函数
编译环境为 Keil µVision5,目标设备 STM32F103C8T6,时钟频率为七十二兆赫兹。程序通过 ST-Link 下载器烧录,烧录接口为 SWD 模式。
*6、BOM清单
STM32F103C8T6 — 主控单片机
IR2104S — 高低端驱动芯片
IRF540N — 功率MOS管
SS520 — 肖特基整流二极管
LMV358 — 运算放大器
ZMPT107-1 — 电压互感器
ZEMCT131 — 电流互感器
DC-DC模块(18-75V 转 12V)— 辅助电源模块
470uF/63V 电解电容 — 主滤波电容
104/100nF 电容 — 高频旁路滤波
10kΩ 精密电阻 — 分压与采样电阻
0.1Ω 5W 电阻 — 电流检测采样电阻
磁环电感 100uH — BOOST 升压电感
光耦 4N35 — 信号隔离
OLED 模块 0.96寸 I2C接口 — 参数显示
风扇 12V — 散热
端子台 KF301-2P/3P — 电源与负载接线
保险丝座 + 5A 保险丝 — 电路保护
PCB板(双面)— 系统电路载体
*7、大赛LOGO验证

* 8、演示您的项目并录制成视频上传
立创电赛:《能量回馈负载试验装置》-整体工程测量演示
请在工程附件中查看
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论