Member
Beiträge: 15.902
Themen: 70
Registriert: Jul 2009
Ein Schaltwandler liefert eine Rohspannung die weitere Abwärtswandler speist, sogenannte (P)oint - (O)f - (L)oad-Regler.
Der Schaltwandler arbeitet im current mode. Damit ist seine interne Schleifenverstärkung direkt porportional der wirksamen Lastimpedanz.
Die Stabilität wird üblicherweise optimiert für resistive oder Stromquellenlast.
Die angeschlossenen POL-Regler stellen aber keins von beiden dar, sondern einen negativen Innenwiderstand:
Bei konstanter Leistungsentnahme sinkt die Stromaufnahme mit steigender Spannung. Damit ist das bisherige Kompensationsmodell hinfällig.
Um dieser Thematik beizukommen möchte ich eine möglichst generische Simulation aufstellen. Für den POL-Regler sollte ein Ersatzschaltbild erstellt werden, z.B. in Form einer spannungsgesteuerten Stromquelle.
Am Kontrolleingang läge dann an
Vctl = Pin/V(input)
wobei Pin einen konstanten parameter, V(input) die aktuelle Versorgungsspannung darstellt.
Allerdings wird dies für V(input) = 0 nicht funktionieren, da der Strom dann unendlich sein müßte. Somit haben wir eine Funktion, die in zwei Teilstücken definiert werden muß:
V(ctl) = 0
für V(input) < Schwellwert
V(ctl) = Pin / V(input)
für V(input) >= Schwellwert
Hat jemand ne brillante Idee dies umzusetzen?
...mit der Lizenz zum Löten!
Member
Beiträge: 15.902
Themen: 70
Registriert: Jul 2009
Auch dieses Thema ist nicht wirklich neu:
R.D. Middlebrook, "Design Techniques for Preventing Input-Filter Oscillations in Switched-Mode Regulators," Proceedings Powercon 5, 1978
...mit der Lizenz zum Löten!
Member
Beiträge: 15.902
Themen: 70
Registriert: Jul 2009
Ja!
Ja!
...mit der Lizenz zum Löten!
Member
Beiträge: 872
Themen: 8
Registriert: Jan 2008
[QUOTE]
V(ctl) = 0
für V(input) < Schwellwert
V(ctl) = Pin / V(input)
für V(input) >= Schwellwert
/QUOTE]
Es gibt in SPICE ein Modell für einen spannungskontrollierten Schalter, dessen Schaltpunkt über eine definierte Schwelle gesteuert wird. Oder ändert sich der Schwellwert selber auch ?
Dann gibt es nur die Möglichkeit mit einem Komparator und diesem Spannungskontrollierten Schalter. Oder einem Komparator kombiniert mit einem Zweiquadrantenmultiplizierer.
Gruss
Charles
Member
Beiträge: 15.902
Themen: 70
Registriert: Jul 2009
Zitat:Original geschrieben von phase_accurate
[QUOTE]
V(ctl) = 0
für V(input) < Schwellwert
V(ctl) = Pin / V(input)
für V(input) >= Schwellwert
/QUOTE]
Es gibt in SPICE ein Modell für einen spannungskontrollierten Schalter, dessen Schaltpunkt über eine definierte Schwelle gesteuert wird. Oder ändert sich der Schwellwert selber auch ?
Dann gibt es nur die Möglichkeit mit einem Komparator und diesem Spannungskontrollierten Schalter. Oder einem Komparator kombiniert mit einem Zweiquadrantenmultiplizierer.
Gruss
Charles
Das Problem ist doch, dass ich eine ideale Stromquelle in spice nicht einfach abschalten kann mit hilfe eines in Reihe befindlichen Schalters.
Deshalb denke ich an eine arbiträre Stromquelle deren Verhalten mit dem entsprechenden mathematischen Ausdruck beschrieben wird.
Eine erste grobe Annäherung liefert
eine arbiträre Stromquelle mit dem Wert I={Pout}/(V(Vout)+{UVLO})
wobei Pout=5W und VVLO=2V
Hiermit hat man, mit gewissen Fehlern, immerhin eine Last mit negativem Innenwiderstand von vergleichbaren Verhalten.
...mit der Lizenz zum Löten!
Member
Beiträge: 15.902
Themen: 70
Registriert: Jul 2009
Zitat:Original geschrieben von Rumgucker
Zitat:Original geschrieben von voltwide
V(ctl) = 0
für V(input) < Schwellwert
V(ctl) = Pin / V(input)
für V(input) >= Schwellwert
Hat jemand ne brillante Idee dies umzusetzen?
Brillante Idee: ein Blick in die Spice-Hilfe?
Wenn ich da was entdeckt hätte, würd ich wohl nicht so blöd fragen
...mit der Lizenz zum Löten!
Arbitrary behavioral voltage source -> runterscrollen -> Programmiersprache sichten. Kennst Du doch alles. Deswegen wundert mich Deine Frage.
Zum Beispiel
V=if(V(input) < {Schwellwert},0,{Pin} / V(input)
{Schwellwert} und {Pin} sind ".params"
Member
Beiträge: 15.902
Themen: 70
Registriert: Jul 2009
Zitat:Original geschrieben von Rumgucker
Arbitrary behavioral voltage source -> runterscrollen -> Programmiersprache sichten. Kennst Du doch alles. Deswegen wundert mich Deine Frage.
Zum Beispiel
V=if(V(input) < {Schwellwert},0,{Pin} / V(input)
{Schwellwert} und {Pin} sind ".params"
danke, nö, hatte ich vergessen, die Hitze ist eben nicht so mein Ding
Derweil habe ich einen mathematischen Ausdruck kreiiert, der das auch kann:
...mit der Lizenz zum Löten!
Member
Beiträge: 15.902
Themen: 70
Registriert: Jul 2009
Soweit, so gut.
Nur dass mit diesem Konstrukt in der vollständigen Schaltung LTSpice gegen die Wand rennt.
Habe ich Dir heute eigentlich schon gesagt, dass ich Spice hasse?
...mit der Lizenz zum Löten!
Gibts ne hilfreiche Fehlermeldung?
Member
Beiträge: 15.902
Themen: 70
Registriert: Jul 2009
Auch Deine Expression führt zu denselben Resultaten:
Ein OPV mit GBW=1meg, SlR=1meg und 3V Betriebsspannung liefert 16V Nadeln von atemberaubender Anstiegszeit!? Ja gehts noch?
Anbei die ASC-Datei
https://stromrichter.org/d-amp/content/i..._spice.asc
...mit der Lizenz zum Löten!
Member
Beiträge: 15.902
Themen: 70
Registriert: Jul 2009
Btw man findet diese Signale, wenn man den rödelnden Simulator nach einigen Sek stoppt und dann im plot ganz ans Ende der bis dahin simulierten Zeit geht und stark hinein zoomt.
...mit der Lizenz zum Löten!
Member
Beiträge: 15.902
Themen: 70
Registriert: Jul 2009
Zitat:Original geschrieben von Rumgucker
Gibts ne hilfreiche Fehlermeldung?
Nein, denn ich habe selbst abgrebrochen, weil der Fortschritt nur noch in nano oder picoSekunden Intervallen zu sehen war.
...mit der Lizenz zum Löten!
Member
Beiträge: 10.724
Themen: 45
Registriert: Jan 2008
Zitat:Original geschrieben von voltwide
Zitat:Original geschrieben von Rumgucker
Gibts ne hilfreiche Fehlermeldung?
Nein, denn ich habe selbst abgrebrochen, weil der Fortschritt nur noch in nano oder picoSekunden Intervallen zu sehen war.
Was erwartest du an einer Unstetigkeit in der Funktion?
Member
Beiträge: 10.724
Themen: 45
Registriert: Jan 2008
Ich bin mir auch nicht sicher, ob die ursprüngliche Zielsetzung korrekt ist. Wieso sollte der Strom auf 0 fallen?
Meiner Meinung nach ist das hier eine bessere Definition:
Code:
I=if (V(Vout)<{UVLO},{Pout}/{UVLO},{Pout}/V(Vout))
Member
Beiträge: 15.902
Themen: 70
Registriert: Jul 2009
Zitat:Original geschrieben von kahlo
Ich bin mir auch nicht sicher, ob die ursprüngliche Zielsetzung korrekt ist. Wieso sollte der Strom auf 0 fallen?
Meiner Meinung nach ist das hier eine bessere Definition:
Code:
I=if (V(Vout)<{UVLO},{Pout}/{UVLO},{Pout}/V(Vout))
Er muss nicht auf Null fallen, Pout/UVLO ist aber auf jeden Fall zu viel, da unterhalb UVLO der chip nicht aktiviert wird. Hier könnte man irgendeinen Wert wie 10mA eintragen, wenn es denn hilft.
Die Sache mit dem OP-Amp-Modell könnte interessant sein, wenn dieses nun gerade eine Krücke sein soll, welches ist denn besser?
Es gibt da irgendwo auch ein error-Amp-Modell, vmtl aus dem Dunstkreis von monsieur Basso.
...mit der Lizenz zum Löten!