立项之初,我最担心的不是控制算法能不能写出来,而是两台单相逆变器并在一起之后,会不会刚合闸就炸机。事实证明这个担心不是多余的:直接并联的两台电源,本质上就是两个电压源往同一个低阻抗母线上怼,任何幅值、相位、频率的微小偏差,都会转化为环流,轻则均流失败,重则触发过流保护甚至烧管子。后来把下垂控制调通、跑完有功无功解耦的整套试验之后,我心里才踏实下来。这篇就把从原理到整定、从仿真到样机的完整链路写清楚,重点放在单相系统特有的功率解耦处理和工程调参上,给正在做逆变器并联或者准备把两台单机拼成冗余系统的朋友做个参考。
1. 两台逆变器直接并联,为什么必然等来环流问题
1.1 输出阻抗与环流的物理图景
把两台单相逆变器的输出端直接接在同一个交流母线上,表面上只是多了几根导线,实际上这是一个典型的电压源并联问题。每台逆变器通过LC滤波器向母线供电,滤波器输出端的等效阻抗非常小,大概只有几十毫欧到几百毫欧。这时候如果两台机器的输出电压幅值差哪怕只有2V,在阻抗上产生的环流就可能达到几十安培。做过电源的人都懂,这个量级的电流完全足够让功率管在几个毫秒内过热。
更麻烦的是相位差。单相系统里两台逆变器很难做到完全同频同相,假设一台输出50.02Hz、另一台输出49.98Hz,它们之间的相位差会随时间不断拉大,从0度到180度再到360度,周期大概是25秒。相位差接近180度的瞬间,两台机器输出电压完全反相,母线电压近于零,而每台机器内部电流却接近短路电流。我在实验室第一次做并联实验时,就是因为这个原因烧掉了第二台机器的IGBT驱动。所以结论很明确:逆变器并机不能靠"硬接",必须通过控制手段让每台机器自动调整自己的输出电压幅值和相位。
1.2 有功和无功在传输方程里的解耦序位
要设计并机控制策略,先得理解功率在逆变器与母线之间流动的规律。把问题简化:设1号逆变器输出电压为E∠δ,母线电压为U∠0°,线路及滤波器的等效阻抗为Z = R + jX。从1号机流向母线的复功率约等于:
P ≈ (UE / |Z|) * sin(δ + θz) - (U² / |Z|) * sin(θz)
Q ≈ (UE / |Z|) * cos(δ - θz) - (U² / |Z|) * cos(θz)
其中θz是阻抗角,当阻抗偏向感性时θz接近90°。在这个前提下,且相位差δ较小时,sinδ≈δ,cosδ≈1,上式可以进一步简化为:
P ≈ (UE / X) * δ
Q ≈ (U(E - U)) / X
这两条式子值得反复看几遍。它们说明了三件事:第一,有功功率主要取决于相位差δ,而无功功率主要取决于幅值差(E - U);第二,只要线路阻抗是感性的,P和Q就实现了天然的通道分离,控制相位就能控制有功,控制幅值就能控制无功;第三,这个解耦不是绝对的,如果阻抗角偏离90°太多,比如低压小容量系统里线路电阻不能忽略,P和Q就会交叉耦合,产生所谓的"有功无功耦合"问题。这也是后面第2章为什么必须强调虚拟电感的原因。
2. 下垂控制:把同步发电机的“脾气”写进逆变器
2.1 从发电机并联到逆变器并机的控制迁移
下垂控制并不是逆变器的专利。电力系统里几十台同步发电机并联运行,谁也没跟谁打电话协调,凭什么不会互相打架?因为发电机天然具备两条外部特性:原动机调速器让发电机转速随有功输出增加而下降,励磁系统让机端电压随无功输出增加而下降。这两个"越出力越收敛"的特性,使得两台发电机在同一个频率和电压下,总能自动把负荷按各自的额定容量比例分掉。
逆变器没有转子和励磁绕组,但可以在控制回路里人为地把这个"脾气"造出来。方法很简单:实时检测自己的输出有功功率P和无功功率Q,然后把频率给定和电压给定改写成:
f_ref = f0 - kp * P
U_ref = U0 - kq * Q
f0和U0是空载频率与空载电压,kp和kq是下垂系数。有了这两条下垂特性,一台单相逆变器的行为就和一台微型同步发电机非常接近:负载重了,频率和电压主动低一点;轻载时候,频率和电压回到接近空载值。这种不依赖通信线就能实现功率分配的策略,正是题目里说的"基于下垂控制的两台单相逆变器并机运行"。
2.2 P-f和Q-U两条下垂曲线的整定骨架
下垂系数怎么取,是整个设计的第一个关键决策。我以一套1500W/50Hz的单相系统为例说明整定逻辑。假设允许满载时频率跌落0.75Hz,那么kp = 0.75Hz / 1500W = 0.0005Hz/W。再假设允许满载时电压幅值跌落3V(额定220V交流的峰值约311V,按3V算比较严),那么kq = 3V / 1500Var = 0.002V/Var。这两个值就是初始下垂系数。
但仅仅给单个机器设定系数还不够。两台机器要按比例分担负载,必须保证它们在同一个频率、同一个电压下工作时,各自承载的P和Q符合容量比例。推导一下:设1号机和2号机额定容量分别为S1和S2,满载频率跌落同为Δf_max,则有kp1 * S1 = kp2 * S2 = Δf_max,即kp1 / kp2 = S2 / S1。容量小的机器下垂系数反而要大,这样它在相同的频率偏移下承担的功率就少。这个"反比关系"是下垂均流的基石,也是调试时最先要核对的设计条件。
2.3 稳态工作点图解:两机的功率平衡几何
用图形来理解下垂控制比看公式直观得多。在图里画两条P-f曲线,纵轴是频率f,横轴是有功功率P,两条线都从同一空载点(f0, 0)出发,向下倾斜,斜率分别是-kp1和-kp2。并联运行时两机共享母线频率,于是画一条水平线f_stable穿过两条曲线,它与两个曲线交点的横坐标P1、P2就分别是两台机器分担的有功。因为两条曲线的空载点相同,电平线所处高度由总负载决定,所以P1 + P2 = P_total,并且P1 / P2 = kp2 / kp1 = S1 / S2。负载增加,水平线上移?确切地说是水平线下移,因为频率会随负载下垂,P1、P2同步增大,始终维持比例关系。
Q-U下垂曲线也是同样的几何逻辑,只是纵轴换成电压幅值U,横轴换成无功功率Q。两条从(U0, 0)出发的倾斜线,在统一的母线电压下决定Q1和Q2的分配。稳态工作点就是这两组下垂曲线的交点。这张图看似简单,但它揭示了整个设计里最核心的权衡:下垂系数越大,均流越积极,但满载时频率和电压的静差也越大;下垂系数越小,稳态性能好,但均流能力弱、动态稳定性差。后文第4章会给出具体的边界整定方法。
2.4 虚拟电感:让P-Q解耦真正成立的隐藏条件
我在1.2节推导P和Q解耦时,隐含了一个理想条件——线路和输出阻抗必须呈感性。现实中单相逆变器的LC滤波器在基频附近呈现容性,加上低压配电线缆电阻不可忽略,阻抗角可能只有40到70度,这样P公式里就会混入U变化的影响,Q公式里也混入相位的影响,严重时会出现"调幅值结果有功跟着变"的现象。
解决方法是虚拟阻抗技术,不需要物理上串电感,只在控制算法里做手脚。思路是在电压给定环前再叠加一项:
U_ref = U_ref_droop - Zv(s) * io
其中Zv(s)是虚拟阻抗,io是输出电流。我常用的虚拟阻抗设计为纯感性,比如在100Hz基频下取Zv = j0.1Ω,这比线路电阻大得多,等效于把每台逆变器的输出阻抗"校正"成了统一且感性为主的阻抗。这样一来,P-δ、Q-U的解耦关系从"假设成立"变成"设计保证"。代价是输出阻抗变大了一点点,带非线性负载时的电压畸变会略有增加,工程上通常取额定阻抗的2%~10%,折中之后解耦效果和稳压精度都能接受。
3. 单相系统有功无功解耦提取,坑比想象中多
3.1 单相没有天然两相,SOGI虚拟正交不是可选项
三相系统做dq变换,天然就有abc到αβ的坐标变换可用,电流电压变成直流量后,有功无功就是简单的代数运算。单相系统没有这个便利,只有一个正弦电量,直接算瞬时功率p = u*i不难,但想区分有功和无功就没有天然的正交基准了。
因此单相系统中必须先构造一个与输出电压正交的虚拟量。实现方式有三种:
| 方案 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 延时1/4周期 | 把当前采样值延时T/4作为β轴 | 实现简单、动态快 | 频率偏移时相位误差增大,谐波污染 |
| 二阶广义积分器 | 对基波做正交滤波产生αβαβ量 | 能滤谐波、对频偏鲁棒性好 | 参数k需要整定,动态略慢 |
| 希尔伯特变换 | 全通移相网络 | 全频带正交 | 阶数高、计算量大、很少用 |
我的板子上选的是SOGI,准确的说是二阶广义积分器,传递函数有两个输出通道:α通道是带通特性,β通道是低通与积分的组合。如果输入是50Hz正弦信号,两个通道输出幅值相等、相位差90度的正交信号,同时在高频处有明显衰减,相当于额外提供了一层谐波滤波。SOGI内部的阻尼系数k我取1.2,这个值越大带宽越宽、动态越快,但谐波滤除差;越小滤波好但响应迟钝。初次调试时可以直接套k = √2,实测稳定性和响应速度平衡得不错。
3.2 功率计算与二倍频脉动:滤波器截止频率的选择权衡
有了αβ虚拟正交量之后,有功和无功可以按下式计算:
P = LPFilter(uα * iα + uβ * iβ)
Q = LPFilter(uβ * iα - uα * iβ)
这个表达式里的LPFilter是关键。因为单相系统瞬时功率里天然携带2倍频脉动分量(50Hz基波对应100Hz脉动),如果直接把这个脉动送进下垂控制,频率给定和电压给定都会跟着100Hz抖动,输出波形会被调制,两台机器的环流里就会出现明显的高频分量。
低通滤波器截止频率怎么选?一阶LPF的截止频率为fc = 1/(2πτ)。如果fc取10Hz,100Hz脉动分量衰减约20dB,控制量基本干净;如果fc取50Hz,衰减只有约14dB,脉动残留就很明显了。但fc低了,功率反馈就变慢,下垂环的动态响应变差,突加负载时功率分配调节会有几百毫秒的延迟。我最终的折中是τ=20ms(约fc=8Hz),在动态和纹波抑制之间取了平衡点。这里没有捷径,必须用负载突变实验反复试探自己的系统更适合哪个值。
3.3 仿真模型里验证解耦的搭建思路
解耦做得好不好,不要等到样机上才验证,仿真阶段就应该建立判断准则。我在Simulink里搭过一个简单的模型:两台单相逆变器通过LC滤波器和下垂控制并联,公共母线接可控负载。验证解耦的标准做法是分两次阶跃:第一次突加5Ω电阻性负载,观察有功功率变化时,无功功率的波动幅度;第二次突加感性负载,观察无功变化时有功的波动幅度。
记录数据时,只要交叉波动小于主变量的10%,我就认为解耦满足工程要求。仿真中如果发现交叉耦合明显,首先排查的永远是阻抗性质——虚拟电感的感抗是否真的主导了输出阻抗?其次是SOGI的k值是否太小导致β轴基波幅值不足、相位偏移。这两处没问题,解耦计算基本不会出岔子。
4. 下垂系数和虚拟阻抗怎么定:从边界条件到调参顺序
4.1 系数上下界的两组约束
下垂系数的整定不是一个自由取值问题,上下界都受物理约束限制。上界由稳态精度决定:满载时的频率跌落不能超过负载要求,比如50Hz系统一般不允许跌破49.5Hz,所以kp_max = 0.5Hz / P_rated。电压下垂同理,满载电压跌落按标准通常不超过5%,所以kq_max = 11V / Q_rated(按220V交流有效值计算)。我在实际项目中很少把系数推到极限,一般只用到上限的60%~70%,留下的裕量给线路压降和动态过程。
下界的约束来自均流精度和动态稳定性。kp太小,两台机器之间的微小频率差无法在合理的动态时间内收敛,功率分配误差大;极端情况下,外界的扰动会被当成固定偏差,系统变成一个慢漂移的振荡。判断下界是否合适的办法是看空载环流。让两台机空载并联运行,用电流钳测环流,如果环流在额定电流的2%以下,说明系数下界满足要求;如果测到低频拍频电流,就得加大下垂系数或检查空载相位对齐。
4.2 容量不对等与线路阻抗差异时的均流修正
如果两台机器容量不一样,比如一台1500W、一台3000W,下垂系数要按反比分配。先定满载频率跌落0.75Hz,那么kp1 = 0.75/1500 = 0.0005,kp2 = 0.75/3000 = 0.00025。这样无论总负载怎么变化,两机稳态频率相同,各自输出的有功始终与额定容量成正比,即3000W那台永远是1500W那台的两倍。
但这里还有一个容易被忽略的扰动因素:两台机器到公共母线的线缆长度往往不一样。假设1号机离母线2米,2号机离母线10米,线路阻抗差可能在几十毫欧量级。对于小功率系统这不算大,但对均流精度的影响可能是致命的。此时虚拟阻抗的意义就凸显出来了。我通常把虚拟感抗设定为线路阻抗差异的10倍以上,把物理线路阻抗的差异"淹没"掉,两机输出阻抗就基本由控制算法统一决定。代价是等效输出阻抗增大,动态压降变大,所以取值要克制,我在1500W系统上取0.1Ω(约0.1pu),效果已经足够。
4.3 我惯用的六步整定流程
完整调参流程我总结为六步,每步都有明确的通过标准:
- 单机空载调试:确认SPWM、LC滤波器和电压电流双闭环正常,电压幅值稳定在311V峰值附近,频率精确到50Hz±0.01Hz。
- 单机阻性满载:记录满载时的电压跌落和效率曲线,校验下垂系数上界是否与实际跌落一致。
- 单机非线性负载:接整流桥负载,观察输出电压谐波,确认母线电压畸变可接受,否则先做谐波补偿再并机。
- 两机空载并联:预同步后合闸,测环流应小于额定电流的2%,否则调整虚拟阻抗和空载相位微调量。
- 两机分级加载:从10%负载逐级加到100%,记录两机的功率分配偏差,理论上应在5%以内,偏差过大时按比例微调下垂系数。
- 突加突卸试验:用继电器切换负载,观察动态响应。响应慢就减小τ,振荡就增大τ或减小下垂系数,回到第5步循环。
这个流程看着简单,但每一步都可能卡住。尤其是第4步,空载环流如果超标,往往是两台机器本身的电压采样基准有微小失调,而不是下垂参数的问题。
5. 并联后效率是升是降?均流精度说了算
5.1 负载不均衡时的损耗定量估算
并机系统如果均流理想,两台各承担一半负载,铜损正比于电流平方,两台之和是0.5² + 0.5² = 0.5(以总额定电流平方为单位)。如果均流差一点,变成0.6和0.4,铜损之和是0.36 + 0.16 = 0.52,铜损相对增加了4%。这个比例看似不大,但在大功率系统里,铜损本身就占整机损耗的相当比重,4%意味着总效率可能下降0.2到0.3个百分点。
更恶劣的情况是环流导致有功互灌:一台逆变器往母线送有功,另一台不仅不送反而吸收同等大小的有功,两台机器内部电流大幅增加,但对外净输出功率很小。这种情况下系统效率断崖式下跌,且必然伴随某台机器的过流报警。所以并联系统的效率好不好,本质上反映的是均流控制做得好不好,而不是换个更大功率的器件能解决的。
5.2 轻载休眠、自适应下垂与载波管理
多台逆变器并联后,另一个效率挑战是轻载工况。假设系统总负载只有额定值的20%,两台机器各承担10%的负载率,此时固定损耗(开关损耗、磁性元件损耗、控制电路损耗)占比急剧上升,单机效率可能跌破85%。应对方案主要有两种。
一种是轻载休眠:当检测到总负载持续低于单台额定容量的30%时,通过协调信号让其中一台关机或切出,剩余一台承担全部负载,负载率变成40%,效率曲线回升明显。这个方案需要并机系统之间有基本的通讯握手,或者允许在无互联线条件下用电压信号作为休眠唤醒条件。
另一种是自适应下垂:在轻载区加大下垂系数,让两机均流更积极;在重载区恢复到原系数,保证稳态精度。实测表明,自适应系数能让轻载环流减小约一半,但对动态稳定性有负面影响,必须加过渡逻辑,防止系数突变引起振荡。此外,如果系统允许有同步线,载波错相(两机PWM载波错开180度)可以大幅降低输出端开关纹波,也让输出滤波器损耗降低。无互联线方案就只能各跑各的载波,纹波偏大,但省去了同步线的工程复杂性。
5.3 实测波形的解耦与均流判读方法
调试并联系统必须懂得看波形,否则很难定位问题。我在母线上接电流探头,分别测两机输出电流和总负载电流。均流合格时,两个电流幅值接近、相位一致,总电流等于两者代数和;如果有环流,两个电流会出现幅值不等或相位偏移,总电流与两者矢量和之间就会有差额。
判读解耦效果的手段是功率阶跃试验。阻性负载突加时,两台机器有功电流同步上升,无功电流基本不动;感性负载突加时,无功电流上升,有功电流不动。如果出现交叉响应,回到第3章和第4章排查。另外还要注意谐波:并机系统的谐波环流很容易被忽略,我用功率分析仪看100Hz和150Hz频点附近的分量,如果两台机器之间的谐波电流差异超过基波电流的5%,就要检查输出LC滤波器的谐振峰是否被两机之间的阻抗差放大。
6. 从仿真到样机:几个值得记录的实测坑
6.1 100Hz功率纹波是如何漏进下垂环的
仿真时功率滤波器的参数看着很干净,一上样机就露馅。我第一次并机试验时,两台机器环流时大时小,用示波器看电流波形居然还有明显的100Hz包络。查下来原因在功率计算链路:我的功率计算放在1kHz的慢任务里,低通滤波器用的是一阶后向欧拉离散化,但离散化系数算错了半拍,导致实际截止频率比设计值高出不少,100Hz脉动根本没压住。
后来我把LPF从慢任务挪到快任务(10kHz电压电流环)里,功率更新的时间戳和PWM载波对齐,问题当场消失。这里提醒一句:功率滤波的时间常数再大,也扛不住离散化系数的错误。建议先离线验证LPF的离散化阶跃响应,时间常数误差超过5%就说明参数计算有误。
6.2 合闸冲击与预同步的必要性
两次并机合闸烧毁功率管的教训让我对预同步有了刻骨铭心的记忆。第一次实验,我自认为两台机空载频率差很小,直接合闸。结果合闸瞬间,接触器触点拉弧,机器过流保护立刻动作。后来看录波,两台机相位差当时是150度,合闸瞬间母线电压几乎被短路。从那之后,我的控制程序里必加预同步逻辑:先让待并机通过锁相环跟踪母线电压,频率差小于0.1Hz、幅值差小于5%、相位差小于10度时封锁PWM并延时20ms再合闸,合闸成功后再解除封锁。
这个策略实测下来非常可靠,之后的几十次并机实验再也没有出现过冲击。如果项目不允许等待锁相环收敛,至少也要加软启动斜坡,让电压幅值在几十毫秒内从0升到额定值,绝不能拿功率管去赌相位一致性。
6.3 调试建议和遗留问题
最后分享一个实用技巧:调并机系统时,先在两台机器输出端各串一个1毫欧的采样电阻,用差分探头同时测两个电阻电压,差模分量就是纯环流,共模分量才是负载电流,这样环流测量比钳形电流表精准得多。我早期用钳表测环流,因为电流太小、频率成分复杂,读数根本不可信,换成电阻采样后才算真正看清环流特征。
遗留问题也有一个:轻载休眠的唤醒条件如何做到无互联线的可靠触发,我在样机上试过几种阈值方案,都不够稳,最终改用了一根硬线握手信号。如果纯粹追求无互联线的冗余架构,这部分还需要更细致的协议设计。我自己在项目里倾向于接受"弱互联"(一根同步或握手线),毕竟它换来的是轻载效率和合闸可靠性的大幅提升,这个取舍我认为是合理的。