资讯详情

Proteus8.6SP2仿真使用汇总

内容包括仿真环境设置,图标含义与绘图,相关元件介绍,交互式VSM、图表和单片机模拟、模拟模型及其创建、调试和跟踪等。紫色文本是一个超链接,点击自动跳转到相关博客文本。不断更新,原创并不容易!
目录:
1)手动设置模拟收敛性 2)由Proteus调整
1)VSINE的含义 2)VSINE的使用
1)变压器、互感器 2)动画显示元件 3)有源和无源蜂鸣器
1)PULSE图标产生波形 2)SFFM图标产生两个正弦波调制波 3)PWLIN自定义波形产生图标
1)波形时间可以最大化显示窗口 2)置放探针
1)Keil设置输出编译环境Proteus可调试文件 2)Proteus中相关操作 3)常用的调试文件格式
1)官网下载链接程序链接Keil与Proteus2)通过VDM51.dll链接Keil与Proteus3)使用VDMAGDI.EXE链接Keil与Proteus
1)绘制图形  2)创建元件  3)模型的创建
-----------------------------------------------------------
下面的讲述基于Proteus 8.6 SP2 Professional版本WIN7/32位系统,此软件下载搜索我的百度网盘“Proteus 8.6 SP2 Professional使用良好”。
Labcenter Electronics安装目录内的SAMPLES和HELP文件夹下方的文件非常有用,其中SAMPLES存储大量的例子,HELP是英文帮助文档,可以结合着看。------>Proteus论坛|仿真论坛

----------------------------------------------------------------------------------------------------------------

1)设置图纸大小,选择Set Sheet Sizes

2)设置原理图中电流带有箭头,选择Set Animation Options

钩选上图黄框,电路才会出现如下图的电流箭头:
-----------------------------------------------------------

1)仿真收敛性手动设置
不能仿真的网标数值上无法收敛。若电路中无连接错误,通过调整三个参数ABSTOL、VNTOL、RELTOL可以提升收敛性。
ABSTOL为电流绝对精度,其默认值为1pA。也就是说,如果电路仿真所得值在它实际值的±1pA的范围内时,SPICE认为电流已经收敛,仿真将跳到下一个仿真时刻或AC/DC值。
VNTOL为节点电压精度,默认值为1μV。
RELTOL为相对精度,默认值为0.001(0.1%)。RELTOL用来规避同一电路中仿真较大或较小电气值是所引起的问题。
增加这三个参数值将加快仿真的速度,并能解决一些收敛问题,其代价是牺牲一些仿真精度。为了改善收敛性,
可以在SPICE网表中使用下面语句:OPTIONS ABSTOL=1μA VNTOL=1mV RELTOL=0.01
需要强制收敛时,这些参数的值可以设置为:OPTIONS ABSTOL=1mA VNTOL=100mV RELTOL=0.1
------------------------
2)由Proteus调整

比如:Timestep too small可以这样设置。
-----------------------------------------------------------
1)图纸的移动与缩放
按下鼠标中键(鼠标滚轮)移动图纸,推拉滚轮缩放。快捷方式F7缩小,F8放大。
-----------------------------------------------------------

-----------------------------------------------------------
切记:复制原有的元件到别的地方用,特别是同一份图纸,这样标号会重复,直接仿真报错!对于交流电压表,表会显示nan。此时需要对元件进行重新编号。

-----------------------------------------------------------

图纸参考点快捷方式O,光标形式快捷方式X。
----------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------

-----------------------------------------------------------

1)冻结波形:出现波形后,点1处Auto键
2)测量图形:点2处Cursors键
-----------------------------------------------------------
1)VSINE的含义

------------------------
2)VSINE的使用
(1)含有直流偏置的信号

设置如下:

-------------
(2)除了VSINE产生正弦交流信号外,V3PHASE是三相正弦交流信号
-----------------------------------------------------------
作用:指示某点电压或电流

注意:电流探针不可以与导线垂直,也不可以放置在两个接点的交汇处,否则会报错
-----------------------------------------------------------
1)Terminals Mode加入电源端子

如果电源端子上没有标注电压,默认连接VCC/VDD
----------------------
2)Generator Mode加入电源端子

-----------------------------------------------------------
点Virtual Instrument图标,再选Counter Timer放置频率计,如下图

右击一下再左击一下显示属性,Operation Mode默认是Time,在下拉中选Frequency,就是作频率计。

也可以在运行时,单击Counter Timer,选择FREQUENCY

-----------------------------------------------------------
默认是“PROPERTY=VALUE”。
1)连续增加标号LBL
放置网络标号,按下A键,弹出一个对话框,输入NET=D#,在对话框下面设置起始号码及间隔加量。

-----------------------------------------------------------

-----------------------------------------------------------
通过“LBL”图标进行总线连接

-----------------------------------------------------------

----------------------------------------------------------------------------------------------------------------
 电阻   RES8SIPB_8位排阻,NCP_NTC热敏电阻,TFP_PTC热敏电阻   可变电阻、压敏电阻(比如S10k175)
 无极性电容  
 有极性电容  
 电感  
 二极管  
 三极管  
 自复位按钮  
 自锁开关  
 继电器  
 电池  
