LTspice „Bibliotheksdatei konnte nicht geöffnet werden“ für einen Verstärker eines Drittanbieters

Ich versuche, INA129 in LTspice zu verwenden. Also gehe ich zuerst auf der Seite von TI zu Tools & Software und lade unter dem Modell die Datei mit dem Namen herunter: INA129 PSpice Model (Rev. B).zip

In dieser Zip-Datei befinden sich Dateien mit den Endungen .OLB, .DSN, .opj und .LIB. Es gibt nichts mit der Erweiterung .cir oder .MOD.

Ich habe den Namen von INA129.LIB in INA129.MOD geändert. Dann habe ich ein 8-Pin-Symbol für den Verstärker erstellt und die Netzliste aufgrund der folgenden Zeile in der LIB-Datei jedem Pin zugeordnet:

Die Datei enthält die Netzliste:

.SUBCKT INA129 1 2 3 4 5 8 9 10

Und unten ist, wie ich die Verstärkerattribute einstelle:

Geben Sie hier die Bildbeschreibung ein

Um das Setup zu testen, verwende ich die folgende Richtlinie und den folgenden Schaltplan:

Geben Sie hier die Bildbeschreibung ein

Aber ich bekomme immer den Fehler:

Bibliotheksdatei „INA129 .MOD“ konnte nicht geöffnet werden

Was könnte hier das Problem sein? Ich habe diese Frage bisher gefunden , hat aber nichts mit meinem Fall zu tun.

bearbeiten:

Geben Sie hier die Bildbeschreibung ein

Die Syntax für einige Dinge ist etwas anders. Der ähnlichste Text befindet sich wahrscheinlich in der .LIB-Datei. Meinten Sie auch "inc." statt ".include" ? Und hast du die Pinbelegung überprüft?
@jonk Ich habe versucht .include INA129.MOD oder .inc INA129.MOD denselben Fehler. inkl. war ein Tippfehler, als ich mich beeilte, andere Wege auszuprobieren. Die Pins habe ich bezüglich der Netzliste gesetzt. Zum Beispiel ist Pin 1 im Symbol 9 ect zugewiesen.
Ich habe die Dateien, die ich für diesen Verstärker verwende, in einer RAR-Datei hier hochgeladen: wikisend.com/download/712094/INA129_try.rar
Ich habe Ihnen gerade eine detaillierte Anleitung und eine Lektion geschrieben, wie Sie dies in Zukunft selbst tun können.

Antworten (1)

