数字电源环路补偿(2)

上一篇数字电源环路补偿(1)-CSDN博客介绍了数字电源的环路设计的基本原理,并用了一个一型补偿器作为例子把LLC控得还行。

那么问题来了,一型补偿器好是好,它设计方便,结构简单,高效粗暴,但是就一个问题:它不能提供一个相位补偿啊,这样的系统的截止频率就没法升高了(系统响应天花板定死了),基本只能看天吃饭(指的是看Hfv)。所以这篇博客把二型和三型补偿器介绍一下(虽然我最高也就用过二型),使用二、三型补偿器来提升相位,从而拉高系统的截止频率。


首先就是二型补偿器,这里先给出模拟电路的搭建吧,推出来的传递函数再离散一下就是数字控制了,这样会直观容易理解一些。

二型补偿器伯德图

这里就直接默认这个运放十分理想了,也就满足以下几个条件:

这里的Aol是运放的开环增益,GBWP是运放的单位带宽积,而wp0是运放自身存在的低频零点,也就理想运放是一个积分器,实际运放其实是个低通器。

有了这些个假设,那么虚短虚断直接出来下面这个式子:

其中wz,wp就是二型补偿的一对零极点,而G0为Hfv在截止频率处的补偿增益。正是这对零极点提供了一个相位补偿的作用,使得我们可以设计更高的截止频率。其具体和电路的关系为下:

为了分析一对零极点能提供多少相位裕度,这对零极点什么频率处能提供这么多相位裕度,把G(s)中的1/s拿去,只分析一对零极点,把jw代入s,那么可以得到下面式子:

假设我们希望取其能提供的最大相位,也就是对w求导

这样很直观得到了二型补偿器的参数:

boost为你希望提升的相位,wc为你设计的截止频率

那么最后二型补偿器的零极点设计和补偿增益设计为下:

有了这个零极点设计,也就传递函数知道了,数字控制就是一个离散化的问题了;代入上面的电路关系,各个电阻电容的取值也就确定了,模拟控制也确定了。


这里给出补偿后的伯德图:

截止频率依旧是5kHz,但相位裕度提高到了71.9°,和数字电源环路补偿(1)-CSDN博客相比,相同的截止频率,但是相位裕度高了40°,所以系统的超调会减小,这边画出阶跃响应

可以说基本无超调了,依旧是搭建Simulink仿真:

实际还是会存在一些超调,应该是模型不太准确带来的,但问题不大。


大部分场合下二型补偿器足够用了,但是如果一些系统的相位裕度确实不够用,90°都救不回来,只能用三型补偿器了,三型补偿器相较于二型补偿器又多了一对零极点,因此三型补偿器最多可以提供180°的相位补偿。还是老规矩,给伯德图和实现电路,再给传递函数进行分析

结合上面电路,依旧是假设满足理想运放,那么有下式:

其中的定义参数与电路参数有如下关系:

依旧为了分析三型补偿器能在什么频率处提供多少的相位补偿,单独研究这两对零极点,将jw代入s后,取相角有下式:

为了简化分析,假设wz1=wz2,wp1=wp2,那么为了取得最大相角,对其求导,有下式:

最后可以反代回去求出提升的相位boost和该提升相位处的频率:

这样一来,我们的三型补偿器的设计就确认了:


这里给出补偿后的伯德图和阶跃响应:

自行对比吧,振荡是明显了点,但是响应确实快了许多。再回到Simulink仿真看看:

实际系统并没有这么高频振荡,只能说明一件事情,Hfv高频段不准确,这个小信号模型只有中低频比较准确,所以就看个乐。


说了这么多补偿器,似乎还没讲到最常见的PID控制,所以这边再顺便讲讲PID,首先PI其实是最常见的,PID中的D环节对高频干扰较大,因此PID实际更加常见为FPID,这也是Simulink中PID模块滤波系数的由来,这里直接给Simulink中pid的传递函数如下:

乍一看似乎很复杂?那换成零极点的形式:

其中各个参数对应关系如下:

具体怎么求各个PID参数其实就是套二型补偿器那套,只不过二型补偿器多一个高频极点,而FPID没有,但是设计原则一样,这里给出FPID的伯德图,和二型补偿器一对比,就知道我在说什么了。

