开关电源环路学习笔记(8)-如何快速看出零点和极点

2023-10-21 10:10

本文主要是介绍开关电源环路学习笔记(8)-如何快速看出零点和极点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

不知不觉,环路内容已经写了7节了,以理论分析为主,下面来说说兄弟们都很关心的内容——零点和极点。

前面几节内容,我们已经将传递函数的来源,推导过程说明白了。有了传递函数,我们就能够画出波特图,就能够分析系统到底稳不稳定。

但是问题来了,假如我们得到的波特图表明这个系统是不稳定的,那么该如何调整呢?该修改什么器件呢?或者说一个原本稳定的系统,但是我们想修改其中某个元件,会不会造成系统不稳定?总不至于每次修改一个器件,然后画出传递函数看看长什么样子,不行就接着改?这种鸟枪法总归不好。

鸟枪法不行,自然有更好的法子,那就是找到一些特殊点进行分析。这些特殊点,就是零点和极点,零点和极点可以帮助我们调整电路。

关于零点和极点,结合我自己的经验,我觉得以下几个问题是值得思考一下的

1、传递函数中,让分母为0的频率点叫极点,既然分母为0,那算出来的值不是无穷大吗?增益无穷大?这也能出现?

2、老是看到说增加一个电容,就增加了一个极点,增加一个电阻,就增加了一个零点,这到底是怎么回事?其中的道理又是为什么?

3、拿到具体的电路,那个零极点如何能直接看出来呢?

这一节就来看看上面这几个问题吧。

零点和极点的定义

先来复习一下概念,什么是零点和极点,一般教材上面给出的定义大致是这样的:

极点

上面这个很好理解,清晰明了,但是一个大坑也就随之而来了。如果从数学公式的角度看,这定义没啥好说的,该咋样咋样。

但是一放到电路里面去,就尴尬了,H(s)的物理意义不是输出除以输入吗?

那极点的意思不就是使输出为无穷大的点,既然输出无穷大了,那么系统肯定是不稳定的,那么我们常说的极点又到底是什么?

比如下面是从网上找的别人写的零点和极点的物理意义,难道自己写的时候不懵吗?

那怎么理解我上面这个问题呢?

结合实际的情况,系统的传递函数算出来的根一般是负数,而现实世界中是没有负频率的,貌似都是直接把负号去掉之后称为极点。

比如下面的低通滤波器的传递函数的极点:

假如R=1Khz,C=1uF,那么极点是s=-1000,但是我们通常说极点是1000,理由貌似是自然界中没有负频率,所以对s求了个模,频率w=|s|=1000,我们把这个求模后的值也还是叫极点,并没有重新取名字。

这个取了模之后的极点再代入原式子H(s)中,就不能够使H(s)等于无穷大了,当然了,也不能是无穷大,因为无穷大意味着系统不稳定。我们研究的电路系统一般是稳定的,所以基本上极点都是负的,或者说在复平面的左半平面。

不过,我们所有的系统的极点都是负的吗?都在左半平面吗?

我想也不是的,这让我想到了皮尔斯晶体振荡器,它输入为0,但是能够输出一个固定的频率的信号,即晶振的输出嘛,我猜它应该是有极点在右半平面的。因为晶振不就是要自己振荡起来吗?当然,我的猜测也可能是错误的,感兴趣的兄弟可以研究研究。

总之吧,对于具体的电路,我们常说的极点,已经不再是严格抠定义得到的极点了,而是取了绝对值之后的,其对应信号的频率都是正的,代入系统就不再能使输出无穷大。

极点就说这么多吧,来看看零点

零点

相对于极点一般都是负的,根据系统的不同,零点是有负的,也有正的,像boost,Buck-boost,Flyback都是有右半平面零点,也就是分子N(s)=0有正的根。

零点和极点定义的问题就先说这么多吧,总的来说,我们求解的零点和极点的时候,可以假设下频率可正可负的就好。

下面来看看,对于一个具体的电路,零点和极点都怎么快速的直接用眼睛“瞪”出来

如何快速找到系统的零极点

功率级传递函数目前我是找不到快速的方法的,不过放大和补偿级的传递函数,我倒是能想出点道道。

下面是常见的三种补偿方式

如何快速找到零极点呢?