Okay. Viele Probleme. Dies liegt hauptsächlich daran, dass Sie Symbole, Bibliotheken und Pinbelegungen in LTSpice einfach nicht kennen. Es ist eigentlich ziemlich einfach, sobald dich jemand anleitet.


  1. Ich habe damit begonnen, die von Ihnen erwähnte ZIP-Datei herunterzuladen, wahrscheinlich nach genau dem gleichen Prozess wie Sie. Ich habe es entpackt und die .LIB-Datei in NOTEPAD geladen, um es auszuprobieren und zur Überprüfung sichtbar zu halten. Der Text schien mit einem schnellen, schnellen Blick eine gültige Syntax für LTSpice zu sein; Also ging ich davon aus, dass es in Ordnung war, und machte den nächsten Schritt.
  2. Ich habe jetzt die .LIB-Datei an einen Ort kopiert, wo LTSpice sie finden kann. Wenn Sie nicht wissen, wo das ist, oder wenn Sie einige praktische Verzeichnisse hinzufügen möchten, gehen Sie zu Tools/Control Panel und wählen Sie die Registerkarte "Sym. & Lib. Search Paths". Es ist alles da. Sie MÜSSEN die .LIB-Datei in einem Verzeichnis ablegen, das LTSpice bekannt ist. Und das ist der Ort, an dem Sie LTSpice über solche Dinge informieren und/oder davon erzählen.
  3. Sobald die .LIB-Datei vorhanden war, müssen Sie als Nächstes das Datenblatt herunterladen und es auch sichtbar machen. Jetzt habe ich die .LIB-Datei sichtbar UND AUCH das Datenblatt sichtbar. Und ich weiß, dass LTSpice auch die .LIB-Datei finden kann. Gut.
  4. Ich habe LTSpice gestartet und ein neues Schaltplanblatt erstellt. Ich drückte F2 und wechselte in den Misc-Ordner und wählte das DIP8-Symbol aus und ließ es auf dem Schaltplanblatt fallen.
  5. Ich habe mit der rechten Maustaste auf das DIP8-Symbol geklickt und die Schaltfläche "Symbol öffnen" in der oberen linken Ecke des Popup-Dialogfelds gedrückt. Dies bringt mich zum Symboleditor.
  6. Am unteren Rand des Symbols sehe ich "Wert". Du hast keinen Wert und du brauchst ihn nicht. Also nimm die Schere und lösche es. Ja, ich weiß, Sie dachten, dass INA129 der Wert war. Aber nein. Das ist ein SpiceModel, kein Wert. Also löschen wir dieses dumme Ding aus dem Symbol, weil Sie es NIE verwenden werden. Stattdessen legen Sie im nächsten Schritt das SpiceModel auf dem Symbol ab.
  7. Gehen Sie nun zu Bearbeiten/Attribute/Attributfenster (oder drücken Sie einfach Strg-W) und ein neues Popup-Dialogfeld erscheint. Wählen Sie "SpiceModel" (das Sie auf Ihrem Schaltplan anzeigen möchten) und klicken Sie auf "OK" . Platzieren Sie nun dieses Symbol dort, wo Sie "Wert" gesehen haben, bevor Sie es gelöscht haben. Oder an einem anderen Ort, den Sie bevorzugen. Ihr Anruf. Einfach irgendwo hinkleben.
  8. Gehen Sie nun zu Bearbeiten/Attribute/Attribute bearbeiten (oder drücken Sie einfach Strg-A) und ein neues Popup-Dialogfeld erscheint. Bearbeiten Sie dort das Feld für SpiceModel, um (ohne die Anführungszeichen!) "INA129" zu sagen. Beachten Sie, dass diesem Namen keine .LIB hinzugefügt wird. Alles, was Sie hier wollen, ist der tatsächliche Name, der in der tatsächlichen .SUBCKT-Zeile zu finden ist. Gehen Sie dann in das Feld dort für ModelFile und sagen Sie (ohne die Anführungszeichen!) "INA129.LIB". Klicken Sie jetzt auf "OK" und Sie sind mit diesem Teil fertig. Sie haben dem Symbol mitgeteilt, was .SUBCKT verwenden soll, und Sie haben dem Symbol auch den Namen der Bibliotheksdatei mitgeteilt (die VIEL MEHR Teile enthalten kann als nur einen), damit es weiß, wo es das Modell finden kann. (Beachten Sie, dass INA129 KEIN Wert ist. Es ist ein SpiceModel. Es gibt einen großen Unterschied.)
  9. NEIN! Sie sind noch nicht einmal NAH dran. Es wäre an dieser Stelle eine gute Idee, alle Pins zu beschriften. Verwenden Sie Draw\Text, um dies zu erreichen (oder drücken Sie einfach 'T') und beachten Sie die Auswahlmöglichkeiten für die "Ausrichtung", die Sie haben. Auch die Option für vertikalen Text könnte nützlich sein. Machen Sie sich trotzdem daran, Ihre Pins zu beschriften. Sie können die vorhandenen Nummern dort belassen, wenn Sie möchten. Oder sie einfach löschen. Ihr Anruf.
  10. Nein. Sie sind noch nicht fertig! Schauen Sie sich jetzt die 8 kleinen, winzigen Quadrate an, in denen sich alle Stifte befinden. Das sind die Portpins. Diese MÜSSEN mit Ihrer Modelldatei und Ihrem Schaltplan übereinstimmen . Jetzt brauchen Sie diese Dinge. Hier kommen die restlichen Anweisungen für die Stifte:
  11. Klicken Sie mit der rechten Maustaste auf das kleine blaue Quadrat von Pin 1. Dies ist Pin 1. Aber es sagt auch, dass die Netzlistenreihenfolge auch 1 ist. SCHLECHTE NACHRICHTEN. Laut Datenblatt ist dies einer der Gain-Sense-Pins. Gehen Sie nun zu Ihrer NOTEPAD-Kopie der .LIB-Datei und LESEN SIE SIE . Sehen Sie sich die Textzeile dort für die .SUBCKT? Sehen Sie, dass dort steht, dass der erste Verstärkungssinn die 7. Position ist??? Setzen Sie also die Netzlistenreihenfolge auf 7 und klicken Sie auf OK. Jetzt stimmt Pin 1, von dem das Datenblatt sagt, dass es sich um einen Verstärkungswiderstandspin handelt, mit dem überein, was die .LIB-Datei sagt, dass es sich auf dem 7. Netzlistenplatz befindet.
  12. Klicken Sie mit der rechten Maustaste auf das kleine blaue Quadrat von Pin 8. Dies ist Pin 8. Aber es sagt auch, dass die Netzlistenreihenfolge auch 8 ist. GUTE NACHRICHTEN. Dies ist, wie das Datenblatt bestätigt, der andere Gain-Sense-Pin. Und wenn Sie zu Ihrer Kopie der .LIB-Datei gehen, werden Sie sehen, dass der zweite Verstärkungssinn die 8. Position ist. Hier hast du also Glück gehabt. Sie passen zusammen. Keine Änderung.
  13. Klicken Sie mit der rechten Maustaste auf das kleine blaue Quadrat von Pin 2. Dies ist Pin 2. Aber es sagt auch, dass die Netzlistenreihenfolge auch 2 ist. GUTE NACHRICHTEN. Das Datenblatt besagt, dass dies der invertierende Eingang ist, und beim Lesen der .LIB-Datei steht auch dasselbe. Hier hast du also Glück gehabt. Sie passen zusammen. Keine Änderung.

