ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

三相有源电力滤波器APF仿真:从谐波检测到SVPWM的完整实现

三相有源电力滤波器APF仿真:从谐波检测到SVPWM的完整实现 做电力电子仿真的朋友十有八九都被谐波电流折腾过。三相不控整流桥带一个电容滤波负载电网电流就会变成那种只在峰值附近才出现的窄尖脉冲畸变率随随便便上30%。我这次要聊的“三相有源电力滤波器APF仿真”就是把治理谐波这件事完整跑通从谐波检测、dq旋转坐标变换、PI控制到最后的SVPWM调制让电网侧电流从一团乱麻恢复到标准正弦波。标题里那个“滤器”其实是“滤波器”的笔误不影响理解但整个项目做下来你会发现APF就是电网电流的“净化器”。这篇文章没有特别高的门槛。电类专业学生、刚接触APF的电力电子工程师、还有准备做电能质量课题的科研党都能从中拿到可以直接抄作业的仿真流程。我把整个项目的设计思路、参数计算、模型搭建和调试排错过程按实际进行的顺序写出来包含我反复试错后确定的仿真参数和PI整定经验。1. 项目整体设计与仿真思路拆解1.1 为什么选APF而不是无源滤波器在真正动手搭模型之前得先想清楚一个问题谐波治理方案那么多为什么偏偏是APF传统无源LC滤波器是一种“定点清除”方案它把滤波器调谐到某个特定频率比如5次谐波250Hz、7次谐波350Hz靠LC谐振的低阻抗把对应频率的谐波电流旁路掉。设计简单、成本低但它有两个天生短板。第一调谐频率是固定的一旦电网阻抗变化或者负载性质变化滤波效果会明显下降严重时还会和系统发生并联谐振。第二当谐波源产生的谐波不只集中在一两个次数时你得并联好几组滤波器占地又大补偿效果还不全面。APF走的是完全不同的路线。它本质上是一个并联在电网和负载之间的PWM变流器主动检测出负载电流里的谐波成分然后输出一个大小相等、方向相反的电流去抵消它。说白了就像一个主动降噪耳机不是用耳塞把噪音物理堵住而是发出反相声波把噪音“中和”掉。APF能实时跟踪负载变化不管谐波是哪些次数、大小怎么变它都能动态补偿一套装置解决全频段谐波问题。这也是实际工程里APF逐渐成为主流的根本原因。1.2 仿真平台与系统架构选择做APF仿真平台首选Simulink里的Simscape Electrical工具包很多老资料里它叫SimPowerSystems。选它的理由很直接功率电路模块齐全三相电源、IGBT桥、变压器、非线性负载都是现成的控制部分又能用Simulink原生模块搭建不需要在多个软件之间来回倒数据。我搭建的系统架构是这样的一个三相380V/50Hz的交流电源给非线性负载供电非线性负载用三相不可控整流桥加阻感负载模拟这是最经典的谐波源产生的主要是5、7、11、13次谐波。APF并联接入在电源和负载之间的公共连接点PCC处通过进线电感连接到三桥臂IGBT逆变器直流侧是电容。控制部分采样负载电流和电源电压经过谐波检测、电流控制、PWM调制三个环节输出驱动信号给IGBT。整体信号流可以概括为PLL锁相获取电网相位把三相负载电流变换到dq同步旋转坐标系用低通滤波器提取基波分量再和直流电压外环的输出叠加成指令电流和APF实际输出电流一起进电流内环最后通过SVPWM生成IGBT驱动脉冲。1.3 控制策略选型从滞环到SVPWMAPF的电流控制策略行业内主流有两大类滞环比较法和三角载波比较法其中又以SVPWM空间矢量调制为代表。滞环比较法最直观把指令电流和实际电流的差值送进滞环比较器直接生成开关信号。它的优点是结构简单、动态响应快、对参数误差不敏感但代价是开关频率不固定会在一个较宽的范围内波动导致输出谐波频谱分散后续滤波电感和EMI设计都很不好做。我最终选了SVPWM方式。原因有三一是开关频率固定等于PWM载波频率输出谐波集中在固定频率附近方便设计二是直流电压利用率比普通SPWM高约15%对APF这种需要较高直流电压的场合很友好三是数字实现并不复杂在Simulink里用Matlab Function写一个SVPWM模块就能搞定。代价是控制算法稍微复杂一些但从工程角度看值得投入。2. 核心原理与关键参数计算2.1 谐波检测算法dq坐标变换的那一套逻辑APF的灵魂在谐波检测。如果检测出来的谐波指令不准后面控制再好也白搭。我用的方法是基于dq同步旋转坐标变换的检测法。思路是这样的把三相电流从静止的abc坐标系变换到以电网基波频率同步旋转的dq坐标系后基波正序分量在dq轴上变成了直流分量而各次谐波因为旋转速度和基波不同变换后还是交流分量。比如5次谐波在dq坐标系下变成6倍频的交流量7次谐波也变成6倍频的交流量11次和13次变成12倍频依此类推。既然基波是直流、谐波是交流那检测谐波就简单了用一个低通滤波器把直流量提取出来再用原始电流减掉基波分量剩下的就是谐波指令。在实际控制中通常不会直接做减法而是把dq轴的谐波分量作为指令输入电流环让逆变器输出对应的补偿电流。这个方案有一个关键前提dq变换必须和电网电压严格同步。这就是PLL锁相环的职责。如果PLL输出的相位有偏差基波分量在dq轴上就不是纯直流而是会带有两倍工频的波动低通滤波器滤不干净最终补偿效果会变差。所以PLL环节的PI参数也需要认真调不能随便用默认值。2.2 直流侧电压、电容和滤波电感怎么定APF主电路的三个关键参数直流侧电压U_dc、直流电容C_dc、进线电感L它们之间互相牵制需要统筹计算。先说直流侧电压。SVPWM线性调制区下三相逆变器交流侧相电压峰值最大能做到U_dc除以根号3所以要补偿380V系统的相电压峰值311V理论上U_dc至少要有538V。实际还要考虑进线电感上的压降、死区影响、动态调节裕量工程上一般留20%以上的余量。我最后取U_dc目标值700V这个电压既保证了调制比有充足裕量又不会让IGBT承受过高的电压应力。直流电容的选择要满足动态过程中的能量缓冲需求。当负载突变时APF需要在几个毫秒内输出很大的补偿电流这个能量主要靠直流电容提供。我按最恶劣工况估算假设负载突变时功率差额20kW电网需要半个工频周期约10ms才能跟上那么电容需要在这段时间里释放200J的能量。允许直流电压从700V跌到600V按能量公式C等于两倍能量除以电压平方差计算得到电容约3100微法取标准值3300微法动态压降还能控制在合理范围。进线电感的作用是限制电流纹波、滤除开关频率附近的高频分量。电感太小纹波电流大IGBT开关应力大电流跟踪能力虽然变强了但高频谐波变多电感太大电流变化率受限补偿效果变差。按照经验取标幺值0.15左右额定补偿容量33kVA对应的基波阻抗是4.37欧姆乘以0.15再除以角频率得到约2.1mH我取了2.5mH纹波电流按公式计算约为额定电流的17%处于合理区间。2.3 PI控制器参数整定思路APF的控制环分内外两层外环是直流电压环维持直流侧电压稳定在700V内环是电流环让APF输出电流快速准确地跟踪指令电流。两个环的PI参数整定遵循一个基本逻辑电流内环比电压外环快5到10倍否则两个环会互相干扰。电流环的对象主要是进线电感。电感的传递函数是1/(LsR)其中R是线路寄生电阻很小。PI控制器的零点可以放在电感极点位置进行对消积分时间常数等于L/R比例系数则根据期望的电流环带宽来定。我把带宽取为开关频率的十分之一也就是1kHz左右折算出来的PI系数作为初值再在仿真里微调。实际调试时我发现电流环用试凑法更高效先把积分时间常数设大一些只调比例系数让电流波形快速响应不振荡然后逐步缩小积分时间消除稳态误差。电压外环的PI要保守得多。电压环带宽设到电流环的五分之一以下比例系数初值在0.5到1之间积分系数在20到50之间看直流电压的响应曲线再调。电压环调得太快会导致直流侧电容充电电流过大反而在电网电流里引入低频振荡这个坑后面详说。3. 仿真模型搭建与核心环节实现3.1 功率电路搭建步骤仿真模型的功率部分我用Simscape Electrical的元件库搭建。电源用Three-Phase Source线电压380V频率50Hz内阻设一个很小的值模拟实际线路阻抗。非线性负载用Universal Bridge设成三相二极管整流模式直流侧接一个电阻加电感这样负载电流会带有明显的谐波尖峰。APF主电路里逆变器用Universal Bridge设成IGBT模式直流侧接DC Capacitor容量3300微法初始电压设650V左右这样仿真启动时冲击电流会小一些。逆变器交流侧通过三相滤波电感接入PCC点电感2.5mH。有两个细节值得注意。第一IGBT需要加缓冲电路在元件参数里给RC Snubber设一个合理的阻容值比如电阻1000欧姆、电容0.1微法不然仿真时容易因为电压突变导致不收敛。第二电流和电压测量模块必须接在正确位置负载电流在PCC点和负载之间测APF输出电流在电感和PCC之间测电网电压直接在PCC点测。测错位置控制会一团糟。3.2 控制环搭建与SVPWM实现控制部分我按模块化思路搭建。PLL用Simscape自带的Three-Phase PLL输出角度theta以及正余弦值直接给后面的坐标变换使用。坐标变换我写了一个Matlab Function模块里面做了Clark变换和Park变换。输入是三相负载电流和PLL给出的角度输出是dq轴电流id和iq。这里要注意Park变换的公式不同文献有符号差异我在仿真里统一用等幅值变换并仔细核对了PLL输出角度的对齐方式确保d轴与A相电压矢量对齐。低通滤波器我用了二阶Butterworth截止频率150Hz。这个频率要折中太高了基波里的交流纹波滤不干净太低了谐波指令会衰减。150Hz时300Hz的5次谐波部分还有明显增益同时100Hz基波波动被压得很干净实测效果不错。指令电流生成部分直流电压外环的输出作为d轴有功电流的修正量与负载电流d轴变换值叠加后减去低通滤波后的基波分量得到d轴谐波指令。q轴谐波指令直接由负载电流q轴分量减去基波分量得到。这种做法的物理意义是APF承担全部谐波电流同时通过电压环自动吸收或补充电网的有功功率维持直流电容电压稳定。SVPWM我在Matlab Function里实现了经典七段式算法先根据dq电压指令计算扇区、计算基本矢量作用时间再分配三相占空比输出调制波和三角载波比较。载波频率取10kHz。需要注意调制波要限幅在0到1之间超限会导致过调制畸变后面会专门讲这个问题。3.3 仿真运行与参数调试流程模型搭好后我没有直接全程跑APF。正确做法是分阶段调试每一步都确认无误再继续。第一阶段先把APF断路只跑不控整流负载用Fourier分析模块测量电网电流的THD。这个工况下THD通常在28%到35%谐波主要是5次和7次。这个数据就是后续对比的基准。第二阶段接入APF控制但先不给谐波补偿指令只让直流电压环工作把直流电容充到700V。看电压环的阶跃响应如果超调太大就降低比例系数如果响应太慢就加大积分系数。这个阶段我花了不少时间因为电压环刚开始一上PI就振后来把带宽降下来才稳定。第三阶段把谐波补偿指令打开观察电网电流波形。第一次跑通时会明显看到波形变好但THD可能还在10%以上这时候就需要细调电流环PI以及在SVPWM里加一点死区补偿。我最终把电网电流THD从32.8%降到了4.2%波形已经非常接近标准正弦波。4. 常见问题与排查技巧实录4.1 为什么补偿效果很差或者波形反而变乱我在调试过程中碰到的最典型问题之一是APF接入后电网电流不但没变好反而多出了很多毛刺和振荡。排查一圈发现根源在指令电流方向搞反了。APF补偿电流是要去抵消负载谐波的所以指令电流的极性和谐波分量必须相反。一旦坐标变换里某个符号写反APF输出的补偿电流就会变成同相加强谐波越补越大。这个问题在Simulink里很好验证把APF输出电流和负载电流谐波分量画在同一张图上正常情况应该是反相关系如果发现是同相马上检查Park变换矩阵和SVPWM调制波的符号。类似的还有dq变换角度初始对齐问题PLL输出的cos值对应的相位如果落后或者超前了dq轴的直流量会耦合串扰表现为补偿后电流含有大量两倍工频的波动。4.2 仿真发散或者步长跑不动怎么办仿真发散是电力电子仿真的老朋友。APF这种强非线性系统积分步长稍微不合适就容易报错。我用的求解器是变步长ode23tb相对误差设1e-4。这个求解器对刚性系统比较友好IGBT开关瞬态带来的数值刚性它能处理。如果还是发散优先检查IGBT的缓冲电路参数。snubber电阻太大会导致开关瞬间电压尖峰无穷大太小会吸收太多能量导致振荡。我把RC snubber的值从默认的损耗型改成电容0.1微法、电阻1000欧姆的搭配后模型基本不再发散。还有一个容易忽略的点电压测量和电流测量模块的输出含有很窄的开关毛刺直接进PI控制器会造成控制器输出抖动。我在测量信号后面加了一个一阶低通滤波器截止频率取开关频率的一半即5kHz既能滤掉测量毛刺又不会给控制环引入明显延迟。4.3 直流电压波动和SVPWM饱和问题直流电压环的参数如果调得太激进会出现一个典型现象直流电压稳住了但电网电流带着明显的低频包络波形整体在“呼吸”。这是因为电压环带宽太高把电网侧基波有功功率的波动也当成需要补偿的信号去响应了。解决办法是把电压环带宽压到电流环带宽的五分之一以下同时可以在电压环输出增加一个限幅器限制每次有功修正的幅度。SVPWM饱和的问题也值得一提。当负载谐波突变时电流控制器输出的dq电压指令可能超过调制极限导致SVPWM调制波削顶输出电压畸变补偿效果瞬间恶化。我在SVPWM模块里对调制波做了限幅同时在电流环PI输出端加了防积分饱和处理当输出达到限幅值时冻结积分器的累加避免积分项无限增大。4.4 常见问题速查表现象可能原因排查与解决办法补偿后THD不降反升指令电流极性反了或PLL相位对齐错检查Park变换符号、对比补偿电流与谐波分量相位补偿后波形有低频起伏电压环PI带宽过高降低电压环比例系数、增大积分时间常数仿真报错不收敛IGBT缓冲电路参数不当、步长太大调snubber参数、改用ode23tb、缩小相对误差电网电流仍有高频毛刺进线电感偏小、开关频率纹波过大增大电感或降低载波频率必要时加测量滤波直流电压跌落过多电容容量不足、电压环响应太慢增大直流电容、重新整定电压环PI空载和满载效果差异大PI参数只在单一工况有效加入负载波动验证、适当降低电流环Kp保证裕度5. 从仿真到硬件实现还需留意的几个现实问题5.1 PI参数在数字控制器里的差异Simulink里PI控制器是连续域模型参数直接给比例和积分增益就行。到了DSP或FPGA实现时PI控制器要写成离散域递推形式还需要处理积分饱和、采样延迟、PWM更新时刻对齐等一系列工程问题。我在仿真里虽然做了防积分饱和但离散化后采样延迟引入的相位滞后依然会影响电流环稳定性实际代码里需要把采样和PWM更新设置为单周期延后或双周期更新这个细节对补偿效果影响很大。5.2 死区效应和非理想开关的影响仿真里IGBT默认是理想开关关断和开通是瞬间完成的。实际硬件里必须有死区时间防止直通而死区会造成输出电压误差产生额外的低次谐波。在仿真里可以给PWM增加死区延时模块来预估影响但更现实的是直接预留补偿裕量把目标THD从4%留到5%以内这样硬件实现时即使有点恶化也还能满足国标要求。5.3 负载波动测试能暴露多少问题只做稳态仿真通过不代表系统靠谱。我在模型里加入了0.15秒时负载电阻突增的阶跃变化观察电网电流恢复时间。这一步让我发现了电压环动态响应偏慢的问题加大电压环积分系数后恢复时间从两个工频周期缩短到了半个周期以内。强烈建议做APF仿真的人都在末尾加一段负载突变场景这是暴露控制参数瑕疵最有效的手段。我个人在实际操作中的体会是APF仿真最容易出彩也最容易翻车的环节就是谐波检测那几步坐标变换和滤波器参数。方向对了、相位对了后面的电流环和SVPWM反而简单无非是调PI。如果一开始就在坐标变换细节上粗心后面排查的时间会成倍增加。另外仿真时间不要只跑几个周期我建议跑到0.2秒左右给电压环充分建立时间用后半段稳态波形做THD分析数据才更有说服力。最后再分享一个小技巧把电网电流、负载电流、APF补偿电流三条波形放在同一张示波器图里观察如果APF补偿电流恰好是负载电流的毛刺部分取反电网电流趋于光滑正弦就说明你的整个信号链是通的。这种直观的“波形验证法”比只看THD数字要可靠得多。
返回列表