设计并制作如图1 所示单相有源电力滤波实验装置(简称装置),检测并显示非线性负载电流iL及其谐波成分与含量,控制有源电力滤波器(APF)产生补 偿电流iF,降低网侧电流iS中谐波含量。非线性负载电路如图2所示,开关KD用以切换半波、桥式整流,开关KC 用以切换有、无电容滤波,测试时电容可在 1000~10000μF(电容额定电压不低于100V)范围内设置。


1. 基本要求
基本要求各项测试时,KF1、KF2 断开,KLF 闭合,APF 不接入。基本要求(2)、 (3)项测试时调整IO=2A。
2. 发挥部分
发挥部分各项测试时调整IO=2A。

(1) 在调试过程中务必注意安全,谨防触电和烫伤,不要触及电烙铁、负 载电阻等。
(2) 为简化设计,使用48V、额定输出电流不小于3A 的成品直流电源为装置供电(如图1 所示),测试时该电源现场提供。除此以外,检测与显示模块、 APF不准再使用其他电源。
(3) 制作非线性负载电路时,需设置两个滤波电容端口(图2 中C1、C2 所 示),方便测试时更换、并接不同容值的电容。
(4) 选择合适尺寸的显示器和适当的显示方式,保证装置至少清晰显示2 个周期的波形及各项测量结果,可以通过按键切换两个页面显示。
(5) 本题中i 次谐波电流含有率
其中,IiRMS 为i 次谐波 电流有效值,I1RMS 为基波电流有效值。
(6) 测试时,基本要求(2)中用 5位半或更高精度的万用表测量ILRMS 作为 真实值;基本要求(3)以电能质量分析仪的读数作为HmL 的真实值计算装置的 测量误差,电流测量应使用电流钳;发挥部分各项电流及其谐波也都使用电能质 量分析仪测量。
(7) 本题要求采用APF,不允许采用投入电感、电容的方法抑制谐波。发 挥部分(1)要求APF 有输出iF,且iF 中最大分量的频率fF(本题定义为iF 的频 率)与iL 中含量最高的谐波的频率fm 一致。例如,iL 中含量最高的为3 次谐波, 频率为150Hz,则iF 的频率fF 也应为150Hz。考虑到测控误差等因素,本项允许 偏差1Hz。如果iF 不满足要求,发挥部分(2)~(4)项将不予测试。
(8) KD、KC、KF1、KF2、KLF 均为手动开关,可采用便于操作的跳线等方 式。各项测试设置完成后,一键启动装置进行测试,期间不允许人工干预,每项 测试时间不超过10s。

