行业资讯
📅 2026/8/27 4:07:23
单相PFC变流器不平衡d-q控制与Simulink仿真实践
1. 项目概述单相统一功率因数变流器的核心挑战在电力电子和电机驱动的领域里实现高功率因数运行一直是个经典且关键的课题。我们常说的“功率因数”简单理解就是电网提供的“有用功”和“总视在功”的比值。一个理想的电阻负载功率因数是1电流和电压波形完美同步。但现实中大量的电力电子设备比如开关电源、变频器都是非线性负载它们从电网汲取的电流是畸变的、非正弦的且与电压存在相位差这就导致了功率因数低下。低功率因数不仅意味着你付了电费但有一部分电能做了“无用功”白白增加了线路损耗和变压器负担还对整个电网的供电质量造成污染。单相统一功率因数变流器UPFC 这里更准确地说是单相功率因数校正PFC变流器或单相VSI工作在整流/逆变模式的目标就是让这个变流器从电网侧看进去无论它后面带的是什么负载可能是电机也可能是电池其输入电流都尽可能接近完美的正弦波并且与电网电压同相位从而实现单位功率因数运行。这听起来像是给变流器“戴上一个完美的面具”让它对电网表现得像一个纯电阻。然而给单相系统实现这个“面具”比三相系统要棘手得多。三相系统天然对称我们可以用著名的Park变换也叫dq变换将三相静止坐标系下的交流量转换到两个同步旋转的直流分量上d轴和q轴。控制直流量可比控制交流量简单太多了这也是矢量控制的核心思想。但单相系统只有一根火线和一根零线我们只能得到一个电压和一个电流信号如何构造出类似三相系统中的“两相正交”分量就成了第一个技术门槛。这就是标题中提到的“不平衡d-q控制”需要解决的问题——它是在单相系统中模拟出两相系统并进行坐标变换的一种特殊方法。这个项目的核心就是研究如何在Simulink仿真环境中搭建一个单相电压源型变流器VSI的模型并为其设计一个基于“不平衡d-q控制”的控制器使其能够以“统一功率因数”模式运行。无论是作为整流器从电网取电还是作为逆变器向电网回馈能量都要求网侧电流正弦且同相。UDQ正弦PWM则是实现该控制器输出指令的关键调制技术。通过仿真我们可以深入理解控制原理验证算法有效性并观察在各种工况下的动态性能这比直接阅读论文或教科书要直观和深刻得多。2. 系统架构与不平衡d-q变换原理要控制一个系统首先得能准确地描述它。我们的被控对象是一个单相全桥VSI它通过一个LCL或简单的L滤波器连接到单相电网。系统架构可以简化为单相电网电压 - 滤波电感 - 全桥IGBT模块 - 直流母线电容 - 负载或直流源。控制器的任务是根据检测到的电网电压Ug、网侧电流Ig和直流母线电压Udc计算出全桥四个开关管的PWM驱动信号使得Ig跟踪上一个与Ug同相位的正弦参考信号。这里的关键在于如何为单相系统生成一个旋转的参考坐标系并将交流量转换为直流量。2.1 从三相到单相的思维跨越构造正交分量在三相系统中abc三相电压互差120度经过Clarke变换可以得到静止两相α-β坐标系下的分量这两个分量在空间上是正交的。随后通过Park变换以一个与电网电压同步旋转的角度θ通常由锁相环PLL获得将α-β分量变换到旋转的d-q坐标系。在d-q坐标系下电网基波正序分量就表现为直流量。单相系统没有天然的β相。因此“不平衡d-q变换”的第一步是人为地构造出一个与原始单相信号x可以是电压或电流正交的虚拟分量x。常用的方法有希尔伯特变换Hilbert Transform在频域实现-90度的相移能精确构造正交分量但实时计算复杂。延时四分之一周期法将原始信号延时四分之一工频周期对于50Hz就是5ms延时后的信号近似等于原信号的正交分量。这种方法在数字控制中实现简单在基频附近效果很好是仿真和实际应用中非常常见的选择。基于二阶广义积分器的正交信号发生器SOGI-QSG这是一种带自适应频率跟踪的滤波器能从单相输入中生成两个正交的输出动态性能好抗干扰能力强是高性能单相PLL和控制中的主流方案。在本次仿真中为了突出核心控制原理我们可以先从延时四分之一周期法入手。假设我们采样得到电网电压Ug Um * sin(ωt)那么我们构造的虚拟β相电压Ugβ可以认为是Um * sin(ωt - π/2) -Um * cos(ωt)。这可以通过一个存储了5ms前数据的缓冲区来实现。2.2 不平衡d-q变换的数学实现一旦我们有了α分量原始信号和β分量构造信号我们就可以像三相系统一样进行Park变换了。变换矩阵如下从静止α-β坐标系到旋转d-q坐标系的变换 [ \begin{bmatrix} x_d \ x_q \end{bmatrix}\begin{bmatrix} \cos\theta \sin\theta \ -\sin\theta \cos\theta \end{bmatrix} \begin{bmatrix} x_\alpha \ x_\beta \end{bmatrix} ]这里的角度θ由单相锁相环SPLL提供。单相PLL同样需要处理只有一相电压的问题其内部通常也包含了上述的正交分量构造环节。一个经典的结构是采用SOGI-PLL它利用SOGI-QSG先产生正交电压再送入基于旋转坐标系的PLL中通过控制q轴电压为0来锁定相位。当我们把电网电压Ugα和Ugβ变换到d-q坐标系后在理想锁相状态下Ugd将等于电网电压的幅值Um而Ugq将等于0。这就是我们期待的“电压定向”效果——将旋转坐标系的d轴定向于电网电压矢量。注意这里“不平衡”一词并非指系统不对称而是特指这种为单相系统构造正交分量的变换过程与三相平衡系统的标准dq变换在输入条件上有所不同。其数学形式和控制器设计思路是相通的。2.3 系统控制框图总览基于上述原理整个控制系统的顶层框图可以梳理如下信号检测与处理采样Ug,Ig,Udc。使用SOGI或延时法由Ug和Ig分别生成其α-β分量。单相锁相环SPLL利用Ugα和Ugβ计算电网电压的实时相位角θ和频率ω。坐标变换利用求得的θ将Ugα, Ugβ和Igα, Igβ分别变换到d-q坐标系得到Ugd, Ugq和Igd, Igq。外环电压控制直流母线电压Udc与给定值Udc_ref比较误差经过PI调节器其输出作为d轴电流的参考值Id_ref。这个环节负责维持直流侧电压稳定决定了从电网吸收的有功功率大小。内环电流控制q轴电流参考值Iq_ref直接设为0这是实现单位功率因数的关键——控制无功分量为零。Igd和Igq分别与Id_ref和Iq_ref比较误差经过PI调节器输出d-q坐标系下的电压补偿量Vd和Vq。反Park变换与调制将Vd, Vq通过反Park变换得到静止α-β坐标系下的电压参考信号Vα_ref和Vβ_ref。对于单相全桥我们实际上只需要一个调制波。通常我们取Vα_ref作为最终的调制波Vref。然后采用**正弦PWMSPWM**或空间矢量调制SVPWM对于单相桥有其特定实现方式生成驱动全桥的PWM信号。标题中的“UDQ正弦PWM”正是指这个从d-q控制量到最终PWM信号的生成过程。3. Simulink仿真模型搭建详解理论清晰后我们开始在Simulink中动手搭建模型。模型主要分为主电路、测量、控制算法和PWM生成四大模块。3.1 主电路与测量模块搭建主电路相对简单电源使用“AC Voltage Source”模块设置幅值如311V峰值对应220V RMS、频率50Hz。滤波电感在电源和全桥交流侧之间串联一个“Series RLC Branch”仅设置电感值L。电感值的选择至关重要太小则电流纹波大开关谐波含量高太大则系统动态响应慢且电感体积成本增加。一个初始估算公式是L ≈ Vdc / (4 * f_sw * ΔI_max)其中f_sw是开关频率ΔI_max是允许的电流纹波峰值。可以先设为2-5mH进行调试。全桥模块使用“Universal Bridge”模块选择“IGBT/Diodes”作为器件类型桥臂数设为2。务必正确连接直流母线正DC、直流母线负DC-和交流输出端。直流侧在直流母线正负之间连接一个“DC Voltage Source”模拟负载或电池逆变模式时或者连接一个大电容和电阻负载模拟整流模式。在整流模式下直流侧通常是一个大电容如1000uF并联一个电阻负载。电容用于稳定电压并滤除二次纹波。测量使用“Voltage Measurement”和“Current Measurement”模块采集电网电压、网侧电流和直流母线电压。注意电流测量方向应设置为从电网流向变流器为正方向。3.2 控制算法模块核心实现这是仿真的重中之重我们将用Matlab Function模块或基本的Simulink模块如Delay、Trigonometric Function、Gain、Sum、PI Controller来构建。3.2.1 正交分量生成以延时法为例对于采样得到的Ug和Ig分别通过一个延时模块Delay。延时时间设置为T/4 1/(4*50) 0.005秒。定义原始信号为α分量延时后的信号为β分量。即Ugα Ug(t), Ugβ Ug(t - T/4)。电流同理。3.2.2 单相锁相环SPLL实现我们可以实现一个简化的基于反Park的PLL其内部也需构造正交分量。将Ugα和Ugβ输入到一个Park变换模块。Park变换的角度输入来自一个压控振荡器VCO的输出相位θ。VCO的输入是PI调节器的输出即估计的频率偏差Δω。变换后得到Ugd和Ugq。在锁相后Ugd为幅值Ugq应为0。因此将Ugq与0比较误差送入一个PI调节器。PI调节器的输出加上额定角频率ω0314 rad/s得到实时的估计角频率ω再经过一个积分器1/s得到相位角θ。这个θ将反馈回Park变换模块形成闭环。当Ugq被控为0时d轴就与电网电压矢量对齐θ就是电网电压的实际相位。3.2.3 电流环坐标变换与控制利用PLL输出的θ对电流的α-β分量Igα, Igβ进行Park变换得到Igd, Igq。外环直流电压Udc与参考值Udc_ref的误差经PI调节器输出Id_ref。Iq_ref设为0。内环Id_ref与Igd的误差经PI调节器输出VdIq_ref与Igq的误差经PI调节器输出Vq。进行前馈解耦以改善动态性能。解耦项为-ωL * Igq加到Vd通道ωL * Igd加到Vq通道。同时为了补偿电网电压扰动可以将Ugd即电网电压幅值前馈加到Vd上。因此最终的反Park变换输入为 [ Vd Vd_{pi} - ωL * Igq Ugd ] [ Vq Vq_{pi} ωL * Igd ]将Vd和Vq通过反Park变换得到Vα_ref和Vβ_ref。对于单相调制我们通常只使用Vα_ref作为调制波。3.3 PWM调制与仿真参数设置调制波处理得到的Vα_ref是包含控制信息的电压指令。需要将其除以直流母线电压Udc进行归一化得到幅值在[-1, 1]之间的标幺值作为正弦PWM的调制波m Vα_ref / Udc。载波与比较使用“Repeating Sequence”模块生成一个幅值为±1的三角载波频率设置为开关频率如10kHz。将调制波m与三角载波进行比较。驱动信号生成比较器输出一个布尔信号。对于单相全桥需要两路互补的驱动信号。通常当m carrier时上桥臂1导通下桥臂1关断同时为了生成互补信号可以设置桥臂2的驱动信号与桥臂1反相注意加入死区时间。死区时间在实际硬件中必须插入死区时间以防止上下桥臂直通。在Simulink中可以使用“Dead Zone”模块或通过延时和逻辑运算来模拟。死区时间通常设为2-5us。关键仿真参数求解器选择ode23tb或ode15s适用于电力电子变拓扑电路。仿真时间至少0.3秒以上以观察启动和稳态过程。步长采用变步长最大步长设置为开关周期的1/50或更小如1e-6秒以保证PWM细节能被捕捉。PI参数这是调试的难点。内环电流PI响应要快带宽通常设为开关频率的1/10 ~ 1/5。外环电压PI响应要慢带宽通常为内环的1/10 ~ 1/20。可以先根据“I型系统”或“II型系统”的典型整定方法计算初值再在仿真中微调。4. 调试过程、波形分析与性能评估模型搭建完毕后点击运行很可能得不到理想结果。调试是一个迭代过程。4.1 分步调试与验证第一步验证锁相环。暂时断开电流环和PWM让变流器不工作。只运行PLL模块观察其输出的相位角θ是否是一个频率稳定为50Hz的斜坡以及Ugq是否被控在0附近。可以绘制sin(θ)和原始电网电压Ug的波形看它们是否同步。第二步开环测试调制。给定一个恒定的Vα_ref比如0.2让PWM工作观察交流侧输出的电压波形是否是一个占空比对应的方波。用傅里叶分析查看其基波分量是否与给定值相符。第三步闭合电流环直流侧接电压源。将直流侧改为一个直流电压源模拟逆变模式。先让q轴电流环工作给定Iq_ref0观察Igq能否跟踪。然后加入d轴电流环给定一个小的Id_ref正值为吸收有功负值为发出有功观察Igd的跟踪情况以及实际的网侧电流Ig波形。此时应能看到正弦电流。第四步闭合电压外环直流侧接电容负载。这才是完整的整流模式。启动时直流电容电压为0外环PI饱和会给出很大的Id_ref可能导致过流。因此需要软启动策略一是将Udc_ref设置为一个斜坡函数从0逐渐上升到目标值二是对Id_ref进行限幅。观察直流电压的上升过程是否平稳稳态后纹波大小以及网侧电流的THD和功率因数。4.2 关键波形解读与性能指标仿真稳定后我们需要关注以下波形和指标电网电压Ug与网侧电流Ig这是最直观的成果。在稳态时两者应同频同相电流为正弦波。可以局部放大观察过零点是否对齐。d-q轴电流Igd,IgqIgd应跟踪Id_ref一个直流量Igq应稳定在0附近。这直接证明了电流解耦控制和单位功率因数运行。直流母线电压Udc应稳定在参考值附近纹波电压应在可接受范围内通常小于额定电压的1-2%。调制波m与载波观察调制波是否平滑有无畸变或饱和超过±1。频谱分析对网侧电流Ig进行FFT分析计算总谐波畸变率THD。一个好的PFC设计THD应低于5%甚至更低。动态响应可以做一个负载阶跃测试。在仿真中途突然改变直流侧的负载电阻值观察直流电压的跌落/上升幅度和恢复时间以及网侧电流的跟踪速度。这考验了双闭环控制器的动态性能。4.3 常见问题与排查技巧实录在调试过程中你几乎一定会遇到下面这些问题问题1仿真发散或报错代数环、数值不稳定排查首先检查所有反馈回路是否形成了没有延迟的代数环。在PI调节器的输出后、反馈信号路径上尝试插入一个“Memory”模块或一个很小的延时如1e-6秒来打破代数环。其次检查求解器和步长设置对于开关模型必须使用适合刚性系统的变步长求解器ode23tb,ode15s。技巧初期调试时可以用一个受控电压源代替实际的PWM全桥先验证控制算法的正确性避免开关动作带来的数值振荡。问题2锁相环失锁或相位抖动排查检查构造的正交分量Ugβ是否正确。如果采用延时法在仿真启动初期延时缓冲区数据未填满会导致Ugβ错误。可以在仿真前给延时模块一个初始条件或者忽略启动最初一个周期的数据。更稳健的方法是使用SOGI-QSG。技巧适当降低PLL中PI调节器的比例增益增加积分时间使其带宽降低增强抗干扰能力但会减慢锁相速度。问题3网侧电流畸变严重THD高排查电感值滤波电感L是否太小增大L可以减小电流纹波。开关频率开关频率是否太低提高开关频率需相应调整控制器带宽和死区可以改善波形。调制波饱和观察调制波m是否频繁达到±1的限幅值。饱和会导致过调制产生低次谐波。检查前馈电压Ugd是否准确加入这可以减轻电流环的负担。PI参数电流内环的PI参数是否合适响应太慢会导致跟踪误差大响应太快可能引发振荡。可以尝试稍微增大比例增益P或减小积分时间Ti。死区效应死区时间会引入电压误差导致电流过零点畸变。可以尝试在软件中加入死区补偿算法。问题4直流电压波动大或有二次纹波100Hz排查这是单相系统的固有特性。单相整流器的瞬时功率是脉动的含有两倍工频分量这个脉动功率会反映在直流侧电压上产生100Hz的纹波。电容容量增大直流侧电容是抑制电压纹波最直接有效的方法。电压外环带宽电压外环的带宽必须远低于100Hz通常设在10-20Hz否则控制器会试图去抑制这个固有纹波反而将100Hz的谐波注入到电流参考指令中导致网侧电流畸变。这是一个非常重要的取舍电压环带宽越低对二次纹波的抑制越好但负载突变的动态响应就越慢。前馈控制在电压外环输出Id_ref上可以叠加一个基于负载功率计算的前馈量加快动态响应。问题5启动时直流电压过冲或电流冲击大排查这是由积分饱和Integrator Windup引起的。启动时误差很大PI调节器的积分项会累积到一个非常大的值当电压达到设定值时积分项来不及退出导致超调。技巧实现抗饱和积分Anti-windup。最常用的方法是“ clamping ”当PI输出达到限幅值时停止积分作用。Simulink中的PID Controller模块可以勾选抗饱和选项并设置输出限幅。对于自己搭建的PI需要增加判断逻辑。5. 从仿真到实践的思考与扩展成功完成这个Simulink仿真意味着你已经掌握了单相功率因数校正变流器最核心的控制框架。但这离一个可靠的工业产品还有距离仿真为我们揭示了原理也掩盖了一些实际问题。我个人在仿真和实际调试中的体会是仿真模型的可信度建立在模型的精确度上。在仿真中我们假设IGBT是理想的开关驱动信号是完美的采样是同步且无噪声的。但现实中开关有导通压降和开关延时驱动电路有上升下降时间采样存在延时和量化误差线路有寄生电感和电阻。因此一个准备用于指导硬件开发的仿真模型需要逐步加入这些非理想因素比如在IGBT上串联一个小电阻和并联一个缓冲电容在采样通道中加入一个小延时和一阶低通滤波在PWM输出后加入死区发生模块。这样的模型虽然更复杂但调试出的PI参数才更有移植到DSP或单片机上的价值。这个基础框架有巨大的扩展空间。例如将简单的SPWM替换为单相空间矢量调制SVPWM可以提高直流电压利用率在电流环中引入比例谐振PR控制器来代替dq解耦的PI控制可以直接在静止坐标系下实现对交流信号的无静差跟踪避免复杂的坐标变换进一步可以研究模型预测控制MPC在这类变流器上的应用它能够直接处理系统的非线性约束动态性能更优。最后关于“统一功率因数”运行这个仿真展示了整流模式从电网取电。你可以尝试修改参考方向让变流器运行在逆变模式即向电网输送能量。此时Id_ref应为负值控制器结构几乎无需改动这正是其“统一”性的体现——同一套硬件和软件通过改变控制指令就能实现能量的双向流动和单位功率因数控制这在新能源并网、储能系统回馈等领域有直接的应用价值。仿真时只需将直流侧电压源改为一个高于电网峰值电压的电源并给出负的Id_ref指令就能观察到电流相位反转180度实现单位功率因数的逆变运行。