Forum: Analoge Elektronik und Schaltungstechnik LTSpice interne Variable time


von JohnDoe (Gast)


Lesenswert?

Hi!

Ich habe den Eindruck, dass hier ein paar Leute ziemlich viel Ahnung von 
LTSpice haben, daher versuche ich mein Glück mal.
Ich habe schon ein paar mal gelesen, dass es eine interne Variable 
'time' gibt, die bei Wert-Zuweisungen benutzt werden kann oder auch in 
if-Kommandos. Die Beispiele funktionieren aber bei mir nie.

habe ich z.B. einen Widerstand R1, dann kann ich dessen Value Feld mit 
{R} benennen und in einer Direktive .param R=1k, diesen Wert zuweisen.

Wie mache ich es denn, dass LTSpice so was wie .param 
R={if(time>1m,1k,2k)} macht?

Bei einem Widerstand sah ich auch im Feld Resistance direkt so etwas wie 
1k*time.

Ist time jetzt eine interne, immer vorhandene Variable oder habe ich das 
irgendwie nicht richtig verstanden?

von hinz (Gast)


Lesenswert?


von Udo K. (Gast)


Angehängte Dateien:

Lesenswert?

Funktioniert so wie du schreibst.  Im Anhang ein Beispiel dazu.
An der Spannung V(1) siehst du direkt die Widerstandsänderung.

von JohnDoe (Gast)


Lesenswert?

Vielen Dank für eure Hilfe schon einmal. Hat irgendwie jetzt 
funktioniert, keine Ahnung was ich da immer falsch gemacht habe. Das 
muss a, Wochenende öfter ,mal das Selbe gewesen sein....


Wenn ich in deinem angefängten Beispiel den Wider stand parametrisiere, 
also als Wert {R} angebe und diesen mit .PARAM zuweise, habe ich aber 
noch Probleme.

.PARAM R={if(time>1m,1k,2k)} mit verschiedenen Variationen resultiert 
immer in einem cannot resolve R Fehler.
Wenn ihr mir sagen könnt, was ich da falsch mache - wäre noch die 
Sahnehaube.

von Udo K. (Gast)


Angehängte Dateien:

Lesenswert?

Hast du verschachtelte Klammern {} verwendet?
Im Anhang siehst du, wie es richtig geht.

von JohnDoe (Gast)


Lesenswert?

Hi, danke für die Mühe.
Ich habe Probleme damit, den if-Befehl in dem .PARAM Ausdruck zu 
verwenden. Also wenn der zeitlich verändernde Widerstand {R} im .PARAM 
beschrieben wird und nicht am Widerstand selber.


.PARAM R=1k    <--- ok, klassisch. kein Problem
.PARAM R={if(time>1m,1k,2k)} <--- bekomme ich so nicht hin.

von Udo K. (Gast)


Lesenswert?

Das geht so nicht.  Die .PARAMs werden vor dem Start der Simulation 
ausgewertet.

von JohnDoe (Gast)


Lesenswert?

Vielen Dank für die Erklärung! :-)

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Anstatt param eine bv-Quelle nehmen. Der Ausdruck bleibt quasi gleich, 
also BV v=...

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.