Hallo,
ich werde es mal versuchen. Ich habe den entscheidenden Hinweis in einem
englischsprachigen Forum gefunden.
Ich habe das neue Bauteil nicht über LTSpice neu erstellt, sondern die
Symboldatei und die Modeldatei direkt bearbeitet, das finde ich recht
einfach.
Ich habe mir erst einmal das Spice Modell von der Herstellerseite
heruntergeladen. Als Beispiel habe ich hier mal einen OP genommen. Das
Model vom Hersteller sieht folgendermaßen aus:
1 | * LM393 VOLTAGE COMPARATOR "MACROMODEL" SUBCIRCUIT
|
2 | * CREATED USING PARTS VERSION 4.03 ON 03/07/90 AT 14:17
|
3 | * REV (N/A)
|
4 | * CONNECTIONS: NON-INVERTING INPUT
|
5 | * | INVERTING INPUT
|
6 | * | | POSITIVE POWER SUPPLY
|
7 | * | | | NEGATIVE POWER SUPPLY
|
8 | * | | | | OPEN COLLECTOR OUTPUT
|
9 | * | | | | |
|
10 | .SUBCKT LM393 1 2 3 4 5
|
11 | *
|
12 | F1 9 3 V1 1
|
13 | IEE 3 7 DC 100.0E-6
|
14 | VI1 21 1 DC .75
|
15 | VI2 22 2 DC .75
|
16 | Q1 9 21 7 QIN
|
17 | Q2 8 22 7 QIN
|
18 | Q3 9 8 4 QMO
|
19 | Q4 8 8 4 QMI
|
20 | .MODEL QIN PNP(IS=800.0E-18 BF=2.000E3)
|
21 | .MODEL QMI NPN(IS=800.0E-18 BF=1002)
|
22 | .MODEL QMO NPN(IS=800.0E-18 BF=1000 CJC=1E-15 TR=807.4E-9)
|
23 | E1 10 4 9 4 1
|
24 | V1 10 11 DC 0
|
25 | Q5 5 11 4 QOC
|
26 | .MODEL QOC NPN(IS=800.0E-18 BF=20.29E3 CJC=1E-15 TF=942.6E-12 TR=543.8E-9)
|
27 | DP 4 3 DX
|
28 | RP 3 4 46.3E3
|
29 | .MODEL DX D(IS=800.0E-18)
|
30 | *
|
31 | .ENDS
|
Das ganze habe ich so in eine neue Textdatei kopiert und als LM393.mod
gespeichert.
In dem Ordner ..\SwCADIII\lib\sym\Opamps gibt es eine Symboldatei
opamp2.asy . Diese Datei habe ich kopiert, im gleichen Ordner eingefügt
und in lm393.asy umbenannt.
Die Datei sieht dann folgendermaßen aus...vor der Bearbeitung:
1 | Version 4
|
2 | SymbolType CELL
|
3 | LINE Normal -32 32 32 64
|
4 | LINE Normal -32 96 32 64
|
5 | LINE Normal -32 32 -32 96
|
6 | LINE Normal -28 48 -20 48
|
7 | LINE Normal -28 80 -20 80
|
8 | LINE Normal -24 84 -24 76
|
9 | LINE Normal 0 32 0 48
|
10 | LINE Normal 0 96 0 80
|
11 | LINE Normal 4 44 12 44
|
12 | LINE Normal 8 40 8 48
|
13 | LINE Normal 4 84 12 84
|
14 | WINDOW 0 16 32 Left 0
|
15 | WINDOW 3 16 96 Left 0
|
16 | SYMATTR Value opamp2
|
17 | SYMATTR Prefix X
|
18 | SYMATTR Description Basic Operational Amplifier symbol for use with subcircuits in the file ./lib/sub/LTC.lib. You must give the value a name and include this file.
|
19 | PIN -32 80 NONE 0
|
20 | PINATTR PinName In+
|
21 | PINATTR SpiceOrder 1
|
22 | PIN -32 48 NONE 0
|
23 | PINATTR PinName In-
|
24 | PINATTR SpiceOrder 2
|
25 | PIN 0 32 NONE 0
|
26 | PINATTR PinName V+
|
27 | PINATTR SpiceOrder 3
|
28 | PIN 0 96 NONE 0
|
29 | PINATTR PinName V-
|
30 | PINATTR SpiceOrder 4
|
31 | PIN 32 64 NONE 0
|
32 | PINATTR PinName OUT
|
33 | PINATTR SpiceOrder 5
|
Dann habe ich ein paar Anpassungen vorgenommen, die fertige LM393.asy
sieht nun so aus:
1 | Version 4
|
2 | SymbolType CELL
|
3 | LINE Normal -32 32 32 64
|
4 | LINE Normal -32 96 32 64
|
5 | LINE Normal -32 32 -32 96
|
6 | LINE Normal -28 48 -20 48
|
7 | LINE Normal -28 80 -20 80
|
8 | LINE Normal -24 84 -24 76
|
9 | LINE Normal 0 32 0 48
|
10 | LINE Normal 0 96 0 80
|
11 | LINE Normal 4 44 12 44
|
12 | LINE Normal 8 40 8 48
|
13 | LINE Normal 4 84 12 84
|
14 | WINDOW 0 16 32 Left 0
|
15 | WINDOW 3 16 96 Left 0
|
16 | SYMATTR Value LM393
|
17 | SYMATTR Prefix X
|
18 | SYMATTR SpiceModel C:\Programme\SwCADIII\lib\sym\Opamps\LM393.mod
|
19 | SYMATTR Value2 LM393
|
20 | SYMATTR Description Operational Amplifier
|
21 | PIN -32 80 NONE 0
|
22 | PINATTR PinName 1
|
23 | PINATTR SpiceOrder 1
|
24 | PIN -32 48 NONE 0
|
25 | PINATTR PinName 2
|
26 | PINATTR SpiceOrder 2
|
27 | PIN 0 32 NONE 0
|
28 | PINATTR PinName 3
|
29 | PINATTR SpiceOrder 3
|
30 | PIN 0 96 NONE 0
|
31 | PINATTR PinName 4
|
32 | PINATTR SpiceOrder 4
|
33 | PIN 32 64 NONE 0
|
34 | PINATTR PinName 5
|
35 | PINATTR SpiceOrder 5
|
Geändert wurden dabei die folgenden Zeilen:
1 | SYMATTR Value LM393
|
2 | SYMATTR Prefix X
|
3 | SYMATTR SpiceModel C:\Programme\SwCADIII\lib\sym\Opamps\LM393.mod
|
4 | SYMATTR Value2 LM393
|
5 | SYMATTR Description Operational Amplifier
|
In den Zeilen mit Value muss als Wert das stehen, was in der *.mod
Datei hinter ".SUBCKT" steht.
Hinter Prefix muss ein X stehen, das das Modell als ".SUBCKT" vorliegt.
Hinter Spicemodel, muss der Pfad und die Datei mit den Model-Daten. Wenn
man die lm393.asy und lm393.mod in einen Ordner kopiert, kann man auch
den Pfad weglassen und nur lm393.mod schreiben.
Hinter Description kann man eine Beschreibung zu dem OP einfügen.
So habe ich schon einige OP's eingefügt.
Will man z.B einen neuen Transistor hinzufügen, braucht man hierzu nicht
unbedingt ein neues Symbol anlegen.
Als Beispiel habe ich mal das Model vom BC556 heruntergeladen. Die
Modell-Daten sehen so aus:
1 | .MODEL QBC556A PNP(
|
2 | + IS=2.059E-14
|
3 | + NF=1.003
|
4 | + ISE=2.971E-15
|
5 | + NE=1.316
|
6 | + BF=227.3
|
7 | + IKF=0.08719
|
8 | + VAF=37.2
|
9 | + NR=1.007
|
10 | + ISC=1.339E-14
|
11 | + NC=1.15
|
12 | + BR=7.69
|
13 | + IKR=0.07646
|
14 | + VAR=11.42
|
15 | + RB=1
|
16 | + IRB=1E-06
|
17 | + RBM=1
|
18 | + RE=0.688
|
19 | + RC=0.6437
|
20 | + XTB=0
|
21 | + EG=1.11
|
22 | + XTI=3
|
23 | + CJE=1.4E-11
|
24 | + VJE=0.5912
|
25 | + MJE=0.3572
|
26 | + TF=7.046E-10
|
27 | + XTF=4.217
|
28 | + VTF=5.367
|
29 | + ITF=0.1947
|
30 | + PTF=0
|
31 | + CJC=1.113E-11
|
32 | + VJC=0.1
|
33 | + MJC=0.3414
|
34 | + XCJC=0.6288
|
35 | + TR=1E-32
|
36 | + CJS=0
|
37 | + VJS=0.75
|
38 | + MJS=0.333
|
39 | + FC=0.7947 )
|
40 | *
|
Nun kann man in dem Ordner ...SwCADIII\lib\cmp die Datei standard.bjt
öffnen und die Daten einfach unten anhängen, Datei wieder speichern und
fertig.
So, ich hoffe, dass ich das ganze einigermaßen verständlich beschreiben
konnte.
Es gibt vielleicht noch bessere Wege neue Modelle einzufügen, aber ich
find das so recht einfach und auch fix.
Grüße
Dieter