Re: Welches SPICE?

"Bernd Maier" wrote in :

Wer kann mir denn was nettes empfehlen? >

switchercad (linear.com) hat keine Limits, aber eine "Linear-lastige" Bibliothek :-). Man kann aber auch andre Modelle verwenden und kommt mit den paar Transistoren usw. die dabei sind schon gut aus.

M.

Reply to
Matthias Weingart
Loading thread data ...

"Bernd Maier" schrieb im Newsbeitrag news:bg8p6k$lk95o$ snipped-for-privacy@ID-68715.news.uni-berlin.de...

Hallo Bernd, die von Ben erwähnte PSPICE-Student Version ist beschrankt auf Schaltungen mit

keine

den

Aus purer Neugier habe ich mir auch schon viele dieser Demoversionen heruntergeladen. Viele haben total überladene Auswahlmenues in knalligen Farben. Dagegen ist das übersichtliche Menue von LTSPICE gerade zu eine Wohltat.

Siehe oben.

Simulatoren

Probier mal Google mit: spice overview simulator

SPICE wurde an einer Uni in den USA entwickelt. Aufbauend auf diesem Source Code haben viele Firmen dann diese Software weiterentwickelt. Man erkennt das daran, daß dort SPICE im Namen vorkommt, PSPICE, HSPICE LTSPICE u.s.w. .

formatting link

Der Originalcode enthält übrigens eine Unmenge Bugs und Speicher-Lecks wie von Kennern berichtet wird. Ist eben typischer Akademiker Code, geniale Algorythmen aber keine Ahnung/Zeit daraus ein zuverlässiges Programm zu machen.

Ich gehe davon aus, daß du LTSPICE schon kennst, aber es gibt sicher auch andere Leser dieser NG die gerne mal simulieren möchten und eine Entscheidungshilfe suchen. Ich empfehle das freie unlimitierte LTSPICE. Support dafür gibt es auch und zwar hier in den NG, der YAHOO-LTSPICE group und auch direkt vom Entwickler Mike Engelhardt falls man Bugs findet oder ein Feature wünscht.

Gruß Helmut

Download:

formatting link

Die User Group:

formatting link

Reply to
Helmut Sennewald

|> Der Originalcode enthält übrigens eine Unmenge Bugs und Speicher-Lecks |> wie von Kennern berichtet wird. Ist eben typischer Akademiker Code, |> geniale Algorythmen aber keine Ahnung/Zeit daraus ein zuverlässiges |> Programm zu machen.

Wusst gar nicht, dass auch Windows aus der Ecke kommt und geniale Algorithmen hat ;-) Ich glaube eher, dass die Bugs durch die Portierung von Fortran nach C reingekommen sind.

BTW: LTspice finde ich auch gut :-)

--
         Georg Acher, acher@in.tum.de
         http://wwwbode.in.tum.de/~acher
         "Oh no, not again !" The bowl of petunias
Reply to
Georg Acher

Wobei noch zu ergänzen wäre:

  • wurde von Studenten portiert die natürlich keine routinierten Programmierer und besonders keine routinierten C-Programmierer waren. Aber eben billig.
  • die Fortran-Version der 70er Jahre war besser nicht weil Studenten damals besser Fortran konnten, sondern weil * damals mehr im Brennpunkt des akademischen Interesses und sich damit mehr und auch kompetente Leute engagierten. * die Industrie förderte. Weil Halbleiterhersteller sowas wollten.

MfG JRD

Reply to
Rafael Deliano

Um die Speicher-Lecks zu sehen muß man kein Experte sein. Schlimmer sind aber die zahlreichen nicht initialisierten Pointer bzw. die verfrühte oder falsche Speicherfreigabe. Vielleicht hat man ja deshalb den garbage collector in ngspice mit eingebaut.

Der Berkley-Simulator wird in den Projekten ngspice und tclspice (basierend auf ngspice mit tcl-bindings) immer mal wieder weiterentwickelt (z.B Integration von XSpice,...).

mfg werner

--
http://www.my-stuff.onlinehome.de
Reply to
Werner Hoch

