ich probiere gerade ein Modell einer idealen Diode zu entwerfen. Sie soll bei positiv anliegender Spannung einen ganz kleinen Widerstand darstellen und andersherum einen großen Widerstand darstellen.
Der Text meiner Sub-Datei lautet:
1
.subckt Diode_ideal 1 2
2
R1 1 2 R=if(V(1,2)>1n,1n,1G)
3
*Eingang 1 Anode
4
*Ausgang 2 Kathode
5
.ends Diode_ideal
Die asy-Datei setzt sich folgendermaßen zusammen:
1
Version 4
2
SymbolType CELL
3
LINE Normal 16 12 16 -32
4
LINE Normal 32 12 0 12
5
LINE Normal 0 12 16 36
6
LINE Normal 32 12 16 36
7
LINE Normal 32 36 0 36
8
LINE Normal 16 36 16 80
9
RECTANGLE Normal 48 64 -16 -16
10
WINDOW 0 53 7 Left 2
11
SYMATTR Value Diode_ideal
12
SYMATTR Prefix X
13
SYMATTR SpiceModel Diode_ideal.sub
14
SYMATTR Value2 Diode_ideal
15
PIN 16 -32 NONE 0
16
PINATTR PinName Anode
17
PINATTR SpiceOrder 1
18
PIN 16 80 NONE 0
19
PINATTR PinName Kathode
20
PINATTR SpiceOrder 2
Das ganze habe ich nun in einem einfachen Einweggleichrichter umgesetzt aber ich bekomme immer Fehlermeldungen bzgl. des Timesteps. Was mache ich falsch?
Würde auf die Schnelle mal darauf tippen: Der Widerstand ändert seine Wert sprunghaft und kann nicht mehr nach /dt abgeleitet werden -> die Simulation geht in die Knie.
Kann aber auch daneben liegen...
Würde auf die Schnelle mal darauf tippen: Der Widerstand ändert
seine
Wert sprunghaft und kann nicht mehr nach /dt abgeleitet werden -> die
Simulation geht in die Knie.
Kann aber auch daneben liegen...
Passt schon. Die Simulation wird bestimmt bei genau 1nV abbrechen.
Mit der Methode klappt es auch bei mir. Geht es denn nicht auch mit einem verstellbaren Widerstand? Mich wundert es ein bisschen, sonst könnte man diese Möglichkeit eines abhängigen Widerstandes nie nutzen, weil man bei einer If-Abfrage ja letztliche immer zwei Möglichkeiten und damit Sprünge hat.
Mich wundert es ein bisschen, sonst
könnte man diese Möglichkeit eines abhängigen Widerstandes nie nutzen,
weil man bei einer If-Abfrage ja letztliche immer zwei Möglichkeiten und
damit Sprünge hat.
Die Sprünge sind das Problem. Aber mit Dioden kann Spice schon ganz gut umgehen. In Reihe mit einer Spannungsquelle kann man den Spannungsfall einer Diode in einer Spice-verträglichen Weise nahezu eliminieren.
Auf die Weise kann man sich auch behelfsweise Z-Dioden oder Varistoren basten, die bei Spannungen schalten, welche so in der Bauteilsammlung von LT-Spice nicht drin sind.
Die Rückbezüglichkeit ist das Problem. Das Ergebnis des Statements verändert seine Voraussetzungen. Die Simulation beginnt zu schwingen und es wird keine Konvergenz erreicht. Das Verkürzen des Timesteps bringt keine Lösung und gerät an an sein Limit, was zur Fehlermeldung führt.
Da kann man die von ltspice angebotenen vorgertigten Lösungen verwenden, oder man recherchiert, wie die Profis diese Probleme lösen oder umgehen. Ist nicht ganz trivial.
ich probiere gerade ein Modell einer idealen Diode zu entwerfen. Sie
soll bei positiv anliegender Spannung einen ganz kleinen Widerstand
darstellen und andersherum einen großen Widerstand darstellen.
Der Text meiner Sub-Datei lautet:.subckt Diode_ideal 1 2
R1 1 2 R=if(V(1,2)>1n,1n,1G)
*Eingang 1 Anode
*Ausgang 2 Kathode
.ends Diode_ideal
Das ganze habe ich nun in einem einfachen Einweggleichrichter umgesetzt
aber ich bekomme immer Fehlermeldungen bzgl. des Timesteps. Was mache
ich falsch?
Gruß Sarah
Die ideale Diode , ist die standart diode im schematic editor oben rechts,da fällt die asydatei und zuordnung flach