cowboy 发表于 2009-7-11 15:39:13

请教,电路仿真出错原因(Timestep too small)。

电路用途是土壤湿度检测,要求是:
土壤电阻小于270K,不闪灯;
土壤电阻大于270K且小于470K,灯微亮快闪;
土壤电阻大于470K,灯全亮慢闪。

电路如下,RV1模拟土壤电阻,U1:A和U1:B作阀值比较,U1:C用作低频方波振荡,U1:D控制LED的亮度。

点击此处下载 ourdev_460301.rar(文件大小:14K) 仿真文件(原文件名:lm339.rar)
http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_460302.PNG
(原文件名:未命名.PNG)

运行仿真一会就出现下面错误信息,请问各位这是什么原因,如何解决?

SIMULATION LOG
==============
Design:   C:\Documents and Settings\MSY\╫└├µ\lm339.DSN
Doc. no.: <NONE>
Revision: <NONE>
Author:   <NONE>
Created:09/07/09
Modified: 09/07/11

Compiling source files...
Build completed OK.
Compiling netlist...
Linking netlist...
WARNING : Parameter <ACTUATOR> not defined in PARENT of R1.
WARNING : Parameter <ACTUATOR> not defined in PARENT of R2.
Partition analysis...

Simulating partition 1 ...
PROSPICE Release 6.9 SP4 (C) Labcenter Electronics 1993-2006.
SPICE Kernel Version 3f5. (C) Berkeley University ERL.

Reading netlist...
Reading SPICE models...
Loaded SPICE model 'TLC339' from library 'TEX5_1'
Building circuit...
Instantiating SPICE models...
DELMIN increased to 2.22045e-16 due to lack of time precision
transient GMIN stepping at time=1.8482
Error 106 - TRAN:Timestep too small; time = 1.8482, timestep = 2.77556e-17: trouble with node "u1:a:9"
.
Totaliters=5622, Totalsteps=1117, Goodsteps=849, Badsteps=268


Real Time Simulation FAILED.

JQ_Lin 发表于 2009-7-11 16:15:40

To 【楼主位】 cowboy

点击下拉菜单 System - Set Simulator Option ,把 Default Simulator Options 窗口的截图发上来。

cowboy 发表于 2009-7-11 17:20:44

有劳版主了,谢谢!
http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_460328.PNG
(原文件名:未命名.PNG)

millwood0 发表于 2009-7-11 18:30:34

it was complaining about two "Actuator" parameters in R1/R2, and timing. the timing issue is usually due to excessive high frequency oscillation (in this case, well over 1e18hz).

so I would fix the problem with R1/R2 first and then try to figure out if there is something foundamentally wrong with the circuit, or the models used here.

BTW, such a program is just tailor made for a mcu-based solution.

cowboy 发表于 2009-7-11 19:00:52

谢谢millwood0 ,这里的U1:A和U1:B工作于开环比较状态,应该不会产生高频自激。
R1/R2和其它电阻配置相同,我不明白为何只是R1/R2有警告,而其它的电阻没有警告。
我尝试在U1:A的1脚到U1:D的11脚之间串上2K电阻,就可以正常仿真了,但原因不明。
没有使用MCU实现此功能,是因为尽量降低成本,一片MCU的价格往往比一片比较器要高。
这是另一位网友提出的方案,原贴是:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3439330

eezm 发表于 2009-7-11 20:01:34

在C回路中串一小电阻比如0.001,就正常工作.原因还得分析.

shiqiang 发表于 2009-7-11 22:43:10

你用的电阻属性里的{CODE=M100K}是啥用途????

cowboy 发表于 2009-7-11 22:46:39

这个我也不清楚,默认就是这样.电阻的模型本来是100K的电阻,我只是修改了其电阻值.

gzhuli 发表于 2009-7-11 22:57:52

U1:D那样接,有作用么?

eezm 发表于 2009-7-11 23:05:13

这样的电路完全正常,就加个小小的电阻.曾经怀疑开漏管无直流通路的问题,试了试又推翻了.继续研究.http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_460425.jpg
(原文件名:339gg.jpg)

cowboy 发表于 2009-7-11 23:08:17

U1:D的输出状态决定了LED的闪烁亮度,输出为低电平时,将LED正极电压拉低一点,从而使LED暗一点。
U1:D的输入状态取决天U1:A和U1:B,当U1:A输出高阻而U1:B输出低电平时,由于电容的充放电,将使U1:D的同相输入端出现周期性小幅度负压。