Bernd Maier schrieb:

[LTSpice]

Das hat Helmut erst kürzlich ausführlich erklärt. Schau mal nach dem Thread 'Frage zu LTSpice'.

Gruß Dieter

Reply to
Dieter Wiedmann

"Bernd Maier" schrieb im Newsbeitrag news:bgfte0$ofphl$ snipped-for-privacy@ID-68715.news.uni-berlin.de...

richtige

"nett"

Hallo Bernd, es gibt keinen speziellen Library Editor. Man editiert zuerst mit dem Symbol-Editor von LTSPICE die Symbole. File->New Symbol oder falls man schon was ähnliches hat File->Open Symbols(*.asy) oder einfach mit der Maus den File name.asy auf LTSPICE schieben. In die Symbole trägt man dann bei Subcircuits(X..) den Namen des Library-Files ein. Bei eingebauten Modellen (D, NPN, PNB, NJF, PJF, NMOS, PMOS) muß man etwas anders vorgehen.

Es gibt dafür zwei Methoden: Methode-1:

---------- Man fügt die Modelle einfach am Ende der entsprechenden Original-Files ein. Diese befinden sich im Verzeichnis C:\Programme\Ltc\SwCADIII\lib\cmp Die Datei für Bipolar-Transistoren heißt z.B. Standard.bjt . Also einfach den folgenden Text am Ende dieser Datei anhängen. Das geht mit jedem Texteditor.

.MODEL BC107 NPN (

  • Is=1.16pA BF=364 BR=4 Rb=42.6ohm Re=10.6ohm
  • Rc=4.26ohm Cjs=0F Cje=36.8pF Cjc=10.8pF Vje=750mV
  • Vjc=750mV Tf=530ps Tr=87.4ns mje=333m mjc=333m
  • VA=120V ISE=42.2pA IKF=120mA Ne=2)
  • .model Q2N2222 NPN (
  • Is=14.34f Xti=3 Eg=1.11 Vaf=74.03 Bf=255.9 Ne=1.307
  • Ise=14.34f Ikf=.2847 Xtb=1.5 Br=6.092 Nc=2 Isc=0 Ikr=0 Rc=1
  • Cjc=7.306p Mjc=.3416 Vjc=.75 Fc=.5 Cje=22.01p Mje=.377
  • Vje=.75 Tr=46.91n Tf=411.1p Itf=.6 Vtf=1.7 Xtf=3 Rb=10)

LTSPICE muß danach neu gestartet werden falls es noch an war, da diese Model-Dateien nur beim Start gelesen werden. Jetzt addiert man im Schaltplan ganz normal einen npn-Transistor. Danach Cursor über Transistor im Schalplan bewegen, dann rechte Maustaste -> Pick new transistor . In dem Auswahlmenue müßten jetzt am Ende die beiden hinzugefügten Transistoren erscheinen.

Bei einem Internet-Update von LTSPICE beiben die angehängten Modelle erhalten. Bei einer echten Neuinstallation sind sie allerdings weg.

Methode-2:

---------- Man packt die Modelle in einen File den man entweder in ein Unterverzeichnis nach "C:\Programme\Ltc\SwCADIII\lib\sub" oder in das selbe Verzeichnis wiré den Schaltplan(.asc) legt. Beispiel: Den folgenden Text in eine Datei nach "C:\Programme\Ltc\SwCADIII\lib\sub\mybip.lib" packen.

.MODEL BC107 NPN (

  • Is=1.16pA BF=364 BR=4 Rb=42.6ohm Re=10.6ohm
  • Rc=4.26ohm Cjs=0F Cje=36.8pF Cjc=10.8pF Vje=750mV
  • Vjc=750mV Tf=530ps Tr=87.4ns mje=333m mjc=333m
  • VA=120V ISE=42.2pA IKF=120mA Ne=2)
  • .model Q2N2222 NPN (
  • Is=14.34f Xti=3 Eg=1.11 Vaf=74.03 Bf=255.9 Ne=1.307
  • Ise=14.34f Ikf=.2847 Xtb=1.5 Br=6.092 Nc=2 Isc=0 Ikr=0 Rc=1
  • Cjc=7.306p Mjc=.3416 Vjc=.75 Fc=.5 Cje=22.01p Mje=.377
  • Vje=.75 Tr=46.91n Tf=411.1p Itf=.6 Vtf=1.7 Xtf=3 Rb=10)