Ich werde den Rest nicht belasten. Sie müssen zu JEDEM einzelnen Pin gehen und überprüfen, ob die Netzlistenreihenfolge für diesen Pin mit der im Datenblatt gezeigten Funktion und der in der .LIB-Datei gezeigten Netzlistenreihenfolge übereinstimmt. Es wird noch einige Änderungen geben, da Sie einfach nicht das Glück haben, dass sie alle gut zusammenpassen. Nehmen Sie also jeden davon sorgfältig, studieren Sie das Datenblatt für die Bedeutung des Pins (wenn Sie nicht bereits alles so beschriftet haben, wie ich es zuvor empfohlen hatte) und studieren Sie dann die .SUBCKT-Zeile, um die Netzlistenreihenfolge für diesen Pin herauszufinden. Ändern Sie ggf.

Kurze Verschnaufpause. Beachten Sie, dass Sie ein Standardsymbol geändert haben. Die .SUBCKT-Zeile gibt eine Reihe von Funktionsparametern (sozusagen) in einer bestimmten Reihenfolge an. Es ist genau wie bei einer Funktion in C, bei der der erste Parameter eine Sache bedeutet und der zweite Parameter etwas anderes usw. Sie müssen diese Parameterliste untersuchen, um zu sehen, was sie bedeuten. Wenn oben niemand Kommentare abgegeben hat, fällt es Ihnen möglicherweise sehr schwer, das herauszufinden. Sie müssen also hoffen, dass jemand eine Beschreibung niedergelegt hat. LTSpice (wirklich jedes Spice) muss herausfinden, wie diese Subroutine "aufgerufen" wird. Um das herauszufinden, muss es wissen, welche Leitung an welchen Parameter von .SUBCKT übergeben wird. Wenn Sie ein Symbol erstellen, können Sie dort "Pads" anbringen, die Spice als "speziell" erkennt und das Anbringen von Drähten daran zulässt. An diese Pads wird auch eine „Netzlisten“-Bestellnummer gebunden, sodass Spice weiß, welcher Parameter von diesem Draht beeinflusst wird, wenn Drähte an diese „Pads“ angeschlossen werden. Andernfalls müsste Spice nur raten. Und das wäre nicht so gut. Alles, was Sie hier tun, ist, Spice mitzuteilen, welcher Parameter des .SUBCKT-Modells den Wert des daran angehängten Drahtes erhält. Dies wird von LTSpice als "Netzlistenreihenfolge" bezeichnet. Es hat auch eine "PIN-Nummer", die angezeigt werden kann oder nicht. Die PIN-Nummer sagt eigentlich nichts aus. Es ist nur eine Anzeigesache. Es wirkt sich NICHT darauf aus, wie die .SUBCKT behandelt wird. Und das wäre nicht so gut. Alles, was Sie hier tun, ist, Spice mitzuteilen, welcher Parameter des .SUBCKT-Modells den Wert des daran angehängten Drahtes erhält. Dies wird von LTSpice als "Netzlistenreihenfolge" bezeichnet. Es hat auch eine "PIN-Nummer", die angezeigt werden kann oder nicht. Die PIN-Nummer sagt eigentlich nichts aus. Es ist nur eine Anzeigesache. Es wirkt sich NICHT darauf aus, wie die .SUBCKT behandelt wird. Und das wäre nicht so gut. Alles, was Sie hier tun, ist, Spice mitzuteilen, welcher Parameter des .SUBCKT-Modells den Wert des daran angehängten Drahtes erhält. Dies wird von LTSpice als "Netzlistenreihenfolge" bezeichnet. Es hat auch eine "PIN-Nummer", die angezeigt werden kann oder nicht. Die PIN-Nummer sagt eigentlich nichts aus. Es ist nur eine Anzeigesache. Es wirkt sich NICHT darauf aus, wie die .SUBCKT behandelt wird.

