微电网这个东西,圈外人听起来挺玄乎,说白了就是把光伏板、储能电池、负荷,通过电力电子变流器连成一个小电网,能自己发电、自己调压、自己稳频。我前前后后搭了两版样机,从单逆变器带电阻跑到双机并联带电机负载,踩了不少坑,才把PQ控制和下垂控制这套逻辑真正玩明白。这篇笔记不写教科书废话,只讲手搓过程中最实在的东西:两种控制策略到底分别在做什么、为什么并联必须靠下垂、调试时示波器上那些毛刺和振荡是怎么修好的。
1. 微电网控制的角色划分:PQ控制和下垂控制到底谁该上班
1.1 微电网的两种工作模式:并网与孤岛
微电网的控制器设计,第一件事是先分清运行模式。并网模式下,微电网通过公共连接点(PCC点)跟大电网连着,电压和频率是电网给的,变流器想稳也稳不住,因为电网本质上是无穷大母线。这时候储能逆变器、光伏逆变器的工作就一句话:把规定的功率送进电网就没你的事了。PQ控制就是干这个的——给定一个有功指令P_ref和一个无功指令Q_ref,稳住这两个值输出。
孤岛模式下,PCC点断开,微电网自己变成一个独立系统。这时候问题就来了:谁来撑住电压?谁来稳住频率?负荷突变时谁去平衡功率?总不能靠负荷自己投切吧。孤岛微电网必须有一个或几个单元扮演"主机"角色,提供电压和频率参考。这一角色最常用的实现方式就是下垂控制,或者更传统的V/f控制。
好多人一开始搞混,觉得PQ控制也能用于孤岛,或者说下垂控制不也是控制功率吗?其实边界很清楚:PQ控制只适合并网或电压频率有外部参考的场合;一旦孤岛,微网必须自己提供频率和电压基准,下垂控制就是在没有外部电网的情况下,让多个逆变器像两台发电机一样自动分活干。
1.2 为什么微电网很少用V/f控制直接当主机
孤岛模式下理论上还有一种更直接的办法:指定一台逆变器用V/f控制(定电压、定频率),别的逆变器全部跑PQ。这样做第一版确实可以跑,但一加第二台并机就有问题了——两台逆变器都想把电压定在同一幅值同一相位,它们之间没有功率分配协商机制,结果就是一台扛负载,另一台闲逛,严重的时候互相之间产生很大的环流,直接炸管子。
我之前跟一个同行聊过,他说他们第一代实验装置就是这么干的,双机并联了下垂不够,最终不欢而散。这也是微电网和普通直流电源并联最大的区别:交流并机需要考虑相位和幅值的协调,不是简单给定一个电压就能稳定并联的。
下垂控制之所以是微电网孤岛模式的主流选择,本质上不是因为它比V/f控制更好实现,而是因为它把"电压幅值"和"频率"这两个硬指标让渡出来,换取了多机之间的功率自动分配能力。它让每台逆变器都具备"发电机的调频调压外特性"——负载一变,所有逆变器按各自的容量比例分担增量功率,不需要互相通信。这个过程在控制理论里叫"自发同步",这也就是我一直强调的,做微电网控制,必须先想清楚角色定位。
2. 下垂控制背后的物理直觉:一台逆变器怎么模仿发电机
2.1 P-f下垂与Q-V下垂的原理
下垂控制这个名字听着专业,其实核心就两句话:有功功率拉低频率,无功功率压低压幅。发电机漏了很多书也讲透了——同步发电机的功角特性决定了:系统有功缺额 → 发电机转速下降 → 频率跌落;无功功率传输过多 → 机端电压跌落。
逆变器模拟这种外特性,控制目标变为:
- 当逆变器实际输出的有功功率增大时,将自身频率基准适当调低
- 当逆变器实际输出的无功功率增大时,将自身电压幅值基准适当调低
写成数学关系就是一个比例调节:
f = f0 - kp * (P - P0) V = V0 - kq * (Q - Q0)f0和V0是空载频率(50Hz)和空载电压幅值(比如311V峰值),P和Q是实测输出功率,P0和Q0是额定工作点。kp、kq是下垂系数。你会发现这个式子根本没有"跟踪目标"的概念,它自己就是目标发生器——下垂控制实际上是让逆变器既当电源又当参考电压源,用功率测量值去修正输出的频率和幅值,这是一个闭环自整定的系统。
2.2 下垂系数的整定逻辑与实例
下垂系数怎么取?不能拍脑袋。工程上遵循一条原则:满载时频率和电压允许偏离标称值多少,就按这个最大偏差来定。比如一个6kW的微网单元,要求频率偏差不超过0.5Hz、电压幅值偏差不超过5%,那么:
kp = 0.5Hz / 6000W ≈ 8.33e-5 Hz/W kq = 0.05 * 311V / 6000var ≈ 2.59e-6 V/var如果功率用标幺值,kp通常可以取0.02~0.05左右;电压下垂系数类似。这里有个关键细节:kp如果取得太小,负载分配反应迟钝,两台机器之间功率不均,环流会一直兜着;kp取得太大,频率掉得厉害,满载时可能跌破49Hz,超出允许范围。我在调试时把kp从0.01标幺值一路试到0.05,最终定格在0.03附近,算是兼顾了动态响应和频率偏差。
除了功率-频率下垂,还有一个经常被忽略的感性线路阻抗问题。下垂控制的功率解耦成立的前提是线路阻抗呈感性(X >> R)。实际低压微电网线路阻抗阻性占比很大,传统P-f下垂会跟Q-V下垂耦合,搞得你调有功时电压跟着晃。这时候要么在控制里加入虚拟阻抗,要么改用P-V下垂加Q-f下垂。我第二版样机加入了虚拟阻抗(在电压指令中减去一个与电流成正比的阻抗压降),效果立竿见影,后面会细说。
3. PQ控制详解:从功率计算到电流闭环,一个都不能少
3.1 功率先算准:瞬时功率理论与滤波陷阱
PQ控制的第一步是算瞬时功率。电网电压和电流经过采样后,用Clark变换得到αβ轴分量,再用瞬时功率公式:
p = 1.5 * (vα * iα + vβ * iβ) q = 1.5 * (vβ * iα - vα * iβ)由这个公式算出来的p和q包含交流分量(尤其在非对称或畸变工况下,会有2倍频甚至更高次纹波),不能直接拿去跟参考值比较。必须要经过低通滤波。滤波时间常数选多大是个学问:
- 滤波太短(比如1ms):纹波大,功率环给出去的电流指令都是抖的,电流会毛剌
- 滤波太长(比如50ms):看着平滑,但动态响应慢,负载突加时功率环半天反应不过来,母线电压会塌
我当时用的是二阶低通滤波器,截止频率定在50Hz左右,差不多滤掉100Hz的二次纹波,同时保留了20ms左右的响应速度,实测还不错。想省事可以先加一阶惯性环节,时间常数10ms起步试。
3.2 旋转坐标系下的双闭环结构
功率算准了之后,PQ控制的内核是一个双闭环:外环是功率环,内环是电流环。功率环的比较器输出就是电流指令,比如有功功率误差经过PI调节器之后得到d轴电流参考值id_ref,无功功率误差得到q轴电流参考值iq_ref。电流环在同步旋转dq坐标系里工作,把采样电流变换到dq轴,跟指令值做差,过PI调节器后得到调制波,再叠加解耦项和前馈项:
vd = PI_id + ωL * iq + vgd vq = PI_iq - ωL * id + vgq这个公式里的第二项就是交叉耦合解耦,第三项是电网电压前馈。如果少了这两个,d轴调压会突然顶到q轴,两个环互相打架,电流指令一大就振荡。我见过有人不加解耦把电流环跑飞,其实原理很简单:dq坐标系下电压方程本身就有耦合项,不加补偿就是拿一个耦合系统当解耦系统调,肯定出问题。
3.3 锁相环:PQ控制的成败关键
PQ控制必须知道电网电压的角度,否则dq变换没有意义,闭环全乱套。这个角度靠锁相环(SRF-PLL)获取,它的原理是把电网电压投影到dq轴上,调节q轴分量为零,让d轴对准电压矢量方向。
实际调试锁相环时有几个坑很典型:
- 锁相环PI参数的带宽太高,电网电压有点谐波就跟着抖,角度毛刺大
- 带宽太低,相位动态响应慢,并网瞬间电流会突刺
- 三相不平衡时,负序分量会在dq轴引入2倍频波动,角度跟着波动,输出功率跟着纹波
我处理不平衡的方法是在锁相环前加了陷波器把2倍频分量滤掉,或者在锁相环输出前加一个窄带滤波。不要指望锁相环自身的PI能压掉2倍频扰动——频率差太远了,带宽不敢拉到那么高。
4. 手搓微电网的软硬件选型:从主拓扑到控制核心
4.1 功率主电路与滤波器
微电网逆变器主电路最常用的是三相全桥拓扑,直流侧接储能电池或光伏升压后的母线,交流侧通过LC滤波器连到交流母线上。我搭的样机参数供参考:
| 项目 | 参数 |
|---|---|
| 额定容量 | 3kW(单机)/ 6kW(双机并联) |
| 直流母线电压 | 400V |
| 交流线电压 | 110V/50Hz |
| 开关频率 | 10kHz |
| 滤波电感L | 3mH |
| 滤波电容C | 30uF |
| 功率器件 | IGBT模块(600V/75A) |
| 死区时间 | 3us |
滤波器参数选取有个没写在教科书里的经验:L取的太小谐波电流太大,铁芯发热;C取的太大空载电流大,逆变器空载损耗高。最靠谱的办法是先按电感电流纹波小于20%额定电流来确定L,再按谐振频率在1/5到1/10开关频率之间来确定C。我按这个推出来L大概3mH、C大概30uF,测THD在3%左右,算合格。
4.2 控制核心的考量
控制芯片用DSP浮点系列最顺手——主频150MHz,带浮点运算单元,后面跑控制算法时不用来回做定点转换,调试路径会短很多。ADC用片上自带的12位采样即可,但要留意采样与PWM的同步触发问题。
这里说一个非常容易踩的坑:ADC采样时刻必须避开开关切换瞬间,否则开关噪声直接进采样值。最优做法是用PWM定时器的下溢事件去触发ADC,在开关管开通前(电流续流阶段)完成采样,这样采到的是相对干净的反电动势和平均电流。我第一版程序没做这种同步,示波器上波形马马虎虎,但功率环反馈就是抖,后来加了同步触发才稳下来。
SPWM生成方式我选了规则采样法,在中断里直接计算出比较寄存器值。开环测试可以先固定占空比,闭环再引入调制波计算。如果算力紧张(其实浮点DSP完全够),也可以用载波层叠SPWM配合三次谐波注入,把直流电压利用率拉高15%。我实际用了注入3次谐波的SPWM,因为这台样机直流母线只有400V,不注入的话输出不了110V交流,很实用。
5. 从单机到并联:下垂控制调试的完整链路记录
5.1 单机下垂控制调试的六个步骤
我调单机下垂控制时把流程拆成六步走,每一步都有明确验收标准,不走完不进行下一步:
- 开环电压测试:固定调制波占空比,直接带阻性负载,确认主电路、驱动、采样链路都正常
- 闭环电压/频率给定测试:跑V/f控制模式下,看输出电压幅值跟踪和频率精度
- 功率计算验证:把瞬时功率计算结果和功率分析仪对比,误差小于3%
- 下垂逻辑接入:手动给定功率偏置,观察输出频率是否按系数下降
- 负载阶跃测试:用接触器突加阻性负载,看功率和频率的响应及超调
- 记录下垂特性曲线:从空载到满载逐点记录f-P、V-Q曲线,验证线性度
第六步很重要。我画出来之后发现轻载段斜率跟理论计算差不少,查了半天发现是功率滤波器时间常数太大,轻载时功率反馈延迟严重,导致下垂调频跟不上。把滤波时间常数从30ms降到15ms后曲线才基本线性。
5.2 双机并联:环流是绕不开的坎
两台逆变器并联,最直观的验收标准就是:任意一台的电流突变时,两台机子的输出功率能自动按容量比例分配,且单机电流没有直流偏置和过大工频环流。
第一次并联测试我在公共母线处挂了一个钳形电流表专门测环流。刚上电就发现一个问题:两台机子逆变器电流一个偏大一个偏小,而且都有明显的直流分量。查了一通,原因有两个:
一是采样通道的零漂。两套采样电路运放的非理想偏置不同,导致两台机子的电压指令纹丝不动但实际调制比有微小差异。这个差异在并联中会被放大成千上万倍的环流。解决方案是采样零漂校准——上电后先采样50ms短路输入,把偏置值记下来,正式运行时减去。
二是死区效应不一致。两套驱动电路的死区时间名义上一样,实际因器件差异产生微小的电压矢量差异。这个差异直接体现在输出电压幅值和相位上,表现出来就是工频环流。我当时在控制环里叠加了一个死区补偿,效果很明显,环流从3.2A减小到0.6A。
5.3 功率分配精度调优:虚拟阻抗带来的改变
并联下垂调完,还有一个问题困扰了我挺久:两台机子容量一样,但P分配误差始终在10%左右。反复查后发现根本原因不是下垂系数,而是线路阻抗不同。馈线长度不同导致压降不同,导致两台逆变器感受到的负荷电压不一样,从而无功分配误差比较大、有功分配也受牵连。
解决手段就是前面提过的虚拟阻抗:在电压指令里减去一路跟输出电流比例相关的电压量。虚拟阻抗设计的思路是让两台逆变器的等效输出阻抗都按同一个阻抗值去整定,把物理阻抗的不一致抹平。我加的是虚拟感抗,感值从0.5mH开始调,到1.2mH时功率分配精度优化到4%以内,环流基本压下去了。注意虚拟阻抗太大也会带来输出电压下降、电压精度变差的问题,取个中间值就好。
6. 并网/孤岛模式切换:从PQ切下垂的实战细节
6.1 切换的本质:从外部支撑到自我支撑
微电网除了单独跑在并网或孤岛一种状态,还经常要在两种状态之间切换。这个过程往往最考验控制器的鲁棒性——你不会希望断网瞬间母线电压崩掉,或者储能逆变器在切换的几百毫秒内过流保护跳闸。
PQ控制与下垂控制切换的本质,其实是把控制目标从"跟随外部功率给定"切换到"提供外部电压频率支撑"。两种控制器的输出都是调制波,但参考来源完全不同。切换时若两个控制器的调制波参考不一致,会产生冲击电流,变压器甚至跳闸。
我采用的切换策略是先调后切:在收到脱网信号后,不是立刻切换控制模式,而是先在PQ控制基础上将功率指令缓慢衰减,同时让下垂控制器的频率和电压参考值跟踪当前实际值。等两个控制器的输出调制波对齐到误差小于一个阈值,再瞬间切换控制模式。这个策略实测切换冲击电流能控制在额定电流的10%以内。
6.2 预同步与重新并网
孤岛状态重新并网比切换更麻烦。微网电压和电网电压必须满足三个条件才能合闸:断路器两侧的频率差、幅值差、相位差都足够小。
预同步的实现可以这样做:
- 检测电网电压的角度和微网母线电压的角度差
- 将角度差经过PI调节器,输出产生一个附加频率偏差信号,叠加到下垂控制的频率给定上
- 等到相位差缩到允许范围(比如小于1度),再允许合闸指令
我在这个环节吃了不少苦头——相位差PI调节器的比例系数调不好,导致相位跟踪过冲,合闸瞬间母线电流直接顶满。后面把PI参数按"相位差10度、预期3秒拉平"的规则建模整定,才稳定下来。另外别忘了,预同步期间必须保证电压幅值也匹配,否则合闸瞬间的冲击电流照样惊人。所以我的切换逻辑是先调幅值,再调频率,最后追相位,一步不省。
7. 踩坑清单:调试微电网最容易翻车的四个问题
7.1 功率振荡:比例系数和滤波时间常数的拉锯
功率环加下垂控制之后,负载阶跃响应可能变成持续振荡。我当时遇到的情况是:功率突增后,频率先掉,功率上升,然后频率又要求上升回额定,功率又跟随——来来回回,间隔大约100ms,看起来像是"呼吸波"。
排查定位需要两层:
- 功率滤波器时间常数太小,反馈纹波大,导致下垂调频不停抖动
- 下垂系数和功率环PI参数联合产生自激振荡
解决手段是把功率环PI调慢一点(把PI的积分时间加大),或者把下垂环节的带宽降低。我个人的经验是:下垂控制的功率反馈环带宽宁可压到5Hz以下,也别逞强追求快动态,微电网并联最怕的不是响应慢,而是震荡。
7.2 过调制与谐波暴增
调试时曾出现逆变器输出波形失真、谐波含量从3%飙升到8%的情况。排查最终发现是调制波峰值超过了载波峰值,进入过调制区域。这通常发生在电压下垂之后:电压指令跌落不够,而直流母线电压降低时调制比超过1。
解决思路有两步:一是在电压指令中加入直流母线电压前馈补偿;二是做限幅处理,调制波超过载波峰值时自动压低调制比。同时检查死区补偿有没有生效——死区补偿缺失的情况下,轻载时输出电压波形会有明显畸变,谐波尤其高。
7.3 采样零漂对并联环流的放大效应
前面已经提到零漂校准,我再单独拿出来强调一遍:并联系统中,采样零漂的威力被放大得非常夸张。单机运行时零漂0.1V可能根本看不出异常,双机并联时0.1V的电压测量偏差会导致直流环流,数值可能达到好几安培,足以触发保护。
所以只要做并联相关的调试,必须先跑零漂校准程序,并且定期重新标定。我把零点校准做成了上电自检流程的一部分,省了很多查环流的痛苦。
7.4 负载突变时的预同步冲击
还有一个经常遇到的:孤岛切并网时,预同步做得没问题,合闸指令也发了,但负载突加瞬间还是会跳保护。原因在于即使相位差极小,合闸瞬间断路器两侧并联,如果两边系统阻抗不一致,会瞬态产生一个衰减直流偏置电流——也就是所谓"冲击励磁涌流"。这种涌流只能用软起动或者增加并联回路缓冲阻抗来压制。
我在这里添加了一个软起动过程:合闸指令发出前,先让微网输出功率为0,等效成"电压源并联",再逐步把功率指令提起来。把"先并压后并流"的时序做对,冲击就基本消失了。
写在最后的调试心得
这台微电网样机从PCB布局到控制策略验证,前后折腾了大概半年。如果只让我留一条经验,那就是:凡是并联系统出现异常电流,第一个要查的永远是采样链路和反馈链路的增益一致性,而不是控制算法本身。数据采集这块出了问题,上层控制算法调得再完美也是白搭。
另一个心得是关于仿真与实物的差距。PLECS或Matlab/Simulink里的理想开关模型跑得很顺,但实物样机一上电,开关噪声、死区、采样延时全都在,控制参数往往要在实物上重新整定一遍。我后来习惯先把仿真参数按经验值放宽50%左右再搬到实机,少走了很多弯路。
最后留个建议:做微电网控制,一定要把调试接口留好。DSP程序调参时,如果每次改动都要重新编译烧录,迭代速度会痛苦到让你怀疑人生。趁早把串口通信、上位机波形监视、在线参数写功能做了,后面整个系统联调会顺畅得多。希望这篇笔记能帮你少踩几个坑,把微电网真正"手搓"出来。