Simetrix/Simplis仿真基础
近4年开发电源的过程,在使用仿真软件的过程中,对仿真渐渐有了个了解,仿真不能代替实验。仿真软件显示电路不能工作,而实际确能工作,仿真不收敛,而实际电路永远不会不收敛。但是仿真软件可以测试未知电路,可以验证自己的想法,甚至大大缩短开发过程,在你仿真的过程中,也可以更深入的理解开关电源的拓扑结构,控制模式等,假如你要实验一个电路,发现库里没有现成的IC,在自己搭建IC之后,你对整个IC具体是如何运作的必定了解的非常清楚。
如果你的模型足够精确,你可以得到和实验室非常接近的结果。如果你的电路是错误的,你也不用担心“炸机”的危险。
Simetrix/Simplis是我个人比较喜欢用的一款仿真软件,相对与功能强大的SABER, Simetrix/Simplis具有操作简单,容易上手,速度快等特点,用来实验开关电源的各个功能电路非常不错,精通之后,也能进行更复杂的仿真实验,比如开关电源的损耗分析,环路分析,大信号分析,IC设计等。
“只要你能想到的,你就可以用电路实现!”
虽然这几年一直在接触这款软件,但离“精通”还相差很远,但我想利用它简单易学的特点,让更多的人了解使用它,对实际开发有所帮助。并希望引出玉来,使大家共同提高。
我打算先说一下软件操作过程,再举几个简单的实例,供大家参考。由于水平有些,只能说这些基础的东西。 先说一下目录
1. 基础操作:放置元件 2. 导入PSPICE模型
3. 瞬态分析,DC分析,AC分析,参数扫描 4. 自建子电路,元件库
5. 用SIMETRIX仿真开环BUCK。
6. 用SIMPLIS 仿真BUCK电路:POP分析,AC分析。 7. 两个简单的实例:桥式整流带恒功率负载—表达式的应用 填谷PFC PF值计算-波形的分析和处理
更深入一点的实例如 电流模式反激电路。 准谐振反激电路。 单极反激PFC电路。 LLC电路等。
做好后会和大家分享。
1. 放置元件。
先打开程序,点击File——New Schematic,建立新电路图
点这两处地方可以放置元件
基本的元件如DC电源,波形发生器电源,分段源,受控源,电阻,电容,电感,变压器,MOS管,三极管,二级管,稳压管,压控开关,地,电压探头,电流探头,运放等都能找的到,如上图,也可以从Place——From Model Library菜单中找到更多的元件,如3842,TL431等。
双击电路图中的通用元件,三极管,MOS管等可以选择另外一个型号,如双击Q2N2222可以把Q1变成Q2N3904
小技巧:快捷键的使用,比如按G,可以放置一个地,按R键放置电阻,C键放置电容等, F5旋转元件,F6镜像元件,F12放大,SHIFT+F12缩小,F3开始连线。
你把键盘的上的键全按一遍就熟悉了,哈哈。
2. 导入PSPICE库
你有时候会发现Simetrix/Simplis自带的库有些元件没有,没关系,Simetrix实际上就是一个简易版的PSPICE,兼容PSPICE的库和功能。因此我们可以导入PSPICE库文件。
选择如上图的菜单
然后选择PSPICE库文件的目录,点OK,如上图
然后选中下框中的内容,先点Add,在点OK,就可以了
然后你是不是发现库里面多了很多元件呢?
3.瞬态分析,DC分析,AC分析,参数扫描
用共射放大电路和RC滤波电路简单的说一下以上四种最基本也是最常用的分析。 首先建立一个RC 低通滤波电路如下图。
V1是5V电源,把Enable AC也选中,表示V1同时也是个频率源,允许进行AC分析。
R1是1K电阻,C1是电容,把电容初始电压设置为0,如下图
在RC之间放置一个电压探头,按快捷键B,也可以从菜单Place——Proble——Voltage Proble
点Simulator——Choose Analysis,进行分析设置,如下图
勾选中Transient和AC, 在Transient栏中 Stop time设置10ms,表示仿真时间为10ms 点Advanced Options键可以设置步长,步长时间越小越精确,但是速度也越慢
这里设置步长为10us
然后在AC栏设置一下AC分析的起始扫描频率和终止频率,就可以进行分析了
鼠标点击Run,或者点OK后按F9运行分析
瞬态分析的结果如下图,可以看到测试点电压是慢慢升起来的
AC分析结果如下图,可以看到增益刚开始是1,大约100HZ以后开始往下掉了。
参数扫描分析
假如我要知道R在一定范围变化,输出是如何变化的呢,总不能一次一次的去试吧,用参数扫描可以解决
R1从1K变化到10K,记录10个点的数据
一样的电路图,只需把R的值从1K改为{R},如下图
再在分析设置Transient栏目里面,勾选中Enable multi-step,然后点Define…
在弹出的框框里面选择第2项:Parameter然后设置数据start value:1k,stop value:10k, Number of steps:10,Parameter name:R 如下图。点OK。
在AC栏目里也进行同样的操作,就可以分析了
分析结果是不是一下出了十组数据呢?
DC分析
DC分析其实也是一种参数扫描分析,只不过变化的是电源,如下图共射放大电路 当电源V1从0V到5V,Q1 C极的工作点电压是如何改变的呢 这里要用到DC分析。
在分析设置里勾选中DC Sweep,同时在DC栏目里设置如下
Start value设为0,Stop value设为5,Number of points设为1K(表示描1000个点,越大越精确,也越慢) Device name设为V1,表示要变化的源是V1. 运行结果如下:
曲线表示了V1从0V到5V,Q1 C极对应的电压
3.自建子电路,库
有时候为了画图方便,而库里面有没有现成的,我们需要自己建立子电路或者库,把一个功能模块的电路另存为一个电路文件,提供响应的接口,另外一个电路调用它,而不需要把整个子电路在图上画出来,或者是干脆封装成一个库文件,直接调用库就可以了。 这里通过做一个 “压控振荡器”(类似LLC频率随FB电压改变)的例子来表明一下如何制作库或子电路。
需要能自己定义参数:最大频率,最小频率,增益(1V输入电压对应多少K的输出频率)
首先建立原理图,如下,如何实现VCO功能就不具体说了,有附件
添加两个模块端子VCTRL,FOUT (按H键可以添加模块端子)
另存为VCO.sxcmp(在另存为对话框中 保存类型选择第二项即可,表示是一个元件文件) 如下图
然后点击Simulator菜单中的 Create Netlist as Subcircuit…,建立网络表
然后后命名为VCO,点OK确定,再点OK
会弹出一个如下的框框,把文字全部复制下来,粘贴到记事本里面去, 然后另存到C:\\MYMOD目录。另存文件可以命名为VCO.MOD
为了可以实现输入参数,我们要把VCO.MOD稍作修改,把影响这些的值修改为变量
在第一行最后加入params: Gain=10k Fmin=20k Fmax=50k (表示默认1V对应10K频率,最小频率20K,最大频率50K)
把V2 ARB1_N3 0 10K 改为 V2 ARB1_N3 0 Gain 把V3 ARB1_N4 0 Fmin改为 V3 ARB1_N4 0 Fmin
把V4 ARB1_N5 0 Fmax 改为V4 ARB1_N5 0 Fmax 保存
然后点击File——Model Library——Add/Remove Libraries… 同第二节 导入PSPICE库 的操作过程一样,只不过把选择的目录由PSPICE目录改为你刚才这个MOD文件的目录(C:\\MYMOD)
选中下框的,点击Add,然后点OK
然后点击如下图菜单,为刚才的模型指定一个符号
打开对话框后,在左边栏里找到VCO,再点击右边的Auto Create Symbol键,为VCO自动创建一个符号。
再点击右边的New Category键,输入MYMOD,点OK
然后点击下方的Apply Changes键,好了,我们可以使用这个新创建的VCO库了。
新建一个原理图,点击Place——From Model Library…,找到刚才建立的库
在左边的栏里找到MYMOD,选中右边的VCO,然后点下方的Place放置元件。
建立好原理图如下,选中元件,点右键菜单的第二项为编辑参数。
参数设置如下,Gain设置为5k,表示输入1V输出就是5K的频率。Fmin设为4k,Fmax设为20k,表示最小输出频率为4k,最大输出频率为20k..
V1是个从0-10V变化的分段电压源
再看仿真结果,是不是和设计的相符合呢
子电路的建立更简单,这里就不再说了。
5用SIMETRIX仿真开环BUCK。
按下图画好原理图
放置直流电源,压控开关,方波电源V2,理想二极管,电感,电容,电阻,探头,一个简单的理想BUCK电路就完成了。
再看仿真波形,发现叠加在一起了。
没关系,按波形窗口 Curves菜单中的Stack All Curves就可以展开
展开波形如下。
附件:简单开环BUCK的原理图
6.用SIMPLIS 仿真BUCK电路:POP分析,AC分析。
实际上SIMETRIX/SIMLIS包含SIMETRIX和SIMLIS两个仿真内核,SIMETRIX是用的PSPICE内核,而SIMLIS是一个基于分段线性元件建立的内核,所以速度更快,可以直接找到开关电路的稳定工作点,可以不用平均模型,直接从原理图上得到传递函数。
首先要选择SIMLIS内核。
按下图点击菜单。
再选择第二项,按OK
可以画图了。
V2是个三角波,V3是FB信号,V2和V3比较后形成一个方波作为驱动信号。5V 的FB电压对应100%的占空比
可以看到仿真波形如下,但速度却快了很多,20ms的仿真时间3秒钟就完成了。
附件:
如果不想看稳定的过程,直接看稳定后的结果,并且要得到VB对输出的波特图,就要借助POP分析。
首先要加入一个POP Trigger,就是图中的X1,必须加在有周期性信号的地方,比如图中的三角波发生器。
要看波特图,要加入AC源(图中的V4)和波特图观察器(在Probe AC/Noise菜单可以找到)
然后很重要的一点,要在分析设置对话框中设置POP分析的参数,按下图勾选,Max.period时间要大于开关周期时间,比如本例开关频率为50K,那么这个数就要大于20u,这里取50u
然后运行分析,直接得到了稳态值和波特图。
附件
7.一些简单的实例:桥式整流加恒功率负载—表达式的应用 填谷PFC PF值计算-波形的分析和处理 启动时间的仿真-使用受控源
(1) 桥式整流加恒功率负载—表达式的应用
我们想知道桥式整流后大电解上的电压波形,但是又不想做一个完整的反激电路,我们可以假设反激电源是个恒功率负载,是不是可以做一个简单的恒功率负载达到目的呢 用表达式可以实现!
如下图,输入电压是90VAC/50HZ,电解电容是20U,V2是10V表示输入功率10W.
整个恒功率负载其实就是ARB1,其实是个表达式,更可以看作多功能的受控源,在PLACE菜单能找到
在里面设置两组电压输入,一路电流输出,如下图
并在框里输入V(N2)/V(N1).表示输出电流等于V2上的电压除以大电解上的电压
看仿真波形,大电解上的电压波形不是很低嘛,有90V以上
附件:
(2)填谷PFC PF值计算-波形的分析和处理
如何计算填谷PFC 的PF值呢,PF=有功功率/视在功率,波形的计算功能能帮我们达到目的。
画好图,加入恒功率负载,并添加输入电压和输入电流的探头,如下图
运行仿真,再得到波形后点图上的RMS按钮求的有效值
再点Plot菜单Mutiply Two Curves,得到电压和电流相乘的波形
分别选中电压和电流,点OK
于是我们得到了一个计算出来的波形,再点AVG,求出平均值,即是有功功率
我们算出PF=20.52/(90*0.2726)=0.836
附件: