干货 | 种经典模拟电路的解析

引言

作为工程师,每天接触的是电源的设计工程师,发现不管是电源的老手,高手,新手,几乎对控制环路的设计一筹莫展,基本上靠实验.靠实验当然是可以的,但出问题时往往无从下手,在这里我想以反激电源为例子(在所有拓扑中环路是最难的,由于RHZ 的存在),大概说一下怎么计算,至少使大家在有问题时能从理论上分析出解决问题的思路。

1、一些基本知识,零,极点的概念

示意图:

图片

图片

图片

这里给出了右半平面零点的原理表示,这对用PSPICE 做仿真很有用,可以直接套用此图。

图片

递函数自己写吧,正好锻炼一下,把输出电压除以输入电压就是传递函数。

bode 图可以简单的判定电路的稳定性,甚至可以确定电路的闭环响应,就向我下面的图中表示的.零,极点说明了增益和相位的变化。

2、单极点补偿

适用于电流型控制和工作在DCM 方式并且滤波电容的ESR 零点频率较低的电源.其主要作用原理是把控制带宽拉低,在功率部分或加有其他补偿的部分的相位达到180 度以前使其增益降到0dB. 也叫主极点补偿。

图片

双极点,单零点补偿,适用于功率部分只有一个极点的补偿.如:所有电流型控制和非连续方式电压型控制。

三极点,双零点补偿.适用于输出带LC谐振的拓扑,如所有没有用电流型控制的电感电流连续方式拓扑。

C1 的主要作用是和R2 提升相位的.当然提高了低频增益.在保证稳定的情况下是越小越好。

C2 增加了一个高频极点,降低开关躁声干扰。

串联C1 实质是增加一个零点,零点的作用是减小峰值时间,使系统响应加快,并且死循环越接近虚轴,这种效果越好.所以理论上讲,C1 是越大越好.但要考虑,超调量和调节时间,因为零点越距离虚轴越近,死循环零点修正系数Q 越大,而Q 与超调量和调节时间成正比,所以又不能大.总之,考虑死循环零点要折衷考虑。

并联C2 实质是增加一个极点,极点的作用是增大峰值时间,使系统响应变慢.所以理论上讲,C2也是越大越好.但要考虑到,当零极点彼此接近时,系统响应速度相互抵消.从这一点就可以说明,我们要及时响应的系统C1 大,至少比C2 大。

3、环路稳定的标准

只要在增益为1 时(0dB)整个环路的相移小于360 度,环路就是稳定的。

但如果相移接近360 度,会产生两个问题:1)相移可能因为温度,负载及分布参数的变化而达到360 度而产生震荡;2)接近360 度,电源的阶跃响应(瞬时加减载)表现为强烈震荡,使输出达到稳定的时间加长,超调量增加.如下图所示具体关系。

图片

图片

所以环路要留一定的相位裕量,如图Q=1时输出是表现最好的,所以相位裕量的最佳值为52度左右,工程上一般取45度以上.如下图所示:

这里要注意一点,就是补偿放大器工作在负反馈状态,本身就有180度相移,所以留给功率部分和补偿网络的只有180度.幅值裕度不管用上面哪种补偿方式都是自动满足的,所以设计时一般不用特别考虑.由于增益曲线为-20dB/decade时,此曲线引起的最大相移为90度,尚有90度裕量,所以一般最后合成的整个增益曲线应该为-20dB/decade部分穿过0dB.在低于0dB带宽后,曲线最好为-40dB/decade,这样增益会迅速上升,低频部分增益很高,使电源输出的直流部分误差非常小,既电源有很好的负载和线路调整率。

4、如何设计控制环路?

经常主电路是根据应用要求设计的,设计时一般不会提前考虑控制环路的设计.我们的前提就是假设主功率部分已经全部设计完成,然后来探讨环路设计。

环路设计一般由下面几过程组成:

1)画出已知部分的频响曲线。

2)根据实际要求和各限制条件确定带宽频率,既增益曲线的0dB频率。

3)根据步骤2)确定的带宽频率决定补偿放大器的类型和各频率点.使带宽处的曲线斜率为20dB/decade,画出整个电路的频响曲线。

上述过程也可利用相关软件来设计:如pspice,POWER-4-5-6.一些解释:

图片

已知部分的频响曲线是指除Kea(补偿放大器)外的所有部分的乘积,在波得图上是相加。

环路带宽当然希望越高越好,但受到几方面的限制:a)香农采样定理决定了不可能大于1/2Fs;b)右半平面零点(RHZ)的影响,RHZ随输入电压,负载,电感量大小而变化,几乎无法补偿,我们只有把带宽设计的远离它,一般取其1/4-1/5;c)补偿放大器的带宽不是无穷大,当把环路带宽设的很高时会受到补偿放大器无法提供增益的限制,及电容零点受温度影响等.所以一般实际带宽取开关频率的1/6-1/10。

5、反激设计实例

条件:

输入85-265V交流,整流后直流100-375V输出12V/5A

初级电感量370uH初级匝数:40T,次级:5T

