Forums

LTSpice: How do make a Schmitt oscillator run?

Started by Joerg September 16, 2008
Ok, simple circuit: Schmitt inverter, 10K resistor from output to input, 
1000pF capacitor from input to ground. Vh set to about 20% of Vhigh. 
Should happily oscillate but I get the error message "Time step too 
small". Also there is a noted dip in voltage down to about 80%, 
something which should even be possible with a digital behavioral device.

What gives? How can I fix that and make it run? Does it need some kind 
of kicker?

-- 
Regards, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
"Joerg" <notthisjoergsch@removethispacbell.net> schrieb im Newsbeitrag 
news:f1Vzk.498$x%.5@nlpi070.nbdc.sbc.com...
> Ok, simple circuit: Schmitt inverter, 10K resistor from output to input, > 1000pF capacitor from input to ground. Vh set to about 20% of Vhigh. > Should happily oscillate but I get the error message "Time step too > small". Also there is a noted dip in voltage down to about 80%, something > which should even be possible with a digital behavioral device. > > What gives? How can I fix that and make it run? Does it need some kind of > kicker? > > -- > Regards, Joerg > > http://www.analogconsultants.com/ > > "gmail" domain blocked because of excessive spam. > Use another domain or send PM.
Hallo Joerg, I don't know what you did wrong. Have you set the trigger levels vt and vh? hysteresis: vh trigger levels: v1 = vt+vh v2 = vt-vh Example: Right-mouse-click on teh schmitt device. Vhigh=5 Vt=2.5 Vh=1 td=5n "osc.asc"-file: Version 4 SHEET 1 880 680 WIRE 144 0 96 0 WIRE 288 0 224 0 WIRE 96 96 96 0 WIRE 128 96 96 96 WIRE 176 96 128 96 WIRE 288 96 288 0 WIRE 288 96 240 96 WIRE 320 96 288 96 WIRE 96 112 96 96 WIRE 96 192 96 176 FLAG 96 192 0 FLAG 320 96 out FLAG 128 96 rc SYMBOL Digital\\schmtinv 176 32 R0 SYMATTR InstName A2 SYMATTR Value2 Vhigh=5 Vt=2.5 Vh=1 SYMATTR SpiceLine Td=5n SYMBOL cap 80 112 R0 SYMATTR InstName C1 SYMATTR Value 1n SYMBOL res 128 16 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R1 SYMATTR Value 10k TEXT 80 -104 Left 0 !.tran 0 100u 0 100n
Helmut Sennewald wrote:
> "Joerg" <notthisjoergsch@removethispacbell.net> schrieb im Newsbeitrag > news:f1Vzk.498$x%.5@nlpi070.nbdc.sbc.com... >> Ok, simple circuit: Schmitt inverter, 10K resistor from output to input, >> 1000pF capacitor from input to ground. Vh set to about 20% of Vhigh. >> Should happily oscillate but I get the error message "Time step too >> small". Also there is a noted dip in voltage down to about 80%, something >> which should even be possible with a digital behavioral device. >> >> What gives? How can I fix that and make it run? Does it need some kind of >> kicker? >> >> -- >> Regards, Joerg >> >> http://www.analogconsultants.com/ >> >> "gmail" domain blocked because of excessive spam. >> Use another domain or send PM. > > > > Hallo Joerg, > > I don't know what you did wrong. > Have you set the trigger levels vt and vh? > > hysteresis: vh > trigger levels: > v1 = vt+vh > v2 = vt-vh > > Example: Right-mouse-click on teh schmitt device. > Vhigh=5 Vt=2.5 Vh=1 > td=5n > > "osc.asc"-file: > > Version 4 > SHEET 1 880 680 > WIRE 144 0 96 0 > WIRE 288 0 224 0 > WIRE 96 96 96 0 > WIRE 128 96 96 96 > WIRE 176 96 128 96 > WIRE 288 96 288 0 > WIRE 288 96 240 96 > WIRE 320 96 288 96 > WIRE 96 112 96 96 > WIRE 96 192 96 176 > FLAG 96 192 0 > FLAG 320 96 out > FLAG 128 96 rc > SYMBOL Digital\\schmtinv 176 32 R0 > SYMATTR InstName A2 > SYMATTR Value2 Vhigh=5 Vt=2.5 Vh=1 > SYMATTR SpiceLine Td=5n > SYMBOL cap 80 112 R0 > SYMATTR InstName C1 > SYMATTR Value 1n > SYMBOL res 128 16 R270 > WINDOW 0 32 56 VTop 0 > WINDOW 3 0 56 VBottom 0 > SYMATTR InstName R1 > SYMATTR Value 10k > TEXT 80 -104 Left 0 !.tran 0 100u 0 100n >
Thanks, Helmut. I did have everything in there except td since it wasn't mentioned in the LTSpice manual. That did it. But I still have a weak output, dips about 3V from the rails with Vhigh=12 with some serious inductive load and 2ohms in series. Somehow that doesn't look normal. Do they have a finite output current capability? When I tried to open your file I got a syntax error. -- Regards, Joerg http://www.analogconsultants.com/ "gmail" domain blocked because of excessive spam. Use another domain or send PM.
"Joerg" <notthisjoergsch@removethispacbell.net> wrote in message
news:f1Vzk.498$x%.5@nlpi070.nbdc.sbc.com...
> Ok, simple circuit: Schmitt inverter, 10K resistor from output to input, > 1000pF capacitor from input to ground. Vh set to about 20% of Vhigh. > Should happily oscillate but I get the error message "Time step too > small". Also there is a noted dip in voltage down to about 80%, > something which should even be possible with a digital behavioral device. > > What gives? How can I fix that and make it run? Does it need some kind > of kicker? > > -- > Regards, Joerg > > http://www.analogconsultants.com/ > > "gmail" domain blocked because of excessive spam. > Use another domain or send PM.
Add something like "vhigh=5 trise=10n". Essentially the 'trise' adds a bit of time reality to the gate. The help file is particularly obtuse in this area. I've still to discover what that "ref" thing is there for.
"Joerg" <notthisjoergsch@removethispacbell.net> schrieb im Newsbeitrag 
news:tyVzk.365$Ei5.320@flpi143.ffdc.sbc.com...
> Helmut Sennewald wrote: >> "Joerg" <notthisjoergsch@removethispacbell.net> schrieb im Newsbeitrag >> news:f1Vzk.498$x%.5@nlpi070.nbdc.sbc.com... >>> Ok, simple circuit: Schmitt inverter, 10K resistor from output to input, >>> 1000pF capacitor from input to ground. Vh set to about 20% of Vhigh. >>> Should happily oscillate but I get the error message "Time step too >>> small". Also there is a noted dip in voltage down to about 80%, >>> something which should even be possible with a digital behavioral >>> device. >>> >>> What gives? How can I fix that and make it run? Does it need some kind >>> of kicker? >>> >>> -- >>> Regards, Joerg >>> >>> http://www.analogconsultants.com/ >>> >>> "gmail" domain blocked because of excessive spam. >>> Use another domain or send PM. >> >> >> >> Hallo Joerg, >> >> I don't know what you did wrong. >> Have you set the trigger levels vt and vh? >> >> hysteresis: vh >> trigger levels: >> v1 = vt+vh >> v2 = vt-vh >> >> Example: Right-mouse-click on teh schmitt device. >> Vhigh=5 Vt=2.5 Vh=1 >> td=5n >> >> "osc.asc"-file: >> >> Version 4 >> SHEET 1 880 680 >> WIRE 144 0 96 0 >> WIRE 288 0 224 0 >> WIRE 96 96 96 0 >> WIRE 128 96 96 96 >> WIRE 176 96 128 96 >> WIRE 288 96 288 0 >> WIRE 288 96 240 96 >> WIRE 320 96 288 96 >> WIRE 96 112 96 96 >> WIRE 96 192 96 176 >> FLAG 96 192 0 >> FLAG 320 96 out >> FLAG 128 96 rc >> SYMBOL Digital\\schmtinv 176 32 R0 >> SYMATTR InstName A2 >> SYMATTR Value2 Vhigh=5 Vt=2.5 Vh=1 >> SYMATTR SpiceLine Td=5n >> SYMBOL cap 80 112 R0 >> SYMATTR InstName C1 >> SYMATTR Value 1n >> SYMBOL res 128 16 R270 >> WINDOW 0 32 56 VTop 0 >> WINDOW 3 0 56 VBottom 0 >> SYMATTR InstName R1 >> SYMATTR Value 10k >> TEXT 80 -104 Left 0 !.tran 0 100u 0 100n >> > > Thanks, Helmut. I did have everything in there except td since it wasn't > mentioned in the LTSpice manual. That did it. But I still have a weak > output, dips about 3V from the rails with Vhigh=12 with some serious > inductive load and 2ohms in series. Somehow that doesn't look normal. Do > they have a finite output current capability? > > When I tried to open your file I got a syntax error. > > -- > Regards, Joerg > > http://www.analogconsultants.com/ > > "gmail" domain blocked because of excessive spam. > Use another domain or send PM.
Hello Joerg, I copied my attached circuit into a file "osc.asc" and it worked. You should copy the text from line "Version 4" to the end. (The line "Version 4" is already part of the schematic file osc.asc.) Version 4 .... TEXT 80 -104 Left 0 !.tran 0 100u 0 100n I think it has 1 Ohm output resistance. Please add an E-source with gain 1 at the ouput to get a low output impedance. Best regards, Helmut
Helmut Sennewald wrote:
> "Joerg" <notthisjoergsch@removethispacbell.net> schrieb im Newsbeitrag > news:tyVzk.365$Ei5.320@flpi143.ffdc.sbc.com... >> Helmut Sennewald wrote: >>> "Joerg" <notthisjoergsch@removethispacbell.net> schrieb im Newsbeitrag >>> news:f1Vzk.498$x%.5@nlpi070.nbdc.sbc.com... >>>> Ok, simple circuit: Schmitt inverter, 10K resistor from output to input, >>>> 1000pF capacitor from input to ground. Vh set to about 20% of Vhigh. >>>> Should happily oscillate but I get the error message "Time step too >>>> small". Also there is a noted dip in voltage down to about 80%, >>>> something which should even be possible with a digital behavioral >>>> device. >>>> >>>> What gives? How can I fix that and make it run? Does it need some kind >>>> of kicker? >>>> >>>> -- >>>> Regards, Joerg >>>> >>>> http://www.analogconsultants.com/ >>>> >>>> "gmail" domain blocked because of excessive spam. >>>> Use another domain or send PM. >>> >>> >>> Hallo Joerg, >>> >>> I don't know what you did wrong. >>> Have you set the trigger levels vt and vh? >>> >>> hysteresis: vh >>> trigger levels: >>> v1 = vt+vh >>> v2 = vt-vh >>> >>> Example: Right-mouse-click on teh schmitt device. >>> Vhigh=5 Vt=2.5 Vh=1 >>> td=5n >>> >>> "osc.asc"-file: >>> >>> Version 4 >>> SHEET 1 880 680 >>> WIRE 144 0 96 0 >>> WIRE 288 0 224 0 >>> WIRE 96 96 96 0 >>> WIRE 128 96 96 96 >>> WIRE 176 96 128 96 >>> WIRE 288 96 288 0 >>> WIRE 288 96 240 96 >>> WIRE 320 96 288 96 >>> WIRE 96 112 96 96 >>> WIRE 96 192 96 176 >>> FLAG 96 192 0 >>> FLAG 320 96 out >>> FLAG 128 96 rc >>> SYMBOL Digital\\schmtinv 176 32 R0 >>> SYMATTR InstName A2 >>> SYMATTR Value2 Vhigh=5 Vt=2.5 Vh=1 >>> SYMATTR SpiceLine Td=5n >>> SYMBOL cap 80 112 R0 >>> SYMATTR InstName C1 >>> SYMATTR Value 1n >>> SYMBOL res 128 16 R270 >>> WINDOW 0 32 56 VTop 0 >>> WINDOW 3 0 56 VBottom 0 >>> SYMATTR InstName R1 >>> SYMATTR Value 10k >>> TEXT 80 -104 Left 0 !.tran 0 100u 0 100n >>> >> Thanks, Helmut. I did have everything in there except td since it wasn't >> mentioned in the LTSpice manual. That did it. But I still have a weak >> output, dips about 3V from the rails with Vhigh=12 with some serious >> inductive load and 2ohms in series. Somehow that doesn't look normal. Do >> they have a finite output current capability? >> >> When I tried to open your file I got a syntax error. >> >> -- >> Regards, Joerg >> >> http://www.analogconsultants.com/ >> >> "gmail" domain blocked because of excessive spam. >> Use another domain or send PM. > > > Hello Joerg, > > I copied my attached circuit into a file "osc.asc" and it worked. > You should copy the text from line "Version 4" to the end. > (The line "Version 4" is already part of the schematic file osc.asc.) >
That is what I tried.
> > Version 4 > .... > TEXT 80 -104 Left 0 !.tran 0 100u 0 100n > > > I think it has 1 Ohm output resistance.
Aha! Thanks. That explains it.
> Please add an E-source with gain 1 at the ouput to get a low output > impedance. >
Well, a 1ohm Z Out is pretty much what my final driver will have so it'll be ok this time. Thanks for your help, Helmut. -- Regards, Joerg http://www.analogconsultants.com/ "gmail" domain blocked because of excessive spam. Use another domain or send PM.
"Helmut Sennewald" <helmutsennewald@t-online.de> wrote in message 
news:gap9ab$cll$02$1@news.t-online.com...
> > "Joerg" <notthisjoergsch@removethispacbell.net> schrieb im Newsbeitrag > news:tyVzk.365$Ei5.320@flpi143.ffdc.sbc.com... >> Helmut Sennewald wrote: >>> "Joerg" <notthisjoergsch@removethispacbell.net> schrieb im Newsbeitrag >>> news:f1Vzk.498$x%.5@nlpi070.nbdc.sbc.com... >>>> Ok, simple circuit: Schmitt inverter, 10K resistor from output to >>>> input, 1000pF capacitor from input to ground. Vh set to about 20% of >>>> Vhigh. Should happily oscillate but I get the error message "Time step >>>> too small". Also there is a noted dip in voltage down to about 80%, >>>> something which should even be possible with a digital behavioral >>>> device. >>>> >>>> What gives? How can I fix that and make it run? Does it need some kind >>>> of kicker? >>>> >>>> -- >>>> Regards, Joerg >>>> >>>> http://www.analogconsultants.com/ >>>> >>>> "gmail" domain blocked because of excessive spam. >>>> Use another domain or send PM. >>> >>> >>> >>> Hallo Joerg, >>> >>> I don't know what you did wrong. >>> Have you set the trigger levels vt and vh? >>> >>> hysteresis: vh >>> trigger levels: >>> v1 = vt+vh >>> v2 = vt-vh >>> >>> Example: Right-mouse-click on teh schmitt device. >>> Vhigh=5 Vt=2.5 Vh=1 >>> td=5n >>> >>> "osc.asc"-file: >>> >>> Version 4 >>> SHEET 1 880 680 >>> WIRE 144 0 96 0 >>> WIRE 288 0 224 0 >>> WIRE 96 96 96 0 >>> WIRE 128 96 96 96 >>> WIRE 176 96 128 96 >>> WIRE 288 96 288 0 >>> WIRE 288 96 240 96 >>> WIRE 320 96 288 96 >>> WIRE 96 112 96 96 >>> WIRE 96 192 96 176 >>> FLAG 96 192 0 >>> FLAG 320 96 out >>> FLAG 128 96 rc >>> SYMBOL Digital\\schmtinv 176 32 R0 >>> SYMATTR InstName A2 >>> SYMATTR Value2 Vhigh=5 Vt=2.5 Vh=1 >>> SYMATTR SpiceLine Td=5n >>> SYMBOL cap 80 112 R0 >>> SYMATTR InstName C1 >>> SYMATTR Value 1n >>> SYMBOL res 128 16 R270 >>> WINDOW 0 32 56 VTop 0 >>> WINDOW 3 0 56 VBottom 0 >>> SYMATTR InstName R1 >>> SYMATTR Value 10k >>> TEXT 80 -104 Left 0 !.tran 0 100u 0 100n >>> >> >> Thanks, Helmut. I did have everything in there except td since it wasn't >> mentioned in the LTSpice manual. That did it. But I still have a weak >> output, dips about 3V from the rails with Vhigh=12 with some serious >> inductive load and 2ohms in series. Somehow that doesn't look normal. Do >> they have a finite output current capability? >> >> When I tried to open your file I got a syntax error. >> >> -- >> Regards, Joerg >> >> http://www.analogconsultants.com/ >> >> "gmail" domain blocked because of excessive spam. >> Use another domain or send PM. > > > Hello Joerg, > > I copied my attached circuit into a file "osc.asc" and it worked. > You should copy the text from line "Version 4" to the end. > (The line "Version 4" is already part of the schematic file osc.asc.) > >
Yep. I tried that and it worked, too (had to replace some "> " with ""). In fact, I just double clicked on the osc.asc file (in Explorer) and it brought up LTSpice and it ran fine. Bob -- == All google group posts are automatically deleted due to spam ==
"john jardine" <john.jardine@idnet.co.uk> schrieb im Newsbeitrag 
news:RHVzk.60287$ym1.37052@en-nntp-09.am2.easynews.com...
> > "Joerg" <notthisjoergsch@removethispacbell.net> wrote in message > news:f1Vzk.498$x%.5@nlpi070.nbdc.sbc.com... >> Ok, simple circuit: Schmitt inverter, 10K resistor from output to input, >> 1000pF capacitor from input to ground. Vh set to about 20% of Vhigh. >> Should happily oscillate but I get the error message "Time step too >> small". Also there is a noted dip in voltage down to about 80%, >> something which should even be possible with a digital behavioral device. >> >> What gives? How can I fix that and make it run? Does it need some kind >> of kicker? >> >> -- >> Regards, Joerg >> >> http://www.analogconsultants.com/ >> >> "gmail" domain blocked because of excessive spam. >> Use another domain or send PM. > > Add something like "vhigh=5 trise=10n". Essentially the 'trise' adds a > bit > of time reality to the gate. The help file is particularly obtuse in this > area. I've still to discover what that "ref" thing is there for.
Hello, "ref" is the threshold for normal digital devices like AND and OR. If you don't specify "ref", it's (vhigh+vlow)/2 The threshold for Schmitt trigger devices is "vt" and "vh", but not "ref". Helmut
"Helmut Sennewald" <helmutsennewald@t-online.de> wrote in message
news:garftc$rt7$01$1@news.t-online.com...
> > "john jardine" <john.jardine@idnet.co.uk> schrieb im Newsbeitrag > news:RHVzk.60287$ym1.37052@en-nntp-09.am2.easynews.com... > > > > "Joerg" <notthisjoergsch@removethispacbell.net> wrote in message > > news:f1Vzk.498$x%.5@nlpi070.nbdc.sbc.com... > >> Ok, simple circuit: Schmitt inverter, 10K resistor from output to
input,
> >> 1000pF capacitor from input to ground. Vh set to about 20% of Vhigh. > >> Should happily oscillate but I get the error message "Time step too > >> small". Also there is a noted dip in voltage down to about 80%, > >> something which should even be possible with a digital behavioral
device.
> >> > >> What gives? How can I fix that and make it run? Does it need some kind > >> of kicker? > >> > >> -- > >> Regards, Joerg > >> > >> http://www.analogconsultants.com/ > >> > >> "gmail" domain blocked because of excessive spam. > >> Use another domain or send PM. > > > > Add something like "vhigh=5 trise=10n". Essentially the 'trise' adds a > > bit > > of time reality to the gate. The help file is particularly obtuse in
this
> > area. I've still to discover what that "ref" thing is there for. > > > Hello, > > "ref" is the threshold for normal digital devices like AND and OR. > If you don't specify "ref", it's (vhigh+vlow)/2 > > The threshold for Schmitt trigger devices is "vt" and "vh", but not "ref". > > Helmut >
Got that. Thanks Helmut. I really like the program, make extensive use of it and slowly but surely, am getting there bit by bit. The 'bit by bit' bit due to an ongoing cultural struggle, with Mike's impenetrable 'help' descriptions. Would love to see these rewritten by a non programmer into something like English (or French or German or Swahili, I don't mind, the translation would be staightforward :) Maybe someday I'll then get to use that (good) saturating core model that I've seen occasional mysterious references to.