Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

SPICE Macken

"Müll rein, Müll raus." —Anonym

SPICE ist eine sehr zuverlässige Software, die jedoch ihre kleinen Macken hat, an die man sich gewöhnen muss. Mit „Quark“ meine ich eine Anforderung an den Benutzer, die Quelldatei auf eine bestimmte Weise zu schreiben, damit sie ohne Fehlermeldungen funktioniert.

Ich tue nicht bedeutet jede Art von Fehler bei SPICE, der zu falschen oder irreführenden Ergebnissen führen würde:dies würde besser als „Bug“ bezeichnet. Apropos Bugs, SPICE hat auch ein paar davon.

Einige (oder alle) dieser Eigenarten sind möglicherweise einzigartig für SPICE Version 2g6, die einzige Version, die ich ausgiebig verwendet habe. Sie wurden möglicherweise in späteren Versionen behoben.

Ein guter Anfang

SPICE verlangt, dass die Quelldatei mit etwas anderem als der ersten „Karte“ in der Schaltungsbeschreibung „Deck“ beginnt. Dieses erste Zeichen in der Quelldatei kann ein Zeilenvorschub, eine Titelzeile oder ein Kommentar sein:Es muss nur etwas sein dort vor der ersten komponentenspezifizierenden Zeile der Datei.

Wenn nicht, wird SPICE eine Analyse überhaupt verweigern und behauptet, dass ein schwerwiegender Fehler (z. B. falsche Knotenverbindungen) im „Deck“ vorliegt.

Ein gutes Ende

SPICE verlangt, dass das .end Zeile am Ende der Quelldatei darf nicht mit einem Zeilenvorschub oder Wagenrücklauf abgeschlossen werden. Mit anderen Worten, wenn Sie mit der Eingabe von „.end . fertig sind ” Sie sollten nicht die [Enter] drücken Taste auf Ihrer Tastatur.

Der Cursor in Ihrem Texteditor sollte unmittelbar rechts neben dem „d“ nach dem „.end . stoppen “ und geh nicht weiter. Die Nichtbeachtung dieser Eigenart führt zu einer „fehlenden .end-Karte . ” Fehlermeldung am Ende der Analyseausgabe.

Die eigentliche Schaltungsanalyse ist von diesem Fehler nicht betroffen, daher ignoriere ich die Meldung normalerweise. Wenn Sie jedoch eine „perfekte“ Ausgabe wünschen, müssen Sie diese Eigenart beachten.

Muss einen Knoten 0 haben

Sie haben viel Freiheit bei der Nummerierung der Schaltungsknoten, aber Sie müssen haben Sie irgendwo in Ihrer Netzliste einen Knoten 0, damit SPICE funktioniert. Knoten 0 ist der Standardknoten für die Schaltungsmasse und der Bezugspunkt für alle Spannungen, die an einzelnen Knotenpunkten angegeben sind.

Wenn SPICE eine einfache DC-Analyse durchführt, enthält die Ausgabe eine Auflistung der Spannungen an allen von Null verschiedenen Knoten in der Schaltung. Der Bezugspunkt (Masse) für alle diese Spannungsmessungen ist Knoten 0. Beispiel:

Knotenspannung Knotenspannung ( 1) 15.0000 ( 2) 0.6522 

Bei dieser Analyse liegt eine Gleichspannung von 15 Volt zwischen Knoten 1 und Masse (Knoten 0) und eine Gleichspannung von 0,6522 Volt zwischen Knoten 2 und Masse (Knoten 0) vor. In beiden Fällen ist die Spannungspolarität am Knoten 0 in Bezug auf den anderen Knoten negativ (mit anderen Worten, beide Knoten 1 und 2 sind positiv in Bezug auf Knoten 0).

Unterbrechungen vermeiden

SPICE kann keine offenen Stromkreise verarbeiten. Wenn Ihre Netzliste beispielsweise einen Stromkreis mit einer offenen Spannungsquelle vorgibt, wird SPICE eine Analyse verweigern.

Ein Paradebeispiel für diese Art von Fehler ist das „Anschließen“ einer Spannungsquelle an den Eingang einer spannungsabhängigen Quelle (zur Simulation eines Operationsverstärkers). SPICE muss einen vollständigen Strompfad sehen, daher binde ich normalerweise einen hochohmigen Widerstand (nennen Sie ihn rbogus !) über die Spannungsquelle, um als minimale Last zu wirken.