Jetzt addiert man im Schaltplan ganz normal einen npn-Transistor. Danach Cursor über den Text NPN des Transistor im Schalplan bewegen. Dann rechte Maustaste drücken. Den Text NPN ersetzen durch BC107. Jetzt noch die Zeile .INCLUDE mybip.lib im Schaltplan hinzufügen. Dazu auf .op im Befehlsmenue klicken und in die Kommandozeile .include mybip.lib eintragen. Diese Zeile erscheint nachher genau so in der Netzliste. Ohne weitere Pfadangabe muß der Libraryfile dann entweder im Arbeitsverzeichnis des Schaltplans liegen oder im Installations- verzeichnis C:\Programme\Ltc\SwCADIII\lib\sub .

Hinweis: Man kann mit dem .op Komamndo im Befehlsmenue alle möglichen SPICE Kommandos als Text hinzufügen, z.B. auch die hier verwendeten Modelle. Dann bräuchte man schon gar keine .include ... Zeile mehr. Das kann für Lehrzwecke ganz nützlich sein, da man dann die Parameter der Modelle gleich im Schaltplan sieht. Da sollt aber bitte die Ausnahme sein, da man im Schaltplan wenig Text haben möchte.

Ja

Nein, aber man muß LTSPICE neu starten, Grund siehe oben.

Ergänzung: Es gibt auch eine Menge Herstelelr die für die Transistoren Subcircuits (X..) verwenden in die die Transistormodelle eingebettet sind. DIese Subcircuits enthalten dann meistens noch die Zuleitungsinduktivitäten und Kapazitäten. Dafür muß man dann Symbole nach dem Schema wie für Opamps machen. Die Symbole gibt es auch fertig unter

formatting link
als xnpn.asy, xpnp.asy, .... Dazu muß man sich allerdings in der Group
formatting link
registrieren um in den Filebereich zu kommen. Das Ganze ist kostenlos und Fragen werden dort auch gerne beantwortet.

Im Anhang befindet sich auch nóch eine Anleitung für das Einbinden von Opamp-Modellen.

Gruß Helmut

Quelle für die Modelle BC107, Q2N2222:

formatting link
Eingebettet im Text.

Anhang: Einbinden von Opamp-Modellen

----------------------------

"Helmut Sennewald" schrieb im Newsbeitrag news:bdenrh$kp$00$ snipped-for-privacy@news.t-online.com...

Hallo, der Pfad "...Ltc\SWCADIII\lib\lib\Private" muß natürlich "...Ltc\SWCADIII\lib\sub\Private" heißen.

Ich habe die Original-Mail korrigiert und wieder angehängt. Zusätzlich habe ich im 2. Beispiel die Reply "> " Kennung entfernt. Also bitte nur diese korrigierte Mail "archivieren".

Gruß Helmut

Korrigierte Original-Mail

-------------------------

Hallo Günter, ich habe hier mal einen Mix aus meinen früheren Postings zusammengestellt. Die Vorgehensweise gilt natürlich für alle Subcircuits. Subcircuits sind alle Bauteile die in ihrer Definition mit .SUBCKT beginnen.

Gruß Helmut

  1. Ein Beispiel für einen TI-Opamp TL072.

----------------------------------------- Zunächst legt man am besten zwei eigene Unterverzeichnisse an. Das dient einzig und allein der Übersichtlichkeit. "..." ist das Installationsverzeichnis, z.B. "C:\Programme\".

"...Ltc\SWCADIII\lib\sym\Private" "...Ltc\SWCADIII\lib\sub\Private"