FPID只比2型多了一个高频零点,在低中频段十分相似。因此系统响应也十分接近,相比1型补偿器,提高相位裕度和截止频率后,响应速度提高,超调量减少。相比2型,虽相位、幅值裕度稍微增大,但从nyquist图上看,系统更加不稳定。


还是给出补偿后的伯德图和阶跃响应曲线:

仅仅从原理上来看,其响应大体趋势十分接近二型,只是多了许多小尖刺、振荡。跑个仿真看看:

理论是理论,实际根本不会出现这种高频振荡,所以FPID和二型补偿器在仿真实施中其实是十分相近的,但是我还是推荐二型补偿器,虽然没有FPID那么直观,参数不可以直接调什么Kp、Ki的大小直观理解,但是胜在稳定,毕竟从理论上看就是可以有效抑制高频噪声。


说了这么多,都是仿真trick罢了,所以下一节直接上代码和实物实验,实操一下我这两节博客所说的原理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/366145.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024美赛数学建模E题思路源码

赛题目的 可以将其拆解为以下主要问题,并为每个问题提出解决方案: 如何在极端天气事件越来越多的地区部署财产保险? 保险公司应在何时何地承保保单? 业主如何影响保险公司的承保决定? 如何建立能够评估未来房地产决…

基于Springboot的高校心理教育辅导设计与实现(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的高校心理教育辅导设计与实现(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,…

C# 引用同一个dll不同版本的程序集

因为项目需要所以必须在项目中引用不同版本的同一程序集 我要引用的文件是newtonsoft.json.dll 两个版本为12.0.0.0 和4.0.0.0 1.如果已经先引入了newtonsoft.json 12.0.0.0版本的程序集,如果直接引入另一个版本的程序集的话会提示不成功,所以先将另一个…

PyTorch基础-Tensors属性、Tensor的运算

PyTorch的基本概念 Tensor的基本概念 张量高于标量、向量、矩阵 标量说零维的张量,向量是一维的张量,矩阵是二维的张量 Tensor与机器学习的关系 Tensor的创建 函数功能Tensor(*size)基础构造函数Tensor(data)类似np.arrayones(*size)全1Tensorzeros(…

VPP学习-startup.conf配置文件

背景 VPP(Vector Packet Processing,矢量报文处理),作为一个开源的高性能数据包处理框架,旨在提供可扩展、灵活且高效的网络数据包处理能力;由于传统Linux 内核协议栈整体网络吞吐性能的局限性,…

【PTA浙大版《C语言程序设计(第4版)》编程题】练习7-4 找出不是两个数组共有的元素(附测试点)

目录 输入格式: 输出格式: 输入样例: 输出样例: 代码呈现 测试点 给定两个整型数组,本题要求找出不是两者共有的元素。 输入格式: 输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数&a…

SpringMVC请求和响应

文章目录 1、请求映射路径2、请求参数3、五种类型参数传递3.1、普通参数3.2、POJO类型参数3.3、嵌套POJO类型参数3.4、数组类型参数3.5、集合类型参数 4、json数据传递4.1、传递json对象4.2、传递json对象数组 5、日期类型参数传递6、响应6.1、响应页面6.2、文本数据6.3、json数…

Spring速成(三)

文章目录 Spring速成(三)1,AOP简介1.1 什么是AOP?1.2 AOP作用1.3 AOP核心概念 2,AOP入门案例2.1 需求分析2.2 思路分析2.3 环境准备2.4 AOP实现步骤步骤1:添加依赖步骤2:定义接口与实现类步骤3:定义通知类和通知步骤4:定义切入点…

刨析数据结构(二)

🌈个人主页:小田爱学编程 🔥 系列专栏:数据结构————"带你无脑刨析" 🏆🏆关注博主,随时获取更多关于数据结构的优质内容!🏆🏆 😀欢迎…

d3dcompiler_47.dll是什么文件,如何解决找不到d3dcompiler_47.dll文件

d3dcompiler_47.dll是一个属于微软DirectX组件的动态链接库文件,它是Direct3D编译器的一部分,主要用于在Windows操作系统中编译和运行Direct3D 11应用程序和游戏。当你在电脑上尝试打开某些依赖Direct3D图形技术的软件或游戏时,如果系统找不到…

Flume搭建

压缩包版本:apache-flume-1.9.0-bin.tar 百度盘链接:https://pan.baidu.com/s/1ZhSiePUye9ax7TW5XbfWdw 提取码:ieks 1.解压 tar -zxvf /opt/software/apache-flume-1.9.0-bin.tar.gz -C /opt/module/ 2. 修改文件名 [rootbigdata1 opt]…

基于SpringBoot Vue超市管理系统

大家好✌!我是Dwzun。很高兴你能来阅读我,我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结,还为大家分享优质的实战项目,本人在Java项目开发领域有多年的经验,陆续会更新更多优质的Java实战项目&#x…

Codeforces Round 169 (Div. 2) D 异或最大值 二进制

题目&#xff1a; Problem - 276D - Codeforces 思路&#xff1a; l < r 1. l r &#xff0c;异或的结果为0 2. l < r &#xff08;注意&#xff1a;二进制位中&#xff0c;某一位是1,这一位后面的全是1&#xff0c;也没这个1大&#xff0c;比如1000 > 0111&…

HCIP-Datacom(H12-821)81-90题解析

有需要完整题库的同学可以私信博主&#xff0c;博主看到会回复将文件发给你&#xff01;&#xff08;麻烦各位同学给博主推文点赞关注和收藏哦&#xff09; 81、在状态检测防火墙中&#xff0c;开启状态检测机制时&#xff0c;三次握手的第二个报文(SYNACK)到达防火墙的时候如…

最新!2024顶级SCI优化!TTAO-CNN-BiGRU-MSA三角拓扑聚合优化、双向GRU融合注意力的多变量回归预测程序!

适用平台&#xff1a;Matlab 2023版及以上 TTOA三角聚合优化算法&#xff0c;将在2024年3月正式发表在中科院1区顶级SCI期刊《Expert Systems with Applications》上。 该算法提出时间极短&#xff0c;目前以及近期内不会有套用这个算法的文献。新年伊始&#xff0c;尽快拿下…

什么是在线教育,在线教育系统开源版本搭建教程

引言 随着数字化时代的到来&#xff0c;教育领域也在经历着一场深刻的变革。在线教育作为一种新兴的教育形式&#xff0c;正在以其灵活性和便利性受到越来越多人的关注和青睐。本文将介绍在线教育的概念&#xff0c;并提供基于开源版本的在线教育系统搭建教程&#xff0c;让教…

Docker容器引擎(5)

目录 一.docker-compose docker-compose的三大概念&#xff1a; yaml文件格式&#xff1a; json文件格式&#xff1a; docker-compose 配置模板文件常用的字段&#xff1a; 二.Docker Compose 环境安装&#xff1a; 查看版本&#xff1a; 准备好nginx 的dockerfile的文…

mysql本地数据库连接失败?

情景&#xff1a;mysql本地连接失败&#xff0c;账号密码都没问题。 原因&#xff1a;本地mysql服务没有启动 解决方案&#xff1a; 1、进入本地mysql安装的bin目录下D:\mysql-8.0.35-winx64\mysql-8.0.35-winx64\bin&#xff08;我的&#xff09;&#xff1b; 2、执行net st…

Android使用ScrollView导致鼠标点击事件无效

平台 测试平台: RK3288 Android8.1RK3588 Android 12 问题 首先, 这个问题的前提是, 使用的输入设备是**鼠标**, 普通的触摸屏并不会出现这个问题. 大致的流程是APP的UI布局中采用ScrollView作为根容器, 之后添加各类子控件, 在一起准备就绪后, 使用鼠标进行功能测试, 出现…

【Oracle云】OCI DevOps Services 教程 (3) - 创建自动化部署流水线【CD流水线】

欢迎来到【Oracle云】OCI DevOps Services教程的第三部分&#xff01;在这一部分中&#xff0c;我们将介绍如何在OCI上创建自动化部署流水线&#xff0c;也称为持续部署&#xff08;CD&#xff09;流水线。OCI DevOps Services提供了一套标准的构建工具&#xff0c;帮助我们简化…
最新文章