1. 单相UPS逆变环节为什么值得单独拿出来做仿真
单相不间断电源的拓扑说复杂也复杂,说简单也简单。前级AC-DC整流加Boost升压,后级DC-AC逆变加LC滤波,中间挂一组蓄电池,这套架构在中小功率段几乎是标准答案。但真正决定一台UPS输出品质的,往往不是前级做得多漂亮,而是逆变环节能不能在负载突变、非线性负载、市电掉电切换这些工况下,把输出电压稳在220V/50Hz附近,THD压到5%以内,动态恢复时间控制在几个工频周期之内。
我见过不少刚入门的同学做UPS仿真,前级整流做得有模有样,一到逆变闭环就抓瞎——要么用PI控制器硬调,空载看着还行,一加整流性负载电压就塌;要么参数拍脑袋定,仿真跑出来的波形跟教科书上的理想波形差了十万八千里。问题的根子在于:逆变器在50Hz工频下要实现对正弦参考量的无静差跟踪,传统PI控制器在静止坐标系下对交流量的增益是有限的,稳态误差和相位滞后几乎不可避免。
比例谐振(PR)控制器就是冲着这个痛点来的。它在基波频率处提供近乎无穷大的增益,让系统在50Hz处实现零稳态误差跟踪,同时对特定次谐波(比如3次、5次、7次)可以并联对应的谐振项做选择性补偿。再配上电压外环、电流内环的双闭环结构,电感电流作为内环被控量,响应速度快,限流保护天然好做,整套方案在单相UPS逆变控制里算是性价比很高的选择。
这篇内容适合谁看?如果你正在做电力电子方向的课程设计、毕业设计,或者刚入行做UPS、逆变器、储能变流器的仿真验证,对PR控制器只知道个名字但没真正搭过模型,那接下来的内容应该能帮你少走不少弯路。我会从拓扑选择、PR控制器离散化、双闭环参数整定、仿真工况设计这几个维度,把整套仿真流程拆开讲清楚,重点放在“为什么这么选”和“实际跑起来会遇到什么”。
2. 逆变主电路与PR控制器的选型逻辑
2.1 单相全桥逆变加LC滤波的拓扑取舍
单相UPS逆变级最常见的拓扑有两种:半桥和全桥。半桥结构器件少、驱动简单,但直流母线电压利用率低,同样输出220V交流需要更高的母线电压,而且中点电位需要额外平衡。全桥结构用了四个开关管,母线电压利用率是半桥的两倍,在400V母线电压下就能输出220V交流,对前级Boost的升压比要求更友好。
我个人的选择是全桥。理由很直接:单相UPS的直流母线通常由Boost级从蓄电池升压而来,母线电压定在400V左右是行业惯例,全桥在这个电压下工作,调制比留有余量,不会因为母线电压波动导致输出削顶。滤波环节用LC低通,截止频率一般取开关频率的1/10到1/5,开关频率选20kHz的话,截止频率设在2kHz附近比较合适。
电感L的取值要考虑纹波电流。假设输出额定功率1kVA,输出电压220V,额定电流约4.5A,纹波电流通常控制在额定电流的15%到20%,也就是0.7A到0.9A。根据公式 ΔI = (Vdc × D × (1-D)) / (L × fsw),在D=0.5最恶劣工况下反推,L大约在1mH到2mH之间。电容C的取值则要看无功容量,一般限制滤波电容吸收的无功不超过额定容量的5%,算下来C在10μF到20μF量级。
注意:LC滤波器的谐振频率必须避开基波频率和开关频率的整数倍,否则会在特定谐波处产生谐振放大。仿真前先用 f_res = 1/(2π√(LC)) 算一下,确保落在安全区间。
2.2 PR控制器相比PI在交流跟踪上的本质差异
很多人做逆变控制第一反应是用PI,因为直流调速里PI用惯了。但逆变器的参考量是50Hz正弦波,不是直流量。PI控制器在50Hz处的增益是 |Kp + Ki/(jω)|,这个值再大也是有限数,理论上就存在稳态幅值误差和相位误差。你可以在仿真里把Ki调得很大,稳态误差确实会变小,但代价是动态响应变慢,超调增大,甚至引发振荡。
PR控制器的传递函数是 G(s) = Kp + 2Krωc s / (s² + 2ωc s + ω0²),其中ω0是谐振频率(对应50Hz的314rad/s),ωc是带宽参数,Kr是谐振增益。在s = jω0处,第二项的分母实部为零,整个谐振项趋于无穷大,这就是它能实现零稳态误差的数学基础。ωc决定了谐振峰的尖锐程度,ωc越小峰越尖,频率选择性越好,但对电网频率波动的鲁棒性越差。实际仿真里ωc取5到15rad/s比较常见,我一般先用10rad/s试。
Kp的作用和PI里的比例项类似,影响动态响应速度;Kr影响稳态精度和谐振峰的幅值。整定时先定Kp让系统有基本的动态响应,再加Kr把稳态误差压下去。PR控制器在谐振频率附近对参数非常敏感,Kp和Kr的微小变化都可能让谐振峰偏移,所以整定的时候要配合频域分析工具看伯德图,不能只盯着时域波形调。
2.3 双闭环结构里电压外环和电流内环的分工
双闭环的核心思想是分工:电压外环负责稳压,输出电流内环的参考值;电流内环负责快速跟踪,同时天然具备限流能力。电压外环的带宽要远低于电流内环,一般差5到10倍,这样两个环之间不会相互干扰。
电流内环的被控量是电感电流,反馈系数通常取1,因为电感电流就是我们要控制的物理量。电压外环的被控量是电容电压(也就是输出电压),反馈系数也是1。两个环都用PR控制器,但参数不同:电流内环的Kp可以大一些,因为电感电流变化快,需要快速响应;电压外环的Kp要小一些,否则容易和电流内环产生耦合振荡。
这里有个容易踩的坑:电压外环的输出是电流内环的参考幅值,这个参考值必须限幅。不限幅的话,负载突变时电压外环会输出一个巨大的电流参考,电流内环跟着跑,电感电流直接冲到保护阈值。限幅值一般取额定电流的1.5到2倍,既能保证动态响应,又不会过流。
3. PR控制器的离散化实现与参数整定实操
3.1 从连续域到离散域:Tustin变换的细节
仿真里PR控制器最终要在数字控制器里实现,必须离散化。最常用的方法是Tustin变换(双线性变换),它把s域映射到z域:s = (2/Ts) × (z-1)/(z+1),其中Ts是采样周期。Tustin变换的好处是频率轴映射没有混叠,50Hz处的特性保持得比较好。
但直接对PR的谐振项做Tustin变换会得到一个二阶传递函数,分子分母都是z的二次多项式。我一般用MATLAB的c2d函数配合'tustin'选项做,或者手推也行。手推的时候注意:谐振项 2Krωc s / (s² + 2ωc s + ω0²) 经过Tustin变换后,分母的z²系数、z系数和常数项都有解析表达式,直接套公式比数值变换更可控。
离散化之后要检查一件事:谐振频率在离散域是否还精确落在50Hz。Tustin变换在低频段近似很好,但如果你采样频率选得不够高(比如只有10kHz),50Hz处的频率畸变虽然不大,但谐振峰的幅值可能会被削弱。我一般建议采样频率至少取开关频率的2倍,也就是40kHz以上,这样离散化误差可以忽略。
3.2 电压外环PR参数:从伯德图到阶跃响应
电压外环的整定我习惯分两步走。第一步,先把电流内环闭合并近似成单位增益(因为内环带宽远高于外环),然后单独看电压外环的开环伯德图。Kp从0.1开始往上加,观察截止频率和相位裕度。目标截止频率一般取基波频率的1/10到1/5,也就是5Hz到10Hz,相位裕度保持在45°到60°之间。
第二步,加Kr。Kr从10开始试,看50Hz处的增益是否足够高。理论上PR在50Hz处增益无穷大,但离散化和数值精度会让它变成一个很大的有限值。仿真里看伯德图,50Hz处的幅值应该比截止频率处高出40dB以上,这样稳态误差才能压到接近零。
时域验证的时候,先跑空载启动,看输出电压多久能跟踪上参考值。然后突加满载,看电压跌落多少、多久恢复。我实测下来,Kp=0.5、Kr=100、ωc=10这组参数在1kVA单相UPS仿真里表现比较均衡,空载启动约2个工频周期跟踪到位,满载突加电压跌落约15V,恢复时间约3个工频周期。
3.3 电流内环PR参数:带宽与稳定性的平衡
电流内环的整定逻辑和电压外环类似,但目标截止频率要高得多,一般取开关频率的1/10到1/5,20kHz开关频率对应2kHz到4kHz。Kp可以取到10到20,因为电感电流的动态响应要求快。Kr取50到200,保证50Hz处的高增益。
这里有个经验:电流内环的Kp不能无限加大,否则会在开关频率附近引发振荡。原因是数字控制存在一拍延时,采样、计算、更新占空比这个过程在离散域引入了一个周期的延迟,这个延迟在高频段会贡献额外的相位滞后。Kp太大,截止频率推得太高,相位裕度就不够了。仿真里如果看到电感电流波形在开关频率附近有毛刺或者振荡,八成是Kp大了,降下来就好。
还有一个细节:电流内环的参考值是电压外环的输出,这个信号是50Hz正弦波。PR控制器对正弦参考的跟踪能力很强,但前提是谐振频率对准。如果实际电网频率有±0.5Hz的波动,谐振峰要足够宽才能覆盖。ωc取10rad/s对应的带宽大约是±1.6Hz,基本够用。如果应用场景对频率波动更敏感,ωc可以取到20rad/s,代价是频率选择性变差,谐波抑制能力减弱。
4. 仿真工况设计与波形分析要点
4.1 稳态满载与非线性负载的THD对比
仿真跑通之后,第一件事是看稳态满载波形。输出电压应该是干净的正弦波,THD控制在3%以内算合格,2%以内算优秀。如果THD偏高,先看谐波频谱,找出主要谐波次数。单相全桥逆变在双极性调制下,主要谐波集中在开关频率及其边带附近,LC滤波器应该能把这些高频谐波压下去。如果低频段(3次、5次、7次)谐波明显,说明PR控制器对低次谐波的抑制不够,可以考虑在PR控制器里并联对应次数的谐振项。
非线性负载是UPS的试金石。最典型的非线性负载是整流性负载,比如不控整流桥带电容滤波。这种负载的电流波形是尖峰状的,富含奇次谐波。仿真里可以用一个二极管整流桥加RC负载来模拟。我实测下来,纯PR控制在非线性负载下THD会明显上升,从2%左右跳到5%到8%。如果要求更严,就得加谐波补偿,比如在电压外环里并联3次、5次、7次谐振项,或者用重复控制器。
提示:非线性负载仿真时,仿真步长要足够小,否则二极管换相过程会被平滑掉,THD计算结果偏乐观。建议步长取开关周期的1/100以下,20kHz开关频率对应0.5μs步长。
4.2 突加突卸负载时的动态响应评估
动态响应是UPS的核心指标之一。仿真里做突加负载,就是在某个时刻把负载电阻从无穷大切换到额定值,看输出电压跌落多少、多久恢复。做突卸负载则相反,看电压冲高多少、多久回落。
评估动态响应主要看三个量:最大电压偏差、恢复时间、恢复过程中的振荡次数。最大电压偏差一般要求不超过额定电压的10%,恢复时间不超过20ms(一个工频周期),振荡次数不超过2次。PR双闭环在这方面的表现比单环好很多,因为电流内环能快速提供负载电流,电压外环只需要补偿滤波电容上的电压偏差。
我踩过的一个坑:突加负载时电压跌落很大,调了半天电压外环参数没效果。后来发现是电流内环的限幅值设小了,负载突变瞬间电流参考被限幅,电感电流上不去,电压自然塌。把限幅值从1.2倍额定电流放到2倍,问题解决。所以动态响应不好,先查限幅,再查参数,这个排查顺序能省很多时间。
4.3 市电掉电切换与蓄电池放电工况
UPS的核心价值在于市电掉电时能无缝切换到蓄电池供电。仿真里模拟这个工况,就是在某个时刻把前级整流器的输入电压切掉,同时把蓄电池接入Boost级。逆变级的控制策略不变,但直流母线电压会有一个短暂的跌落,因为蓄电池电压通常低于整流后的母线电压。
这个工况下要看的是:母线电压跌落多少、逆变输出电压是否受影响、切换过程有没有中断。理想情况下,母线电容储能足够大,切换过程中母线电压跌落不超过10%,逆变输出电压几乎看不到扰动。如果母线电容不够大,母线电压跌落大,PR控制器会试图通过增大调制比来维持输出电压,但调制比有上限,一旦饱和,输出电压就会畸变。
仿真里可以调整母线电容值,观察切换过程的电压波形。我一般取母线电容在1000μF到2000μF之间,配合400V母线电压和1kVA负载,切换过程电压跌落约20V到30V,恢复时间约5ms,基本满足要求。
5. 仿真中容易翻车的几个细节
5.1 代数环问题与求解器步长选择
Simulink里搭双闭环模型,最容易遇到的是代数环。电压外环的输出直接进电流内环,电流内环的输出直接进PWM比较器,PWM比较器的输出又反过来影响电感电流,电感电流又影响电容电压,电容电压又回到电压外环。这个闭环里如果没有延时环节,Simulink会报代数环错误。
解决办法有两个:一是在电流内环的参考值后面加一个单位延时(z^-1),模拟数字控制的一拍延时;二是用Simulink的代数环求解器,但我不推荐,因为求解速度慢而且容易出数值问题。加单位延时是最干净的做法,而且更贴近实际数字控制器的行为。
求解器选择上,电力电子仿真首选变步长求解器ode23tb或ode15s,它们对刚性系统处理得好。步长上限设成开关周期的1/100,相对误差容限设成1e-4,这样波形细节不会丢,仿真速度也能接受。如果用定步长求解器,步长必须小于开关周期的一半,否则PWM波形会失真。
5.2 反馈量测量与滤波的取舍
电压外环的反馈量是输出电压,电流内环的反馈量是电感电流。仿真里这两个量可以直接从电路节点取,但实际数字控制器里,采样信号会带噪声,需要滤波。仿真里加不加滤波?我的建议是加,但滤波器的截止频率要远高于控制环的带宽,否则会引入额外相位滞后,影响稳定性。
电压反馈的滤波截止频率一般取开关频率的1/10,也就是2kHz,用一阶低通就够。电流反馈的滤波截止频率可以取高一些,5kHz到10kHz,因为电流内环带宽高,滤波滞后影响更大。加滤波之后,控制参数可能需要微调,因为滤波器的相位滞后会吃掉一部分相位裕度。
还有一个细节:反馈量的初始值。仿真启动瞬间,电容电压为零,电压外环的误差是参考值减零,等于参考值本身,这个误差经过PR控制器会产生一个很大的电流参考。如果限幅没做好,启动瞬间电感电流会冲得很高。解决办法是在启动时给电容预充电,或者用软启动策略让参考值从零缓慢上升到额定值。
5.3 仿真速度与精度的平衡技巧
PR双闭环仿真跑起来不算慢,但如果开关频率高、仿真时间长,还是会等得让人抓狂。几个提速技巧:一是用平均模型代替开关模型做参数整定,平均模型忽略开关纹波,仿真速度快几十倍,参数整定完了再切回开关模型验证;二是把不关心的部分简化,比如前级Boost可以用理想直流源代替,只关注逆变级;三是用Simulink的加速模式或快速加速模式,对纯Simulink模型提速明显。
但提速有代价。平均模型看不到开关纹波和死区效应,参数整定完了切回开关模型,可能会发现波形有差异。我的做法是:平均模型整定参数,开关模型验证波形,两者结合。如果开关模型下波形和平均模型差异很大,说明参数对开关纹波敏感,需要重新微调。
6. 从仿真到实际控制器落地的距离
仿真跑得再好,落到实际数字信号处理器上还有一段路。最大的差异是离散化精度和计算延时。仿真里PR控制器可以用双精度浮点算,实际控制器可能是定点数字信号处理器,量化误差和截断误差会影响谐振峰的精度。如果谐振峰偏了,50Hz处的增益下降,稳态误差就出来了。
另一个差异是采样与更新的时序。仿真里可以做到采样和更新同时发生,实际控制器里采样、计算、更新占空比是串行的,存在一拍甚至两拍的延时。这个延时在电流内环里影响很大,因为电流内环带宽高,延时带来的相位滞后可能吃掉大量相位裕度。解决办法是在仿真里就加入这个延时,提前评估稳定性,或者在实际控制器里用预测控制补偿延时。
还有死区效应。仿真里如果没加死区,输出电压波形很干净;实际全桥电路必须加死区防止直通,死区会导致输出电压畸变,尤其是在轻载时。仿真里可以加死区模块,观察畸变程度,必要时在控制器里加死区补偿。
我个人的体会是:仿真阶段把能加的延时、死区、量化误差都加上,虽然仿真速度慢一点,但结果更接近实际。那些仿真里看着完美、实际跑起来一塌糊涂的案例,多半是仿真太理想化了。PR双闭环控制单相UPS逆变,理论成熟、仿真可复现、实际落地也有大量工程案例,关键是把细节抠到位,参数整定有据可循,工况覆盖全面,这样出来的设计才经得起推敲。