三相SOGI-PLL锁相环原理解析

在这里插入图片描述
上图是一个通用的SRF-PLL锁相环,当电网谐波比较大或者不平衡的时候,输出的Vd,Vq信号就会包含负序分量,形成干扰,影响锁相精度。

在这里插入图片描述
如上图所示,为三相SOGI-PLL锁相环的控制原理,可见其和通用SRF-PLL的区别是使用了正序Vq+代替了Vq,这样就避免了不平衡的负序分量的影响。

SOGI滤波器在此处的作用是用于正负序分离,这是一种改进型的正负序分离算法。
SOGI滤波器的特点是在输入信号的频率点上,输出输入信号的副本及其正交分量,此处用于正负序分离的简化计算。

本质上SOGI-PLL锁相环就是一种正负序分离的同步锁相环。

### 三相锁相环工作原理详解 #### 锁相环基本概念 锁相环(PLL, Phase-Locked Loop)是一种能够自动调整输出信号的频率和位,使其与输入参考信号保持同步的技术。在电力电子领域,特别是对于三相并网系统而言,PLL用于检测电网电压的频率、幅值以及角信息。 #### SOGI算法介绍 二阶广义积分器(SOGI, Second-Order Generalized Integrator)作为一种改进型PLL方法,在处理不平衡或畸变严重的电源条件下表现出更好的性能[^3]。该算法不仅具备快速响应特性,而且能有效抑制直流偏置和谐波干扰的影响。 #### 工作流程描述 当应用于三相系统时,PLL通常会经历以下几个阶段来完成其功能: 1. **信号预处理** 对来自电网侧的线电压进行采样得到瞬时值,并转换成αβ坐标系下的两路正交分量\(v_{\alpha}\),\(v_{\beta}\)[^1]。 2. **SOGI滤波单元运算** 利用SOGI结构对上述两个静止坐标轴上的交流变量实施带通滤波操作,从而获得纯净的基频成分及其90度超前版本\[v'_{\alpha}, v'_{\beta}\]。 3. **计算角度误差** 将经过SOGI后的输出再次变换回直流量θ̂作为估计出来的电网位;与此同时,也得到了估算出的电网角速度ω̂。此时可以通过比较实际测量到的角度θ_ref同预测值得差δ=θ_ref−θ̂得出两者间存在的偏差情况。 4. **调节机制** 基于PI控制器或者其他类型的反馈节修正此差异直至消除为止,最终使得本地产生的虚拟旋转磁场与公共连接点处的真实电场完全重合一致[^2]。 5. **输出结果** 经过一系列复杂的数学运算之后,PLL模块将会给出精确反映当前供电网络状态的关键参数——即实时更新过的频率f_hat 和初φ_hat ,这些数据可以直接服务于后续诸如MPPT追踪或是V/f协调控制等功能模块之中。 ```python import numpy as np def sogi_pll(v_alpha, v_beta, Kp, Ki, dt): """ Simulate a simple version of the SOGI-based PLL algorithm. Parameters: v_alpha (float): Alpha component voltage signal at time t v_beta (float): Beta component voltage signal at time t Kp (float): Proportional gain for PI controller Ki (float): Integral gain for PI controller dt (float): Time step size Returns: tuple: Estimated frequency and phase angle """ # Initialize variables omega_est = 0.0 # Initial estimated angular velocity theta_est = 0.0 # Initial estimated phase angle while True: # Step 1 & 2: Perform Park transformation followed by SOGI filtering... # ... (omitted detailed implementation here) # Step 3: Compute phase error delta_theta between reference and estimation delta_theta = ref_angle - theta_est # Step 4: Update estimates using PI control law e_int += delta_theta * dt d_omega = Kp*delta_theta + Ki*e_int*dt omega_est += d_omega*dt theta_est += omega_est*dt yield omega_est / (2*np.pi), theta_est % (2*np.pi) # Example usage if __name__ == "__main__": pll_gen = sogi_pll(...) freq, phase = next(pll_gen) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值