次级滤波电容1000uFX3=3000uF震荡三角波幅度.2.5V开关频率100K,电流型控制时,取样电阻取0.33欧姆。

下面分电压型和峰值电流型控制来设计此电源环路.所有设计取样点在输出小LC前面.如果取样点在小LC后面,由于受LC谐振频率限制,带宽不能很高.1)电流型控制。

假设用3842,传递函数如下:

图片

图片

此图为补偿放大部分原理图.RHZ的频率为33K,为了避免其引起过多的相移,一般取带宽为其频率的1/4-1/5,我们取1/4为8K。

分两种情况:

A)输出电容ESR较大

图片

图片

输出滤波电容的内阻比较大,自身阻容形成的零点比较低,这样在8K处的相位滞后比较小.Phanseangle=arctan(8/1.225)-arctan(8/0.033)-arctan(8/33)=--22度。

另外可看到在8K处增益曲线为水平,所以可以直接用单极点补偿,这样可满足-20dB/decade的曲线形状.省掉补偿部分的R2,C1。

设Rb为5.1K,则R1=[(12-2.5)/2.5]*Rb=19.4K

8K处功率部分的增益为-20*log(1225/33) 20*log19.4=-5.7dB因为带宽8K,即8K处0dB

所以8K处补偿放大器增益应为5.7dB,5.7-20*log(Fo/8)=0Fo为补偿放大器0dB增益频率Fo=1/(2*pi*R1C2)=15.42

C2=1/(2*pi*R1*15.42)=1/(2*3.14*19.4*15.42)=0.53nF相位裕度:180-22-90=68度

图片

图片

图片

输出滤波电容的内阻比较大,自身阻容形成的零点比较高,这样在8K处的相位滞后比较大。

Phanseangle=arctan(8/5.3)-arctan(8/0.033)-arctan(8/33)=-47度

如果还用单极点补偿,则带宽处相位裕量为180-90-47=43度,偏小.用2型补偿来提升。

三个点的选取,第一个极点在原点,第一的零点一般取在带宽的1/5左右,这样在带宽处提升相位78度左右,此零点越低,相位提升越明显,但太低了就降低了低频增益,使输出调整率降低,此处我们取1.6K.第二个极点的选取一般是用来抵消ESR零点或RHZ零点引起的增益升高,保证增益裕度.我们用它来抵消ESR零点,使带宽处保持-20db/10decade的形状,我们取ESR零点频率5.3K。

数值计算:

8K处功率部分的增益为-20*log(5300/33) 20*log19.4=-18dB

因为带宽8K,即最后合成增益曲线8K处0dB

所以8K处补偿放大器增益应为18dB,5.3K处增益=18 20log(8/5.3)=21.6dB水平部分增益=20logR2/R1=21.6

推出R2=12*R1=233Kfp2=1/2*pi*R2C2

推出C2=1/(2*3.14*233K*5.4K)=127pF.fz1=1/2*pi*R2C1

推出C1=1/(2*3.14*233K*1.6K)=0.427nF.

相位

图片

图片

fo为LC谐振频率,注意Q值并不是用的计算值,而是经验值,因为计算的Q无法考虑LC串联回路的损耗(相当于电阻),包括电容ESR,二极管等效内阻,漏感和绕组电阻及趋附效应等.在实际电路中Q值几乎不可能大于4—5。

图片

由于输出有LC谐振,在谐振点相位变动很剧烈,会很快接近180度,所以需要用3型补偿放大器来提升相位.其零,极点放置原则是这样的,在原点有一极点来提升低频增益,在双极点处放置两个零点,这样在谐振点的相位为-90 (-90) 45 45=-90.在输出电容的ESR处放一极点,来抵消ESR的影响,在RHZ处放一极点来抵消RHZ引起的高频增益上升。

元件数值计算,为方便我们把3型补偿的图在重画一下。

图片

图片

蓝色为功率部分,绿色为补偿部分,红色为整个开环增益。

如果相位裕量不够时,可适当把两个零点位置提前,也可把第一可极点位置放后一点。

同样假设光耦CTR=1,如果用CTR大的光耦,或加有其他放大时,如同时用IC的内部运放,只需要在波得图上加一个直流增益后,再设计补偿部分即可.这时要求把IC内部运放配置为比例放大器,如果再在内部运放加补偿,就稍微麻烦一点,在图上再加一条补偿线结束。