Jetzt DIESES SYMBOL SPEICHERN!!!! Ich würde empfehlen, dass Sie es an einem praktischen Ort speichern (z. B. wo es wieder gefunden werden kann). Es gibt ein Symbol-Unterverzeichnis für LTSpice. Und in diesem Unterverzeichnis gibt es ein weiteres für Operationsverstärker. Da könntest du es stopfen. Oder Sie könnten zur Systemsteuerung und zu der von mir erwähnten Registerkarte gehen und dort ein Verzeichnis hinzufügen, um Symbole zu finden. Aber Sie müssen dieses Symbol speichern und wahrscheinlich mit einem passenden Namen, der NICHT "DIP8" ist.

Jetzt wird es funktionieren. Ich habe in deine Teile gesteckt und es simuliert.


Oh, und weil Sie dem Symbol den Namen der .LIB-Datei mitgeteilt und LTSpice mitgeteilt haben, wo diese .LIB-Datei zu finden ist, benötigen Sie niemals eine .include-Datei in Ihrem Schaltplan. LTSpice hat alle Informationen, die es braucht, ohne es.


Oh. Und wenn Sie es nicht wussten, nehmen Sie an, Sie haben einen ganzen BUNCH von .LIB-Dateien für viele DIP8-verpackte Instrumentenverstärker, von denen jeder die gleiche Pinbelegung hat? Also. Fügen Sie einfach all diese .LIB-Dateien in eine einzige, LANGE .LIB-Datei ein und speichern Sie sie unter einem neuen, speziellen Sammlungsnamen. Verknüpfen Sie das ModelFile-Attribut mit dieser Datei. Wenn Sie dieses Teil jetzt auf den Schaltplan ziehen, können Sie mit der rechten Maustaste darauf klicken, um das SpiceModel dort zu ändern, und eine lange Dropdown-Liste all dieser .SUBCKT-Einträge wird angezeigt, sodass Sie auswählen können, welche davon Sie heute verwenden möchten . Sie können Sammlungen von PUJTs, UJTs, Gasentladungsröhren, Pentoden-Vakuumröhren oder ... was auch immer Sie wollen, erstellen. Und LTSpice verwaltet einfach die gesamte Menge der Modelle oder Teilschaltungen nach Namen für Sie. Genauso, als ob Sie ein NPN hinzugefügt hätten. So einfach ist das.