其实思路很简单,我们列出对应的传递函数就行了,上面三种结构,传递函数其实不就是放大器的增益表达式吗?

传递函数都是:H(s)=实线椭圆阻抗/虚线网络阻,我们根据定义求出对应的点就行了。不过这个方法有点麻烦,还得计算。

简单一点是这么想,零点就是让输出为0的点,极点就是让输出为无穷大的点(这时候考虑负频率,就是求的时候假定负频率是存在的),然后我们去找对应的点就行了。

I型补偿

要想得到零点,那么我们就找使输出等于0的频率点,显然,要想输出等于0,必须C1的阻抗为0,电容的阻抗是1/sC,那么得频率为无穷大才行,一般我们不考虑无穷大的频率,所以说I型补偿没有零点。

要想得到极点,那么我们需要找使输出为无穷大的点,显然,输出无穷大,只需要电容C1的阻抗是无穷大就行,显然,频率为0时,输出阻抗1/sC为无穷大,也就是说0是I型补偿的极点。

所以,对于I型补偿,没有零点,有一个极点

II型补偿

同样的,要想得到零点,那么我们就找使输出等于0的频率点,显然,要想输出等于0,必须下面这一坨的阻抗为0

这一坨的结构是R2和C1串联后,再和C2并联。要想上面那一坨整体阻抗为0,要么C2的阻抗为0,要么R2和C1串联后的阻抗为0。

因为不考虑无穷大频率,所以C2的阻抗不可能为0。R2和C1串联后的阻抗是可以为0的,即R2+1/sC1=0,解出来就是s=-1/(R2*C1),我们取绝对值换算成频率,即有一个零点w=1/(2π*R2*C1)

同样的道理,极点就是下面一坨整体的阻抗为无穷大时的点

因为上面结构是并联的关系,首先,可以很容易观察到,当频率为0的时候,两个并联的支路阻抗都是无穷大,那么并联之后自然还是无穷大,即,0是这个补偿器的一个极点。

除此之外,R2和C1串联之后,再与C2并联,也会在其它的频率点等于无穷大,有一个简单方法,只需要把R2C1C2的阻抗相加等于0,算出来的点就是极点,原理是什么呢?

所以,我们把R2和C1,C2阻抗加起来,如果阻抗等于0,那么整体并联的阻抗就是无穷大的了,即R2+1/sC1+1/sC=0,那么最终极点就是:s=-(1/C1+1/C2)/R2。

取绝对值换算成频率:w=(1/C1+1/C2)/(2π*R2)

所以,对于II型补偿,有两个极点,一个零点。

III型补偿

由前面可知,II型补偿的零极点都是从反馈网络得来的,我们观察III型补偿,它的反馈网络和II型补偿一模一样。因此,III型补偿反馈网络产生的零极点,同II型补偿是一模一样的,也有两个极点和一个零点,就不再赘述了。

除了反馈网络,III型补偿在同相输入的电阻上面并联了电阻和电容,那么这个网络是否产生零极点呢?

自然是会的,不然III型补偿不就没用了吗?方法其实和前面差不多。

先看零点,零点是使输出为0的点,要想输出为0,那么虚线框的总阻抗为无穷大。并联之后阻抗要想等于无穷大,那么R1,R3,C3三者加起来的阻抗要等于0,原理还是下面这个

即:R1+R3+1/sC3=0,即s=-1/((R1+R3)*C3),取绝对值然后换算成频率:w=1/(2π*(R1+R3)*C3)

再看极点,极点是使输出为无穷大的点,要想输出为无穷大,那么虚线框的总阻抗为0。易知,当R3和C3串联的阻抗为0,那么虚线框的总阻抗就为0。R3+1/sC3=0,算得s=-1/(R3*C3),取绝对值之后换算成频率:w=1/(2π*R3*C3),即该频率点就是一个极点。

综上所述,III型补偿有3个极点,2个零点。

上面三种补偿汇总如下:

以上是我觉得,写出零极点最快的方式了,基本不用动笔,写得有点长,显得有点复杂。不过要是知道里面的道理,应该还是挺方便的。

小结

本节内容就写到这里了,主要针对常见的几种补偿,看怎么能做到“看着图把零极点看出来”。

 

这篇关于开关电源环路学习笔记(8)-如何快速看出零点和极点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_42005993/article/details/125345004
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/253697

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例