Forum: Analoge Elektronik und Schaltungstechnik Slew Rate Simulieren - Limit Funktion in LT-Spice


von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Liebes Forum,

Frage kurz formuliert:
Wie setzte ich 0.08/V(eingang) als einen Parameter in LT Spice um?

Lange Version:

Ich komme gerade bei einem Modell nicht mehr weiter.
Dabei möchte ich einen Operationsverstärker in einfachster weise als 
Millerintegrator Simulieren.

Der Opamp besteht also aus einer Spannungsgesteuerten Stromquelle 
(Kapazität und Widerstand Parallel) und und einer Spannungsgesteuerten 
Spannungsquelle.

Ich bekomme es aber bei bestem Willen nicht hin, die Slew Rate sinnvoll 
zu implementieren.

Die Slew Rate errechnet sich ja aus Slew=Imax/C
Wenn ich in LT Spice allerdings den Wert von G limitiere, dann limitiere 
ich die Verstärkung. Im Beispiel oben wäre das dann die 
Eingangspannung*0.08.
Das ist natürlich murks!
Ich muss ja den maximalen Ausgangsstrom von G limitieren, also das 
Verhältnis durch Eingangspannung/limit. Nur wie formuliere ich das in 
einen Parameter um?

Schon mal vielen Dank und ein gutes verlängertes Wochenende!

von voltwide (Gast)


Lesenswert?

Nimm den generischen OPamp von LTSpice, da kannst Du GBW, Slewrate, 
Ausgangsstrom etc parametriereen

von Helmut S. (helmuts)


Lesenswert?


von Stefan (Gast)


Lesenswert?

Das wäre natürlich auch eine Möglichkeit, dann ist der Lerneffekt aber 
leider aber kleiner.

Es ist nicht so, als hätte ich nicht schon denkbare Variatonen von
"={LIMIT(1, V(in)*0.8, -V(in)*0.8}" ausprobiert.

von Stefan (Gast)


Lesenswert?

Die Antworten haben sich gerade überschnitten:
Von dieser Seite komme ich eigentlich.
Dort wird allerdings die Spannungsgesteuerte Stromquelle "aus der Ferne" 
gesteuert. Ich mag es aber lieber, wenn man direkt sieht von wo die 
Ansteuerung kommt, daher hab ich das Symbol der spannungsgesteuerten 
Quelle verwendet.

von Helmut S. (helmuts)


Lesenswert?

limit(V(in)*1, -1m, 1m)

Den Widerstand zu 100k wählen für Leerlaufverstärkung 100000.

C=1n für 1V/us.



Nachtrag
> limit(V(in)*1, -1m, 1m)

Ich glaube meine Werte waren noch keine gute Wahl. Vielleicht doch 
besser mal nachlesen.
http://www.ecircuitcenter.com/OpModels/Ilimit_Slew/ILim_Slew.htm

: Bearbeitet durch User
von Stefan (Gast)


Lesenswert?

Die Berechnung verstehe ich eigentlich.
Wenn ich folgendes Probiere einen fehler zurück:

