Saber电源仿真--基础篇

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Saber电源仿真——基础篇电路仿真作为电路计算的必要补充和论证手段,在工程应用中起着越来越重要的作用。熟练地使用仿真工具,在设计的起始阶段就能够发现方案设计和参数计算的重大错误,在产品开发过程中,辅之以精确的建模和仿真,可以替代大量的实际调试工作,节约可观的人力和物力投入,极大的提高开发效率。Saber仿真软件是一个功能非常强大的电路仿真软件,尤其适合应用在开关电源领域的时域和频域仿真。但由于国内的学术机构和公司不太重视仿真应用,所以相关的研究较少,没有形成系统化的文档体系,这给想学习仿真软件应用的工程师造成了许多的困扰,始终在门外徘徊而不得入。本人从事4年多的开关电源研发工作,对仿真软件从一开始的茫然无知,到一个人的苦苦探索,几年下来也不过是了解皮毛而已,深感个人力量的渺小,希望以这篇文章为引子,能够激发大家的兴趣,积聚众人的智慧,使得我们能够对saber仿真软件有全新的认识和理解,能够在开发工作中更加熟练的使用它,提高我们的开发效率。下面仅以简单的实例,介绍一下saber的基本应用,供初学者参考。在saber安装完成之后,点击进入sabersketch,然后选择file—new—schematic,进入原理图绘制画面,如下图所示:在进入原理图绘制界面之后,可以按照我们自己的需要来绘制电路原理图。首先,我们来绘制一个简单的三极管共发射极电路。第一步,添加元器件,在空白处点击鼠标右键菜单getpart—partgallery有两个选择器件的方法,上面的左图是search画面,可以在搜索框中键入关键字来检索,右图是borwse画面,可以在相关的文件目录下查找自己需要的器件。通常情况下,选择search方式更为快捷,根据关键字可以快速定位到自己想要的器件。如下图所示,输入双极型晶体管的缩写bjt,回车确定,列表中显示所有含有关键字bjt的器件,我们选择第三个选择项,这是一个理想的NPN型三极管,双击之后,在原理图中就添加了该器件。依照此方法,我们先后输入voltagesource查找电压源,并选择voltagesourcegeneralpurpose添加到原理图。输入resistor,选择resistor[I]添加到原理图(添加2个)。输入GND,选择ground(sabernode0)添加到原理图,ground(sabernode0)是必须的,否则saber仿真将因为没有参考地而无法进行。添加完器件之后,用鼠标左键拖动每个器件,合理布置位置,鼠标左键双击该器件,即可修改必要的参数,在本示例中,仅需要修改电压源的电压,电阻的阻值,其他的都不需修改。然后按下键盘的W键,光标变成了一个十字星,即表示可绘制wire(连线),将所有的器件连接起来。如下图所示:其中电压源为12V,基极电阻为10k,集电极电阻为1k,共发射极连接。选择分析方法,由于这是一个大信号系统,我们寻找的是一个静态直流工作点,因此我们选择下图所示的DCoperatingpoint,将basic中的displayafteranalysis项选择Yes,完成后点击OK。直流工作点仿真结果如下:三极管的基极电压为0.8422V,集电极电压为0.06869V,即深度饱和时,Vbe约为0.84V,Vce约为0.069V。还有一种更为直观的方法,如同示波器一样观测每个节点的电压波形,如下图所示:选择分析图标栏的第五项operatingpoint/transient,弹出窗口,进行参数设定。在上图中的basic栏中,EndTime指的是仿真结束的时间,这个时间指的是电路运行的时间跨度,而不是仿真软件工作的时间,在本示例中,由于在系统中没有时变量和电容器,所以选择1us就足够了,默认单位为s,所以输入1u。TimeStep指的是仿真软件计算步进,即从这个工作点到下一个工作点的时间跨度,在本示例中,由于没有瞬变量,选择100ns就可以了,输入100n。MonitorProgress采用默认设置,PlotAnalysis选择下拉框中的Yes-replacePlot,表示每一次仿真之后,所有的仿真结果都更新为最新值。在上图中,input/output一栏里,waveformatpins选择下拉框中的AcrossandThroughVariables,表示仿真结果同时含有电压和电流值,这样你既可以看电压波形,也可以看电流波形。在右图的Transient选项栏里,DataFile的输入框中输入_,即下划线,表示仿真结果不以文件的形式输出(只保存在虚拟内存中),一旦关闭仿真软件,仿真结果将会丢失。记住,这里一定要输入下划线,否则你的硬盘很容易被仿真结果文件填满,一个小的仿真结果文件都有几百M,稍大一点的都有几个G,还是节省一点吧,不要以文件形式保存在硬盘中了。还需要设置integrationcontrol栏中的MaxTimeStep和MinTimeStep选项,这两个会影响仿真的速度,一个是最大步进,一个是最小步进,仿真的步进将在这两个值之间,这两个值取的越大,仿真软件的运行速度越快,但同样的会降低仿真的精度,导致结果可能失真。同时,有一点必须注意,MinTimeStep必须小于Basic中设置的TimeStep,否则仿真软件会因为错误而终止仿真进程。在本示例中,我们选择MaxTimeStep为200ns,MinTimeStep为99ns(小于TimeStep设定的100ns)。以上参数设置完成之后,其他参数均保持默认值,点击OK,saber会运行仿真进程。仿真结束之后,程序会打开cosmoscope界面,让我们可以观察所有节点的电压和电流波形。如上图所示,在cosmoscope界面里,有两个对话框,第一个是signalmanager,其中显示所有可供选择的仿真结果文件,此文件保存在虚拟内存中,软件关闭后即丢失。第二个对话框显示所选中的仿真结果文件中所有可供观察的节点,我们点击三极管q_3p.q_3p1的可选项,选择b和c,即基极b和集电极c的电压,分别双击,其波形显示如下:选择测量选项,分别测得Vc为0.06869V,Vb为0.8422V,与DCoperatingpoint中分析的结果一致。以上是一个简单的示例,下面我们再仿真一个稍微复杂一点的电路,用TL431和三极管共同构成的一个线性直流稳压电源,如下图所示:添加TL431的方法与上面添加其他器件的一样,在空白处点击鼠标右键—getpart—partsgallery,然后输入tl431进行关键字检索,在搜索到的器件列表中选择tl431c,双击添加到原理图中。这里还有两个简单的原理图绘制技巧,如果想添加某个器件,原理图中已有类似器件,比如说电阻,那么不必再去检索了,鼠标左键单击已有的电阻,这时器件颜色为绿色,表示已选中,然后用ctrl+C复制,鼠标左键再点击空白处,键盘ctrl+V粘贴,器件就添加完成了,修改其参数即可。第二个就是旋转器件的角度,鼠标左键点击选中器件,鼠标右键点击弹出菜单栏,其中的rotate选项可以按照角度旋转器件,flip选项可以上下或左右翻转器件。在本示例中,我们想做一个10V0.5A的线性电源。输入电压12V,用TL431来控制输出电压值,反馈比例为1k/(1k+3k)=1/4,输出电压即为2.5V*4=10V,负载电阻为20Ω,输出电流为10V/20Ω=0.5A,假定三极管的Vbe为0.8V,那么TL431阴极电压为10V+0.8V=10.8V,TL431的工作电流在1mA~100mA之间,这里我们选择三极管集电极和基极之间的跨接电阻为50Ω,则流过该电阻的电流为(12V-10.8V)/50Ω=24mA,假定三极管的放大倍数为100,那么流入三极管基极的电流为5mA,流入TL431阴极的电流为19mA,满足TL431工作电流的取值范围。首先来看一下DCoperatingpoint的分析结果:n_9即为输出电压,其值为9.998V,与我们设计的10V输出电压吻合。接下来用operatingpoint/transient来看一下各节点的电压波形:以上波形基本上与设计值一致。通过这个简单的例子,我们用几分钟的时间来仿真,可以替代几个小时的电路板焊接和调试的工作,是不是可以节约很多的时间呢?接下来,我们的仿真工作要进入开关电源的领域了,先从最简单的BUCK电路开始吧,脑子里面不能立即勾画出BUCK电路的请举手,您可以从大学一年级重新开始学习啦。仿真之前,先做简单的设定和计算:输入电压20V,输出电压10V,那么稳态占空比是0.5。输出电流10A,那么负载电阻是1Ω。设定电流纹波系数为0.4,纹波电流峰峰值为10A*0.4=4A。设定开关频率为100kHz,开关周期为10us,那么电感量为:L=(20V-10V)*(10us*0.5)/4A=12.5uH。电容根据经验值取100uF,电容的大小将决定输出电压纹波的大小,取的大一点,输出电压纹波小一点,大家可以自由选取,观察输出电压纹波的大小。仿真的优点就是你可以随心所欲的选取你的参数,来观察不同的仿真结果,而不用劳心劳力的去焊板子调试,示波器观测。参数计算完成之后,下面要在saber中添加元器件,绘制原理图了:首先,我们要添加一个开关管,你可以添加一个真实的MOSFET,也可以用一个模拟开关替代,由于本示例仅仅是验证BUCK电路的原理,所以选择了模拟开关。在search检索栏中输入关键字switch确认,在检索结果中选择switch,analogSPSTw/logicEnbl,双击添加到原理图中。在原理图中双击该器件,打开属性栏,需要设置一些关键参数,ron即开关导通时的阻抗,此处保持默认值0.001Ω,roof即开关管关闭时的阻抗,此处保持默认值1megΩ(1兆欧),如果你想改变导通和关断阻抗也是可以的,还是那句话,随心所欲。ton和toff是两个关键参数,即开关管的开通时间和关断时间,表示开关管的开关速度,理论上我们希望开关速度越快越好,比如你可以设置为1ns(注意,必须大于0,所以不能设置为0),但是这两个值影响到saber仿真的时间步进,即saber仿真参数中的MinTimeStep必须小于ron和roff,否则仿真进程会因为错误而无法进行。所以如果ron和roff设置的太小,仿真参数中的MinTimeStep也必须设置很小,导致仿真速度很慢,需要等待很长时间才能结束仿真进程,尤其是在大型的系统仿真中,由于电路结构复杂,元器件多,saber的计算量很大,如果时间步进再设置的很小,可能需要几十分钟的时间来仿真一个几十毫秒的仿真进程。当然,您也可以泡一杯咖啡或一杯茶,悠闲的等待。在本示例中,为了节约时间,设置ron和roff为100ns。添加了开关管之后,还需要添加一个驱动信号,由于我们使用的模拟开关是逻辑使能的,所以需要一个逻辑时钟信号来驱动它。在器件搜索栏中输入logicclock,双击搜索结果,添加到原理图中。然后再双击原理图中的器件,打开属性栏设置参数,有两个关键参数,一个是freq,即频率,此处输入100k,默认单位是Hz,所以不需要画蛇添足的输入单位。此处再说明一下,saber的参数设置中,所有的参数都是有默认单位的,频率是Hz,时间是s,电压是V,电流是A,功率是W,以此类推,并不需要我们输入单位符号。第二个参数是duty,即占空比,此处输入0.5。接下来,依次添加电感(关键字inductor搜索),电容(关键字capacitor搜索),二极管(关键字diode搜索)到原理图中,diode检索后选择diode,ideal,即理想二极管。添加完成之后,修改必要的参数,电感修改参数栏的l值,输入12.5u,电容修改参数栏的c值,输入100u,二极管修改参数栏的Von值,输入0.3V(肖特基二极管的导通压降)。负载电阻的rnom值修改为1。所有器件参数设置完成,进行仿真参数设置,如下:为什么要仿真10ms?是因为我们的开环电路,一开始就是0.5的占空比,电感电流为0,电容电压为0,会有一个震荡的过程,直到达到稳态值。在这里我们希望看到的

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功