mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik LTspice: Schmitt Trigger NAND simulieren?


Autor: Bauform B. (bauformb)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

mit dem voltage controlled switch SW und einem Widerstand kann man ja 
einen einfachen digitalen Inverter simulieren, z.B. S1 und R30 im Bild. 
S2 bis S5 bilden ein RS-Flip-Flop aus NAND Gattern. Für Schaltschwelle 
und Hysterese kann man auch realistische Werte einstellen, hier für den 
74LV132.

Soweit so einfach -- solange die Betriebsspannung konstant ist. Wenn man 
den Vt Parameter im SW model spannungsabhängig machen könnte, würde die 
Simulation auch für schwankende Spannungen funktionieren; so einfach wie 
Vt=V(n042)*0.5 geht es "natürlich" nicht.

Ich könnte aus diskreten Bauteilen einen ziemlich echten NAND Schmitt 
Trigger nachbauen, aber der SW tut's ja, bis auf diese Kleinigkeit. Wie 
macht man das richtig?

Autor: Helmut S. (helmuts)
Datum:
Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Hallo,

ich wollte gerade nand.asc mit LTspice öffnen, weil .asc die Endung von 
LTspice-Schaltplänen ist. Da kam aber eine Fehlermeldung. Dann habe ich 
die Datei in Irfanview gezogen und es zeigt einen Schaltplan. Mit Paint 
ging es auch.
Bei Dateien mit .asc erwarte ich eigentlich den richtigen Schalplan von 
LTspice. Nur an dem kann man direkt weiterarbeiten.

Hier eine Lösung für ein NAND mit Schmitt-Eingängen die von der 
Versorgungsspannung anhängen. Der .plt-File wird nur von LTspiceXVII 
akzeptiert. Das veraltete LTspiceIV kann den nicht richtig lesen.

Gruß
Helmut

: Bearbeitet durch User
Autor: Bauform B. (bauformb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Perfekt, dankeschön!
Je nach Siebelkokapazität und Mondphase gab es noch einen 
Schönheitsfehler: "Time step too small", aber den konnte ich mit diesem 
Trick umgehen:
https://www.electronicspoint.com/threads/ltspice-n...

Die Schaltung schaut jetzt auch in LTspice viel "natürlicher" aus.

Autor: Helmut S. (helmuts)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bauform B. schrieb:
> Perfekt, dankeschön!
> Je nach Siebelkokapazität und Mondphase gab es noch einen
> Schönheitsfehler: "Time step too small", aber den konnte ich mit diesem
> Trick umgehen:
> 
https://www.electronicspoint.com/threads/ltspice-n...
>
> Die Schaltung schaut jetzt auch in LTspice viel "natürlicher" aus.

Hast du TD erhöht?

Autor: Bauform B. (bauformb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Helmut S. schrieb:
> Hast du TD erhöht?

Ja, auf 100 bis 150ns, der 74LV132 hat bei 2 Volt ca. 40ns und in der 
Schaltung geht's eher um Millisekunden.

Ach ja, die Dateiendung: das ist ein Kompromiss aus Screenshot und 
LTspice-.asc ;) Wenn man sich nicht entscheiden kann...

Autor: Helmut S. (helmuts)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bauform B. schrieb:
> Helmut S. schrieb:
>> Hast du TD erhöht?
>
> Ja, auf 100 bis 150ns, der 74LV132 hat bei 2 Volt ca. 40ns und in der
> Schaltung geht's eher um Millisekunden.
>

Kannst du die Schaltung mal anhängen? So viel delay musss nicht sein. Es 
muss auch mit 5ns gehen. Da muss ein anderes Problem dahinter stecken.

> Ach ja, die Dateiendung: das ist ein Kompromiss aus Screenshot und
> LTspice-.asc ;) Wenn man sich nicht entscheiden kann...

Wir mögen beides, screenshot(png) plus die Originaldatei von 
LTspice(.asc) zum mitsimulieren.

: Bearbeitet durch User
Autor: Bauform B. (bauformb)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Helmut S. schrieb:
> Kannst du die Schaltung mal anhängen? So viel delay musss nicht sein. Es
> muss auch mit 5ns gehen. Da muss ein anderes Problem dahinter stecken.

Anscheinend ein grundlegendes. Der Fehler ist sehr schlecht 
reproduzierbar. Mit der Schaltung im Anhang bricht die Simulation nach 
0.3s mit trouble in U5 oder nach 6.0s mit trouble in U1 ab -- 
anscheinend zufällig, bei mehrfachem Start ohne irgendeine Änderung. 
Vielleicht reicht die Floating Point Auflösung nicht für so große 
Zeitunterschiede.

Um wenigstens jedesmal einen Fehler zu erzeugen hab' ich in der 
Schaltung den Innenwiderstand der Versorgung auf 100 Ohm erhöht, 
ansonsten ist alles Original. Meine LTspice Version ist vom 20.12.2017.

> Wir mögen beides, screenshot(png) plus die Originaldatei von
> LTspice(.asc) zum mitsimulieren.

Du hast es so gewollt. Aber ich glaube, man sollte das Problem einfach 
ignorieren. Die Simulationsergebnisse sind in jedem Fall, mit und ohne 
Abbruch, glaubwürdig. Das reicht mir, die Mathematik dahinter ist mir um 
mehrere Nummern zu hoch.

Autor: Helmut S. (helmuts)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Selbst deine Schaltung mit td=160ns bricht ab mit "time step too small".
Wenn man einen maximalen Zeitschritt vorgibt, dann läuft deine Schaltung 
mit td=160ns
.tran 0 8000m 0 0.1m startup


Dann habe ich td=5n gesetzt und es ging wieder nicht mehr.
Ich habe dann trise bei den rückgekoppelten NAND-Gattern hinzugefügt und 
einen 1pF parallel zu U5 geschaltet. Der maximale Zeischritt muss 
weiterhin auf 0.1m stehen.

td=5n trise=5n

C10=1pF

.tran 0 8000m 0 0.1m startup

Ich habe die geänderten Bereiche im Schaltplan eingekreist.


.step TEMP in Schaltungen mit ICs kann voll daneben gehen da die 
SPICE-Modelle von Opamps und anderen Bausteinen nicht dafür ausglegt 
sind. Da passieren dann oft seltsame Dinge die nichts mit dem echten 
Verhalten über Temperatur zu tun haben.

Ich habe dann in meiner ursprünglichen Schmitt-Trigger-Schaltung trise 
hinzugefügt.

: Bearbeitet durch User
Autor: Helmut S. (helmuts)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier die korrigierte Schaltung. Trise sollte nur an das NAND.

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.