前阵子帮人评估一套380V/30kvar静止无功发生器设计,客户一开始觉得这东西跟普通逆变装置差不多,无非就是一个三相桥加上电容,再做一套SPWM就完事。等真正把源码、报告和讲解资料从头梳理一遍才发现,30kvar单看容量不大,但里面牵涉到的参数计算、控制整定、样机调试和交付文档组织,做起来一点都不比大容量SVG轻松。这篇文章就把这套380V/30kvar静止无功发生器设计里最值得讲的几个维度拆开来聊:容量指标怎么反推、主电路的电感和电容怎么算、控制环怎么搭、仿真和样机怎么验证,以及源码和万字报告这类交付物应该怎么组织,让后面做类似项目的人少走点弯路。
1. 为什么是30kvar这个容量:从补偿对象反推设计指标
1.1 中小型配电台区缺的无功到底缺在哪
三个30kvar不是拍脑袋定的。我在工作中接触到的中小型负荷,比如车间配电房带几台大功率电机、焊机群、光伏并网柜,这些设备大量消耗感性无功。电机和变压器在工作时需要在铁芯里建立磁场,这个磁场能量来自电网,并没有转化成实际做功,但它会让电流滞后于电压,功率因数掉到0.7甚至更低。
功率因数低带来的直接问题有两个:一是同样的有功功率下电流变大,线损和变压器损耗按电流平方增长,这条线路上所有设备都在为冤枉电流买单;二是线路压降变大,末端电机可能启动困难,或变频器报欠压。传统做法是上电容柜,用接触器投切电容,但电容补偿只能分几个档位做阶梯式调节,负荷波动频繁时要么过补要么欠补,还会伴随投切冲击。静止无功发生器SVG的优势就是可以连续快速输出容性或者感性的无功电流,把功率因数实时稳定在目标值附近。
真正确定30kvar这个容量,需要先做一次负荷侧的无功需求统计。我当时的方法是拿一段时间的电能质量记录来看,统计最大无功缺额和持续时间。比如某台400kVA变压器带混合负荷,高峰期最大瞬时无功缺额接近35kvar,常时在20~25kvar波动,那选一台30kvar的SVG刚刚好,留一点裕量但又不至于大马拉小车。
1.2 从30kvar换算出来的第一串关键电气参数
所有后续硬件选型都从这里开始。三相380V系统、额定无功容量30kvar,输出电流可以按这个公式算:
I = Q / (√3 × U) = 30000 / (1.732 × 380) ≈ 45.6A
所以这台装置额定补偿电流就是46A上下,后面选型、调试验证都围绕这个电流展开。母线直流电压取650V左右,原因是380V交流线电压的峰值为537V,逆变器要输出能“压过电网”的基波电压,直流母线必须高于峰值并留出调节裕量,同时还要兼顾SVPWM线性调制范围,所以650V是30kvar级别很常规的选择。
IGBT选了1200V耐压的75A模块,母线650V加上关断尖峰,600V器件根本不够用,1200V是留给电压尖峰和dvdt冲击的安全垫。电流方向45.6A是基波有效值,考虑启动冲击和短时过流,器件电流规格不能小于1.5倍额定电流,75A比较稳妥。开关频率我按10kHz来设,这个频率在EMI、开关损耗和电流纹波之间比较均衡。
这些参数定下来之后,整台装置的设计骨架就有了:一个三相两电平逆变桥,交流侧通过三只并网电感接380V电网,直流侧挂电容,控制板采集电网电压、母线电压和输出电流,计算驱动脉冲。看起来结构不复杂,但光是把电感和电容的值“算明白”,就已经能劝退一批直接抄别人图纸的人。
2. 主电路参数计算:电感和电容不是随手拍的
2.1 并网电感怎么选:压纹波、保动态、还要扛得住过流
并网电感在SVG里承担两个角色:一个是滤波器,抑制开关频率附近的高频纹波;另一个是能量交换的媒质,SVG就是靠电感两端的电压差来调节电流方向和大小的。电感选小了,电流纹波会非常大,不仅发热严重,还会让输出电流的THD超标;电感选大了,电流动态响应变慢,系统带宽上不去,同时电感压降变大,直流母线利用率变低。
工程上我习惯先用“电感压降百分比”来初算。以额定相电压220V为基准,并网电感的压降通常控制在5%到10%之间。取8%来算就是17.6V,电抗压降公式是UL = ωLI,那么:
L = UL / (2π × 50 × I) = 17.6 / (314 × 45.6) ≈ 1.23mH
取一个稍微宽裕的标准值1.5mH,对应压降约21V,差不多是额定相电压的9.8%,属于可接受范围。然后还要用额定电流的峰值去校核电感饱和:45.6A有效值对应峰值约64A,再叠加20%的纹波裕量,所以电感的饱和电流至少要到75A以上,选磁芯材料时务必看厂家给的直流偏置曲线,不能只看初始电感量。
这里有个很多人会忽略的点:电感量不是越大越好。1.5mH如果做得过大,同样压降下能通过的电感体积更大,但动态响应变慢,而且电感内阻损耗也会上去。我在仿真里把电感从1.0mH扫到2.2mH,最终确认1.5mH在10kHz开关频率下,额定电流纹波能控制在额定电流的10%以内,动态阶跃恢复时间也满足要求。
2.2 直流母线电容:不是把容量堆大就完事
直流母线电容的作用是给逆变桥提供一个低阻抗的母线电压源,吸收开关动作产生的纹波能量,同时稳定电压环调节过程中的母线电压。30kvar这个级别的SVG,母线电容常见区间是560uF到1000uF之间,我按功率等级工程经验来初选:每kvar对应约20uF左右,30kvar取680uF,耐压900V。
选680uF而不是更大的1000uF,除了成本因素还有一个关键点:母线电容越大,预充电时间越长,如果发生母线过压故障,电容里储存的能量也越大,泄放电阻要处理的热量越多。电容的储能公式是1/2CU²,母线650V下,680uF存能量约143J,如果换成1000uF就是210J,故障时释放能量差了接近50%。所以母线电容够用即可,电压稳定性由控制环去保证,不能指望电容硬扛。
母线电容另一个容易被忽视的指标是纹波电流承受能力。SVG运行过程中电容要流过大量开关纹波电流,如果电容的纹波电流额定值不够,发热严重,寿命会急剧下降。我这个项目中选的是薄膜电容或高品质电解电容,并且专门在仿真里看了额定工况下电容纹波电流的有效值,确保留在规格书允许范围内。
2.3 预充电和泄放回路:决定装置寿命的“配角”
主电路不能只有桥和电容,上电瞬态的冲击电流问题必须在硬件上解决。380V系统刚上电时,如果直接闭合主接触器,直流母线电容瞬间几乎短路,冲击电流可以达到几十上百安培,经常把整流侧元件或者接触器触点打坏。标准做法是在母线上串一只预充电电阻,通过接触器先接入限流电阻给电容充电,等母线电压充到额定值的80%左右,再闭合主接触器把电阻旁路掉。
泄放电阻也是必须的,SVG停机后母线电容上还带着几百伏电压,人碰上去非常危险。我一般会在母线上并联一个功率电阻加放电开关,或者用控制板检测母线电压,断电后由软件控制泄放回路主动放电。这个环节在原理图里只占一小块,但现场验收时安全测试过不了,问题基本都出在这里。预充和泄放回路的设计顺序是先算时间常数,再选电阻瓦数,最后配合控制板逻辑定接触器时序。
3. 控制链路怎么搭:锁相环、指令电流到双闭环整定
3.1 锁相环是并网控制的地基,先锁准再谈补偿
SVG要输出与电网同步的无功电流,第一件事就是准确获取电网电压的相位和频率。我用的方法是同步参考坐标系锁相环,也就是SRF-PLL。原理很简单:将三相电压经过Clarke变换得到αβ分量,再经过Park变换得到dq分量,让PI调节器控制q轴分量为零。因为电网电压矢量的方向被强制对齐到d轴,锁相环输出的角度就是电网电压的实时相位。
调试中最麻烦的是电网畸变场合。低压配电系统里大量开关电源和整流负载会产生谐波电压,锁相环带宽太高会把谐波信息耦合进相位输出,导致补偿电流跟着抖。30kvar这种中小容量SVG经常装在负荷很复杂的柜子里,所以我对锁相环带宽做了限制,并且在必要的时候外加了陷波器滤除2次和特定次谐波。调好之后的锁相时间大概在一个工频周期以内,大概5到15毫秒,动态过程中不会出现相位跳变。
有人会问,锁相不准会怎么样?最直接的就是无功指令电流与实际电压相位对不上,结果补偿方向出现偏差,严重时甚至变成“伪无功补偿”,功率因数反而更差。所以我把锁相环放在控制程序第一个调通的功能模块,锁相环不稳,后面的电流环全部白搭。
3.2 电压外环的真正职责:这个闭环不是用来做无功的
SVG的内部控制结构是经典的双闭环:电流内环负责快速跟踪无功电流指令,电压外环负责维持直流母线电压稳定。很多刚接触SVG的人会搞不明白,本来是无功补偿装置,为什么还要一个直流电压环去从电网吸收有功电流?
原因在于装置本身是有损耗的。IGBT导通压降、开关损耗、电感铜损,这些都来自直流母线能量,如果不通过控制从电网补充有功能量,母线电压会一点点往下掉,最终低到无法正常调制。电压外环的输出就是d轴有功电流给定,它让SVG在补偿无功的同时,从电网吸收很小的一路有功电流,刚好抵消自身损耗,把母线电压维持在650V附近。
母线电压环的调节带宽要远低于电流环,我一般是把电压环带宽设在电流环带宽的十分之一以下。原因很直接:如果电压环响应过快,补偿无功电流的过程中,母线电压的小扰动会反复修正d轴电流指令,导致输出电流里混入不必要的波动。调电压环的PI参数时,我习惯先给母线电压一个阶跃扰动,观察恢复时间和超调量,超调控制在5%以内,恢复时间在100ms级别就比较理想。
3.3 电流内环PI整定:先按带宽算初值,再靠阶跃响应微调
电流内环的被控对象就是并网电感和线路电阻,近似为一阶惯性环节。这个项目的并网电感1.5mH,回路电阻包括电感线圈电阻和线路压降,大概零点几欧姆。工程上初调时可以用带宽法估算比例增益:Kp约等于期望电流环带宽乘以电感值。比如期望带宽1kHz,角频率大约6283rad/s,乘1.5mH,Kp大约9.4。
积分增益初值按零点频率来放,通常把PI零点放在50到100Hz,让零点远低于期望带宽,保证相位裕度。实际操作时我会先把积分增益调小,只让比例项先把电流跟踪起来,观察电流波形是否跟着指令走,然后逐步加大积分增益,把稳态误差消除。判断指标就是阶跃响应:电流指令从0跳到10A,观察电流是否在两个周期内跟上,有没有明显超调。超调大就降Kp,稳态有低频振荡就适当加强阻尼或者降低积分增益。
还有一个关键细节是dq轴的耦合量。电感在旋转坐标系下会引入ωL的交叉耦合,d轴电流变化会影响q轴,反之亦然。如果不做解耦补偿,动态切换无功指令时会看到另一轴电流跟着晃。我在控制程序里直接加上了解耦项和前馈电压补偿,把电网电压前馈到调制波中,这样PI调节器只需要对付误差部分,控制难度会明显下降。
4. 仿真搭模与样机调试:从数字到物理的验证链路
4.1 Simulink模型怎么搭才能让调试验收不返工
这个项目在Simulink里建仿真模型时,我分了三大块:主电路、控制系统和测量模块。主电路就是三相电压源、并网电感、IGBT桥、直流电容;控制系统包括锁相环、坐标变换、电压外环、电流内环和SVPWM生成;测量模块负责实时计算功率、功率因数、THD和母线电压这些最终考核指标。
一个比较重要的经验是离散步长的设置。开关频率10kHz,载波周期100us,仿真步长我取5us或者10us,保证一个开关周期内至少有10个采样点,否则PWM波形的细节会失真,谐波数据也没有参考价值。控制系统的采样频率模拟实际DSP,一般也按10kHz或20kHz离散化,不要在仿真里用连续模块,因为最终代码都是离散执行的,离散仿真更接近真实表现。
搭建顺序不要反。先把锁相环单独拿出来测,给定一个含谐波的三相电压源,观察锁相角度是否平滑;接着把PI调节器一个个接上去,先开环给一个恒定调制度,确认逆变器输出电压波形正常,再闭合电流环。模型里所有物理量最好统一成实际单位,容易读波形,后续做参数换算不会出低级错误。
4.2 样机调试顺序:先低压后额定,先空载再带载
仿真通过之后,样机阶段我会严格遵守一个顺序:先不接电网,低压状态下调驱动;再接隔离调压器逐步升高电压;最后才直接并网带载。不按这个步骤来,很容易在接线错误或者驱动异常时直接炸模块,一块IGBT模块的成本够买好几瓶灭火器了。
第一步是驱动板测试。控制板发固定占空比的开关信号,用隔离示波器看每一路IGBT的Vge波形,确认上升沿和下降沿都干净利落,没有严重的振铃。然后是母线预充电测试,只给主电路上电,不加控制脉冲,观察预充电阻旁路接触器时序是否正确。第三步是低压并网,把电网电压用调压器降到三相100V左右,启动锁相环和电流环,看电流波形能不能正弦跟踪。
电压逐步升高之后再进入额定工况:先给定无功指令为0,确认母线电压稳定,然后让无功指令斜坡上升,从0逐步加到30kvar。我习惯是让无功指令上升时间在100ms左右,这样能同时验证动态跟随能力和稳态精度,又不会因为指令阶跃太猛触发过流保护。采样到的关键波形包括:A相电网电压与补偿电流相位关系、直流母线电压纹波、输出电流FFT分析。
4.3 实测波形怎么读:动态响应和稳态指标看一眼就知道
实测时我主要盯三个指标。第一是电流波形质量,输出电流波形的FFT里,基波占绝对主导,谐波畸变率THD最好控制在5%以内,这个数值直接反映电流环参数和电感取值是否合理。第二是母线电压稳定程度,额定满载补偿状态下,母线电压波动幅度应该控制在±5%以内,如果看到母线电压跟无功输出形成明显共振,大概率是电压环带宽太高或者电容选得太小。
第三是动态响应时间,比如让无功指令从0跳到30kvar,记录输出电流达到稳态的时间,一般要求在一个半波到两三个工频周期内完成,也就是20到50毫秒以内。SVG的核心价值就是快速动态补偿,如果这个时间做到100ms以上,那跟慢吞吞的晶闸管投切电容比就没有太大优势了。实测中发现动态慢,先看电流环Kp,再看PWM调制度限幅,基本都能找到病根。
5. 最容易翻车的三个环节:电压冲击、驱动干扰、并网过流
5.1 直流母线过压:电压环慢半拍的连锁反应
这台SVG在调试过程中出现过一次母线电压冲高的问题。现象是当负载从轻载突然切换到重载,无功电流快速增大,直流母线电压从650V一路冲到接近800V,虽然IGBT还能扛住1200V的耐压,但驱动板已经报警了。
后来定位原因:容性无功电流回馈能量在短时间涌回直流侧,电容电压自然抬升,而电压外环的响应速度太慢,没来得及通过d轴电流指令把多余能量送回电网。解决办法分两步:硬件上在母线并联了一个能耗泄放回路,当母线电压超过上限阈值时,通过开关管把多余能量消耗在电阻上;软件上把电压环PI参数带宽适当放宽了一点,同时给电压环输出加了限幅,避免有功电流指令变化太剧烈带来二次冲击。
这个案例给我最大的教训是,SVG的电压环参数不能像很多教材里那样随便给,母线电容选多大、电压环响应多快,直接跟装置能承受多大的无功突变挂钩。现场如果遇到感性负荷切投频繁的场景,电压环和泄放回路的配合一定要提前做好。
5.2 IGBT驱动误导通:米勒效应是隐蔽杀手
有一次样机调试,空载并网一切正常,一加上负载电流到20A左右,桥臂就直通炸了一个驱动通道。排查了很久发现不是电流过大击穿,而是驱动信号被干扰,Vge在关断期间出现了瞬态抬升,导致IGBT不该导通的时候导通了,上下桥臂瞬间直通。
这个现象的根本原因是主回路的大dv/dt通过IGBT的米勒电容耦合到门极回路。如果驱动电路输出阻抗太高,或者门极线走线太长,主回路关断瞬间的尖峰很容易把门极电压顶到阈值以上。解决手段我用了三层:驱动输出采用负压关断,关断电平放到-5V到-9V;门极走线改成双绞线且尽量远离主功率线;驱动芯片选用带米勒钳位功能的型号,在关断期间把门极牢牢钳制在负压。
另外死区时间也重新确认过。两电平桥臂的死区设了1.5us,既避免直通,又不会因为死区太大造成输出波形明显畸变。IGBT驱动调试是一项“看起来没问题但细看全是问题”的环节,建议所有新手在第一次上高压之前,用示波器把每一路Vge的毛刺都检查一遍。
5.3 并网瞬间的冲击电流:三个条件缺一不可
SVG并网的瞬间冲击电流往往比预期的还要大,这里面有三个隐藏条件。直流母线没有预充电到足够高,接触器合闸瞬间母线电容充电产生冲击;锁相环没有稳定,导通相位不对会产生拍频电流;无功指令从0直接阶跃到满值,电感电流突变产生冲击。
我的处理方法是把并网流程做成状态机。上电后先预充到母线电压80%以上,然后启动锁相环,等PLL稳定输出50ms左右再合主接触器,合闸之后先让无功指令从0斜坡上升,斜坡时间设100ms左右。这套流程跑下来,并网冲击电流基本能控制在额定电流的50%以内,不会触发过流保护。
并网冲击这个问题,控制板上用逻辑判断就可以解决,但很多人忽略了一个点:接触器合闸的瞬时相位是随机的,锁相环即使再快,合闸瞬间电网电压角度与母线电压之间也有一个随机相位差。所以在软件状态机里,我会让SVG在合闸后的前几个周期只发很少的电流,让控制系统有一个自然过渡,而不是强制去补偿相位跳变。
6. 从源码结构到万字报告:一个完整交付包的自我梳理
6.1 源码按控制链路分模块,注释要像写给三年前的自己
标题里提到这套设计附带源码,很多人在整理源码时就是从一个工程里把整个文件夹丢出来,这非常不利于复用。我整理这类项目源码的习惯是把功能模块严格拆分,每个模块只干一类事情。以DSP端的C代码为例,目录结构大致是这样的:
src/ main.c // 系统初始化与主状态机 adc.c // 电压电流采样与标幺化 pll.c // SRF-PLL锁相环 curr_ctrl.c // 电流内环PI和解耦 dc_volt.c // 直流母线电压外环 svpwm.c // SVPWM调制波计算 protection.c // 过压过流保护逻辑每个模块文件开头都要写清楚输入是什么、输出是什么、单位是实际值还是标幺值、范围是多少。比如pll.c的输出角度,用弧度还是用计数点,角度零点对齐哪一相电压,这些信息不写清楚,三个月之后自己都看不懂。我见过太多源码表面上“能跑”,但换一个人接手完全改不了参数,因为所有常量都散落在各处,甚至没有量纲注释。
源码里的PI参数最好集中放在一个配置文件里,标注清楚哪一组是电流环、哪一组是电压环、标幺基准是什么。这样后续调参不用到处找,直接把一个常量改掉、重新编译下载就能试验。
6.2 万字报告不是流水账,而是参数计算的完整证据链
报告的核心价值在于把“为什么这么选”写清楚。我自己做这类项目文档时会从问题定义开始:这套SVG装在哪里、补偿对象是什么、为什么需要连续动态补偿而不是电容投切。然后是系统指标表,把额定电压380V、额定容量30kvar、额定电流46A、开关频率10kHz、母线电压650V这些参数列成一张表,后面所有选型和计算都围绕这张表展开,这样报告就有了主线。
接下来是方案对比。两电平拓扑和级联H桥的差异、单电感滤波和LCL滤波的取舍、SVPWM和SPWM调制方式的选择,这些对比不是抄产品手册,而是结合本项目载荷情况做论证。比如30kvar这个电压等级用两电平完全够用,级联H桥在这个容量下成本劣势明显,操作复杂度也没有必要。
参数计算是报告的核心章节,电感1.5mH的推导过程、电容680uF的校核、预充电时间常数的计算,每一步尽量给出公式、代数值、结果和仿真验证截图。最后把仿真波形和实测波形成对放出来,标上同样的运行条件,让读者能直观看到理想与实际的偏差。万字报告的本质就是参数计算的证据链,每一段结论都对应一个可追溯的计算过程。
6.3 讲解资料怎么准备:一条主线加三张核心图
讲解环节最容易犯的错误是把PPT写成“代码逐行讲解”。听的人真正需要的是设计思路的连贯性,而不是每条语句的语法。我一般按一条主线讲:电网为什么缺无功 → 为什么需要SVG → 这台30kvar怎么实现 → 参数怎么来 → 控制怎么闭环 → 仿真怎么验证 → 样机怎么调试 → 保护怎么兜底。主线一旦清晰,听众就能把每个模块知识串起来。
配套准备三张必须过关的图:主电路拓扑图、控制框图、实测波形图。控制框图要把锁相环、电压外环、电流内环、SVPWM之间的信号流向标清楚,每一处的物理量单位也标上,这样讲起来不会枯燥。实测波形图选择动态阶跃的录波,比一堆稳态波形更有说服力。
讲解时还有一个实用技巧:准备一两个“反面问题”的答案。比如“母线电容为什么不是越大越好”“电感饱和了会怎么样”“锁相环带宽为什么不能高”,这些问题原本就是评委或者同事最爱问的方向。提前想好答案,讲解会从容很多。
最后说点我做这个项目的真实体会。把一台30kvar的静止无功发生器从需求拆解、参数计算、仿真验证到样机调试完整做一遍,才明白无功补偿不是背几个公式就够的。电感的饱和电流、IGBT驱动干扰、预充电时序、电压环和泄放回路的配合,这些才是真正烧时间的地方。整理源码和报告也是一样的道理——把每一步“为什么”写清楚,比堆多少页截图都有用。如果你正在搞相近容量等级的SVG设计,希望这篇能帮你少踩几个坑。