Bestimmte Komponentenschleifen vermeiden

SPICE kann bestimmte ununterbrochene Schleifen von Komponenten in einer Schaltung, nämlich Spannungsquellen und Induktivitäten, nicht verarbeiten. Die folgenden Schleifen führen dazu, dass SPICE die Analyse abbricht:

Netzliste l1 2 4 10m l2 2 4 50m l3 2 4 25m 

Netzliste v1 1 0 dc 12 l1 1 0 150m 

Netzliste c1 5 6 33u c2 6 7 47u 

Der Grund, warum SPICE mit diesen Bedingungen nicht umgehen kann, liegt in der Art und Weise, wie es die DC-Analyse durchführt:indem es alle Induktivitäten als Kurzschlüsse und alle Kondensatoren als Unterbrechungen behandelt. Da Kurzschlüsse (0 Ω) und offene Stromkreise (unendlicher Widerstand) entweder mathematische Unendlichkeiten enthalten oder erzeugen, kann ein Computer einfach nicht damit umgehen, und SPICE beendet die Analyse, wenn eine dieser Bedingungen eintritt.

Umgang mit Induktivitäten und Kondensatoren in SPICE

Um diese Komponentenkonfigurationen für SPICE akzeptabel zu machen, müssen Sie Widerstände mit entsprechenden Werten an den entsprechenden Stellen einfügen, um die entsprechenden Kurzschlüsse und Unterbrechungen zu beseitigen. Wenn ein Reihenwiderstand erforderlich ist, wählen Sie einen sehr niedrigen Widerstandswert.

Umgekehrt, wenn ein Parallelwiderstand erforderlich ist, wählen Sie einen sehr hohen Widerstandswert. Zum Beispiel:

Um das Problem mit der Parallelinduktivität zu beheben, fügen Sie einen Widerstand mit sehr niedrigem Wert in Reihe mit jeder störenden Induktivität ein.

Originalnetzliste l1 2 4 10m l2 2 4 50m l3 2 4 25m 
Festnetzliste rbogus1 2 3 1e-12 rbogus2 2 5 1e-12 l1 3 4 10m l2 2 4 50m l3 5 4 25m

Wie im vorherigen Beispiel mit parallelen Induktivitäten ist es wichtig, den Korrekturwiderstand (Rfalsch ) sehr geringer Widerstand, um den Schaltkreisbetrieb nicht wesentlich zu beeinträchtigen.

Um die Reihenkondensatorschaltung zu fixieren, muss über einen der Kondensatoren ein Widerstand parallelgeschaltet werden. SPICE benötigt zur Analyse einen Gleichstrompfad zu jedem Kondensator.

ursprüngliche Netzliste c1 5 6 33u c2 6 7 47u 
Festnetzliste c1 5 6 33u c2 6 7 47u rbogus 6 7 9e12 

Der RSchein Wert von 9 Tera-Ohm bietet einen Gleichstrompfad zu C1 (und um C2 ) ohne den Betrieb der Schaltung wesentlich zu beeinträchtigen.

Aktuelle Messung

Obwohl das Drucken oder Plotten von Spannungen in SPICE recht einfach ist, ist die Ausgabe von Stromwerten etwas schwieriger. Spannungsmessungen werden durch Deklaration der entsprechenden Stromkreisknoten angegeben.

Wenn wir zum Beispiel die Spannung an einem Kondensator wissen möchten, dessen Leitungen zwischen den Knoten 4 und 7 verbunden sind, können wir .print . ausmachen Aussage sieht so aus:

c1 4 7 22u .print ac v(4,7) 

Wenn wir jedoch wollten, dass SPICE den Strom misst Durch diesen Kondensator wäre es nicht ganz so einfach. Ströme in SPICE müssen in Bezug auf eine Spannungsquelle angegeben werden, nicht auf eine beliebige Komponente. Zum Beispiel:

c1 4 7 22u vinput 6 4 ac 1 sin .print ac i(vinput) 

Dieses .print Karte weist SPICE an, den Strom durch die Spannungsquelle VEingang . zu drucken , der zufällig dem Strom durch unseren Kondensator zwischen den Knoten 4 und 7 entspricht. Aber was ist, wenn es keine solche Spannungsquelle in unserer Schaltung gibt, die für die Strommessung herangezogen werden kann?

