Gast
#4422965
Hallo Zusammen, ich versuche gerade, in LtSpice das Modell eines idealen Multipliers zu erstellen. Weiß jemand, wie das geht?
|
Anzeige
|
LtSpice: Multiplier ?
Gast
#4422965
Hallo Zusammen, ich versuche gerade, in LtSpice das Modell eines idealen Multipliers zu erstellen. Weiß jemand, wie das geht?
Gast
#4422966
du musst aufjedenfall noch serienwiderstände von 1mOhm nach der Spannungsversorgung einbauen Hallo Chris, am einfachsten geht es mit einer Bv-Quelle. V=V(netz1)*V(netz2) oder V=V(netz1,netz2)*V(netz3,netz4) Das letzte is äquivalent zu V=(V(netz1)-V(netz2))*(V(netz3-V(netz4)) Gruß Helmut Nachtrag: LTspice schreibt mit großem "LT".
Gast
#4423042
Danke schön :-) Ich versuche, das Ganze in eine Bibliothek zu verpacken:
Ist das richtig so ? Für einen idealen Subtrahierer (Differenzverstärker) reicht doch eine E (VCVS) Quelle aus. Oder alternativ eine G (VCCS) Quelle mit einem Widerstand parallel, das hat bei mir manchmal Konvergenzprobleme behoben (Norton-äquivalent zur E-Quelle mit Serienwiderstand, nur eben einfacher zu berechnen). chris_ schrieb: >.. > > Ist das richtig so? Ja.
Gast
#4423657
Irgendwie ist mir der Syntax von LtSpice immer noch unklar. Ich versuche, eine Multiplikation mit einer Konstanten zu erstellen. Das Modell müsste meiner Meinung nach so aussehen:
aber es kommt eine Fehlermeldung, wenn ich auf "simulate" drücke.
Gast
#4423698
Hier der nächste Versuch ..
irgendwie scheint LtSpice die Konstante "k" nicht zu akzeptieren. V(k) ist ein Netzname. Schreib einfach sowas: .param k=123 B1 output 0 V(input)*k
Gast
#4423752
>V(k) ist ein Netzname.
Danke. So was habe ich mir schon gedacht.
Meine Version sieht jetzt so aus. Funktioniert aber auch nicht:
Gast
#4423753
Hier noch die Fehlermeldung. Also das habe ich gerade laufen lassen und geht: v1 in 0 pulse(0 10 0 1) b1 out 0 v=v(in)* 2 .tran 1 .end Schau dir die Attribute im Symbol-Editor an. Jetzt kannst du im Schaltplan z. B. auf k=2 ändern. * multiply with constant .SUBCKT MULTIPLYCONST input output k=1 B1 output 0 V=V(input)*k .ENDS
Gast
#4424134
Hallo Helmut, vielen Dank für Deine Antwort. Deine Version funktioniert gut. Obwohl ich den Teil der *.lib auch schon so hatte, ging es bei mir nicht. Ich meine also zu Verstehen, dass man das *.asy File auf jeden Fall von Hand erweitern muss und dass der Fehler in den folgenden, beim mir fehlenden Zeilen lag:
Gast
#4424150
chris_ schrieb: > B1 output 0 V(input)*k Helmut S. schrieb: > B1 output 0 V=V(input)*k oder deswegen
Gast
#4424166
ahh .. mein visueller Syntaxcheck ist wohl etwas zu grob ;-) Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|