Die SPICE-Text-Dateien mit den Modellen kopiert man dann ins Verzeichnis "...Ltc\SWCADIII\lib\sub\Private", z.B. "Ti.lib" wird "...Ltc\SWCADIII\lib\sub\Private\Ti.lib". In die "Ti.lib"-Datei kann man beliebig viele SPICE Modelle hineinkopieren.

Die noch zu generierenden Symbole legt man entsprechend unter "...Ltc\SWCADIII\lib\sym\Private" ab, z.B "TL072.asy".

Wenn man in Switchercad jetzt eines dieser neuen Bauteile addieren will, dann findet man das im Menu im Verzeichnis "Private" das parallel zum Verzeichnis "Opamp" liegt. Dort gibt es dann z.B. den TL072. Nur noch anklicken und schon ist er auf dem Schaltplan.

Generierung neuer Symbole:

-------------------------- Als erstes kopiert man am besten ein ähnliches Symbol nach "sym\private". Z.B. "LT1013.asy" nach "...\sym\private\TL072.asy". Das spart unnötige Arbeit. Dann die Datei TL072.asy mit LTSPICE öffnen.

In der Kommandozeile "Edit -> Attributes -> Edit Attributes" klicken. Die Box mit den Attributen wird angezeigt.

Den Wert von Value und Value2 von "LT1013" auf "TL072" ändern. Diese Werte müssen mit dem Namen des Subcircuits übereinstimmen.

Wert von "SpiceModel" von "LTC.lib" auf "Private\Ti.lib" ändern. Das ist der relative Suchpfad für den Library-File. Wäre dort nur "Ti.lib" eingetragen, dann würde LTSPICE "nur" im Verzeichnis "...\lib\sub" und im Arbeitsverzeichnis, wo die komplette Schaltung(*.asc) liegt, nach dem Library-File "Ti.lib" suchen. Der kleine Nachteil mit dem Unterverzeichnis "Private" für den Library-File ist, daß man bei der Weitergabe von Symbolen darauf hinweisen muß, daß die Library-Files im Unterverzeichnis "Private" gespeichert werden müssen oder der Pfad im Symbol angepasst werden muß.

Natürlich kann man auch das graphische Symbol selbst in dem Editor verändern.

Ebenso kann man auch Pin-Namen ändern, löschen oder hinzufügen. Dazu Cursor auf Pin setzen und dann recht Maustaste. In der Box den neuen Namen und die "Netlist Order" eintragen.

Überprüfen ob die "Netlist Order"(Reihenfolge 1,2,3..) der Pins im Symbol mit der Reihenfolge der Netze im Subcircuit-Modell übereinstimmt. Dazu Cursor auf Pin setzen und dann recht Maustaste. Beispiel: In+,1 1. Netz in .SUBCKT 'Non iverting' ... Dieser Pin "In+" hat im Symbol die "Netlist Order" 1. Damit muß er mit dem ersten Pin/Netz im Model .SUBCKT 1 2 3 4 5 übereinstimmen. Der erste Pin im Model TL072 ist der "NON-INVERTING INPUT". Dieser entspricht "In+" vom Symbol und ist damit richtig. In unserem Beispiel stimmt die "Netlist Order" aller Pins bereits mit der Netzreihenfolge im Modell(Library) vom TL072 überein. Also braucht man da nichts ändern. Achtung, die Pin-Namen im Symbol haben für LTSPICE keine Bedeutung. Es kommt einzig auf deren "Netlist Order"-Wert an. Zum Glück haben fast alle SPICE-Opamps verschiedener Hersteller die gleiche Pin/Netz-Reihenfolge in ihren Modellen. Damit hat man dann schon mal keine Arbeit mit Umnumerierung beim Generieren eines Symbols.

Symbolfile "TL072.asy": "Label" In+ In- V+ V- Out "Netlist Order" 1 2 3 4 5

