gelöst Übertragung eines Pspice-Makromodells(OpV) in LTSpice

AAT

Member
Hallo,
ich bin noch neu hier und ich hoffe ich bin hier richtig :)

Ich habe soeben mein Praxissemester begonnen und soll für meinen Betreuer eines seiner lange aufgeschobenen Projekte mit vorantreiben/entwickeln.
Konkret geht es darum ein in Pspice vorliegendes Makromodell welches das Verhalten eines Operationsverstärkers modelliert in LTSpice zu übertragen.
Das Modell ist einem etwas älteren Artikel entnommen (Ich habe es hier eingefügt samt dazugehöriger Abbildungen).
Das Modell ist sowohl für FETs als auch für Bipolartransistoren geeignet (Zusatz 2a/2b), jedoch soll ich erstmal den (Haupt-)Teil ohne die Erweiterung für die BJTs machen (also nur den Teil in Abbildung 1). Leider habe ich kein Pspice zur Verfügung und kann somit nur auf die Schaubilder und den Artikel zurückgreifen.

Ich habe versucht mich sowohl in die Thematik Operationsverstärker als auch in das Programm LTSpice ein wenig einzuarbeiten (beides wurde im Studium nur dürftig behandelt) und natürlich habe ich auch den Artikel durchgearbeitet um die Funktionsweise des Makromodells nachzuvollziehen.

Nach flüchtiger Lektüre einiger LTSpice-Literatur würde ich die folgenden Pspice-Blöcke durch nachfolgend aufgelistete LTSpice-Blöcke ersetzen:
GP1,GP2,GI+,GI- (Pspice) ------------> G-Block (LTSpice)
EP1 (Pspice) ------------> E-Block (LTSpice)
H2,H0 (Pspice) ------------> H-Block (LTSpice)
ABM2I4 (Pspice) ------------> BI-Block (LTSpice)
unsicher:
EI+,EI-,EIL+,EIL- (Pspice) ------------> BV-Block (LTSpice)

vollkommen unschlüssig bin ich mir noch bei folgenden Blöcken:
ABM48 & ABM2 ------------> wie lassen sich solche "individuellen Funktionsblöcke" entwerfen ?

Weitere offene Fragen:
-Lassen sich die benötigten Parameter einfach so aus dem Datenblatt eines OpV entnehmen ?
Ich habe mal das Datenblatt eines x-beliebigen MOSFETs aus dem Netz eingefügt, auf diesem fehlen jedoch z.B. die Eingaben zur Einheitsfrequenz(unity-gain-freq. FU), Spannungsanstiegsrate (Slew-Rate SR), Gegentaktunterdrückung (CMRR), Leerlaufverstärkung (Av), Spannungsbegrenzungen (VRP.VRN),...

-Wenn sich zwei Blöcke auf die Spannungen V(IN1) und V(IN2) beziehen sind die gleichen Referenzspannungen gemeint oder die an den Eingängen dieser Blöcke anliegenden Spannungen?

-kann man die Funktionen eins zu eins übernehmen (gleich Syntax) ? Wenn ja, einfach in den Value-Wert reinschreiben ?

Und noch einige allgemeine Fragen zu OpV:
-Was bewirken/sagen Polstellen aus über das Verhalten des OpV ?
-Was bedeutet Aussteuerung des Ausgangs genau ?

Ich hoffe ich stelle keine allzu blöden Fragen. Wer Lust hat kann gerne was beitragen :)

schon mal Danke im voraus
AAT
 

Anhänge

helmutsennewald

Absoluter Profi
Hallo,

Die Syntax von PSPICE bezüglich der Elemente die mit E, F, G oder H anfangen kennt LTspice auch wenn das nicht alles im Manual steht. Da musst du eigentlich nichts ändern.
Diese ABM-Blöcke lassen sich mit B-Quellen (Bi, Bv) ersetzen.

> Lassen sich die benötigten Parameter einfach so aus dem Datenblatt eines OpV entnehmen ?

Jein.

Wenn es min, typ und max gibt, dann nimmt man typ(isch).
Die Offsespannung setzt man z. B. gleich auf 0V im SPICE-Modell.
Slewrate, GBW, CMRR stehen im Datenblatt. Auch da nur typisch nehmen.

Polstellen sind die Nullstellen der Faktoren im Nenner. Da ssind im Bodediagramm die Eckfrequenzen.
A(jw) = A0/((1+jf/f1)*(1+jf/f2)*(1+jf/3))

f1 ist oft im Bereich von 10Hz, f2 und f3 im Megahertzbereich.

Aussteuerung ist in welchem Bereich sich die Spannungen bewegen.

Am besten mal den Tietze-Schenk nehmen und das Kapiel Opamp durchlesen.

Helmut

PS: Die rosa-Hintergrundfarbe beim antworten ist schlecht. Ich kann meinen Mauscursor fast nicht sehen und auf "erleichterte Bedienung" möchte ich mein WIN10 nicht umstellen.
 

helmutsennewald

Absoluter Profi
Hallo AAT,

Mir fällt gerade ein, dass du das in der Entwicklungsphase als hierarchischen Block machen könntest. Das ist leichter zum Fehler suchen als in einer reinen Netzliste zu suchen.
Falls du nicht die fertige PSPICE-Netzliste als Vorlage hast, dann würde ich empfehlen die komplizierteren E/G-Elemente (die mit Gleichung) gleich mit Bv/Bi realisieren.
Muss es am Ende auch in PSPICE laufen?

Helmut
 

AAT

Member
Hallo Helmut,

Danke für deine zügige Antwort :)

> Lassen sich die benötigten Parameter einfach so aus dem Datenblatt eines OpV entnehmen ?

Jein.

