Forum: Analoge Elektronik und Schaltungstechnik LTSpice - Parameterübergabe


von Herb (Gast)


Lesenswert?

Hallo,

Ich befasse mich aktuell mit einer umfangreichen Simulation in LTSpice 
und brauche eure Hilfe.
Dieses Projekt soll hinterher weiterverwendet und deswegen weitestgehend 
hierarchisiert werden. Hierbei entstand jedoch ein Problem mit der 
Parameterübergabe an Subcircuits.

Das Projekt ist wie folgt aufgebaut:

Ebene -2:
- Subcircuit: stellt eine Spannungsgesteuerte Spannungsquelle dar.
Ebene -1:
- Sekundärschaltbild: Komposition aus verschiedenen Elementen, unter 
anderem mehrere Elemente der Ebene -2.
Hauptebene:
- Hauptschaltung: Komposition mehrerer Elemente der Ebene -1.

Nun soll die Spannungsgesteuerte Spannungsquelle parametriert werden. 
Das heißt ich will in der Hauptebene die Parameter der 
Spannungsgesteuerten Spannungsquellen einstellen - für jede einzelne von 
ihnen unterschiedliche Werte. Jedoch funktioniert dies nicht so, wie 
wenn man die Parameter an Sekundärschallbilder unterer Hierarchieebenen 
übergibt, da sich Subcircuits anscheinen anders verhalten.

Hat jemand von euch schon Mal Erfahrungen mit dieser Situation gemacht 
und kann mir weiterhelfen?

Liebe Grüße und vielen Dank schonmal im Voraus!

von Helmut S. (helmuts)


Lesenswert?

Meinst du jetzt hierarchische Schaltpläne oder meinst du Hierarchie 
basierend auf subcircuits mit reinem Text?

von Max H. (herb17)


Lesenswert?

Beides!

Ebene -2 ist ein Subcircuit, also eine in Textform geschriebene 
Netzliste (<- so heißt es doch, nicht wahr?).
Und Ebene -1 ist ein hierarchischer Schaltplan, also mit diskreten 
Bauelementen in LTSpice aufgebaut.

Anders konnte ich es bisher leider nicht implementieren.

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hier mal ein paar Beispiele die ich für die LTspice-Yahoo-group gemacht 
habe.

Keines der Beispiele beinhaltet exakt deine Konfiguration.

Zur Not musst du eines deiner Beispiele anhängen, wenn ich es 
"reparieren" soll.

: Bearbeitet durch User
von Max H. (herb17)


Angehängte Dateien:

Lesenswert?

Vielen Dank für deine Beispiele!
Wieder was gelernt was bestimmt später nochmal hilfreich sein wird.

Für mein spezielles Problem hier nochmal ein kleines Beispiel. Nicht so 
professionell und eingänglich wie deins, aber es beschreibt mein Problem 
ganz gut.

Und zwar haben wir in den Dateien "resistor.cir" und "block.asc" jeweils 
einen Widerstand. Jeweils ein Widerstand in Form einer Netzliste und 
eines hierarchischen Schaltplans sind in "doppelblock.asc" 
zusammengefasst.

In der Hauptebene haben wir nun zwei solcher Doppelblöcke mit jeweils 
zwei Widerständen drin, deren Parameter einzeln, von der Hauptebene aus 
eingestellt werden sollen.

Bei dem Widerstand in dem hierarchischen Schaltplan klappt dies, 
mithilfe der Übergabe des Parameters an den Unterschaltplan, ohne 
Probleme.

Das Gleiche klappt jedoch mit dem Widerstand in der Netzliste nicht.

Eine Möglichkeit, den Widerstandswert in der Netzliste zu parametrieren, 
ist in meinem Beispiel gegeben. Leider ist es jedoch hiermit nicht 
möglich, die beiden Werte der Netzlisten-Widerstände unabhängig 
voneinander festzulegen.

Vielen Dank für deine Mühen!

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hallo Max,

es ist gerichtet :-)
Schau bitte bei den Symbolen die Attribute an. Die blauen Kommentare 
kannst du auch weglassen.

Hruß
Helmut

von Helmut S. (helmuts)


Lesenswert?

Nachtrag
Natürlich könnte man auch mehrere Parameter übergeben.
Statt
RA={RA1}
steht dann halt
RA={RA1} RX={RA2} ...

von Max H. (herb17)


Lesenswert?

Hallo Helmut,

Habe deine Lösung soeben in mein Projekt implementiert und es klappt 
wunderbar!

Vielen lieben Dank dir, hat mir wirklich geholfen. Wäre ich von selbst 
vermutlich nie drauf gekommen.

von Max H. (herb17)


Lesenswert?

Hallo Helmut,


ich glaube ich müsste dich nochmals um Hilfe bitten. Jetzt wo man gerade 
mal einen Experten gefunden hat, dachte ich mir, ich frage einfach 
nochmal ganz doof.

Und zwar wollte ich fragen ob es möglich ist, default-Parameter für die 
beiden Widerstände festzulegen?

Ich hatte versucht im ersten Unterschaltbild - also dem doppelblock - 
mittels der Spice-Direktive ".param RB={100} .param RI={100}" 
default-Werte festzulegen, wenn auf der Hauptebene keine Parameter 
angegeben werden. Dies führte jedoch nicht zum gewünschten Ergebnis.

Ein weiterer Versuch, die Widerstände in den "PARAMS" des Schaltbildes 
für den Doppelblock direkt zu definieren führte ebenfalls zu einer 
Fehlermeldung.


Viele Grüße,
Max

von Helmut S. (helmuts)


Lesenswert?

Solange du in den Symbolen bereits Parameter übergibst, muss LTspice vor 
der eigentlichen Simulation in der Lage sein denen eine Zahl zu geben.

Ändere doch dein doppelblock.asy.
Schreib dort statt RB={RA} einfach RB=100.

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.