Forum: Analoge Elektronik und Schaltungstechnik Zeitvariable Kapazität in LTSpice


von NichtlinearesSpice (Gast)


Lesenswert?

Moin,

ich würde gerne eine zeitabhängige Kapazität in LTSpice realisieren, 
dazu habe ich als Wert einer Kapazität folgendes verwendet:

C = 1u + 1u * time

was gemäß der Unterlagen die ich im Internet gefunden habe, über die 
Zeit den Wert der kapazität ändern sollte (in einer transient analysis). 
Leider spuckt LTSpice folgenden Fehler aus (Circuit: 
Konstantspannungsquelle + konstaner Widerstand + Kapzität):

Error on line 4 : c1 n001 0 1µ + 1µ * time
   Unknown parameter "*"

Eigentlich sollte der Operator keine Probleme beraten. Was ist da los, 
weiß jemand bescheid? Muss ich eine andere Simulationsart wählen?

von nop23 (Gast)


Angehängte Dateien:

Lesenswert?

lt. LTspice-Hilfe sollte die Definition einer variablen bzw. 
nichtlinearen Kapapzität über die Ladung Q möglich sein, wobei die 
spezielle Variable x der aktuellen am Kondensator anliegenden Spannung 
entspricht (Q=C*U).

Zum Testen mit einer linear mit 1V/s ansteigenden Spannung gespeist - 
dann entspricht der Zahlenwert des Stroms durch den Kondensator in 
Ampere der Kapazität in Farad.

Allerdings irritiert mich dabei der Endwert von 1.2µF anstelle der 
erwarteten 1.1µF. Explizites Klammern hilft nicht und das Einbauen eines 
Funktionsaufrufs (cx) innerhalb der Q-Formel führt zu einer 
Fehlermeldung (no such function). Das dürfte aber ein generelles Problem 
sein, da ich auch schon bei der Definition von variablen Induktivitäten 
mittels Funktion die gleiche Fehlermeldung hatte.

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Danke "nop23" für deine Vorlage.
ich habe die Schaltung dann noch etwas ausgebaut und die Formel für den 
Strom hinzugefügt. Siehe Datei var_cap1.asc.

I(C) = C(t)*dV/dt + V(t)*dC(t)/dt

C(t) = Cconst + Cvar(t)
LTspice:
Q = (Cconst + Cvar(t))*x

Gruß
Helmut

von nop23 (Gast)


Angehängte Dateien:

Lesenswert?

Mittlerweile hab' ich dann auch den 'irritierenden' Anteil am Strom 
verstanden (dC/dt) - war wohl noch etwas früh.

Allerdings habe ich eine B-Quelle benutzt um u.a. die Probleme mit der 
direkten Einbindung von Funktionen zu umgehen.

von Felsentreu (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

sorry, ich will den Thread nicht kapern, aber bei mir funktioniert es 
mit einer Spannungsquelle im Bauteilewert nicht richtig.
Die obere Schaltung läuft, wie sie soll, die Untere nicht. Der einzige 
Unterschied: der Ground ist mit dem veränderbaren Kondensator und der 
Steuerquelle verbunden.

Ist das mein Fehler oder soll das so sein?

Grüße

von nop23 (Gast)


Angehängte Dateien:

Lesenswert?

Felsentreu schrieb:
> Die obere Schaltung läuft, wie sie soll, die Untere nicht.
Was klemmt denn? Auf den ersten Blick kann ich keinen Fehler erkennen.

von Felsentreu (Gast)


Lesenswert?

Hi,
welche Spice Einstellungen verwendes du? Ich habe keine Einstellung 
gefunden bei der es läuft.

Grüße

von nop23 (Gast)


Lesenswert?

Bei mir ist einzige Abweichung vom Default, dass ich üblicherweise den 
'Alternate' Solver verwende. Aber auch mach dem Zurücksetzen kann ich 
dein Problem nicht nachvollziehen.
Möglicherweise LTspice IV (bei mir) vs. XVII - dazu kann evtl. Helmut 
mehr sagen.

von Felsentreu (Gast)


Lesenswert?

Hi,
ich habe XVII(x64).

Grüße

von Erwin D. (Gast)


Lesenswert?

Felsentreu schrieb:
> Die obere Schaltung läuft, wie sie soll, die Untere nicht.

Was für eine Fehlermeldung kommt denn bei der unteren?

von Felsentreu (Gast)


Lesenswert?

Hi,
 es kommt gar keine Fehlermeldung. Die Simu läuft nur etwas langsamer 
und zeigt ein nicht nachvollziehbaren Brückenstrom.

Grüße

von Helmut S. (helmuts)



Lesenswert?

Bei mir ging es auch nicht. Dan habe ich alles mögliche erfolglos 
probiert. Dann habe ich die Steuerung auf Volt statt nV geaändert. Das 
war es aber auch nicht. Dann have ich deine Strommesser entfernt und 
durch einen Kurzschluss ersetzt. Dann ging es. Inzwischen geht es auch 
mit neuen Strommessern. Frag mich nicht warum es jetzt geht. Ich weiß es 
nicht.
Ich verwende den "Normal"-Solver.

von NichtlinearesSpice (Gast)


Lesenswert?

Felsentreu schrieb:
> Hi,
> welche Spice Einstellungen verwendes du? Ich habe keine Einstellung
> gefunden bei der es läuft.
>
> Grüße

Erstmal Danke an alle Antworten :)
Habe zwar verschiedene probiert, aber es ging auch bei mir bei keiner, 
derzeit die Standardeinstellungen. Ich habe an mehreren Stellen im 
Internet die Aussage gelesen, dass es so funktionieren müsste 
(zugegebenerweise anhand eines Widerstandes der zeitlich verändert 
wurde). Aber auch mit einem Widerstand läuft es bei mir nicht.