Auszug aus Subcircuit definition(Ti.lib):

  • TL072 OPERATIONAL AMPLIFIER "MACROMODEL" SUBCIRCUIT
  • CREATED USING PARTS RELEASE 4.01 ON 06/16/89 AT 13:08
  • (REV N/A) SUPPLY VOLTAGE: +/-15V
  • CONNECTIONS: NON-INVERTING INPUT
  • | INVERTING INPUT
  • | | POSITIVE POWER SUPPLY
  • | | | NEGATIVE POWER SUPPLY
  • | | | | OUTPUT
  • | | | | | .SUBCKT TL072 1 2 3 4 5

Dann "Save" klicken und damit das neue Symbol speichern.

LTSPICE beenden!

Das neue Symbol kann erst nach einem Neustart von LTSPICE benutzt werden.

PS: Es gibt auch noch die Möglichkeit des "One fits all"-Symbols wenn man viele gleichartige Symbole hat. Die Idee dahinter ist, daß man erst im Schaltplan die Opamp-Type einträgt. Aber das laß ich jetzt lieber erstmal weg.

SWCADIII\lib\sym\private\TL072.asy

--------------------------------------------------

Version 3 SymbolType CELL LINE Normal -8 8 8 16 LINE Normal -8 24 8 16 LINE Normal -8 8 -8 24 LINE Normal -7 12 -5 12 LINE Normal -7 20 -5 20 LINE Normal -6 21 -6 19 LINE Normal 0 8 0 12 LINE Normal 0 24 0 20 LINE Normal 1 11 3 11 LINE Normal 2 10 2 12 LINE Normal 1 21 3 21 WINDOW 0 4 8 Left 0 WINDOW 3 4 24 Left 0 SYMATTR Prefix X SYMATTR SpiceModel Private\Ti.lib SYMATTR Value TL072 SYMATTR Value2 TL072 SYMATTR Description Fast Fet Operational Amplifier PIN -8 20 NONE 0 PINATTR PinName In+ PINATTR SpiceOrder 1 PIN -8 12 NONE 0 PINATTR PinName In- PINATTR SpiceOrder 2 PIN 0 8 NONE 0 PINATTR PinName V+ PINATTR SpiceOrder 3 PIN 0 24 NONE 0 PINATTR PinName V- PINATTR SpiceOrder 4 PIN 8 16 NONE 0 PINATTR PinName OUT PINATTR SpiceOrder 5

Datei SWCADIII\lib\sub\private\Ti.lib

---------------------------------------------------

  • TL072 OPERATIONAL AMPLIFIER "MACROMODEL" SUBCIRCUIT
  • CREATED USING PARTS RELEASE 4.01 ON 06/16/89 AT 13:08
  • (REV N/A) SUPPLY VOLTAGE: +/-15V
  • CONNECTIONS: NON-INVERTING INPUT
  • | INVERTING INPUT
  • | | POSITIVE POWER SUPPLY
  • | | | NEGATIVE POWER SUPPLY
  • | | | | OUTPUT
  • | | | | | .SUBCKT TL072 1 2 3 4 5
  • C1 11 12 3.498E-12 C2 6 7 15.00E-12 DC 5 53 DX DE 54 5 DX DLP 90 91 DX DLN 92 90 DX DP 4 3 DX EGND 99 0 POLY(2) (3,0) (4,0) 0 .5 .5 FB 7 99 POLY(5) VB VC VE VLP VLN 0 4.715E6 -5E6 5E6 5E6 -5E6 GA 6 0 11 12 282.8E-6 GCM 0 6 10 99 8.942E-9 ISS 3 10 DC 195.0E-6 HLIM 90 0 VLIM 1K J1 11 2 10 JX J2 12 1 10 JX R2 6 9 100.0E3 RD1 4 11 3.536E3 RD2 4 12 3.536E3 RO1 8 5 150 RO2 7 99 150 RP 3 4 2.143E3 RSS 10 99 1.026E6 VB 9 0 DC 0 VC 3 53 DC 2.200 VE 54 4 DC 2.200 VLIM 7 8 DC 0 VLP 91 0 DC 25 VLN 0 92 DC 25 .MODEL DX D(IS=800.0E-18) .MODEL JX PJF(IS=15.00E-12 BETA=270.1E-6 VTO=-1) .ENDS
Reply to
Helmut Sennewald

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.