ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

单相变流器不平衡DQ控制与统一功率因数仿真实现

单相变流器不平衡DQ控制与统一功率因数仿真实现 1. 项目概述与核心价值最近在电力电子和电机驱动的圈子里单相变流器的控制策略一直是个经久不衰的话题。大家可能都熟悉传统的双闭环PI控制但在面对需要高动态性能、低谐波含量尤其是要求单位功率因数运行的场景时比如单相不间断电源UPS、光伏并网逆变器或者有源电力滤波器APF传统的控制方法就显得有些力不从心了。这时基于同步旋转坐标系d-q轴的控制策略就闪亮登场了。不过单相系统天生只有一相直接套用三相系统的d-q变换理论会碰到结构上的“不对称”这就需要一些特殊的处理技巧也就是标题里提到的“不平衡d-q控制”。我这次要分享的就是基于UDQ正弦PWM技术在Simulink中搭建一个单相统一功率因数变流器的完整控制仿真模型。这个“统一功率因数”模式说白了就是让变流器无论是工作在逆变状态VSI还是整流状态交直变流器都能实现网侧电流与电压同相位功率因数接近1从而最大化电能利用效率减少对电网的谐波污染。整个控制器的核心就是在同步参考框架下通过构造虚拟正交信号实现适用于单相系统的d-q解耦控制并最终生成高质量的正弦脉宽调制SPWM驱动信号。如果你正在研究单相PWM变流器、需要实现单位功率因数并网或整流、或者对如何在Simulink中实现复杂的坐标变换与控制算法感兴趣那么这篇内容应该能给你提供一个从理论到仿真的完整参考框架。我会尽量把数学模型背后的物理意义讲清楚并分享在Simulink建模中容易踩坑的那些细节。2. 核心原理从不平衡d-q变换到统一功率因数控制要理解这个仿真项目我们得先拆解几个关键概念为什么单相系统需要“不平衡”d-q变换统一功率因数模式到底控制了什么UDQ正弦PWM又是什么2.1 单相系统的困境与虚拟正交信号生成三相系统之所以能优雅地应用d-q变换Park变换是因为其天然存在相位互差120度的三相对称量经过Clarke变换后可以得到静止坐标系α-β轴下两个正交的分量。但单相系统只有一个物理量比如电网电压或电感电流我们无法直接得到与之正交的另一个分量。这就构成了单相系统应用d-q理论的首要障碍。解决这个问题的通用方法是构造虚拟正交信号。假设我们采集到的实际单相信号为x我们需要生成一个与之幅值相等、相位滞后90度的虚拟信号x。在仿真和数字控制中常用以下几种方法延时法对于基波频率为f的信号将其延时四分之一个周期T/4即可近似获得滞后90度的信号。在离散系统里这相当于一个N fs/(4*f)个采样周期的延时环节其中fs为采样频率。这种方法简单直观但在频率波动时会产生误差。希尔伯特Hilbert变换法这是一种理想的90度移相器能对所有频率分量进行精确的90度移相。在数字实现中通常通过设计一个FIR或IIR滤波器来近似希尔伯特变换。其精度高但会引入一定的计算延迟和相位畸变。基于二阶广义积分器SOGI的正交信号发生器QSG这是目前非常流行且性能优异的一种方法。SOGI-QSG结构不仅能生成一对正交信号本身还具有带通滤波特性能有效抑制谐波和直流偏移对电网频率的微小波动也有一定的自适应能力。其传递函数决定了中心频率调整参数即可跟踪基波。实操心得在Simulink仿真中如果追求快速实现和概念验证可以先用延时法。但若要研究系统的动态性能、谐波抑制能力或应对频率偏移强烈建议使用SOGI-QSG。它的模型更健壮也更贴近实际数字信号处理器DSP中的实现方式。我会在后面的建模部分展示SOGI的具体搭法。2.2 同步旋转坐标系下的不平衡d-q控制原理当我们通过上述方法得到了单相信号的正交分量xα和xβ后就可以像处理三相系统一样进行Park变换将其从静止α-β坐标系变换到与电网电压基波同步旋转的d-q坐标系。变换公式如下[ xd ] [ cosθ sinθ ] [ xα ] [ xq ] [ -sinθ cosθ ] [ xβ ]其中θ 是通过锁相环PLL获取的电网电压相位角。在d-q同步旋转坐标系下交流量基波会表现为直流量这极大简化了控制器的设计我们可以使用简单的PI调节器来实现无静差跟踪。对于电压源型变流器VSC其d-q轴模型通常可以描述为L*(d id/dt) -R*id ω*L*iq vd - Vgd L*(d iq/dt) -R*iq - ω*L*id vq - Vgq其中id,iq是网侧电流的d、q轴分量vd,vq是变流器桥臂中点电压的d、q轴分量Vgd,Vgq是电网电压的d、q轴分量L,R是网侧滤波电感和其等效电阻ω是电网角频率。为了实现单位功率因数运行我们的控制目标是d轴电流id控制有功功率或直流母线电压。当变流器作为整流器时id指令来自直流电压外环PI控制器的输出作为逆变器时id指令可能来自有功功率给定。q轴电流iq控制无功功率。为了实现单位功率因数纯有功交换我们直接将其指令值iq_ref设为0。观察方程你会发现d轴和q轴的方程通过ω*L*iq和-ω*L*id项耦合在一起。这就是所谓的“不平衡”耦合项。如果直接用两个独立的PI控制器分别控制id和iq由于这个耦合的存在动态性能会变差甚至可能不稳定。因此“不平衡d-q控制”的核心思想就是前馈解耦。我们在PI控制器的输出上加上耦合项和电网电压项进行补偿vd_ref (Kp Ki/s) * (id_ref - id) - ω*L*iq Vgd vq_ref (Kp Ki/s) * (iq_ref - iq) ω*L*id Vgq这样经过补偿后的电压指令vd_ref和vq_ref再经过反Park变换回到α-β静止坐标系就得到了我们期望的变流器输出电压参考信号vα_ref和vβ_ref。这个解耦过程使得d轴和q轴电流可以独立、快速地跟踪其指令值是实现高性能控制的关键。2.3 UDQ正弦PWM与统一功率因数模式得到了vα_ref和vβ_ref后我们需要将它们转化为开关管的驱动信号。这里就用到UDQ正弦PWM。这个名字听起来高级其实原理很直接U和D分别代表单相全桥H桥中上下两个桥臂的驱动逻辑。通常我们定义U为左桥臂上管驱动D为右桥臂上管驱动或反之根据定义而定。在α-β坐标系下对于单相H桥其输出电压vab与vα_ref直接相关vβ_ref在物理上无直接对应但在控制计算中参与生成调制波。正弦PWMSPWM是最常见的调制方式。我们需要将vα_ref经过标幺化处理与载波幅值匹配与一个高频三角载波进行比较生成PWM波。UDQ的具体实现逻辑就是根据vα_ref的正负和大小结合特定的调制策略如单极性倍频PWM或双极性PWM来分配U和D的开关状态以在桥臂中点A和B之间产生期望的电压vab。采用单极性倍频PWM可以有效将输出电压的谐波频谱推到两倍开关频率附近减小滤波电感尺寸。所谓“统一功率因数模式”是指这套控制策略具有通用性。通过设置不同的id_ref和iq_ref同一个变流器硬件和控制器可以运行在多种状态整流模式单位功率因数id_ref 0从电网吸收有功iq_ref 0。此时变流器作为负载实现高功率因数整流。逆变模式单位功率因数并网id_ref 0向电网输送有功iq_ref 0。此时变流器作为源实现清洁并网。无功补偿模式通过设定iq_ref ≠ 0可以让变流器发出或吸收无功功率起到STATCOM的作用。这种统一性正是基于d-q坐标系控制的优势所在。3. Simulink仿真模型搭建详解理论讲完了我们进入实战环节。在Simulink中搭建这个系统可以清晰地分为几个子系统主电路、信号检测与生成、锁相环、电流内环控制器、PWM生成。下面我逐一拆解建模要点和参数设置逻辑。3.1 主电路与参数设计主电路采用典型的单相全桥H桥结构包含电网电压源、滤波电感、H桥模块和直流侧电容负载或直流电压源。电网电压源设为220Vrms, 50Hz。仿真时可以用“AC Voltage Source”模块。滤波电感 L电感值的选择是关键。它需要在开关频率纹波抑制、电流动态响应和系统稳定性之间折衷。一个经验公式是电感上的压降在额定电流时约为额定电压的10%-20%。假设额定电流I_rated P_rated / V_rated例如对于2kW系统I_rated ≈ 9A。取电感压降ΔV_L 0.15 * 220 * √2 ≈ 46.7V(峰值)。根据V_L L * di/dt其中di是允许的电流纹波峰值通常取额定电流的10%-30%这里取20%即1.8Adt是开关周期内电压作用时间对于SPWM近似取半个开关周期1/(2*f_sw)。若开关频率f_sw 10kHz则L ΔV_L * dt / di 46.7 * (5e-5) / 1.8 ≈ 1.3mH。我们可以取一个标称值如2mH进行仿真。电感等效电阻 R模拟电感的铜损和线路电阻通常很小例如0.1 Ohm。直流侧电容 C_dc在整流模式下它起到稳压和滤波作用在逆变模式下它作为直流电压源。其大小影响直流电压的纹波和动态响应。可根据负载功率和允许的电压纹波来计算。公式为C ≈ P / (2 * ω * V_dc * ΔV_dc)其中P为功率ω为电网角频率V_dc为直流电压额定值如400VΔV_dc为允许的纹波电压峰值如5V。对于2kW系统计算得C ≈ 2000/(2*314*400*5) ≈ 1.6e-3 F 1600μF。仿真时可取2000μF。直流侧电压 V_dc对于220V交流输入直流母线电压通常需要大于交流峰值电压以保证调制线性区域即V_dc 220*√2 ≈ 311V。考虑到一定裕量常设置为400V。开关器件与二极管使用Simulink自带的“IGBT/Diodes”或“Mosfet/Diodes”模块。务必给每个开关管并联续流二极管。需要设置合理的开关参数如导通电阻Ron、内阻Rs、电容Cs等对于系统级仿真可以先使用理想开关Ron很小如1e-3 OhmCs, Rs设为inf和0以加快仿真速度待控制逻辑验证无误后再考虑非理想特性。3.2 信号检测与虚拟正交生成SOGI-QSG实现这是单相d-q控制的基石。我们在Simulink中用基本模块搭建一个SOGI-QSG。SOGI的核心传递函数为H(s) (k * ω * s) / (s^2 k * ω * s ω^2)其中ω是中心频率电网角频率2*pi*50k是阻尼系数影响带宽和响应速度通常取√2以获得最佳折衷。在Simulink中我们可以用两个积分器、增益和求和模块来实现这个二阶系统。具体搭建步骤输入信号v如电网电压Vg或网侧电流iL进入系统。第一个积分器对误差信号(v - v)乘以k*ω后的结果进行积分输出qv即正交分量vβ的中间变量。第二个积分器对qv进行积分输出v即同相分量vα。将v反馈回去与输入v比较形成误差。同时qv乘以ω得到真正的正交分量vβ。这样我们就从单相输入v得到了正交的一对信号vα和vβ。对于网侧电流iL需要完全相同的结构再来一套。注意事项SOGI-QSG对输入信号中的直流偏移非常敏感会导致输出产生工频振荡。在实际系统或高保真仿真中需要在信号输入前端加入一个高通滤波器以消除直流分量。仿真时如果信号源是理想的可以忽略但如果模型中存在可能导致直流偏置的环节如非理想采样就必须加上。3.3 锁相环PLL设计我们需要一个精确的电网电压相位角θ用于Park变换和反变换。这里采用基于同步坐标系的软件锁相环SRF-PLL。SRF-PLL的Simulink实现也很经典将电网电压Vg通过SOGI-QSG生成Vgα和Vgβ。对Vgα和Vgβ进行Park变换到d-q坐标系得到Vgd和Vgq。变换所用的角度是PLL自身估计的角度θ_pll。在理想锁相状态下Vgq应该为0。因此我们将Vgq作为误差信号送入一个PI调节器。PI调节器的输出是电网角频率的偏移量Δω加上额定角频率ω0(2*pi*50)得到估计的角频率ω_est。对ω_est进行积分就得到了我们需要的相位角θ_pll。这个θ_pll再反馈回第2步的Park变换形成闭环。PI参数设计很关键。可以将PLL看作一个二阶系统其闭环传递函数与PI参数有关。通常将PLL的带宽设置为电网基频的1/10到1/20例如5-10 Hz以保证对相位跳变有足够快的响应同时又能有效滤除电网电压谐波带来的干扰。3.4 电流内环控制器与解耦实现这是整个控制系统的核心。我们根据第2.2节推导的公式在Simulink中搭建。指令生成iq_ref直接设为常数0单位功率因数模式。id_ref的来源取决于运行模式整流模式来自直流电压外环。外环是一个PI控制器输入是直流电压参考值Vdc_ref与实际值Vdc的误差输出即为id_ref正值吸收有功。逆变模式可以直接给定一个负的id_ref常数发出有功或者来自上级的功率调度指令。电流PI控制器与解耦补偿分别搭建id和iq的PI控制器。PI的离散化形式很重要仿真中常用“Tustin”方法并加入抗积分饱和。PI参数整定可以将解耦和电网电压前馈项先去掉将系统近似看作两个一阶惯性环节1/(LsR)。根据典型I型或II型系统整定方法或使用“临界比例度法”在仿真中调试。一个粗略的起点是Kp L * BW * 2 * piKi R * BW * 2 * pi其中BW是期望的电流环带宽通常取开关频率的1/10到1/20例如对于10kHz开关频率取500Hz - 1kHz。关键步骤——解耦与前馈按照公式vd_ref PI_id_out - ω*L*iq Vgd和vq_ref PI_iq_out ω*L*id Vgq搭建补偿网络。这里的ω、L、Vgd、Vgq、id、iq都是实时变量需要从相应模块连线过来。反Park变换将计算出的vd_ref和vq_ref利用锁相环提供的θ_pll通过反Park变换矩阵得到α-β坐标系下的电压参考vα_ref和vβ_ref。对于单相系统我们实际上只需要vα_ref来生成调制波vβ_ref在控制计算中起辅助作用。3.5 PWM调制模块与驱动逻辑将vα_ref转换为实际的PWM驱动信号。标幺化与限幅vα_ref是物理电压值需要除以(V_dc/2)进行标幺化使其范围在-1到1之间以适应SPWM调制。然后必须经过限幅如±0.9为调制留出一定的过调制裕量防止进入非线性区域导致控制失效。载波生成使用“Repeating Sequence”或“Signal Generator”模块生成一个幅值为±1、频率为开关频率f_sw如10kHz的三角波。比较与逻辑生成这是实现“UDQ”逻辑的地方。以单极性倍频PWM为例将标幺化后的vα_ref分别与三角载波Carrier和其反相-Carrier进行比较。比较结果生成两路PWM信号PWM1和PWM2。H桥的驱动逻辑通常为左桥臂上管UPWM1左桥臂下管 ~PWM1右桥臂上管DPWM2右桥臂下管 ~PWM2注意必须设置死区时间在驱动信号通向IGBT门极之前插入一个死区生成模块可以用延时和逻辑门搭建防止上下管直通。死区时间根据器件开关特性设定通常为1~3us。驱动信号分配将生成的四路带死区的驱动信号分别连接到H桥四个IGBT的门极。4. 仿真配置、调试与结果分析模型搭建完成后正确的仿真配置和调试方法是成功的关键。4.1 仿真参数配置求解器电力电子开关电路是刚性系统推荐使用ode23tb或ode15s变步长求解器。它们能更好地处理开关动作带来的不连续性。仿真时间为了观察启动、稳态和动态响应通常需要仿真0.2 - 0.5秒。启动阶段可以设置直流侧电容有初始电压如50V以减少冲击。步长对于变步长求解器设置一个最大步长Max step size很重要建议设为开关周期的1/50到1/100例如对于10kHz开关频率最大步长设为1e-6 s到2e-6 s。这能确保捕捉到PWM的细节。数据记录将关键信号如Vg,iL,Vdc,id,iq,id_ref,vα_ref, 驱动信号等输出到工作区方便用MATLAB脚本进行后处理和分析。4.2 调试流程与技巧调试应遵循由内到外、开环到闭环的原则开环测试PWM先将控制器断开给定一个固定的vα_ref如0.2运行仿真。用示波器查看四路驱动信号是否符合单极性倍频PWM的规律死区时间是否正确加入。测量H桥输出端电压vAB看其波形是否与理论一致高频脉冲基波分量与vα_ref*V_dc/2成正比。测试SOGI-QSG和PLL接入电网电压运行仿真。查看SOGI输出的Vgα和Vgβ它们应该是幅值相等、相位差90度的正弦波。查看PLL输出的θ_pll它应该是一个斜率稳定的锯齿波或连续增长的角度并且Vgq应迅速收敛到0附近。这是后续所有坐标变换正确的基础。电流环开环测试暂时将电流PI控制器的输出直接作为vα_ref跳过解耦和反Park给定一个小的阶跃id_ref。观察电流iL的响应。此时由于没有闭环控制电流可能发散或响应很差这没关系主要是检查信号通路是否连通。闭环调试先调q轴再调d轴先将id_ref设为0只闭合iq环。给定一个小的iq_ref阶跃如0.1A调整iq环的PI参数使iq能快速、无超调或小超调地跟踪指令且稳态误差为零。iq环调好后再闭合id环。给定id_ref阶跃调整id环PI参数。特别注意此时解耦项必须投入。观察id和iq的响应理想情况下调节id时iq不应受到扰动反之亦然。如果耦合严重检查解耦项中的ω、L参数是否准确以及Vgd、Vgq前馈是否加上。外环直流电压环调试在整流模式下投入直流电压外环。外环的带宽应远低于内环通常为内环的1/5到1/10。先给一个较小的比例系数Kp_v积分系数Ki_v设为0观察直流电压的响应。然后慢慢增加Kp_v和Ki_v直到获得较快的电压恢复速度和较小的超调。过高的外环增益会导致内环电流指令剧烈波动甚至系统不稳定。4.3 关键波形分析与性能评估仿真稳定后我们需要分析以下几组关键波形来评估系统性能电网侧波形绘制电网电压Vg和网侧电流iL。在单位功率因数稳态下两者应同相位整流时同相逆变时反相。计算总谐波畸变率THD通常要求低于5%并网标准更严。可以使用Powergui的FFT分析工具。d-q轴电流跟踪绘制id、iq与其指令值id_ref、iq_ref的对比。观察跟踪速度、超调量和稳态误差。iq应紧紧跟随其指令值0。直流母线电压在整流模式下观察Vdc是否稳定在设定值如400V纹波大小是否在允许范围内。在负载阶跃变化时观察电压的动态跌落和恢复过程。调制波与驱动观察vα_ref的波形它应该是一个光滑的正弦波。观察PWM驱动信号和桥臂中点电压vAB验证调制是否正确。功率与功率因数计算瞬时有功功率P和无功功率Q。在稳态时P应等于直流侧负载功率Q应接近0。功率因数应接近1。5. 常见问题、排查思路与进阶优化在实际仿真和后续的实物实现中你会遇到各种各样的问题。下面我总结了一些典型问题及其排查思路。5.1 仿真发散或不稳定现象仿真报错代数环、不连续点过多或波形剧烈振荡、发散。排查检查求解器确认使用的是刚性求解器ode23tb,ode15s。检查初始条件给关键状态变量如电容电压、电感电流、积分器状态设置合理的初始值避免从0启动导致的大冲击。可以在仿真前0.01秒先让系统开环或轻载启动。检查PI参数过大的比例或积分增益是导致振荡的常见原因。先将所有PI参数设为很小的值然后逐个环路缓慢增加。检查解耦项解耦项中的参数ω,L必须准确。如果参数偏差太大解耦不彻底会导致环路耦合振荡。可以尝试暂时去掉解耦项只用PI控制看系统是否稳定性能会下降但可能稳定以判断问题是否出在解耦环节。检查PLL不稳定的PLL会输出抖动的相位角导致整个坐标变换混乱。确保PLL的PI参数合理带宽不宜过高。检查SOGI-QSG输出的正交信号质量。5.2 电流跟踪效果差THD高现象网侧电流波形畸变严重无法正弦化THD超标。排查检查调制波是否饱和观察vα_ref是否超出了±1标幺值的范围。饱和会导致控制失效电流畸变。确保前级的电压指令计算正确必要时降低电流指令或提高直流母线电压。检查死区效应死区时间会引入电压误差导致低频谐波特别是5次、7次。在仿真中可以暂时将死区时间设为0对比THD是否显著改善。如果是则需要考虑在控制中加入死区补偿算法。检查采样和计算延迟在数字控制中采样、计算和PWM更新会引入至少1.5个开关周期的延迟。在Simulink离散仿真中需要正确建模这个延迟例如使用“Zero-Order Hold”和“Unit Delay”模块否则可能导致相位裕度不足引起振荡和谐波。尝试在电流反馈通道或调制波输出通道加入一个1.5*TsTs为控制周期的延时看是否改善。检查电网电压谐波如果电网电压源本身含有谐波SOGI-PLL可能无法完全滤除导致锁相角度包含谐波 ripple进而影响电流控制。尝试使用理想正弦电压源测试。5.3 无法实现单位功率因数iq不为零现象稳态时iq不为0电网电压和电流存在相位差。排查检查PLL锁相精度这是最常见的原因。如果PLL锁定的相位有偏差那么以这个有偏差的角度进行的d-q变换其q轴分量就不会是纯粹的无功分量。仔细检查Vgq的稳态值是否真的为0。优化PLL参数或考虑使用更先进的PLL结构如基于SOGI的PLL即 SOGI-PLL。检查参数不对称性模型中滤波电感的参数L, R是否在α轴和β轴模型中完全一致在实际系统中传感器增益、ADC偏移的不对称也会导致类似问题。在仿真中确保SOGI-QSG生成的两个通道增益完全一致。检查指令值确认iq_ref确实恒为0且没有受到其他环路或限幅模块的干扰。5.4 进阶优化方向当基本功能实现后可以从以下几个方面提升系统性能引入电网电压前馈我们已经做了这是提高动态响应的有效手段。可以进一步考虑对电网电压进行滤波后再前馈以避免其谐波干扰控制。改进PLL性能在电网电压不平衡或畸变时标准SRF-PLL性能会下降。可以考虑使用基于双二阶广义积分器DSOGI的PLL它能更好地分离正负序分量在非理想电网条件下实现更精准的锁相。加入重复控制或谐振控制器对于周期性负载扰动或电网背景谐波单纯的PI控制在同步旋转坐标系下对特定次谐波抑制能力有限。可以在电流内环并联一个或多个准谐振Quasi-PR控制器或者在离散域加入重复控制器Repetitive Controller专门针对6k±1次谐波在d-q坐标系下表现为低频进行抑制从而进一步降低电流THD。离散化与代码生成将整个控制模型从连续域转换为离散域使用固定的采样步长。这更贴近实际数字控制DSP/MCU的实现。Simulink Coder/Embedded Coder支持直接从离散模型生成C代码可以部署到实验平台进行硬件在环HIL测试或实物验证。应对电网故障研究在电网电压骤升、骤降、频率偏移等故障情况下控制器的应对策略如低电压穿越LVRT控制。搭建和调试这样一个完整的单相统一功率因数变流器仿真模型确实是一个系统工程会涉及到电路、控制、信号处理等多个领域的知识。从SOGI生成虚拟正交信号到SRF-PLL精准锁相再到不平衡d-q解耦控制每一个环节都需要仔细推敲和反复调试。我最深的体会是仿真中参数的“理想值”与理论计算值往往有差距因为仿真模型中包含了开关动作、死区、计算延时等非理想因素。因此理论计算只是提供了一个起点最终还是要依靠观察波形、分析频谱采用“先内环后外环”、“先比例后积分”的调试方法耐心地找到那组合适的参数。当看到网侧电流完美地跟随电压功率因数表显示为0.999时那种成就感是对所有调试工作最好的回报。这个模型是一个强大的学习与研发平台基于它你可以轻松地更换不同的调制策略如SVPWM、尝试更先进的控制算法如模型预测控制或者扩展到三相系统其核心思想是相通的。
返回列表