Moin! Gibt es eine allgemeingültige Strategie in SPICE-Modellen die sogenannten 0-Nodes zu fixen? Viele OpAmp-Modelle sind leider so aufgebaut und damit in einer Schaltung in der NICHT mit bipolarer Stromversorgung gearbeitet wird, leider nicht einsetzbar. Der interne 0-Node wird an die Schaltplan-Masse automatisch verbunden. Ich habe versucht, dem 0-Node einfach z.B. eine ganz sicher nicht verwendete Netznummer zu geben und dies an allen Stellen im SPICE-Modell. Leider scheint das aber generell nicht zu funzen. So weit ich mich erinnere, klappte das mal vor Jahren bei einem anderen Modell. Wer so ein 'defektes' Modell sehen will, z.B. der NE5532 von TI. Irgendeine Idee? Der Fehler ist leider extrem häufig. Sozusagen ein unsichtbarer Extra-Pin. toll.
Hm, also ich würde ja schlichtweg einen Texteditor drüber jagen mit Search&Replace aber bisher hatte ich damit auch noch nie Schwierigkeiten mit sowas gehabt.
Darum geht es nicht. Nach dem Ersetzen funktioniert das Modell dann gar nicht mehr! Sieht so aus, als würde der Ausgangsstrom nämlich immer über diesen 0-Node fließen. Bei echten OpAmps fließt er aber über beide Versorgungsanschlüsse je nach aktueller Phase.
Wenn es dir nur darum geht, den Ausgangsstrom von der Versorgung zu ziehen, könnten zwei zusätzliche Zeilen im lib helfen:
1 | B1 3 0 I=uramp((I(EGND)*-1)) |
2 | B2 0 4 I=uramp(I(EGND)) |
Nicht schlecht, especia! Werde es ausprobieren. Eventuell geht nun auch der Trick den 0-Node zu eliminieren.
Das was ihr vorhabt ist keine gute Idee. Es gibt in den Modellen oft E-Quellen die auf 0 liegen aber trotzdem OK sind. Es wäre geradezu falsch deren Strom nach 0 mit zu messen. In der Yahoo Group gibt es eine bessere Methode den Ausgangsstrom nach V+ bzw. V- zu spiegeln. Im Prinzip wird einfach positiver Strom nach V+ gespiegelt und negativer Strom nach V-. LTspice Yahoo Group: Files > Lib > LM358 > Supply current simulation
Helmut S. schrieb: > Im Prinzip wird einfach positiver Strom nach V+ > gespiegelt und negativer Strom nach V-. Das ist doch genau das, was ich mache. Das ich EGND zur Ausgangsstrommessung benutze ist Zufall (hab damit zuerst etwas anderes versucht). Man könnte genausogut VLIM nehmen oder als universelle Lösung eine eigene Sense einbauen.
1 | *Draw output current from supply |
2 | B_Iop 3 0 I=uramp(I(VLIM)) ; add positive supply current |
3 | B_Ion 0 4 I=uramp(-I(VLIM)) ;add negative supply current |
1 | *.SUBCKT XXXX 1 2 <VP> <VN> <OUT> |
2 | * current sensed output |
3 | * | |
4 | .SUBCKT XXXX 1 2 <VP> <VN> XOUT |
5 | V_Ios <OUT> XOUT 0 ;sense output current |
6 | B_Iop <VP> 0 I=uramp(I(V_Ios)) ; add positive supply current |
7 | B_Ion 0 <VN> I=uramp(-I(V_Ios)) ;add negative supply current |
@Abdul: Was ist der Hintergrund dafür, dass du den internen 0 entfernen möchtest? Auch wenn nun der Ausgangsstrom in die Versorgung hineingerechnet wird, liefert den tatsächlichen Ausgangsstrom die Quelle FB. Durch EGND wird aber der Bezugspunkt auf ((V+)+(V-))/2 festgelegt, und ist damit unabhängig vom 0. Die Schaltung funktioniert auch, wenn du Rlast gegen eine Versorgungsspannung schaltest, oder auch mit unsymetrischer Versorgung. Abgesehen vom Ausgangstrom sind alle anderen Stromkreise intern geschlossen, traten also nach außen hin nicht in Erscheinung. (Darum auch der Workaround mit dem "Stromspiegel" in die Versorgung.)
especia schrieb: > @Abdul: > Was ist der Hintergrund dafür, dass du den internen 0 entfernen > möchtest? > Ich dachte, daß wäre klar oben beschrieben. Solche OpAmps eben asymmetrisch betreiben inkl. der Versorgungspins als Signale, z.B. für Bootstrap usw. > Auch wenn nun der Ausgangsstrom in die Versorgung hineingerechnet wird, > liefert den tatsächlichen Ausgangsstrom die Quelle FB. Durch EGND wird > aber der Bezugspunkt auf ((V+)+(V-))/2 festgelegt, und ist damit > unabhängig vom 0. Die Schaltung funktioniert auch, wenn du Rlast gegen > eine Versorgungsspannung schaltest, oder auch mit unsymetrischer > Versorgung. > Abgesehen vom Ausgangstrom sind alle anderen Stromkreise intern > geschlossen, traten also nach außen hin nicht in Erscheinung. (Darum > auch der Workaround mit dem "Stromspiegel" in die Versorgung.) Klingt gut, aber was geht mit deinem Modell nicht? Ist doch die interessantere Frage. Fast wie in der Werbung ;-) Ich habe auch heute noch einen Trauerfall für Helmut entdeckt: Helmut, dein powerOpAmp funzt nicht immer. Habs mal angehangen. Wenn man hinter dem OpAmp diesen abklemmt und als Ersatz eine BV-Quelle hinsetzt, hat man den gewünschten Sinus, beim OpAmp aber eine Verzerrung - die ich mir nicht erklären kann. Kann das sein, daß der Code von Mike nicht mit extrem niederohmigen Lasten funktioniert?
> Ich habe auch heute noch einen Trauerfall für Helmut entdeckt:
Helmut, ...
Ja Abdul wenn du dem Opamp keine Spannungsversorgung gibst dann brauchst
du dich nicht wundern, wenn die Simulation nicht wie erwartet
funktioniert. Wie war das noch mit "sich an die eigene Nase fassen". :-)
Helmut S. schrieb: >> Ich habe auch heute noch einen Trauerfall für Helmut entdeckt: > Helmut, ... > > Ja Abdul wenn du dem Opamp keine Spannungsversorgung gibst dann brauchst > du dich nicht wundern, wenn die Simulation nicht wie erwartet > funktioniert. Er bekommt doch 19V und es wird ein universalpoweropamp (=dein Werk!)verwendet, kein NE5532. Also nochmal drüberschauen.... Oder mir konkret sagen, wo ich einen Fehler machte. Ich mache auch mal Fehler und weiß ganz sicher nicht alles. BTW: Schalte mal ".ic i(L1)=9.5" ein, dann liefert die Simulation 1e6V. Kann das sein? Vielleicht sollte ich mal ein paar Tage was anderes machen. > Wie war das noch mit "sich an die eigene Nase fassen". :-) In welchem Zusammenhang meinst du das?
Abdul K. schrieb: > Solche OpAmps eben asymmetrisch betreiben inkl. der Versorgungspins > als Signale, z.B. für Bootstrap usw. Das mit dem Strom ist mir schon klar, ich sehe nur keinen Grund, den internen 0 umzubauen. Hast eine Beispielschaltung, die deswegen nicht funktioniert? > aber was geht mit deinem Modell nicht? Wie stellst du dir eine solche Aussage denn vor? Soll ich alle denkbaren Möglichkeiten durchtesten? Als Beispiel für etwas das geht, ein Booster aus einem Lehrbuch(*). Solange der Bezugspunkt berücksichtigt wird, funktioniert das. Wenn du also ein Problem mit einer Schaltung hast, vermute ich die Ursache in der äußeren Beschaltung und nicht im internen 0. (*)http://www.analog.com/library/analogDialogue/archives/39-05/op_amp_applications_handbook.html ps. Anscheinend hat der Server ein Problem mit meinem png - liefert 500 Internal Server Error nginx/1.2.7
especia schrieb: ... > Wenn du also ein Problem mit einer Schaltung hast, vermute ich die > Ursache in der äußeren Beschaltung und nicht im internen 0. ... Das vermute ich ehrlich gesagt auch. Ich hatte noch nie Probleme zwischen den internen und externen Nodes in Spice aber so viel mach ich mit Spice auch wieder nicht.
Meine Anfrage an Helmut hat sich erledigt. Der OpAmp hing an nem falschen Versorgungsnode. Dummerweise ein ähnlicher Node-Name. Die zwei neuen Posts schaue ich mir später an.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.