Scheint (so) nicht zu gehen, seltsam.

von Helmut S. (helmuts)


Lesenswert?

NichtlinearesSpice schrieb:
> Felsentreu schrieb:
>> Hi,
>> welche Spice Einstellungen verwendes du? Ich habe keine Einstellung
>> gefunden bei der es läuft.
>>
>> Grüße
>
> Erstmal Danke an alle Antworten :)
> Habe zwar verschiedene probiert, aber es ging auch bei mir bei keiner,
> derzeit die Standardeinstellungen. Ich habe an mehreren Stellen im
> Internet die Aussage gelesen, dass es so funktionieren müsste
> (zugegebenerweise anhand eines Widerstandes der zeitlich verändert
> wurde). Aber auch mit einem Widerstand läuft es bei mir nicht.
>
> Scheint (so) nicht zu gehen, seltsam.

Hast du meine Lösung mit deiner modifizierten Schaltung übersehen?
Die läuft.

Mit dem Normal-Solver läuft die Simulation meiner Schaltung 10 mal so 
schnell wie mit dem Alternate-Solver. Den Alternate-Solver nur nehmen, 
wenn es mit dem Normal-Solver gar nicht geht.

: Bearbeitet durch User
von Felsentreu (Gast)


Angehängte Dateien:

Lesenswert?

Mahlzeit,

Helmut S., deine Formel geht leider nicht bei kleinen Kondensatoren. Mit 
56nF gibt es schon deutliche Simulationsartefakte, mit 1nF werden 6 Giga 
Ampere angezeigt.

Grüße

von nop23 (Gast)


Lesenswert?

NichtlinearesSpice schrieb:
> Habe zwar verschiedene probiert, aber es ging auch bei mir bei keiner,
> derzeit die Standardeinstellungen. Ich habe an mehreren Stellen im
> Internet die Aussage gelesen, dass es so funktionieren müsste
> (zugegebenerweise anhand eines Widerstandes der zeitlich verändert
> wurde). Aber auch mit einem Widerstand läuft es bei mir nicht.
In LTspice gibt es für einen Widerstand die undokumentierte Form 
"R=Ausdruck", ein Kondensator kann nur über "Q=Ausdruck" variabel 
gestaltet werden. Möglicherweise beziehen sich deine Fundstellen im 
Internet (Wo genau?) auf einen anderen Spice-Abkömmling.

Poste deine Simulation (asc) als Anhang, sonst ist eine weitere 
Diskussion nur mehr Rätselraten.

von Felsentreu (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
ich habe es!

LTspice ignoriert den Rser des Kondensators bei einer Formeleingabe.
1f Ohm reichen dass die Sim läuft.

Grüße

von nop23 (Gast)


Lesenswert?

Felsentreu schrieb:
> LTspice ignoriert den Rser des Kondensators bei einer Formeleingabe.
> 1f Ohm reichen dass die Sim läuft.
In deinem asc kann ich kein explizites Rser finden. Defaultwert ist ein 
Rpar = 1e12/C, während Rser für Kodensatoren meines Wissens nach Null 
ist.
http://ltwiki.org/index.php?title=Undocumented_LTspice#.options_Gfarad.3D.3Cvalue.3E

So ganz bin ich noch nicht überzeugt, ob das wirklich der Grund für die 
Unteschiede in den beiden LTSpice-Versionen ist - vor allem wegen 
Helmuts Beschreibung.

von nop23 (Gast)


Lesenswert?

Ach ja - für variable C gibt es generell keinen Defaultwert für Rpar. 
Unterschiede würden also nur C2 betreffen.

Aus der oben verlinkten Seite:
1
The arbitrary capacitor (specified via a behavioral charge equation - refer to the topic in Help) has no parallel conductance and is not affected by Gfarad.

von Felsentreu (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

beide Widerstände, Rpar und Rser werden ignoriert. Lass die Sim laufen, 
bei mir kommt dafür auch eine Meldung. Der 1f Ohm Widerstand muss auch 
an Ground liegen, an der heißen Seite läut es wieder nicht.

Grüße

von Helmut S. (helmuts)



Lesenswert?

Danke Felsentrau für die Lösung mit dem Serien-R.

Ich hatte mit Rser in den Strommessern experimentiert aber das hat nicht 
wirklich geholfen.

Dafür habe ich dann noch eine andere Methode probiert(*_test4) und die 
scheint auch mit jeder beliebigen Kapazität zu funktionieren.

Ich auch noch die von dir erwähnte Lösung mit dem Serienwiderstand 
angehängt (*_test5). Ich habe Rser=1u genommen. Da könnte man 
wahrscheinlich auch auf Rser 1m gehen ohne einen größeren Fehler zu 
machen.

: Bearbeitet durch User
von nop23 (Gast)


Lesenswert?

Felsentreu schrieb:
> Lass die Sim laufen, bei mir kommt dafür auch eine Meldung.
Bei läuft es ja auch mit und ohne expliziten Rser.
Die aufpoppende Warnmeldung gibt es auch in LTspice IV - war mir aber 
neu, da ich diese Kombination von Parametern noch nie verwendet habe.

Helmut S. schrieb:
> Dafür habe ich dann noch eine andere Methode probiert(*_test4) und die
> scheint auch mit jeder beliebigen Kapazität zu funktionieren.
Deine Kreativität überrascht mich immer wieder.

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.