做电能质量这一行APF有源滤波器仿真基本是入门到进阶绕不开的一步。我这次分享的重点是整个仿真里最关键的谐波电流检测模块——它一旦定不对后面的控制环路、逆变器输出做得再漂亮补偿效果也是白搭。这篇内容适合正在搭三相APF模型、但迟迟下不了手的朋友也可以给刚接手谐波治理项目的工程师做个算法选型参考。我前后大概花了两周时间把整套模型跑通中间用某仿真平台搭过好几版拓扑也踩过低通滤波器延时过大、锁相环初始相位抖动引起的“虚高THD”这类坑。下面按我的实际梳理顺序来写先讲为什么检测模块是整套 APF 设计的最前端约束再拆 d-q 检测法的实现细节然后是主电路参数怎么和检测模块配合最后给一份调试问题速查表方便万一你复现时卡住能直接对照着定位。1. 整体设计思路检测模块为什么放在最前面1.1 并联型 APF 的主电路结构有源电力滤波器不像无源滤波器靠 LC 谐振“吃掉”某几次谐波它的原理更像实时降噪耳机先“听到”补偿对象里的谐波分量再生成一个大小相同、方向相反的补偿电流注入电网把谐波电流互相抵消掉。降噪耳机做得好不好很大程度取决于麦克风采样和反相输出的延迟APF 也一样谐波检测的精度和延迟直接决定了补偿效果。目前工程上用得最多的是并联型 APFSAPF。它并联在负载和电网的公共连接点处主电路是一个三相电压型逆变器逆变器通过并网电感和 PWM 开关动作输出补偿电流。整套系统的核心链路可以拆成四个环节谐波电流检测模块采样负载电流和电网电压实时计算出需要补偿的指令电流控制环对指令电流和反馈电流做误差处理生成 PWM 驱动信号主功率电路三相桥式逆变器、并网电感、直流侧电容直流电压外环维持直流母线电压稳定让逆变器有足够的电压裕量输出补偿电流。我在建模时最看重的就是第一环。检测环节输出的是指令电流后面所有控制算法都围绕这个指令转。假如检测环节计算的指令电流有 5% 的幅值误差补偿之后残流至少还有 5%如果相位落后了半个到一个小周波不光低次谐波消不掉甚至可能在某些频段越补越糟。1.2 为什么选 d-q 检测法而不是 FFT 频域检测早期谐波检测有一种很自然的思路对负载电流做傅里叶变换把频谱里大于基波的成分挑出来再反变换成时域补偿指令。FFT 做离线分析非常直观但放进实时 APF 里就暴露了几个问题。首先是窗口延迟问题。FFT 要采集完整的一个工频周期数据才能算出频域分量这就意味着检测结果天然落后一个周期。对稳态谐波负载可能还勉强能忍可一旦碰上电弧炉、轧机、充电桩这种负载快速变化的场景指令电流跟不上实际谐波变化补偿效果肉眼可见地崩。其次是频谱泄漏和栅栏效应。截断非整数周期时傅里叶分析结果会在基波和谐波附近出现旁瓣导致检测出的幅值和相位都有偏差。FFT 算法性能再优也很难保证谐波提取精度。后来我改用瞬时无功功率理论里的 d-q 旋转坐标法同步旋转坐标系法。这个方法的核心思想是把三相静止坐标系下的交流电流通过坐标变换变成同步旋转坐标系下的直流量。基波正序有功电流在 d-q 坐标系里表现为直流谐波和无功分量则表现为交流脉动。只要设计一个低通滤波器把直流分量提取出来再用原始电流减去这个基波直流分量剩下的就是“谐波无功”指令。相比 FFTd-q 法是逐采样点计算的延迟基本上只取决于低通滤波器的群延时动态性能好得多。而且相比于传统的 p-q 瞬时功率法d-q 法只需要锁相环跟踪电网电压的相位不依赖电压幅值的精确计算在电网电压本身有畸变的场合检测结果更稳。这也是工业装置普遍选择 d-q 法的原因。2. 谐波电流检测模块算法解析与实现要点2.1 先从坐标变换说起Clarke 变换d-q 法第一步是 Clarke 变换也就是把三相静止坐标系a-b-c下的电流变换到两相静止坐标系α-β下。假设三相电流分别是 (i_a)、(i_b)、(i_c)等幅值 Clarke 变换的形式为[ i_\alpha \sqrt{\frac{2}{3}} \left(i_a - \frac{1}{2}i_b - \frac{1}{2}i_c\right) ][ i_\beta \sqrt{\frac{2}{3}} \left(\frac{\sqrt{3}}{2}i_b - \frac{\sqrt{3}}{2}i_c\right) ]这里我用的是等幅值变换而不是等功率变换。工程习惯上选等幅值好处是变换后的 α-β 分量幅值仍然等于原三相电流的幅值后面做 PI 参数整定、电流限幅和保护阈值设置时可以直接跟实际电流大小对标不用来回换算调起参来舒服很多。实际仿真建模中我一般直接用闭环霍尔采样得到的三相电流做实数值运算把连续信号通过离散采样送进这个变换模块。采样频率至少要做到开关频率的 5 到 10 倍不然电流纹波会把坐标变换后的直流量“污染”得很严重。2.2 Park 变换把基波变成直流把谐波变成脉动Clarke 变换做完之后得到的是两相正交交流量。接着用 Park 变换借助锁相环输出的电网电压同步角 θ把 α-β 坐标系旋转到与基波正序分量同步的 d-q 坐标系[ i_d i_\alpha \cos\theta i_\beta \sin\theta ][ i_q -i_\alpha \sin\theta i_\beta \cos\theta ]这里 θ 由锁相环得到通常是 A 相电压的相位角。在坐标系同步旋转的情况下基波正序有功分量在 d 轴上变成直流分量基波正序无功分量在 q 轴上变成直流分量而 5 次、7 次、11 次等谐波分量在旋转坐标系里仍然是交流脉动信号。重点来了如果想要只补偿谐波而不补偿无功那就只取 d 轴的交流分量。 PM 如果想要谐波和无功一起补偿就把 d-q 两轴的交流分量都取出来。 PM 实际做 UPS 和 APF 结合的工程里大多选择“谐波无功”一起补偿这样对电网更友好能同时改善功率因数。我习惯写成更直观的形式总电流信号进变换基波有功和基波无功在旋转坐标下都是直流谐波是交流。所以检测模块就是尽量准确地抽出 d-q 轴里的“交流部分”必要的时候还要叠加无功电流指令。最终补偿指令电流由这两部分共同决定。2.3 低通滤波器选型与截止频率取值低通滤波器是 d-q 检测法里最敏感的参数。它的作用是把 d-q 轴上的直流分量提取出来留下交流分量作为补偿目标。实际操作中我用过一阶惯性滤波、二阶巴特沃斯滤波也试过平均值滤波这里直接说结论。平均值滤波滑动平均稳态精度很高直流分量提取非常干净但它的延迟差不多是窗口宽度的一半。比如做 20ms 的滑动平均输出延迟就是 10ms对动态补偿来说等于多送了半个周波的相位误差体验很不好。一阶惯性滤波器结构简单但幅频特性在高频段衰减太慢会让高频谐波检测结果里混入明显的基波残余。做低次谐波为主的整流负载补偿还凑合一旦谐波频谱丰富就不够看。我最终用的是二阶巴特沃斯低通滤波器截止频率选在 25Hz 到 35Hz 这个区间。为什么不是 50Hz这里有一个容易忽视的点d-q 坐标系里的基波分量对应直流而 5 次谐波300Hz在 d-q 坐标中表现为 6 倍基波频率的脉动即 300Hz 分量。所以低通滤波器的目标是把 0Hz 附近的直流留下来把 300Hz 以上的频率滤掉。理论上只要截止频率明显低于 300Hz 都可以。但还要兼顾动态响应截止频率越低滤波越干净但群延时越大指令电流滞后越多。25Hz 到 35Hz 是在稳态精度和动态响应之间比较折中的一个区间。注意低通滤波器不能只用幅频特性来选群延时同样关键。二阶巴特沃斯在截止频率附近会有明显的相位滞后这部分滞后最后会体现在指令电流的相位误差里。如果系统对动态性能要求高可以在检测模块输出后加一个超前校正环节或者做负载电流前馈这个后文会展开说。3. 仿真建模与关键参数设置3.1 主电路建模不控整流负载作为谐波源仿真搭环境时谐波源我选了三相不控整流桥带阻感负载这是最经典的电流源型谐波负载。整流桥交流侧的电流波形是典型的阶梯方波理论上含有 6k±1 次谐波主要能量集中在 5 次和 7 次。这种谐波源的 THD 一般在 20%~30% 之间足够用来验证检测模块和控制策略的有效性。主电路部分按并联型 APF 来搭三相交流源相电压 220V频率 50Hz谐波源负载三相不控整流桥直流侧接电阻加电感RLAPF 主电路三相两电平逆变器直流侧电容用大电容并联小电容组合并网电感连接逆变器桥臂输出端与电网公共点起滤波和电流控制的作用控制部分谐波检测模块、直流电压外环、电流内环、PWM 调制。这里有个容易犯的错误并网电感不是越大越好。电感大纹波电流小谐波抑制好但电流跟踪速度也慢动态补偿性能差电感小跟踪速度快但开关纹波可能超标还会增大电流控制环的振荡风险。所以要结合开关频率和直流母线电压一起折算而不是凭感觉拍一个数值。3.2 关键参数的计算过程这里给出我在仿真中实际用的参数以及背后的大致折算逻辑方便你照着调试参数取值选择依据电网电压线电压380V / 50Hz常规三相低压配电场景直流母线电压800V必须留出补偿电流的调节裕量且大于线电压峰值开关频率10kHz兼顾器件损耗和电流跟踪能力仿真平台默认可接受并网电感1.2mH按下述纹波电流公式折算出直流电容5mF抑制直流电压波动按电压波动率约束折算电流环采样频率50kHz对开关频率留 5 倍裕量避免混叠直流母线电压为什么取 800V三相 380V 系统相电压峰值大概是 311V。两电平逆变器采用单极性或双极性 PWM 时理论上最大输出相电压幅值受到直流母线电压一半的限制。也就是说要输出 311V 的相电压直流母线至少需要 620V 以上。再考虑电流跟踪时需要在电感上产生压降以及电网电压波动留的裕量我把直流侧定在 800V留了大约 30% 的调节空间仿真和后续样机都比较安全。并网电感的估算我通常按纹波电流上限来算。以 10kHz 开关频率、800V 母线电压、目标纹波电流峰峰值控制在补偿电流额定值 10% 左右来计算L 取 1.2mH 可以得到大约 6A~8A 的开关纹波。对一台额定补偿电流六七十安培的仿真装置来说这个纹波占比可以接受。这里如果你把开关频率降到 5kHz同样的电感受纹波会翻倍就需要把 L 同步放大到 2mH 以上。直流电容的选择看启动冲击和动态过程中的电压波动。APF 在补偿谐波时直流侧和电网之间会交换瞬时有功和无功功率母线电压必然会波动。按允许波动率 5% 左右来算工程取法大概在 3mF~6mF。仿真里取 5mF 既能看清动态过程也不会让启动充电时间过长得离谱。3.3 控制环的搭法直流电压外环 电流内环APF 控制典型是双环结构。外环是直流母线电压环把检测到的直流电压和参考值做 PI 调节其输出叠加到 d 轴电流指令上。这个补偿量对应的是逆变器的有功损耗支撑。内环是电流环负责让实际补偿电流快速跟踪指令电流。实现方式我用的是滞环电流控制。滞环控制的好处是直观、响应快、鲁棒性好特别适合仿真阶段快速验证系统拓扑是否可行。你只需要在当前指令电流周围画一个滞环带当实际输出电流超出带子上限就关管低于带子下限就开管不需要建立复杂的被控对象模型。坏处是开关频率不固定直接体现在电流波形上的就是开关纹波分散、频带较宽。如果是后期要往工程样机方向走我更推荐换成固定频率的三角载波调制配合 d-q 轴 PI 调节器对特定次谐波可以加谐振控制器。但这就涉及解耦和前馈建模复杂度会上一个台阶。仿真阶段先用滞环把补偿逻辑验证清楚完全够用。以我最终这版模型为例补偿前整流负载电流 THD 实测是 26.8%投入 APF 之后 THD 降到了 4.2% 左右。从波形上看5 次谐波从补偿前的 48A 降到接近 4A7 次谐波从 27A 降到 3A 左右。这个残流主要来自开关纹波、低通滤波器延迟以及高次谐波如 29 次以上未被完全补偿而不是检测算法本身的问题。谐波次数补偿前电流幅值补偿后电流幅值下降比例5 次48A4A91.7%7 次27A3A88.9%11 次13A1.5A88.5%13 次8A1A87.5%这个结果基本符合预期。再往下压 THD瓶颈已经不是检测模块而是并网电感和 PWM 开关纹波了得靠输出端 LC 滤波或者提高开关频率来解决。4. 调试过程中踩过的坑与排查方法4.1 启动冲击直流电容充电瞬间把仿真保护触发第一次合闸仿真时我发现 APF 一投入直流母线电压就像被锤了一拳电流环给定瞬间饱和并网电流直接撞上保护阈值。原因很清晰直流侧电容初始电压为 0检测模块输出瞬间要求逆变器输出很大的补偿电流导致系统在启动阶段失控。解决方法是给直流电压参考值加一个斜坡让母线电压在 0.1s 内从 0 平缓上升到 800V。同时在启动阶段把补偿电流指令用一个使能信号遮蔽掉等直流电压建立得差不多之后再投入谐波补偿功能。仿真中这个处理非常有效波形收敛也干净。工程装置上则通常用预充电电阻或继电器限流电路来处理原理是一样的。4.2 低通滤波器延时造成的补偿相位偏差调试中期为了追求更低的稳态 THD我把低通滤波器截止频率从 30Hz 一路降到 10Hz。结果稳态 THD 确实进一步下探但负载阶跃变化时补偿电流明显跟不上动态存在两三个周波的振荡。后来我用检测模块内部的中间信号溯源才发现问题不只在低通滤波器截止频率上还有锁相环输出相位在动态过程中出现小范围摆动两者叠加导致指令电流的相位失真。我的处理方式分两步第一步把低通滤波器截止频率调回 30Hz稳定动态性能第二步在负载电流检测通道上加了一个高通前馈支路把负载电流的高频变化直接叠加到指令上弥补低通滤波器的惯性延迟。调整后稳态 THD 保持在 4.5% 附近负载突变时的恢复时间也缩短到半个周波以内。4.3 锁相环初始相位问题导致 50Hz 残留有那么一次仿真的补偿结果非常奇怪THD 不仅没降下来反而在 50Hz 处冒出了新的尖峰。我起初以为是坐标变换公式写错了后来查了查出在锁相环的初始相位上。锁相环在仿真启动初期要有一个收敛过程如果初始相位没给准或者锁相环 PI 参数选得太激进收敛过程中 θ 的角度会来回抖。这个抖动的意义在于Park 变换本来是把基波转到直流的结果 θ 一抖基波分量又被“调制”回了交流分量检测模块错把基波当成了谐波去补偿最后在电网电流里产生了 50Hz 的叠加波动。排查方法很简单把检测模块输出的指令电流单独拉出来做 FFT如果 50Hz 分量异常突出基本就能锁定是锁相环问题。解决方法是适当降低锁相环比例增益或者在仿真启动阶段让锁相环在 APF 补偿投入之前提前 0.2s 运行先把相位稳定住。工程上更稳妥的做法是加一个电网电压前馈或者采用基于二阶广义积分器的锁相方案增强电压畸变下的相位提取能力。4.4 常见问题速查表问题现象可能原因解决办法补偿后 THD 反而升高锁相环初始相位未稳定θ抖动让 PLL 提前运行降低 P 参数稳态 THD 高残流集中在 5/7 次低通截止频率偏高基波直流提取不纯截止频率调到 25~30Hz或改用更高阶滤波动态响应慢负载突变后振荡低通滤波器群延时过大加高通前馈或对指令电流做相位超前补偿启动瞬间过流保护直流电容充电电压环饱和直流电压参考加斜坡补偿指令使能延后补偿后出现开关频率附近尖峰并网电感偏小开关纹波未被滤除增大并网电感或在输出端加高频滤波网三相不平衡负载下补偿不理想只补谐波没有补偿负序电流在 d-q 检测基础上增加负序检测通道仿真阶段遇到问题不要急着调控制参数先看检测模块输出的指令电流长什么样、对不对。我后来养成的习惯是把检测输出、实际补偿电流、残流三者放在同一个示波器视图里对照哪个环节出了问题一眼就能定位到是幅值不对、相位滞后还是动态响应跟不上比拍脑袋调 PI 高效得多。按照这套流程大部分 APF 仿真问题都能在半小时内定位到具体模块。最后再分享一个小经验这套模型跑通之后可以试着把整流负载的触发角或者直流侧负载电阻做成一个阶跃变化再回头审视低通滤波器和电流环的配合。能承受住负载突变的 APF 仿真才真正算是有工程参考价值而不仅仅是“波形好看”的演示模型。
阅读完成 · 觉得有帮助?