双向交错CCM图腾柱无桥单相PFC学习仿真与实现(2)SOGI_PLL学习仿真总结

本文主要是介绍双向交错CCM图腾柱无桥单相PFC学习仿真与实现(2)SOGI_PLL学习仿真总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

前言

SOGI基本原理

锁相环基本原理

仿真实现及说明

总结


前言

前面总结了双向交错CCM图腾柱无桥单相PFC系统实现,后面把问题细分,关于SOGI锁相环的应用和学习在这里总结下。

双向交错CCM图腾柱无桥单相PFC学习仿真与实现(1)系统问题分解_卡洛斯伊的博客-CSDN博客

SOGI基本原理

SOGI也叫做二阶广义积分器,也叫正交信号发生器,目的就是得到单相的正交信号,其实说白了就是相当于一个观测器,通过SOGI之后得到电网侧的电压(幅值)和相位,如下图是TI的文档摘录下来的框图:

V'估算的同相位的电网电压

qv'相位相差90度

参考文档: Software Phase Locked Loop Design Using C2000™ Microcontrollers for Single Phase Grid Connected Inverter

 为了方便理解,直接定义V' 为valpha, qv'为vbeta:从输入Vin到输出的传递函数可以表示如下,从上面的框图很容易就推导出来了,很多论文也都是这个表达式:

 在Matlab里面创建脚本来帮助分析它们的传递函数,电网频率50Hz,K取1.414如下:

 

 上图时k=1.414时,传递函数Valpha和Vbeta的频率响应曲线。当输入信号在50Hz时,有频率响应曲线可分析得出:增益 为0 db, 表明输出信号alpha和beta在50Hz幅度保持不变。相位在50Hz处:Valpha是0度,表示alpha成输入同相位,Vbeta是-90度,表示beta的输入滞后输入90度。另外,谐波次数越高,该系统对谐波的衰减作用越大。

 改变k=0.414的值:

 改变k=2.414的值:

 从上图可以看出,K的值越大对高次谐波的抑制越小,通过的频率只与Wn有关

再看下三者的阶跃响应:

K越小,响应越快稳定性越差,K越大响应越慢,稳定性越好,综合下来K取1.414或者1附近都是可以的,具体也要看电网谐波情况和响应需要选择合适的值

 K值影响的就是Valpha观测的响应速度:

K=0.9

 K=1.414

锁相环基本原理

前面介绍了SOGI的原理,接下来如何设计锁相环,通过SOGI得到了Valpha,Vbeta,当稳态时有:

V\alpha =Vpeak*cos(\theta )

V\beta =Vpeak*sin(\theta )

 经过Clark变换后有:

 通过上式可以看出,当估算角度和实际角度一样时Vq=0,利用这个特性,就可以设计出锁相环,把Vq当作锁相环的误差输入, 除以Vpeak相当于把输入误差归一化. 当估计角度接近实际角度, Vq可直接表示为:

 这时候控制框图可等效为:

 根据框图设计锁相环参数:

 PLL_KP=33.3;PLL_Ki=33.3*3;W0sogi= 2*pi*50;C_PLL_s=PLL_KP+(PLL_Ki/s)+W0sogi;G_PLL_s=1/s;controlSystemDesigner( G_PLL_s,C_PLL_s,1,1); 

带宽50Hz

锁相环输出的频率, 这里对比了锁相环带宽50Hz和100Hz参数的估算的电频率的响应(电网频率50Hz).

仿真实现及说明

根据前面的理论, 搭建SOGI_PLL的仿真模型

1.模拟电网电压,这里添加了357次谐波来验证SOGI的特性

2.SOGI估算电网电压和正交的电网电压

3.利用Park变换设计的锁相环

4.计算电压RMS的值

仿真效果:

黄色Vbase相当于实际的电网电压(理想电压), 蓝色Vin叠加了各种高次谐波, 经过SOGI后得到的估算电网电压和Vbase重合,避免高次谐波的干扰.

 完整的仿真过程如下:

总结

以上, 根据个人的理解并构建了相应的仿真模型验证, 并解释了SOGI_PLL参数的特性和如何设计对应的参数。参考模型:

https://download.csdn.net/download/weixin_42665184/87936402?spm=1001.2014.3001.5503

代码生成和集成已经完成,实际硬件运行效果:

双向交错CCM图腾柱无桥单相PFC学习仿真与实现(3)硬件功能实现_卡洛斯伊的博客-CSDN博客

这篇关于双向交错CCM图腾柱无桥单相PFC学习仿真与实现(2)SOGI_PLL学习仿真总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/414348

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

Python位移操作和位运算的实现示例

《Python位移操作和位运算的实现示例》本文主要介绍了Python位移操作和位运算的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 位移操作1.1 左移操作 (<<)1.2 右移操作 (>>)注意事项:2. 位运算2.1

如何在 Spring Boot 中实现 FreeMarker 模板

《如何在SpringBoot中实现FreeMarker模板》FreeMarker是一种功能强大、轻量级的模板引擎,用于在Java应用中生成动态文本输出(如HTML、XML、邮件内容等),本文... 目录什么是 FreeMarker 模板?在 Spring Boot 中实现 FreeMarker 模板1. 环

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too