GPT-4o给出的建议
设计一个单相有源电力滤波(APF)实验装置,实现以下功能:
搭建并检测 非线性负载 的电流波形与谐波含量;
使用 APF 产生补偿电流 iF,抑制负载电流 iL 中的主要谐波;
使网侧电流 iS 的谐波含量显著降低,THD ≤ 5%。
| 模块 | 推荐平台/器件 | 说明 |
|---|---|---|
| 主控平台 | STM32G4 / STM32F407 | 支持高速ADC、PWM、FFT计算,适合电能控制 |
| 电流电压检测 | 霍尔传感器(如ACS712)、分压电阻 + 滤波 | 实现uS和iL、iS、iF检测 |
| AD采样 | 内部ADC + DMA | 实时捕捉波形 |
| 控制算法 | dq变换+PI(或直接FFT + 谐波提取 + PWM) | 提取主要谐波频率并产生补偿波形 |
| 滤波器驱动 | IR2110S + MOSFET 或IGBT | 推动APF逆变器输出补偿电流 |
| 补偿器电路 | 单相全桥逆变器 | 用于输出iF补偿电流 |
| 显示系统 | OLED / TFT LCD + 按键切换 | 显示电流波形、THD、谐波含量 |
| FFT计算 | CMSIS DSP库 / 自编算法 | 用于H2~H5提取和iF频率判定 |
220V AC
↓
隔离变压器 →→→ uS
↓
非线性负载 →→→ iL
↓
并联补偿电流 iF ← APF(全桥PWM)
↑
控制系统 ← ADC采样 ← 电流/电压检测
↓
显示系统 ← FFT/H谐波分析 + RMS显示
初始化 → 启动ADC采样 → 滤波提取基波/谐波 →
→ 计算iL最大谐波频率fm → 控制APF输出iF →
→ 检测iS → 计算HmS、THD → 显示结果
满足 KD(半波)、KC(电容)多种组合下,输出电流 IO≥2A;
容易引入较多3/5次谐波,可验证APF效果。
使用低漂移霍尔电流模块;
采样频率≥5kHz,建议10kHz以上以支持50Hz和其谐波频率(150Hz、250Hz等)FFT分析;
RMS与THD计算精度误差要控制在3%以内。
检测 iL → 识别最大谐波频率 fm(如150Hz);
APF输出频率fF应与其偏差不超±1Hz;
反馈控制iF幅值,RMS > 0.1A,实际iS中HmS下降至<5%,THD<5%。
OLED或彩屏分屏显示波形+测量值(电流波形、ILRMS、H2~H5);
提供按键切换显示界面;
至少显示2个周期波形(40ms),刷新率>25fps更佳。
| 类别 | 知识点 |
|---|---|
| 电力电子 | 单相桥式逆变器控制、电流补偿原理 |
| 电能质量分析 | 谐波检测、THD计算、电流RMS分析 |
| 嵌入式系统控制 | STM32 ADC采样、PWM控制、LCD显示、外设管理 |
| 数字信号处理 | FFT分析(提取H2~H5)、频率检测与匹配 |
| 实验测试方法 | 谐波源调试、信号采集验证、误差计算、仪器配合使用 |
| 安全规范 | 高压隔离、热管理、电源选择 |
| 时间 | 任务分工示意 |
|---|---|
| 第1天 | 需求分析 + 任务分工 + 非线性负载搭建 + 控制框架草图 |
| 第2天 | STM32 ADC + 显示接口调试 + FFT代码初步实现 |
| 第3天 | APF补偿控制 + 波形采集对比 + 精度调试 |
| 第4天 | 联调、验证各测试项 + 整理测试数据 + 撰写报告 |
FFT 提取 + APF控制的程序结构框架
以下是单相有源电力滤波实验装置中用于 FFT提取 + APF补偿控制 的程序结构框架,适用于 STM32G4 / F4 / RP2040 等常用MCU,便于你在竞赛中快速开发。
main()
├── SystemInit() // 系统初始化(时钟、外设、NVIC)
├── Peripheral_Init() // 初始化ADC、PWM、GPIO、USART、LCD等
├── Display_Init() // 初始化OLED/TFT/LCD显示
├── while(1)
│ ├── Sample_Data() // 采样电压、电流波形
│ ├── FFT_Analysis() // 对电流信号进行FFT分析
│ ├── Harmonic_Estimation() // 提取H2~H5的幅值,寻找最大谐波频率
│ ├── Generate_Reference_IF()// 根据最大谐波频率生成补偿信号
│ ├── PWM_Update() // 控制APF输出对应频率的iF
│ └── Display_Update() // 刷新显示电流波形、RMS、THD等信息
Sample_Data()void Sample_Data(void) {
// ADC采样:设定采样频率10kHz,采集电流iL和电压uS
for (int i = 0; i < N; i++) {
iL_sample[i] = ADC_Read(IL_CHANNEL);
uS_sample[i] = ADC_Read(US_CHANNEL);
}
}
推荐点数:N = 256 或 512(保证FFT精度)
FFT_Analysis()void FFT_Analysis(void) {
// 将iL_sample预处理后调用CMSIS-DSP FFT库
arm_rfft_fast_f32(&fft_instance, iL_sample, fft_output, 0);
arm_cmplx_mag_f32(fft_output, iL_magnitude, N/2);
}
使用 CMSIS DSP库:可加速计算频谱幅值
iL_magnitude[i] 即为第 i 次谐波的幅值
Harmonic_Estimation()void Harmonic_Estimation(void) {
float max_Hm = 0;
int max_index = 0;
for (int i = 2; i <= 5; i++) {
float Hi = (iL_magnitude[i] / iL_magnitude[1]) * 100.0;
H_array[i] = Hi;
if (Hi > max_Hm) {
max_Hm = Hi;
max_index = i;
}
}
fm = 50.0 * max_index; // 最大谐波频率(用于生成iF)
}
Generate_Reference_IF()void Generate_Reference_IF(void) {
// 正弦查表或实时计算法生成补偿信号(频率为fm)
static float phase = 0;
float Ts = 1.0 / SAMPLE_RATE;
for (int i = 0; i < PWM_UPDATE_NUM; i++) {
iF_ref[i] = I_amp * sinf(2 * PI * fm * i * Ts + phase);
}
}
I_amp 可用 0.1~1.0A 之间的值进行自动调节
PWM_Update()void PWM_Update(void) {
for (int i = 0; i < PWM_UPDATE_NUM; i++) {
float duty = (iF_ref[i] + Vref) / (2 * Vref); // Normalize to 0~1
Set_PWM_Duty(duty); // 控制桥臂输出补偿电流
}
}
Display_Update()void Display_Update(void) {
Display_RMS(iL_magnitude[1]); // 基波有效值
Display_Harmonics(H_array); // H2~H5
Display_Waveform(iL_sample); // 原始波形
}
自动判别并锁定谐波频率:用于补偿iF频率对准;
使用中断采样 + DMA 提高采样效率;
控制方法可扩展为多频补偿:如同时补偿H3与H5;
考虑使用双核平台(如RP2040):分核做FFT和PWM输出;
APF控制可以使用同步调制或PR控制,视比赛时掌握程度而定。

