Hallo zusammen. Ich möchte in LTspice eine spannungsabhängige Kapazität modellieren. Dazu habe ich mir überlegt, diese mittels look up table zu realisieren in der Form U1,C1; U2,C2;...; Un,Cn usw. Mein Problem ist nur, dass ich nicht ganz genau weis, wie eine look up table in LTspice erstellt wird. Ich hoffe hier findet sich Jemand, der mir das anhand von einem Beispiel erklären kann.
Mir ist dazu nichts bekannt. Allerdings macht man soetwas auch für gewöhnlich über sog. Varactor-Dioden. LT-Spice liefert solch ein Modell mit und im Internet gibt es auch Formeln zur Berechnung der Kapazitäten. Mittels dieser Formel und einem Taschenrechner und ein paar Minuten Zeit sowie den Datenblättern der gewünschten Varaktor-Diode kann man so ziehmlich jede Diode gut nach-modellieren, in dem man eine bestehende Diode kopiert und an ein paar Parametern schraubt, bis es einigermaßen passt. EDIT: Ja, es gibt auch eine Möglichkeit, dass man eine Funktion definiert und diese dann entsprechend die Kapazität berechnen lässt, aber die Varaktor-Diode ist in 99% der Fälle für solch eine Anwendung der bessere Fall. Wofür brauchst du das eigentlich? Dann können wir dir auch besser helfen... FM-Modulation bzw. Demodulation kommt mir so spontan beispielsweise in den Sinn...
:
Bearbeitet durch User
Ich brauche das für ein Simulationsmodell eines Kleinsignal ESB eines MOSFETs. Dort sind ja die Eingangs,- die Ausgangs- und die Rückkoppelkapazität (Ciss, Coss, Crss) von der Drain-Source-Spannung abhängig. In den Datenblättern gibt es dazu auch immer entsprechende Abbildungen, wo die 3 Kapazitäten über Uds aufgetragen sind. Die dort abgebildeten Kurven sind selten linear, wodurch es schwer wird eine allgemeine Formel anzugeben. Aus diesem Grund wollte ich die Kapazitätswerte mit ihren entsprechenden Spannungswerten in einer look up table hinterlegen. LTspice bietet als Funktion : <table(x,a,b,c,d,...)> <Interpolate a value for x based on a look up table given as a set of pairs of points.> Hat schon Jemand Erfahrung damit?
:
Bearbeitet durch User
Hmm... ganz doof: Ließe sich das nicht auch mittels Varaktor-Dioden nachbilden? - Wenn man die Kennlinien und die ungefähren Kapazitäten hat sollte sich das eigentlich einigermaßen nachbilden lassen. Man muss eben mit den Parametern etwas spielen, aber grundsätzlich sollte es eigentlich gehen. Die Varaktor-Dioden verhalten sich auch nicht linear, was das Verhältnis von Sperrspannung zu Kapazität angeht.
Ansonsten vielleicht hilft dir folgender Link: http://k6jca.blogspot.de/2012/07/monte-carlo-and-worst-case-circuit.html Dort geht es zwar um eine Monte-Carlo-Analyse aber auch hier werden Bauteilwerte quasi zur Laufzeit mittels einer definierten Funktion errechnet.
Dann eine grundsätzliche Frage. Wie lassen sich Funktionen in LTspice einbinden?
Das hat er dort in dem Link ein wenig angerissen bzw. ein wenig erklärt. Aber über das Einbinden von Funktionen wird sich Google sicherlich gut auskennen. Ich muss da leider passen, aber vielleicht können die anderen Foren-Teilnehmer dort ansetzen...
Du hast den Link gepostet, während ich noch dabei war mein Post zu schreiben. Trotzdem Danke für deine Hilfe soweit.
Hallo, Je nach Analyse stehen verschiedene Methoden zur Verfügung. .AC 1. Parameter Ersetzung mit .param xyz=table() statt 10p dann {xyz} 2. Diodenmodell mt entsprechenden Paramtern 3. Ladungsgleichung direkt für die Kapazität Q=... statt 10p .TRAN 1. Diodenmodell mt entsprechenden Paramtern 2. Ladungsgleichung direkt für die Kapazität Q=... statt 10p (Um die Formel für Q zu bekommen musst du das Integral von C(u)du berechnen.) In der LTspice Yahoo group gibt es im Bereich Files viele Beispiele. https://groups.yahoo.com/neo/groups/LTspice/files/%20Tut/Nonlinear%20Capacitance%20of%20Capacitors/ https://groups.yahoo.com/neo/groups/LTspice/info Gruß Helmut
:
Bearbeitet durch User
Helmut S. schrieb: > 1. Parameter Ersetzung mit .param xyz=table() statt 10p dann {xyz} wie stelle ich denn da den Bezug zu der Spannungsquelle, mit der ich die Kapazität des Kondensators steuern will?
Hallo, .param wird nur einmal am Beginn der Simulation berechnet und bleibt dann konstant. Deshalb hilft .param nur bei .AC . Wenn das in allen Simulationsarten benötigt wird, dann kommt nur das Diodenmodell oder die Ladungsgleich Q=... in Frage. Deshalb nochmals meine Frgae. Willst du eine .TRAN Analyse machen oder "nur" eine .AC Analyse?
Helmut S. schrieb: > Willst du eine .TRAN Analyse machen oder "nur" eine .AC Analyse? Ich will eine .Tran Analyse machen Helmut. Ich habe jetzt zum probieren eine einfache Schaltung aufgebaut mit einer normalen Spannungsquelle V1 und daran angeschlossen einen Widerstand {Rvar}. Über .param Rvar = table(V(V1),4,1,8,2) habe ich versucht die table-Funktion einzubinden, doch ich kriege als Fehlermeldung "WARNING: Can't resolve .param Rvar = table(V(V1),4,1,8,2). Liegt es wirklich nur daran, dass ich eine .tran Analayse mache? Edit2: Nun habe ich das ganze um eine Liste erweitert. Die Directive dazu sieht nun so aus: .step param Vstemp list 4 8 12 16 .param Rvar = table(Vstemp,4,1,8,2). Das brachte aber auch nicht das erwünschte Resultat. Ich will nachher eine Spannung linear hochlaufen lassen und an vorher festgelegten Spannungswerten, soll sich der entsprechende Widerstands- bzw. Kapazitätswert einstellen. Kriegt LTspice so etwas hin?
:
Bearbeitet durch User
Hier mal die Möglichkeiten für Spannung oder Strom abhängigen Widerstand. Man kann bei R=... auch die Zeit "time" verwenden. R=1k+100*sin(2*pi*50*time) .param wird vor der Zeitsimulation berechnet. Deshalb könnend da nur "Konstanten" verwendet werden.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.