ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

并网逆变器阻抗建模与扫频法验证:从理论到Simulink复现

并网逆变器阻抗建模与扫频法验证:从理论到Simulink复现 阻抗建模这个东西近几年在做并网逆变器稳定性分析的人里面基本绕不开。我最初接触这个题目是复现一篇博士论文里的核心章节光伏并网逆变器用阻抗法做稳定域分析并用扫频法在Simulink里验证理论模型。整套工作概括起来就三件事——把逆变器的小信号阻抗模型推出来在仿真里用扫频法把阻抗测出来最后拿阻抗比判据判断系统在什么样的电网条件下会失稳。这个项目特别适合正在做电力电子方向的研究生、准备入门阻抗法的工程师还有那些想把论文里的公式真正落到仿真里跑一遍的人。下面就把整个复现过程和踩过的坑完整写出来。1. 为什么用阻抗建模和扫频法来评估并网稳定性1.1 从阻抗角度看稳定性先讲一个直觉。你把并网逆变器看成一个电流源并联一个输出阻抗把电网看成一个电压源串联一个电网阻抗两个子系统在公共连接点PCC相遇。这种结构下系统是否稳定取决于两个阻抗的比值在中频段会不会打架。这就是经典的阻抗比判据最早是从DC-DC变换器稳性分析推广过来的后来被应用到三相并网系统。阻抗法的好处很直接它把逆变器当成一个黑箱只关心端口处的电压电流小信号关系不需要知道内部控制器具体怎么写的。对于工程里常见的场景——电网参数不清楚、多台逆变器并联、谐波振荡频发——这种黑箱视角非常实用。你不需要完整的开关模型只需要一条随频率变化的阻抗曲线就能判断系统是否靠近失稳边界。为什么光伏并网逆变器尤其敏感因为电网不是一个理想电压源。线路电感、变压器漏感、远端等效阻抗合在一起在PCC处形成一个不可忽略的电网阻抗。电网越弱这个阻抗越大逆变器与电网之间的交互就越容易出问题。经典的谐波振荡案例里问题往往就出在某个频段逆变器阻抗和电网阻抗幅值相等、相位裕度不足。1.2 为什么用扫频法验证理论推导的小信号阻抗模型存在一个致命问题它必须做很多近似。比如锁相环的线性化、Park变换的小扰动展开、PWM延迟的等效一阶惯性、电流环的简化。任何一个近似的不准确都会让理论曲线和实际曲线产生偏差。这种偏差在低频段还好到了锁相环带宽附近、载波频率附近理论模型经常对不上实测结果。扫频法本质上就是给仿真里的逆变器量阻抗。在某个工作点注入一个确定频率的小扰动测量同一频率下的电压电流响应算出幅值和相位就得到该频率点的阻抗。逐点扫过去就能画出一条完整的阻抗频率特性曲线。这个方法不需要任何解析推导直接把主电路和控制器的所有细节都考虑进去——开关模型、PLL、电流环、滤波器的寄生参数统统包含在测量结果里。所以它天然就是验证理论模型的照妖镜。我在复现过程中把理论曲线和扫频结果叠在一张图上对比时感受特别深当你简化得太多扫频曲线会在某个频段明显偏离这时候你就知道模型里的哪项近似出了问题。扫频法不是替代理论模型而是给理论模型纠偏。1.3 为什么选Simulink而不是手推全部公式有人问阻抗模型可以直接写公式算出来为什么还要搭Simulink我的看法是公式推导给出的是理想答案但工程中你需要一个能随意改参数、加扰动、看波形的实验平台。Simulink的优势有三个一是模型复用度高。主电路拓扑和控制架构搭一次后面改PLL带宽、改电流环参数、改电网电感都非常方便所有分析都围绕同一套模型展开不会出现论文模型和验证模型不是同一个系统这种尴尬。二是与MATLAB的数据处理无缝衔接。扫频得到的时间序列可以直接丢进MATLAB脚本做FFT、画Bode图、算奈奎斯特判据。扫频操作本身也能写成脚本自动跑省去大量手动操作。三是你可以逐步加复杂度。我最开始做阻抗验证时先只开电流环、关掉PLL把电流环的阻抗特性验证清楚然后再把PLL加回来观察耦合项的出现。这种渐进式验证在纯数学推导里比较难实现但在Simulink里只是一个开关的事。2. 光伏并网逆变器阻抗建模的核心原理2.1 从dq轴模型到阻抗矩阵并网逆变器在三相abc坐标系下不是线性时不变系统直接对abc做阻抗建模很麻烦。常规做法是把它变换到dq旋转坐标系下稳态工作点变成直流小信号扰动可以线性化处理。在dq坐标系下电压和电流的小信号关系是一个2×2的阻抗矩阵[ Δvd ] [ Zdd Zdq ] [ Δid ] [ Δvq ] [ Zqd Zqq ] [ Δiq ]这里的Zdd和Zqq是自阻抗Zdq和Zqd是耦合阻抗。理想情况下如果只有电流环控制dq轴近似解耦Zdq和Zqd都很小。但一旦加入锁相环电网电压扰动会影响PLL的相位输出进而改变dq坐标系的旋转角度这时候d轴和q轴之间就会出现明显的耦合Zdq和Zqd不再是零。实际建模时大多数人会用正负序阻抗或者极坐标下的阻抗描述因为电网的三相对称性让正负序解耦更方便判断稳定性。不过在Simulink里做扫频时最直接的是先扫出dq阻抗矩阵再通过坐标变换或频率搬移转换成序阻抗。这个转换公式在很多论文里都有复现时照着写就行关键是理解dq矩阵里的每一项从哪里来。2.2 锁相环对阻抗特性的影响锁相环是并网逆变器阻抗里最麻烦、也最有意思的部分。以常用的SRF-PLL同步旋转坐标系锁相环为例它测量的并网点电压经过Park变换后q轴分量用来调节输出相位目标是让q轴电压归零。问题在于PLL的带宽通常在几十赫兹当电网电压在某个频率存在小扰动时PLL会把这个扰动认定为相位变化从而改变输出角度最终在电流环的参考值里产生一个额外的扰动分量。这就是学术界常说的PLL引入的负电阻效应。在某个频率范围内PLL的动态会让逆变器阻抗的实部变为负值相当于在这个频段逆变器不仅不消耗能量反而向电网注入能量。一旦电网阻抗在这个频段和逆变器阻抗发生谐振就会出现持续振荡。我复现时验证过这个现象固定电流环参数不变只把PLL带宽从20 Hz调到50 Hz阻抗曲线在几十到几百赫兹区间明显变化最直观的表现是Zdq和Zqd的幅值增大相位特性恶化稳定性裕度下降。所以做扫频验证时PLL参数一定要和理论模型里的一致否则曲线对不上。2.3 电流环对阻抗特性的影响电流环的阻抗影响相对直观。逆变器的输出阻抗在低频段主要由电流环决定电流环带宽以内逆变器趋向于理想电流源输出阻抗很大电流环带宽以外电流环失去调节能力阻抗逐渐趋于滤波器的自然特性也就是电感在低频段占主导、电容在高频段起作用。具体到dq轴电流环用的是PI控制器输出阻抗的表达式可以写成Z (Vdc/滤波传函) 与 电流环开环增益相关的一项组合。电流环比例系数越大低频段阻抗越高积分系数决定过渡带的形状。实际调试中电流环带宽一般取500 Hz到2 kHz。带宽太低阻抗在电网频率附近不够硬容易受电网谐波影响带宽太高则可能与PLL、采样延迟相互作用在高频段引入新的谐振峰。2.4 频率耦合与正负序阻抗扫频验证时最容易忽略的就是频率耦合。你在dq轴的d轴参考值上注入一个fp频率的小扰动在abc坐标系里观察到的不仅仅有fp频率的分量还有一个2*f1-fp的分量f1是基波50 Hzfp是注入频率。这个现象的本质是Park变换的频率搬移dq轴的正频率扰动对应abc里的正序分量负频率扰动对应负序分量。如果你只测fp频率的响应就当作阻抗得到的曲线是污染过的因为实际响应是两个频率分量的叠加。正确做法是同时测量fp和2*f1-fp两个频率处的电压电流响应再通过矩阵运算把真正的正负序阻抗解耦出来。在Simulink里实现不复杂就是对电压电流各做一次FFT提取两个频率点的复数分量然后套用解耦公式。这一步我当初漏掉时扫出来的高频阻抗曲线非常难看后来补上耦合频率的提取才恢复正常。3. Simulink仿真平台搭建与扫频实现3.1 主电路与控制模型结构先给出一套我复现时用的参考参数方便直接搭模型。逆变器额定容量取10 kW交流侧线电压380 V直流侧用理想电压源模拟光伏阵列输出扫频验证阶段建议把MPPT关掉固定直流电压700 V否则直流侧动态会干扰阻抗测量。主电路是三相两电平逆变桥加LCL滤波器逆变器侧电感L1取2 mH网侧电感L2取1 mH滤波电容Cf取10 uF阻尼电阻根据情况可选3 Ω。电网用一个理想电压源串联阻抗表示弱电网时串联电感Lg取1~3 mH强电网时取0.1 mH。控制系统包括SRF-PLL、dq坐标系下电流PI控制器、SPWM调制。开关频率取10 kHz采样频率与开关频率一致。电流环PI参数按典型整定公式来算以L1L2作为等效电感L 3 mH线路电阻R 0.1 Ω设计电流环闭环带宽800 Hz即ωc ≈ 2π×800 ≈ 5027 rad/s那么kp L × ωc ≈ 3e-3 × 5027 ≈ 15ki R × ωc ≈ 0.1 × 5027 ≈ 503PLL参数按带宽20 Hz设计阻尼比取0.707。在标幺化处理后的PLL模型里PI参数为kp_pll 2 × ξ × ωn ≈ 2 × 0.707 × 125.7 ≈ 178ki_pll ωn² ≈ 125.7² ≈ 15791注意如果模型里没有做标幺化而是直接把实际电压幅值送入PLL这两个参数还要折算这是很多新手容易搞混的地方。我建议在PLL输入端先除以相电压幅值做归一化后面调参就清爽得多。3.2 扫频扰动注入方式扫频的核心是在哪个位置注入扰动。最常用也最推荐的做法是往电流环的d轴参考值里叠加小信号正弦扰动id_ref Id0 A_p * sin(2*pi*fp*t)d轴直流参考Id0对应有功功率工作点比如额定功率下Id0 ≈ 10 kW / (1.5 × 311) ≈ 21.4 A。扰动幅值A_p取工作点电流的2%~5%比如0.5 A到1 A。幅值太小FFT提取的响应会被开关纹波淹没幅值太大会激发非线性效应和高频谐波违背小信号假设。实测下来2%到3%是比较稳的区间。注入频率点的选取按对数分布从5 Hz到5 kHz每十倍频程取10到15个点总共50个点左右。为什么用对数分布因为阻抗曲线在低频段斜率陡高频段变化平缓对数分布能用最少的点覆盖最多的信息。每个频率点单独运行一次仿真等系统进入稳态后再记录数据。为什么不用扫频信号chirp一次跑完Chirp确实快但在仿真里它会把多个频率的响应同时叠加非线性交互会比较明显而且需要比较复杂的后处理。逐点正弦注入虽然慢但每个点都干净阻抗测量结果的可信度高。在复现论文时准确性优先于速度我建议先用逐点法把基准曲线做出来。3.3 数据采集与后处理流程每个频率点仿真时记录PCC处的三相电压和逆变器输出电流采样时间应与控制周期一致或更高建议1e-5 s到1e-6 s。要等系统过渡过程结束再开始记录一般取0.1~0.2 s后开始记录至少10个注入频率周期。比如注入频率15 Hz那就至少记录0.7 s以上。后处理用MATLAB脚本完成核心思路是对记录的电压电流做FFT提取注入频率fp处的复数分量。配合2*f1-fp处提取的分量做耦合解耦。下面给一个简化版的处理框架% fs: 采样率, t: 时间向量, va/vb/vc: 相电压, ia/ib/ic: 相电流 % fp: 当前注入频率, f1 50 win hanning(length(t)); % FFT Va fft(va .* win) / length(t) * 2; Ia fft(ia .* win) / length(t) * 2; % 提取 fp 与 2*f1-fp 处的复数幅值 idx_fp round(fp / fs * length(t)) 1; idx_cp round((2*f1 - fp) / fs * length(t)) 1; Va_fp Va(idx_fp); Ia_fp Ia(idx_fp); Va_cp Va(idx_cp); Ia_cp Ia(idx_cp); % 单相近似阻抗在验证阶段可以先看这一项 Z_meas Va_fp / Ia_fp;注意这里用的是单相近似严格计算正负序阻抗需要把三相电压电流做对称分量变换再额外提取负序分量。复现论文时至少要按三相对称处理否则在电网不平衡的工况下结论会偏。为了自动跑完50个频率点我会写一个外层循环脚本每次修改Simulink里的正弦扰动频率与仿真停止时间用sim()命令运行模型然后调用同一个后处理函数保存结果。这样一遍扫下来大约需要几十分钟到几小时取决于仿真时长和采样步长。3.4 理论模型与扫频结果对比得到全部频率点的扫频阻抗后把它和理论推导的解析阻抗画在同一张Bode图上。我复现时看到的典型结果是这样的在电流环带宽以内扫频曲线和理论曲线高度重合偏差不超过1 dB在PLL带宽附近由于正负序耦合曲线开始出现小的分离到了1 kHz以上由于数字控制延迟和PWM更新的影响理论曲线会明显偏高或偏低这时候就该考虑在理论模型里加入一阶延迟项1/(1sTd)Td取1.5倍采样周期。这里有一个值得强调的对比技巧不要只对比幅频特性一定要同时对比相频特性。阻抗的相位直接决定了稳定性判据里的相位裕度很多振荡问题就是相位差那么10度、20度导致的。扫频结果和理论模型相位能对上你的建模才有可信度。4. 稳定性分析从阻抗比到奈奎斯特判据4.1 电网阻抗交互的基本逻辑把逆变器阻抗Zinv和电网阻抗Zg看作PCC处的两个串联阻抗系统是否稳定取决于Zg/Zinv这个比值的奈奎斯特曲线是否穿越-1点。这个思路和放大器环路增益的稳定性分析是同构的逆变器等效为一个闭环子系统电网阻抗作为它的负载两者阻抗比定义了这个闭环环路的开环传递函数。电网阻抗在不同工况下差异很大。强电网Lg只有0.1 mH对应的阻抗在50 Hz只有0.03 Ω几乎不影响逆变器。弱电网Lg达到3 mH50 Hz阻抗0.94 Ω在数百赫兹的谐振频段阻抗可能达到几欧姆这时与逆变器阻抗的交点就非常危险。下图这种场景在实际工程里很常见逆变器单独并网稳定多台并联或接入长线路后出现十几到几百赫兹的持续振荡。4.2 简化判据与实用裕度指标工程上除了画完整的奈奎斯特图更常用的是看两条阻抗曲线的交点。在Bode图上画出Zinv和Zg的幅频曲线交点频率就是潜在谐振频率。在该频率处如果Zinv的相位滞后减去Zg的相位超前小于180度系统是稳定的越接近180度稳定裕度越小。一般要求相位裕度至少30度工程上奔着45度以上做。这个简化判据在单入单出、正负序解耦的情况下成立。对于dq阻抗矩阵这种多入多出系统严格的做法是计算回比矩阵的特征值看两个特征值的奈奎斯特曲线。论文里通常给出这个完整判据我复现时也照做了不过实际调参阶段还是习惯先看单曲线交点快速定位问题频段再用特征值判据精算。4.3 参数变化对稳定性影响的复现案例我复现里的关键参数扫描结果可以总结为三个规律这些结论和文献里的经典结论一致第一PLL带宽从10 Hz提高到50 HzZinv在低频段的负电阻区间扩大与弱电网阻抗的交点相位裕度明显下降。Lg取2 mH时PLL带宽50 Hz的相位裕度只有约20度系统在仿真里出现了明显的低频振荡频率大约在80 Hz附近。第二电流环带宽从400 Hz提高到1 kHzZinv在中频段的幅值增大与电网阻抗的交点频率升高。交点频率升高后PLL的影响变小但滤波器和采样延迟的影响变大所以电流环带宽不是越高越好。第三电网电感Lg从0.5 mH增加到3 mHZg曲线整体上移交点从高频段移动到PLL负电阻区间附近系统从稳定走向振荡。这个趋势和实际弱电网振荡事故的频段完全一致。5. 常见问题与排查技巧实录扫频法看起来简单真正跑起来全是细节。我把复现过程中遇到最多的问题整理成一张速查表每条都是实际踩过的坑。现象根本原因排查与解决办法扫频曲线高频段毛刺多FFT泄漏或记录时长不足加Hanning窗记录时长取注入频率周期的整数倍以上超低频20 Hz扫频结果乱跳过渡过程未结束就采集延长预仿真时间让PLL和电流环充分进入稳态注入幅值调大曲线出现塌陷触发限幅或非线性检查调制波是否饱和幅值降到工作点的1%~2%加PLL后阻抗曲线和理论对不上忽略了2*f1-fp耦合频率在后处理中同时提取耦合频率分量并做解耦弱电网工况仿真直接发散系统本来就不稳定扫频前提失效先降低PLL带宽或增大阻尼比恢复稳定后再扫频高频段出现固定尖峰PWM谐波或采样频率混叠确认FFT频率轴是否混叠提高采样率dq矩阵的Zdq和Zqd不对称注入点在d轴但耦合响应提取不对称分别扫d轴和q轴扰动完整测量4个阻抗元素再补充几个比较隐蔽的隐患。第一仿真步长不能随意用默认值建议设最大步长为开关周期的十分之一也就是1e-6 s否则高频段的阻抗曲线会有明显误差。第二如果用了变步长求解器扫频各个频率点的步长行为不一致可能引入数值噪声我实测用定步长求解器如ode3或ode4结果更稳定。第三PLL和电流环的参数在扫频前一定要重新确认最好在工作点处测一下实际的dq轴电流和电压确保和理论工作点完全一致否则阻抗表达式的偏置点不对曲线怎么都对不上。关于扫频数据的保存也提醒一句每个频率点都会产生一组时间序列50个点就是50份大数组建议在每个点算完立即提取幅值相位存入汇总表不要全部攒到内存里再处理。我当时一次性跑完再处理结果内存吃紧电脑卡了半小时后来改成逐点保存就顺畅多了。6. 实操心得与扩展方向最后分享几个这次复现留下的最深体会。第一做阻抗验证一定要遵循从简到繁的顺序。我一开始就带着PLL去扫频曲线对不上时根本不知道是电流环的问题还是PLL的问题。后来重新按三阶段走只有电流环的阻抗验证加PLL后的耦合验证加弱电网后的稳定性验证。每一阶段都确认干净了再进下一步定位问题快很多。这个思路也推荐给所有想复现这篇论文的人别一口吃成胖子。第二理论模型里的每个近似都要在扫频曲线里找得到对应的证据。比如数字控制延迟1.5Ts你会在高频段看到一个明显的相位滞后比如PLL的负电阻你会在低频段看到阻抗实部变负。如果某个近似在曲线上看不到痕迹说明那个近似在你的参数范围里不重要可以大胆简化。反过来说曲线对不上的地方往往是某个被你忽略的近似在作怪。第三这个项目的扩展空间非常大。扫频验证通过的模型可以直接拿去分析多机并联系统的谐振特性也可以用来研究弱电网下LCL滤波器参数优化甚至可以在dq阻抗矩阵基础上做有源阻尼器的参数整定。如果后续想提速可以考虑改用伪随机序列注入配合相关分析法一次仿真得到全频段阻抗具体做法是注入PRBS信号然后对响应做互相关和FFT这也是目前学术界和工业界都在用的方向。我自己跑完整个项目最大的感觉是阻抗建模这件事公式写在纸上总觉得不过如此真正把扫频曲线和理论曲线严丝合缝对上的一瞬间你才算是真的把逆变器的动态特性吃透了。希望这篇记录能帮你少走一点弯路把那几根曲线画出来。
返回列表