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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Stefan (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Nimm den generischen OPamp von LTSpice, da kannst Du GBW, Slewrate, 
Ausgangsstrom etc parametriereen

von Helmut S. (helmuts)


Bewertung
0 lesenswert
nicht lesenswert

von Stefan (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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:

Bewertung
1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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

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]
  • [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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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