Hier könnten Sie beispielsweise auch die .LIB für den INA128 herunterladen und in dieselbe .LIB-Datei falten. Ordnen Sie die Dinge in der neuen .LIB so an, dass das INA128 .subckt vor dem INA129 .subckt erscheint, wenn Sie eine sortierte Liste wünschen. Dann speichern Sie es.


Hier ist mein Ausgabebeispiel:

Geben Sie hier die Bildbeschreibung ein

wtg jonk ............
@TonyStewart.EEsince'75 LTSpice ist sehr schick/flexibel. Sie können verschachtelte Schaltpläne erstellen, Symbole für die verschachtelten Schaltpläne erstellen, Ebenen erstellen ... Und Sie können sogar LTSpice dazu bringen, ein spezielles Dropdown-Menü nur für eine GANZE LISTE von benutzerdefinierten .SUBCKT-Dateien zu erstellen, die Sie zur Hand haben, wenn Sie möchten. Packen Sie sie einfach alle in eine .LIB-Datei. Wenn das Symbol auf dem Schaltplan abgelegt wird, können Sie mit der rechten Maustaste darauf klicken und dann zum SpiceModel gehen und es öffnen, um die vollständige, lange Liste von .SUBCKT zu erhalten, die Sie in der .LIB haben. Macht es SEHR SEHR einfach, zum Beispiel ein PUJT-Teil zu erstellen, mit einer großen Auswahl an Teilen, die alle automatisch sind.
@jonk Ich bin deinem Weg gefolgt, ich bekomme jetzt diesen Fehler: i.stack.imgur.com/7D23g.png
@ user16307 Ich kann diesen Fehler nicht erkennen (diese Dinge sind nicht sehr beschreibend.) Es ist jedoch sehr wahrscheinlich, dass Ihr Editor einen "Wortumbruch" vorgenommen hat. Stellen Sie sicher, dass jede einzelne Zeile in der .LIB-Datei sinnvoll ist. Sie kann sich nicht über mehrere Zeilen ausbreiten, es sei denn, sie hat einen Zeilenfortsetzungscharakter. Meine Wette ist, dass es einen Tippfehler oder einen anderweitig unzulässigen Zeilenumbruch gibt. Ich hatte NULL Probleme. Hat gerade funktioniert. Oder vielleicht waren meine Anweisungen nicht detailliert genug. Das könnte ein Problem sein, wenn ich einige Dinge angenommen habe und Sie anders angenommen haben.
@ user16307 Schnappen Sie sich Ihre .ASY-Datei und posten Sie sie in Ihrer Frage. Ich werde es mir ansehen. Oh, und wenn Sie meine Anweisungen befolgt haben, fügen Sie NICHTS hinzu.
@ user134429 Ich habe gerade einen Lauf von LTSpice in meiner Antwort hinzugefügt.
@ user16307 Okay. Sie setzen .LIB auf Ihr SpiceModel! NEIN NEIN NEIN. Einfach was auch immer auf der .SUBCKT steht. Der ModelFile-Teil hat bereits den Dateinamen. Alles, was Sie wollen, ist der Subcircuit-Name, an den KEIN .LIB angehängt ist.
@user16307 Cool!! Ich denke, Sie können jetzt sehen, warum es vorher gescheitert ist! Hehe.
Ausgezeichnete Antwort, @jonk. Es war super hilfreich. Vielen Dank. Um Symbole automatisch aus der .lib-Datei zu erstellen, habe ich einen einfacheren Weg gefunden: analog.com/en/technical-articles/…