项目报告模版:
以下是为全国大学生电子设计竞赛【B题:单相有源电力滤波实验装置】定制的项目报告模板(可直接用于撰写设计报告或整理成果文档):
队名: XXX
参赛成员: 姓名1(负责人)、姓名2、姓名3
所在学校: XXX大学
比赛时间: 2025年7月30日~8月2日
简要介绍设计任务、核心功能、使用的控制方法、测试结果以及APF谐波抑制性能。建议控制在200字内,突出创新点和完成度。
设计并制作一套单相有源电力滤波实验装置;
实现非线性负载电流iL的谐波检测与显示;
控制APF输出补偿电流iF,使网侧电流iS谐波含量降低;
满足题目规定的各项性能指标。
比较模拟控制/数字控制、双闭环/开环、电流控制/电压控制等策略;
最终选用 STM32 + FFT 分析 + SPWM 控制 的数字控制方案。
电源与负载模块
电流/电压采样模块
控制处理模块(STM32)
有源滤波器模块(PWM桥)
显示与交互模块(OLED/TFT)
(插入系统结构图,如之前绘制的)
非线性负载电路图及工作分析
电压/电流采样电路
全桥PWM逆变器(APF)电路
控制器外围接口(ADC、PWM输出、按键、OLED)
(插入控制流程图)
ADC采样 → FFT → 最大谐波频率识别 → 补偿电流合成 → PWM更新
使用CMSIS-DSP库进行256点快速傅里叶变换;
计算H2~H5含量与总THD。
iF频率控制误差≤1Hz;
幅值调节满足输出≥0.1A;
SPWM或正弦查表法。
| 项目 | 测试条件(KD/KC状态) | 测试值 | 误差 | 是否达标 |
|---|---|---|---|---|
| IO最大值(≥2A) | KD/KC多种组合 | xx A | - | √ |
| ILRMS测量误差(≤5%) | √ | |||
| HmL测量误差(≤3%) | √ |
| 项目 | 测试值 | 目标值 | 是否达标 |
|---|---|---|---|
| iF输出频率偏差≤1Hz | ≤1Hz | ||
| HmS下降至≤5%(无/有滤波电容) | ≤5% | ||
| 总THD ≤ 5% | ≤5% |
(附上示波器截图、电能质量分析仪截图)
系统能有效检测并抑制谐波,稳定性良好;
若有更多时间,可加入多频谐波同步补偿,提升谐波识别速度;
显示方式可进一步丰富(添加曲线拟合、频谱图等)。
电流采样精度低 → 更换传感器+低通滤波;
补偿电流无法对准目标频率 → 增加FFT点数,提高频率分辨率;
RMS/THD显示闪烁 → 引入滑动平均与分周期刷新机制。
| 成员姓名 | 负责内容 |
|---|---|
| 姓名1 | 项目统筹、软件算法 |
| 姓名2 | 硬件焊接、电路调试 |
| 姓名3 | 波形测试、报告撰写 |