-----------------------------------------------------------
1)变压器、互感器

------------------------
2)动画显示元件
(1)发光二极管LED

-------------
(3)继电器Relay

-------------
(3)可调电位器POT

------------------------
3)有源与无源蜂鸣器

ACTIVE表示有源,DEVICE表示无源。要想高电平驱动就要选择ACTIVE的。
-----------------------------------------------------------

-----------------------------------------------------------
1)双向稳压管等效DB6

当双向稳压二极管的A端接电压正,K端接电压负,左边的稳压二极管是正向导通,相当于一个普通二极管,在上面的压降是0.7V,而右边的才是作为稳压二极管。所以这个双向稳压二极管所稳定的电压是0.7V+右边稳压值。
而反过来,双向稳压二极管的K端接电压正,A端接电压负时候。右边的稳压二极管正向导通,左边的稳压二极管作为稳压二极管。
可以用这种方法来代替,就无需再建模,直接使用。
----------------------------------------------------------------------------------------------------------------
1)PULSE图标产生波形
PULSE产生三角波

此处的Rise Time+Fall Time+Pulse Width=500ms+499ms+1ms=1s=1Hz,要对应,否则输出不正确。
PULSE产生锯齿波

此处的Rise Time+Fall Time+Pulse Width=1ms+998ms+1ms=1s=1Hz,要对应,否则输出不正确。
------------------------
2)SFFM图标产生两个正弦波的调制波

----------------------------------------------------------------------------------------------------------------

图表式仿真不能使用SIGNAL GENERATOR和PATTERN GENERATOR图标,这两个归为函数发生器

-----------------------------------------------------------
1)最大化展示窗口,可以计算波形时间

------------------------
2)置放探针
R1(1)和R2(2)均置放于图表的左上角。

----------------------------------------------------------------------------------------------------------------
1)Keil编译环境设置输出Proteus可调试文件

编译后的结果:

*.omf文件保存在原项目目录里:

------------------------ 2)Proteus中相关操作
可以打开Labcenter Electronics里面的一个例程:

如果打开的是*.hex文件,它不包含调试文件,只能运行。尽量打开相关单片机的调试文件,因为这样可方便调试原代码。
点单步执行,弹出原代码调试器:

------------------------
3)常用调试文件格式
ELF/DWARF   COFF   UBROF   OMF51   COD   BAS   SDI
-----------------------------------------------------------
1)官网下载链接程序链接Keil与Proteus

------------------------
2)通过VDM51.dll链接Keil与Proteus
软件说明:Proteus 8.6 SP2 Professional和C51V954a。
(1)Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\目录下的 VDM51.dll文件复制到 Keil\C51\BIN文件夹下。如果用protues7以上的版本,那个目录里没有VDM51.dll文件,此文件可以在我的网盘中搜索下载。
另外网盘中的“Keil与Proteus完美结合教程”可参考。

-------------
(2)记事本打开Keil 根目录下的 TOOLS.INI 文件,在[C51] 栏目下加入 TDRV9=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV9” 中的“9”要根据实际情况写,不要和原来的重复。(我的这个文件中已经有了从TDRV1到TDRV8, 所以是TDRV9)

-------------
(3)运行keil程序,建立一个新的工程。点击工具栏的"option for target"按钮,在出现的对话框里点击"Debug",在右栏上部的下拉菜单里选中" Proteus VSM Monitor-51 Driver",还要点击一下Use前面的小圆点。 最后还要点击后面的settings,如果你只是本机联调的话,host后面写172.0.0.1,port:后面写:8000。

 

-------------
(4)载入Proteus,DEBUG-->use remote debug monitor

如果漏了此步,Keil会出现"Failed to connect command socket to port 127.0.0.1:8000. GLE=0000274D")
------------------------
3)使用VDMAGDI.EXE链接Keil与Proteus
proteus官网Labcenter网站下载leilgn proteus联调的安装驱动“VDMAGDI.EXE”。此文件可以在我的网盘中搜索下载。
-----------------------------------------------------------
双击52单片机,然后在弹出的选项中,program file中添加生成的hex文件,我在使用的过程之中,有时候需要在52上右击,然后最后一个选项,点开后,去除上一次的不同名的hex文件,虽然不知道为什么,但是如果不这么做,有时候可能不能仿真。

----------------------------------------------------------------------------------------------------------------
ASIM、DSIM
原始模型。
-----------------------------------------------------------
1)绘制图形
绘制如下图的图形。
---------------------
2)创建元件

---------------------
3)模型的创建
库中查找元件:

编辑元件属性,捆绑分等级模块:

进入子电路模块:

在子电路模块中放置原型元件:

子电路中增加终端:

这里的1、2、3就对应着父电路的1、2、3。
保存设计,父电路中执行(2)创建元件,加载MODFILE文件:

找到MODFILE文件的保存路径:
点击下一步、下一步并确认。
系统例子可见模拟元件“Proteus 8 Professional\SAMPLES\Tutorials\Amodtut.DSN”、数字元件“Proteus 8 Professional\SAMPLES\Tutorials\Dmodtut1.DSN”。
-----------------------------------------------------------
动画:电气特性和图形特性两方面结合在一起,比如LED、LCD、继电器等,需要使用C++语言设计。

创建几种不同的状态,再创建符号库:

Symbol name的编号是LAMP_1、LAMP_2、…………

创建元件内部的子电路:
-----------------------------------------------------------
SPICE文件是从元件提供商提供。系统例子见“Proteus 8 Professional\SAMPLES\Spice1.pdsprj”。
-----------------------------------------------------------
介绍顺序见“\Program Files\Labcenter Electronics\Proteus 8 Professional\HELP\MODELS.chm”文件。
1)电阻模型
Rt=R+A*Δt+B*Δt^2,*Δt与温度相关。
------------------------
2)电容模型
电容模型是一个理想电容与非常大的一个电阻并联,参数有PRECHARGE、IC。
指定元件的起始电压值

指定节点初始电压值:

通常指定节点初始电压值。振荡电路不起振时,可以在相应节点上增加IC参数(见Proteus8.6SP2仿真使用汇总之6、多谐振荡器不起振的对策);即使能够起振,增加IC参数也会加快电路建立振荡的时间。
------------------------
3)电感模型
互感系数:

 

------------------------
4)布尔模型BOOL_3、BUFFER模型、延时缓冲模型RELAY_4、三态缓冲模型

------------------------
5)JK模型、脉冲PULSE模型
JK模型是一个逻辑组合器件,并不是74系列或CMOS系列的触发器,用在比较大的元件建模时。

------------------------
6)计数器COUNTER模型、分频器DIVIDER模型、锁存器LATCH 模型、移位寄存器SHIFTREG、存储器MEMORY模型
存储器MEMORY模型:
现将0000 0001B定入存储器中,只要对WR端产生一个不小于100nS的脉冲即可;

仿真暂停时会弹出:
只要对RD端产生一个脉冲即可读出
----------------------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------------------
比如“trouble with node #e:u2:a:h#branch”

先对仿真收敛性进行设置,发现无效,恢复到先前;
再看最后一条,说明u2:a可能与现有库不符,删去原来的元件再补上现有库内的元件即可。
-----------------------------------------------------------
Proteus在建立数学模型进行仿真时,运算在设定的迭代次数下无法收敛,一般是由于采用SPICE模型引起的,也可以认为是Proteus的BUG,解决的办法是把SPICE模型的器件(一般是三极管、运放一类的)改成Schematic Model(原理图模型)。
还有个别情况是数字电路相接的电阻引起的,要使用Digital属性的电阻而非Analog属性的;和是否英文路径无关。

-----------------------------------------------------------

重新建立工程文件,保存为英文路径,问题解决。原因不明。
#QNAN的意思是Quiet Not A Number,通常你得到这种结果一般通过除0操作、+/-无穷大除以=/-无穷大、+/-无穷大之间的加减法、sqrt的参数是负数。
-----------------------------------------------------------

有的版本点击右键也可以,如下图

-----------------------------------------------------------
1)通过一个按钮加入初始条件

------------------------
2)设置网络名称,给定初始条件
可在电阻R1或电容C1处设置网络名“IC=0”,即初始条件,电平为0V

 

------------------------
3)在电源中加入扰动信号

第一种方法电路的波形似乎更稳定一些,好观察一些。第三种方法目前没有试过,不作评论。
-----------------------------------------------------------
NaN是Not a Number的缩写

-----------------------------------------------------------

此现象发生在打开已有的项目文件时发生,为Proteus8的文件属性链接有问题。先打开Proteus8软件(兼容模式、管理员身份运行,我的百度网盘的Readme文件有详述)后,在软件界面里面选择打开已存在的项目文件即可。
-----------------------------------------------------------
按一下shift键即可。
----------------------------------------------------------------------------------------------------------------
实例见“D:\Program Files\Labcenter Electronics\Proteus 8 Professional\SAMPLES\Graph Based Simulation\Lpf.pdsprj”文件,这里假定Proteus安装于D盘。
视频讲解见百度网盘“proteus入门到精通05(0总线连接规则、参数化分等级电路设计)”。
-----------------------------------------------------------
系统例子见“Program Files\Labcenter Electronics\Proteus 8 Professional\SAMPLES\Interactive Simulation\Motor Examples“
伺服电机如下图所示,PC端电压可以理解成是一个如右上方电位器中间滑动端的电压。

伺服电机控制电路:

伺服电机部分是一个H桥电路,整个电路左右对称,稳态时两个蓝框内的电压表指示值应相等,达到一个平衡。
----------------------------------------------------------------------------------------------------------------

标签: 电感能当电池使用吗互感器电感量会影响精度吗二极管sp3100的参数305v104x2电容04s10快恢复二极管ncp1271集成电路ic

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台