我想大家看完后即使不会计算,出问题时也应该知道改哪里。

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spark Streaming 和 Flink 都是流处理框架,但在一些方面有所不同。 1. 数据处理模型 Spark Streaming 基于批处理模型,将流数据分成一批批进行处理。而 Flink 则是基于流处理模型,可以实时处理数据流。 2. 窗口处理 Spark Streaming 的窗口处理是基于时间的,即将一段时间内的数据作为一个窗口进行处理。而 Flink 的窗口处理可以基于时间和数据量,可以更加灵活地进行窗口处理。 3. 状态管理 Spark Streaming 的状态管理是基于 RDD 的,需要将状态存储在内存中。而 Flink 的状态管理是基于内存和磁盘的,可以更加灵活地管理状态。 4. 容错性 Flink 的容错性比 Spark Streaming 更加强大,可以在节点故障时快速恢复,而 Spark Streaming 则需要重新计算整个批次的数据。 总的来说,Flink 在流处理方面更加强大和灵活,而 Spark Streaming 则更适合批处理和数据仓库等场景。 ### 回答2: Spark Streaming 和 Flink 都是流处理框架,它们都支持低延迟的流处理和高吞吐量的批处理。但是,它们在处理数据流的方式和性能上有许多不同之处。下面是它们的详细比较: 1. 处理模型 Spark Streaming 采用离散化流处理模型(DPM),将长周期的数据流划分为离散化的小批量,每个批次的数据被存储在 RDD 中进行处理,因此 Spark Streaming 具有较好的容错性和可靠性。而 Flink 采用连续流处理模型(CPM),能够在其流处理过程中进行事件时间处理和状态管理,因此 Flink 更适合处理需要精确时间戳和状态管理的应用场景。 2. 数据延迟 Spark Streaming 在处理数据流时会有一定的延迟,主要是由于对数据进行缓存和离散化处理的原因。而 Flink 的数据延迟比 Spark Streaming 更低,因为 Flink 的数据处理和计算过程是实时进行的,不需要缓存和离散化处理。 3. 机器资源和负载均衡 Spark Streaming 采用了 Spark 的机器资源调度和负载均衡机制,它们之间具有相同的容错和资源管理特性。而 Flink 使用 Yarn 和 Mesos 等分布式计算框架进行机器资源调度和负载均衡,因此 Flink 在大规模集群上的性能表现更好。 4. 数据窗口处理 Spark Streaming 提供了滑动、翻转和窗口操作等灵活的数据窗口处理功能,可以使用户更好地控制数据处理的逻辑。而 Flink 也提供了滚动窗口和滑动窗口处理功能,但相对于 Spark Streaming 更加灵活,可以在事件时间和处理时间上进行窗口处理,并且支持增量聚合和全量聚合两方式。 5. 集成生态系统 Spark Streaming 作为 Apache Spark 的一部分,可以充分利用 Spark 的分布式计算和批处理生态系统,并且支持许多不同类型的数据源,包括Kafka、Flume和HDFS等。而 Flink 提供了完整的流处理生态系统,包括流SQL查询、流机器学习和流图形处理等功能,能够灵活地适应不同的业务场景。 总之,Spark Streaming 和 Flink 都是出色的流处理框架,在不同的场景下都能够发挥出很好的性能。选择哪框架取决于实际需求和业务场景。 ### 回答3: Spark Streaming和Flink都是流处理引擎,但它们的设计和实现方式有所不同。在下面的对比中,我们将比较这两流处理引擎的主要特点和差异。 1. 处理模型 Spark Streaming采用离散流处理模型,即将数据按时间间隔分割成一批一批数据进行处理。这方式可以使得Spark Streaming具有高吞吐量和低延迟,但也会导致数据处理的粒度比较粗,难以应对大量实时事件的高吞吐量。 相比之下,Flink采用连续流处理模型,即数据的处理是连续的、实时的。与Spark Streaming不同,Flink的流处理引擎能够应对各不同的实时场景。Flink的实时流处理能力更强,因此在某些特定的场景下,它的性能可能比Spark Streaming更好。 2. 窗口计算 Spark Streaming内置了许多的窗口计算支持,如滑动窗口、滚动窗口,但支持的窗口计算的灵活性较低,只适合于一些简单的窗口计算。而Flink的窗口计算支持非常灵活,可以支持任意窗口大小或滑动跨度。 3. 数据库支持 在处理大数据时,存储和读取数据是非常重要的。Spark Streaming通常使用HDFS作为其数据存储底层的系统。而Flink支持许多不同的数据存储形式,包括HDFS,以及许多其他开源和商业的数据存储,如Kafka、Cassandra和Elasticsearch等。 4. 处理性能 Spark Streaming的性能比Flink慢一些,尤其是在特定的情况下,例如在处理高吞吐量的数据时,在某些情况下可能受制于分批处理的架构。Flink通过其流处理模型和不同的调度器和优化器来支持更高效的实时数据处理。 5. 生态系统 Spark有着庞大的生态系统,具有成熟的ML库、图处理库、SQL框架等等。而Flink的生态系统相对较小,但它正在不断地发展壮大。 6. 规模性 Spark Streaming适用于规模小且不太复杂的项目。而Flink可扩展性更好,适用于更大、更复杂的项目。Flink也可以处理无限制的数据流。 综上所述,Spark Streaming和Flink都是流处理引擎,它们有各自的优缺点。在选择使用哪一个流处理引擎时,需要根据实际业务场景和需求进行选择。如果你的业务场景较为复杂,需要处理海量数据并且需要比较灵活的窗口计算支持,那么Flink可能是更好的选择;如果你只需要简单的流处理和一些通用的窗口计算,Spark Streaming是更为简单的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值