Wenn es min, typ und max gibt, dann nimmt man typ(isch).
Die Offsespannung setzt man z. B. gleich auf 0V im SPICE-Modell.
Slewrate, GBW, CMRR stehen im Datenblatt. Auch da nur typisch nehmen.
Mein Problem ist, dass bei Datenblätter von Feldeffekttransistoren Parameter wie Slew-rate, Phasenreserve, unity-gain-Frequenz oder CMRR erst gar nicht angegeben werden (weder als typ noch als max soweit ich das erkennen kann). Dies gilt freilich nicht für Datenblätter von Bipolartransistoren, dort werden diese Angaben gemacht.
Vielmehr werden bei FETs folgende Kenngrößen angegeben:
BVDSS Drain-to-source voltage
IDSS Drain-to-source leakage current
IGSS Gate-to-source leakage current
VGS(th) Gate-to-source threshold voltage
RDS(on) Drain-to-source on-resistance
gfs Transconductance


Aussteuerung ist in welchem Bereich sich die Spannungen bewegen.
Also eine Spanne/Spektrum ? Was genau bedeutet z.B. Aussteuerbarkeit des Ausgangs/am Ausgang ?

Falls du nicht die fertige PSPICE-Netzliste als Vorlage hast, dann würde ich empfehlen die komplizierteren E/G-Elemente (die mit Gleichung) gleich mit Bv/Bi realisieren.
Muss es am Ende auch in PSPICE laufen?
Nein es muss nur auf LTSpice laufen und es sollen die Werte mit einem realen OpV verglichen werden.
Die Pspice-Netzliste habe ich (siehe Anhang), was genau lässt sich anhand der Netzliste erkennen ?
 

Anhänge

helmutsennewald

Absoluter Profi
Hallo,
schon läufts mit der Original-Modell-Datei (Subcircuits).
Mit Rechtsklick auf mein Symbol im Schaltplan geht ein Dialogfenster auf in dem die Parameter des Opamps verändert werden können.
Siehe Screenshot. Im zip-file sind die Dateien zum simulieren.

Im Prinzip ist das so etwas ähnliches wie UniversalOpamp2 von LTspice. Das hat dann noch zusätzlich Noise.
 

Anhänge

helmutsennewald

Absoluter Profi
In der Netzliste steht für jedes Bauteil eine SPICE-Zeile mit dem Bauteilebezeichner, den Netznamen an dessen Anschlüssen und dem Wert oder einer Formel.

Beispiel: Widerstand R1 an den Netzen 100 und out mit dem Wert 1kOhm.
R1 100 out 1k
 

helmutsennewald

Absoluter Profi
Slew-rate, Phasenreserve, und GBW (Frequenz für open loop gain = 1) steht in jedem Datenblatt. Zeig mir einen Link in dem das fehlt.
Ich vermute, dass in dem Modell mit unity gain eigentlich GBW gemein ist. Ich muss es mal durchlesen.
 

helmutsennewald

Absoluter Profi
Hallo,
> Mein Problem ist, dass bei Datenblätter von Feldeffekttransistoren Parameter wie Slew-rate, Phasenreserve

Die Jfet Stufe am Eingang unterscheidet sich in solchen (Macro-)Modellen nur durch den sehr kleinen aber stark temperturabhängigen Eingangsstrom und dem eventuell eingeschränkten erlaubten Bereich der Eingangsspannung bezogen auf die Versorgungsspannungen.
 

AAT

Member
Danke für die Mühe Helmut,

das war jetzt etwas viel auf einmal aber ich habe das Beispiel jedoch auf Anhieb zum laufen gekriegt :)
Ich werde versuchen den Rest zu verdauen (unter Zuhilfenahme des Buches von Tietze & Schenk welches morgen direkt ausgeliehen wird).
Bis dahin können die anderen offenen Fragen gerne beantwortet werden :)

Etwa:
-Wenn sich zwei Blöcke auf die Spannungen V(IN1) und V(IN2) beziehen sind die gleichen Referenzspannungen gemeint oder die an den Eingängen dieser Blöcke anliegenden Spannungen?
Oder auch:
Also eine Spanne/Spektrum ? Was genau bedeutet z.B. Aussteuerbarkeit des Ausgangs/am Ausgang ?

Slew-rate, Phasenreserve, und GBW (Frequenz für open loop gain = 1) steht in jedem Datenblatt. Zeig mir einen Link in dem das fehlt.
Ich vermute, dass in dem Modell mit unity gain eigentlich GBW gemein ist. Ich muss es mal durchlesen.
Genau mit unity-gain-Frequnz ist die Freuquenz gemeint bei der die Leerlaufverstärkung=1 ist.
Ich hatte mich auf das beigefügte Datenblatt bezogen(es enthält obige Parameter nicht), oder habe ich das falsch ausgesucht ?
 

Anhänge

AAT

Member
Ach ja was ich noch fragen wollte: wie hast du das Subcircuit eingebunden in dein Beispiel ? Etwa mithilfe der Netzliste oder einer Art embed/integrate-Funktion ?
 

helmutsennewald

Absoluter Profi
Ich habe die Modell-Datei in das Verzeichnis des Schaltplans kopiert und den Filenamen gleich in das Symbol(.asy) eingetragen. Natürlich hätte ich die Datei auch mit .lib Dateiname im Schaltplan dazuladen können. An der Modelldatei habe ich überhaupt nichts geändert. Die ist im Originalzustand.
 
Zuletzt bearbeitet:

Benutzer welche diesen Thread betrachten (Mitglieder: 0, Gäste: 1)

Wer hat diesen Thread gelesen

Benutzer welche auf diesen Thread geantwortet haben: 2 Sehe alle

Oben