Error on line 4 : g1 0 n004 in 0 =(limit(1,0.8/v(in),-0.8/v(in))
   Unknown parameter "limit"
Fatal Error: Missing value of transconductance for "G1"


Sobald ich das /v(in) raus nehme läuft die Simulation. Da steckt doch 
sicher irgendwie ein syntax Fehler.

von Helmut S. (helmuts)


Lesenswert?

Wenn du schon PSPICE-syntax verwendest, dann richtig.

Beispiel:

G1 0 10 VALUE={LIMIT( 2.5133e-2*V(1,2),0.01,-0.01)}


Beachte das VALUE= und die geschweiften Klammern {}

VALUE={LIMIT( 2.5133e-2*V(1,2),0.01,-0.01)}


Dein /V(in) ist zusätzlich noch falsch. Es muss * heißen.

: Bearbeitet durch User
von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Das / müsste an der Stelle richtig sein, wenn ich einen G Block 
verwende.
(100V am Eingang würden 100A ergeben, limit ist dann 100/100 * 0.8 also 
0.8A)
Ich trage als Bauteilwert (Value) ein:

 {limit(1,0.8/v(in),-0.8*v(in)}

macht mir mein Spice dann das, was ich oben gepostet habe

Schon mal vielen Dank für eure Geduld!

von Stefan (Gast)


Lesenswert?

Ich bin gestern wirklich noch verzweifelt.
Hat jemand eine gute Empfehlung für eine Einführung in die Spice 
Programmiersprache (Die Auswahl ist ja groß)?

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hallo Stefan,

Ich habe dir mal ein Beispiel gemacht. Werde mir aber mal die Beispiele 
von hier umsetzen und hier einstellen.
http://www.ecircuitcenter.com/OpModels/Ilimit_Slew/ILim_Slew.htm
Man muss ja nicht immer bei null anfangen.

Du hast PSPICE-spezifische Syntax verwendet. Das findest du im Manual 
von PSPICE aber nicht in einem allgemeinen SPICE-Buch.
VALUE={1m*limit(V(in), -0.1, 0.1)}
LTspice versteht diese Syntax auch. Dafür nimmt man das Symbol gpoly in 
LTspice. in nativem LTspice würde man eine Bi-Quelle nehmen.
Die Formel wäre damit
I=1m*limit(V(in), -0.1, 0.1)


Gruß
Helmut

: Bearbeitet durch User
von Stefan (Gast)


Lesenswert?

Ich habe erstmal eine Notlösung verwendet um eine Begrenzung zu bauen. 
Die Maximale Spannung wird mit Dioden begrenzt und dadurch dann nach 
einem G-Block der maximale Strom.

Jetzt komme ich aber mit den Berechnungen aus dem Netz nicht wirklich 
weiter:
Dort wird die Slew Rate als das dU/dt der Ausgangspannung bei offener 
Schleife angesehen.
Im Datenblatt des Chips ist die Slew Rate aber in der geschlossenen 
Schleife angegeben. Auf die Slew Rate der offenen Schleife kann ich 
daher doch gar nicht schließen?

von Helmut S. (helmuts)


Lesenswert?

Die slewrate bei offener Schleife ist die gleiche. Der Opamp ist auch 
bei Ggenkopplung schon außerhalb des linearen Bereichs, wenn er in die 
slwerate-Begrenzung geht.

: Bearbeitet durch User
von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Helmut,
Ich bin gerade dabei deine Syntax einzubauen möchte aber kurz meine 
Simulation zeigen. Bitte nicht über den Workaround lachen!

Die Slew Rate wird auf etwa 20V/us begrenzt, in der Simulation lässt 
sich das sehr gut an der Gerade ablesen.
Ab 1.5us greift die Slew Rate nicht mehr und das IC verhält sich linear.

Im Datenblatt steht folgendes:

"The feedback compensation network limits the bandwidth of the 
closed-loop response and so the slew rate will be reduced due to the
high frequency roll-off. Without feedback compensation, the slew rate is 
typically larger."

Die Angabe von 20V/us wurde mit der Schaltung im Anhang (Quelle LM 3886 
Datenblatt) gemessen. Wird die Slew Rate also wie die Anstiegszeit am 
90% Punkt bestimmt?

So ganz weiß ich noch nichts mit der Datenblattangabe anzufangen.

von Helmut S. (helmuts)


Lesenswert?

Die slewrate ist immer am Punkt maximaler Steilheit. Es ist einfach die 
obere Grenze der Anstiegsgeschwindigkeit.

Du hast ein Modell mit Übetragungsfunktion 1. Ordnung. Deshalb kriecht 
das immer auf den Endwert.
Ein realer Opamp ist mindestens ein System 2. Ordnung, nomralerweise 
sogar 3. Ordnung. Deshalb gibt es dort meistens auch Überschwinger.

: Bearbeitet durch User
von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Es gibt in LTspice universelle Modelle - opamp und UniversalOpamp2. Beim 
UniversalOpamp2 kann man aus 4 Modellen wählen.

Ich habe mal ein Beispiel gemacht. Durch Rechtsklick auf das Symbol 
kommt man in das Fenster um die Parameter zu setzen und um das Modell 
auszuählen. Zum Modell wählen dort einen Doppelklick in das Feld mit 
level.x machen.

Slew=10Meg bedeutet 10V/us

: Bearbeitet durch User
von Theresia S. (theresia_s)


Lesenswert?

Beim LM 3886 habe ich die Datenblattkurve digitalisiert (und auch einen 
Chip  in der offenen Schleife vermessen um zu sehen ob die Angaben 
hinhauen).

Eine gute Näherung war im Prinzip ein Tiefpass 1.Ordnung mit niedriger 
Grenzfrequenz gefolgt von 5 Tiefpässen mit hoher Grenzfrequenz.

Wenn ich den Tiefpass 1 Ordnung von der Übertragungsfunktion "abziehe" 
ist die Phasenverschiebung ist ab etwa 300KHz proportional zur Frequenz 
die Amplitude fast linear. Also eigentlich einVerzögerungsglied, das ich 
inLT Spice nicht gefunden habe. Die Approximation über 5 Tiefpässe fand 
aber physikalischer.

Wenn ich durch bin, zeige ich mal die Simulation und den gemessenen 
Wert. Schon ohne genaue Slew Rate limitierung war ich bereits zufrieden.

von Stefan (Gast)


Lesenswert?

Wie heißt denn das Aquivalent von b1 für Spannungsquellen?
E-ploy scheint ja das Aquivalent für G-Poly zu sein.

Beste Grüße, Stefan

von Stefan (Gast)


Lesenswert?

Das Limit führt leider bei einem etwas komplexeren Modell zu Problemen. 
So ein Limit ist einfach zu unstetig. Die Simulation läuft mit dem 
Limitieren durch Dioden wesentlich stabiler.

von Helmut S. (helmuts)


Lesenswert?

Stefan schrieb:
> Wie heißt denn das Aquivalent von b1 für Spannungsquellen?
> E-ploy scheint ja das Aquivalent für G-Poly zu sein.
>
> Beste Grüße, Stefan

Bi ist für die steuerbare Stromquelle
I=Formel

Bv ist für die steuerbare Spannungsquelle
V=Formel

bv, BV, Bv, bV ist für LTspice egal. Es wird nicht zwischen Groß- und 
Kleinbuchstaben unterschieden.

Im klassischen SPICE gab es diese B-Quellen gar nicht. Da gibt es nur 
E-POLY und G-POLY. Die konnten nur ein Polynom der Form k0 +k1*V + 
k2*V^2 + k3*V^3 + .... OK es gibt POLY auch mit 2 Eingängen. Damit kann 
man auch V1*V2 bilden. Allerdings sind die Formeln mit B-Quellen viel 
übersichtlicher als die Verwemdung von POLY bei E und G Quellen. PSPICE 
hat einfach diese klassichen E und G Quellen mit VALUE=Formel 
aufgebohrt. Die sind im Prinzip das Gleiche wie die B-Quellen in LTspice 
und eingen anderen SPICE Programmen.

: Bearbeitet durch User
von Michel M. (elec-deniel)


Lesenswert?


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
Noch kein Account? Hier anmelden.