整流十—双二阶广义积分锁相

前言

前面《整流专题》中描述了电网平衡下的
1.锁相环—单同步锁相环(获得电网基波旋转角度)
以及电网不平衡下情况下的锁相环。
2.锁相环—双同步坐标系锁相(获得电网基本正序分量旋转角度)
本文中将继续讲述三相pwm整流器的另一种锁相环
3.锁相环—双二阶广义积分锁相(获得电网基本正序分量旋转角度)
此种锁相相比单同步锁相环复杂,但比双同步坐标系锁相简单,为了更好地解决电网电压不平衡的锁相问题,并使锁相对电网电压谐波不敏感,双二阶广义积分锁相效果更好。

一、原理

1.1二阶广义积分SOGI-PLL的出发点

SOGI-PLL的出发点是通过构建基于二阶广义积分器的自适应滤波器来实现90度相角偏移和谐波的滤除。

1.2公式推导

在这里插入图片描述

由上式可知,要完成对电网电压正序分量的提取,需要对输入电压信号进行90度的相角偏移,以此获得两相正交电压信号。一般而言,这种移相90°可采用T/4延时法、微分法等,在频率变化时T/4延时法动态响应速度慢,而微分法在系统含有谐波时容易产生噪声,因此以上方法所获得的两相信号并不能保证完全正交。。
由于积分环节对谐波具有抑制作用,因此可采用由二阶广义积分器所构成的正交信号发生器(SOGI-QSG),这样不仅能够对输入信号进行90°移相,同时也能消除谐波干扰。

1.3 二阶广义积分器所构成的正交信号发生器(SOGI-QSG)系统框图

在这里插入图片描述

1.4 SOGI-QSG分析

在这里插入图片描述
在这里插入图片描述
当取 k = 2 , ω’ = ω= 314 / rad s 时,根据式(3.33)、(3.34)可得D(s)和Q(s)两个传递函数的Bode图如图3.8所示。
在这里插入图片描述
在这里插入图片描述
因此,电网电压不平衡状态下基于SOGI-QSG的电量正、负序分量分离模块示意图如图3.9所示。
在这里插入图片描述

综上所述,基于SOGI-QSG的电量正、负序分量分离模块算法简单,结构易于实现,同时其中的积分环节对含有谐波的系统具有低频抑制特性,且动态响应速度快。因此,本文不平衡控制系统中的正、负序电量分离模块将采用SOGI-QSG来实现。

1.5 DSOGI-PLL系统控制结构框图

在这里插入图片描述

二、 仿真

2.1仿真模型

在这里插入图片描述

2.2 仿真结果

2.21 输入电压波形

在这里插入图片描述

2.22二阶广义积分触发器仿真结果

scope1,正序分量,通过触发器生成延时90度的正弦波
scope2,负序分量,通过触发器生成延时90度的正弦波
请添加图片描述

2.23锁相仿真结果

通道1:Vd、
通道2:Vq、
通道3:theta、
通道4:f
在这里插入图片描述

三、软件实现

下面展示一些 内联代码片


/*输入电网Valp、Vbelta,赋值给SOGI*/
V.alpha = Valp;
V.belta = Vbelta;
/*SOGI模型*/
   x = 2*SQRT_2*sSPLL.w*Ts;
    y = sSPLL.w*sSPLL.w*SQUAR_Ts;
    z = x+y+4;
    a1 = __divf32((8-2*y),z);
    a2 = __divf32((-4+x-y),z);
    b0 = __divf32(x,z);
    b2 = -b0;
    c0 = __divf32(SQRT_2*y,z);
    c1 = 2*c0;
    c2 = c0;
/*核心差分方程:数次原始输入+数次滤波信号的线性组合*/
    V.alpha_filt = b0*V.alpha + b2*V.alpha_Z2 + a1*V.alpha_filt_Z1 + a2*V.alpha_filt_Z2;
    V.beta_filt = b0*V.beta + b2*V.beta_Z2 + a1*V.beta_filt_Z1 + a2*V.beta_filt_Z2;
    V.qalpha_filt = c0*V.alpha + c1*V.alpha_Z1 + c2*V.alpha_Z2 + a1*V.qalpha_filt_Z1 + a2*V.qalpha_filt_Z2;
    V.qbeta_filt = c0*V.beta + c1*V.beta_Z1 + c2*V.beta_Z2 + a1*V.qbeta_filt_Z1 + a2*V.qbeta_filt_Z2;
/*计算正序ALP bELTA 电压值*/
   V.alpha_P = 0.5*(V.alpha_filt - V.qbeta_filt);
   V.beta_P = 0.5*(V.beta_filt + V.qalpha_filt);
  /*保存对应值*/
      V.alpha_Z2 = V.alpha_Z1;
    V.alpha_Z1 = V.alpha;

    V.beta_Z2 = V.beta_Z1;
    V.beta_Z1 = V.beta;


    V.alpha_filt_Z2 = V.alpha_filt_Z1;
    V.alpha_filt_Z1 = V.alpha_filt;

    V.qalpha_filt_Z2 =V.qalpha_filt_Z1;
    V.qalpha_filt_Z1 = V.qalpha_filt;


    V.beta_filt_Z2 = V.beta_filt_Z1;
    V.beta_filt_Z1 = V.beta_filt;

    V.qbeta_filt_Z2 = V.qbeta_filt_Z1;
    V.qbeta_filt_Z1 = V.qbeta_filt;
    

四、其他公式

在这里插入图片描述
在这里插入图片描述

补充

在这里插入图片描述
图 1(a)所示理想模型的 s 域传递函数为
在这里插入图片描述
图 1(b)所示理想模型的 z 域传递函数为
在这里插入图片描述

  • 24
    点赞
  • 120
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
STM32是一种32位的微控制器系列,拥有强大的处理能力和丰富的外设接口,常用于嵌入式系统开发。二阶广义积分器是一种常见的控制系统模型,常用于实现锁相环控制系统。下面我将解释如何在STM32上实现二阶广义积分器软件锁相。 首先,我们需要了解二阶广义积分器的工作原理。二阶广义积分器通常包含两个二阶积分器和一个相位检测器,用于将输入信号和参考信号进行比较,并通过调节输出信号的相位和幅度来实现锁相功能。在STM32上实现二阶广义积分器软件锁相的关键在于使用定时器和外部中断来完成相位检测和调节。 首先,我们可以使用STM32的定时器模块作为输入信号的计数器,通过配置定时器的参数和中断,可以实现对输入信号的定时采样。然后,我们可以使用另一个定时器或外部中断来检测参考信号的相位。当参考信号的相位与输入信号的相位不一致时,我们可以通过调节输出信号的相位和幅度来实现锁相。 在具体实现时,我们可以使用STM32的中断服务程序来处理输入信号和参考信号的采样和检测,并根据检测结果来调节输出信号的相位和幅度。同时,我们可以使用STM32的GPIO接口来连接输入信号和参考信号。 在编写软件代码时,我们需要根据具体的需求来配置STM32的定时器和GPIO接口,通过使用定时器的计数和中断功能实现相位检测和调节,同时使用GPIO接口读取输入信号和控制输出信号的相位和幅度。 总结来说,要在STM32上实现二阶广义积分器软件锁相,我们需要利用STM32的定时器和中断功能来完成输入信号和参考信号的采样和相位检测,并通过GPIO接口来读取输入信号和控制输出信号的相位和幅度。在具体的软件代码编写过程中,需要根据具体需求配置不同的参数和功能,确保系统能够稳定、准确地实现锁相功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Not Dr.Wang422

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值