Eine Lösung besteht darin, einen Shunt-Widerstand in die Schaltung einzufügen und die Spannung daran zu messen. In diesem Fall habe ich einen Shunt-Widerstandswert von 1 gewählt, um 1 Volt pro Ampere Strom durch C1 . zu erzeugen :

c1 4 7 22u rshunt 6 4 1 .print ac v(6,4) 

Das Einfügen eines zusätzlichen Widerstands in unsere Schaltung, der groß genug ist, um eine sinnvolle Spannung für den beabsichtigten Strombereich abzusenken, kann sich jedoch nachteilig auf die Dinge auswirken. Eine bessere Lösung für SPICE ist diese, obwohl man im wirklichen Leben nie nach einer solchen Strommesslösung suchen würde:

c1 4 7 22u vbogus 6 4 dc 0 .print ac i(vbogus) 

Das Einfügen einer „falschen“ Gleichspannungsquelle von null Volt hat keinen Einfluss auf den Schaltungsbetrieb, bietet jedoch einen bequemen Ort für SPICE, um eine Strommessung durchzuführen. Interessanterweise spielt es keine Rolle, dass Vgefälscht ist eine Gleichstromquelle, wenn wir Wechselstrom messen möchten!

Die Tatsache, dass SPICE eine AC-Strommessung ausgibt, wird durch die „ac . bestimmt ”-Angabe im .print Karte und mehr nicht. Es sollte auch beachtet werden, dass die Art und Weise, wie SPICE Strommessungen eine Polarität zuordnet, etwas seltsam ist. Nehmen Sie die folgende Schaltung als Beispiel:

Beispiel v1 1 0 r1 1 2 5k r2 2 0 5k .dc v1 10 10 1 .print dc i(v1) .end 

Bei einer Gesamtspannung von 10 Volt und einem Gesamtwiderstand von 10 kΩ könnten Sie erwarten, dass SPICE Ihnen sagt, dass 1 mA (1e-03) Strom durch die Spannungsquelle V1 . fließt , aber in Wirklichkeit gibt SPICE eine Zahl von negativ . aus 1mA (-1e-03)! SPICE betrachtet den Strom aus dem negativen Ende einer Gleichspannungsquelle (die normale Richtung) als einen negativen Stromwert und nicht als einen positiven Stromwert.

Es gibt Zeiten, in denen ich eine "falsche" Spannungsquelle in einen Gleichstromkreis wie diesen lege, nur um SPICE dazu zu bringen, einen positiven auszugeben aktueller Wert:

Beispiel v1 1 0 r1 1 2 5k r2 2 3 5k vbogus 3 0 dc 0 .dc v1 10 10 1 .print dc i(vbogus) .end 

Beachten Sie, wie Vfalsch ist so positioniert, dass der Strom der Schaltung in seine positive Seite (Knoten 3) eintritt und seine negative Seite (Knoten 0) verlässt. Diese Ausrichtung gewährleistet einen positiven Ausgangswert für den Stromkreis.

Fourier-Analyse

Wenn ich eine Fourier-Analyse (Frequenzbereich) einer Wellenform durchführe, habe ich festgestellt, dass es notwendig ist, die Wellenform entweder auszudrucken oder mit dem .print zu zeichnen oder .plot Karten bzw. Wenn Sie es nicht drucken oder plotten, pausiert SPICE während der Analyse für einen Moment und bricht dann den Job ab, nachdem die „initiale Übergangslösung“ ausgegeben wurde.

Auch bei der Analyse einer vom „Impuls . erzeugten Rechteckwelle ” Quellfunktion, müssen Sie der Wellenform eine endliche Anstiegs- und Abfallzeit geben, sonst sind die Ergebnisse der Fourier-Analyse falsch. Aus irgendeinem Grund erzeugt eine perfekte Rechteckwelle ohne Anstiegs-/Abfallzeit signifikante Pegel von gerade Harmonische gemäß der Fourier-Analyseoption von SPICE, was für echte Rechteckwellen nicht gilt.


Industrietechnik

  1. So erstellen Sie eine automatische Google-Suche
  2. Einführung in SPICE
  3. Geschichte von SPICE
  4. Die Befehlszeilenschnittstelle
  5. Schaltungskomponenten
  6. Praktische Überlegungen – Digitale Kommunikation
  7. Halbleiterbauelemente in SPICE
  8. JFET-Macken
  9. IGFET-Macken
  10. Computersimulation elektrischer Schaltungen