JQ_Lin 发表于 2009-7-12 00:28:28

●SIMULATION LOG
WARNING : Parameter <ACTUATOR> not defined in PARENT of R1.
WARNING : Parameter <ACTUATOR> not defined in PARENT of R2.
是由RV1(POT-LOG)引起的虚假提示。
在原有电路状况下,将RV1选用POT-HG模型(在其中可选择LOG特性),可以避免以上虚假提示信息。
●TLC339比较器是开漏输出。输出端缺少上拉,故U1:A、U1:B的输出始终为低电平。但仿真结果显示,利用输出管截止和导通的特性,确实能够实现振荡频率的改变和停振。
●ITL1的默认值好像应当是100,而不是1000。不过没有影响仿真。
●修改电路如下,仅供参考。
R7仅为仿真所用的任意小值电阻。

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_460433.PNG
(原文件名:TLC339-1.PNG)

eezm 发表于 2009-7-12 05:07:35

上两张图做比较,一张是LZ的比较器输出等效,一张是早年自己设计示波器时的扫速电子开关换档电路,当年国外的示波器设计也常采用这种电路.http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_460454.jpg
(原文件名:OD.jpg)

http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_460455.jpg
(原文件名:op.jpg)

eezm 发表于 2009-7-12 05:31:06

曾将图改成如下那样,工作很正常.在要上图时才注意LZ的要亮度控制.因此没发.LZ说"尝试在U1:A的1脚到U1:D的11脚之间串上2K电阻,就可以正常仿真"。但从简化图来看,那个电阻仍在开漏和C的范围内.或许我们的试验成功只是破坏了某个影响收敛的约束而已.各种试验最有效的还属在C回路中串入小电阻,这个电阻可小到0.0001欧,几乎不会对实际产生任何影响.或许我们的这次分析试验可做为今后的参考经验吧. 另外,还多亏开漏比较器,非OC,OD的比较器这么接还真无法实现频率的换档.http://cache.amobbs.com/bbs_upload782111/files_16/ourdev_460456.jpg
(原文件名:339g.jpg)

cowboy 发表于 2009-7-12 10:58:16

RE:【11楼】 JQ_Lin
● 在原有电路状况下,将RV1选用POT-HG模型(在其中可选择LOG特性),可以避免以上虚假提示信息。
---试验了,果然OK,但还是不知道其原因。这个问题影响不大,再讨论可能说我钻牛角尖了。

●ITL1的默认值好像应当是100,而不是1000。不过没有影响仿真。
---ITL1是什么意思?我找不到这个参量。

【9楼】 eezm我比较认同“或许我们的试验成功只是破坏了某个影响收敛的约束而已”,毕竟仿真就是一大堆超级复杂的计算过程,很有可能出现数据随时间呈发散趋势,最终导致溢出。问题是出现这种程况后如何寻找解决方法,漫无目的地尝试,有时很难找到合适的解决方法。能否根据错误信息,找到出错原因,或缩小故障范围?这类型的错误我见过好几次了,有时不得不放弃继续仿真。

再次谢谢各位的热心解答,初学仿真,问题都比较菜,请莫见怪。

JQ_Lin 发表于 2009-7-12 12:01:04

Re 【14楼】 cowboy
---ITL1是什么意思?我找不到这个参量。

见你在【2楼】截图中的第三个选项卡。

shiqiang 发表于 2009-7-13 09:43:14

PROTEUS收敛是差了点的

lc271 发表于 2010-11-12 09:32:11

回复【13楼】eezm
-----------------------------------------------------------------------

你好,邮箱方便留下吗,我邮箱45492608@qq.com

maomaomao007 发表于 2011-12-17 11:32:21

mark

nihao_x 发表于 2012-2-8 12:38:27

我也碰到这个情况了!!谢谢

jiangshitl 发表于 2012-2-9 20:08:57

也碰到过这种问题,受教了

2002163 发表于 2012-5-18 09:37:25

经典!顶!!!!!!

1screw1 发表于 2013-5-18 00:57:25

仿真三相可控硅斩波也出现以上状况,没法折腾。。。
页: [1]
查看完整版本: 请教,电路仿真出错原因(Timestep too small)。