LTspice "no pudo abrir el archivo de la biblioteca" para un amplificador de terceros

Estoy tratando de usar INA129 en LTspice. Así que primero en la página de TI voy a Herramientas y software y bajo el modelo descargo el archivo llamado: INA129 PSpice Model (Rev. B).zip

En este archivo zip hay archivos con extensión .OLB, .DSN, .opj y .LIB. No hay nada con extensión .cir o .MOD.

Cambié el nombre INA129.LIB a INA129.MOD. Luego hice un símbolo de 8 pines para el amplificador y asocié la lista de red a cada pin debido a la siguiente línea en el archivo LIB:

El archivo incluye la netlist:

.SUBCKT INA129 1 2 3 4 5 8 9 10

Y a continuación se muestra cómo configuro los atributos del amplificador:

ingrese la descripción de la imagen aquí

Para probar la configuración, uso la siguiente directiva y esquema:

ingrese la descripción de la imagen aquí

Pero sigo recibiendo el error:

No se pudo abrir el archivo de biblioteca "INA129 .MOD"

¿Cuál podría ser el problema aquí? Encontré esta pregunta hasta ahora pero no tiene nada que ver con mi caso.

editar:

ingrese la descripción de la imagen aquí

La sintaxis de algunas cosas es ligeramente diferente. El texto más cercano probablemente esté en el archivo .LIB. Además, ¿quisiste decir "inc"? en lugar de ".incluir"? ¿Y verificó las asignaciones de pines?
@jonk Probé .include INA129.MOD o .inc INA129.MOD mismo error. Cª. estaba mal escrito cuando me apresuraba a probar otras formas. Configuré los pines con respecto a la lista de red. Por ejemplo, el pin 1 en el símbolo se asigna a 9 ect.
Subí los archivos que uso para este amplificador en un archivo rar aquí: wikisend.com/download/712094/INA129_try.rar
Acabo de escribirte instrucciones detalladas y una lección sobre cómo hacer esto por tu cuenta en el futuro.

Respuestas (1)

Bueno. muchos problemas Esto proviene principalmente de ser un poco ignorante acerca de los símbolos y las bibliotecas y las asignaciones de pines en LTSpice. En realidad, es bastante fácil, una vez que alguien te da pistas.


  1. Empecé descargando el archivo ZIP que mencionaste, probablemente siguiendo exactamente el mismo proceso que tú. Lo descomprimí y cargué el archivo .LIB en el BLOC DE NOTAS para verificarlo y mantenerlo visible para su inspección. El texto parecía tener una sintaxis válida para LTSpice, con una mirada rápida y rápida; así que asumí que estaba bien y di el siguiente paso.
  2. Ahora copié el archivo .LIB en un lugar donde LTSpice pueda encontrarlo. Si no sabe dónde está, o si desea agregar algunos directorios útiles, vaya a Herramientas/Panel de control y seleccione la pestaña "Rutas de búsqueda de Sym. & Lib.". Está todo ahí. DEBE colocar el archivo .LIB en un directorio que LTSpice conozca. Y este es el lugar donde descubres y/o le dices a LTSpice sobre tales cosas.
  3. Una vez que el archivo .LIB estuvo en su lugar, lo siguiente que debe hacer es descargar la hoja de datos y hacerla visible también. Ahora tengo el archivo .LIB visible Y TAMBIÉN la hoja de datos visible. Y sé que LTSpice también puede encontrar el archivo .LIB. Bien.
  4. Encendí LTSpice y comencé una nueva hoja esquemática. Presioné F2 y me metí en la carpeta Misc y seleccioné el símbolo DIP8 y lo dejé caer en la hoja del esquema.
  5. Hice clic derecho en el símbolo DIP8 y presioné el botón "Abrir símbolo" en la esquina superior izquierda del cuadro de diálogo emergente. Esto me lleva al editor de símbolos.
  6. En la parte inferior del símbolo, veo que se muestra "Valor". No tienes un valor y no lo necesitas. Así que usa las tijeras y bórralo. Sí, sé que pensó que INA129 era el valor. Pero no. Eso es un SpiceModel, no un Valor. Así que estamos eliminando esta estupidez del símbolo porque NUNCA lo usarás. En su lugar, colocará SpiceModel en el símbolo en el siguiente paso.
  7. Ahora vaya a Editar/Atributos/Ventana de atributos (o simplemente presione ctrl-W) y aparecerá un nuevo cuadro de diálogo emergente. Seleccione "SpiceModel" (que desea mostrar en su esquema) y presione "OK". Ahora coloque ese símbolo donde vio "Valor" antes de eliminarlo. O en otro lugar que prefieras. Tu llamada. Solo pégalo en alguna parte.
  8. Ahora vaya a Editar/Atributos/Editar atributos (o simplemente presione ctrl-A) y aparecerá un nuevo cuadro de diálogo emergente. Edite el campo allí para que SpiceModel diga (¡sin las comillas!) "INA129". Tenga en cuenta que no se agregó .LIB a este nombre. Todo lo que desea aquí es el nombre real que se encuentra en la línea .SUBCKT real. Luego vaya al campo de ModelFile y diga (¡sin las comillas!) "INA129.LIB". Ahora presiona "OK" y habrás terminado con esa parte. Le ha dicho al símbolo qué .SUBCKT debe usar y también le ha dicho al símbolo el nombre del archivo de la biblioteca (que puede tener MUCHAS MÁS partes que solo una) para que sepa dónde encontrar el modelo. (Tenga en cuenta que INA129 NO es un valor. Es un SpiceModel. Hay una gran diferencia).
  9. ¡No! Ni siquiera estás CERCA DE TERMINAR todavía. Sería una buena idea en este punto etiquetar todos los pines. Use Draw\Text para lograr esto (o simplemente presione 'T') y tome nota de las opciones de "justificación" que tiene. También la opción de texto vertical podría ser útil. Independientemente, ponte a etiquetar tus pines. Puede dejar los números existentes allí si lo desea. O simplemente eliminarlos. Tu llamada.
  10. No. ¡No has terminado! Ahora, mira los 8 pequeños cuadrados donde están todos los pines. Esos son los pines del puerto. Estos DEBEN COINCIDIR con su archivo de modelo y con su esquema. Ahora necesitas esas cosas. Aquí vienen las instrucciones restantes para los pines:
  11. Haz clic derecho en el pequeño cuadrado azul del pin 1. Este es el pin 1. Pero también dice que el orden de la netlist también es 1. MALAS NOTICIAS. La hoja de datos dice que este es uno de los pines de detección de ganancia. Ahora vaya a su copia del BLOC DE NOTAS del archivo .LIB y LÉALO . Mire la línea de texto allí para el .SUBCKT? ¿Ves que dice que el primer sentido de ganancia es la séptima posición allí? Así que establezca el orden de la lista de conexiones en 7 y presione Aceptar. Ahora, el pin 1, que la hoja de datos dice que es un pin de resistencia de ganancia, coincide con lo que dice el archivo .LIB que está en el séptimo lugar de la lista de conexiones.
  12. Haz clic derecho en el pequeño cuadrado azul del pin 8. Este es el pin 8. Pero también dice que el orden de la netlist también es 8. BUENAS NOTICIAS. Este es, como lo confirma la hoja de datos, el otro pin de detección de ganancia. Y si revisa su copia del archivo .LIB, verá que dice que el segundo sentido de ganancia es la octava posición. Así que tuviste suerte aquí. Ellos coinciden. Ningún cambio.
  13. Haz clic derecho en el pequeño cuadrado azul del pin 2. Este es el pin 2. Pero también dice que el orden de la netlist también es 2. BUENAS NOTICIAS. La hoja de datos dice que esta es la entrada inversora y al leer el archivo .LIB también dice lo mismo. Así que tuviste suerte aquí. Ellos coinciden. Ningún cambio.

No me extenderé en el resto. Debe ir a TODOS Y CADA PIN, verificar que el orden de la lista de conexiones para ese pin coincida con la función que se muestra en la hoja de datos y el orden de la lista de conexiones que se muestra en el archivo .LIB. Habrá algunas ediciones más, ya que no tienes la suerte de que todas coincidan muy bien. Así que tome cada uno de estos con cuidado, estudie la hoja de datos para conocer el significado del pin (si aún no etiquetó todo como le recomendé antes) y luego estudie la línea .SUBCKT para averiguar el orden de la lista de conexiones para ese pin. Cambiar, según corresponda.

Breve respiro. Tenga en cuenta que lo que ha hecho es modificar un símbolo predeterminado. La línea .SUBCKT especifica un montón de parámetros de función (por así decirlo) en algún orden. Es como una función en C, donde el primer parámetro significa una cosa y el segundo parámetro significa otra cosa, etc. Tienes que examinar esa lista de parámetros para ver qué significan. Si nadie colocó ningún comentario arriba, es posible que le resulte muy difícil darse cuenta de eso. Por lo tanto, debe esperar que alguien haya puesto una descripción. LTSpice (cualquier Spice, en realidad) necesita descubrir cómo "llamar" a esta subrutina. Para averiguarlo, necesita saber qué cable se pasa a qué parámetro del .SUBCKT. Cuando crea un símbolo, puede pegar "almohadillas" que Spice reconoce como "especiales" y permite que se les conecten cables. Estos pads también tienen un número de pedido de "netlist", de modo que cuando se conectan cables a estos "pads", Spice sabe qué parámetro se ve afectado por ese cable. De lo contrario, Spice solo tendría que adivinar. Y eso no sería tan bueno. Entonces, todo lo que está haciendo aquí es decirle a Spice qué parámetro del modelo .SUBCKT obtiene el valor del cable conectado. LTSpice llama a esto el "orden de netlist". También tiene un "número pin" que se puede mostrar o no. El número pin realmente no significa nada. Es solo una cosa de exhibición. NO afecta cómo se maneja el .SUBCKT. Y eso no sería tan bueno. Entonces, todo lo que está haciendo aquí es decirle a Spice qué parámetro del modelo .SUBCKT obtiene el valor del cable conectado. LTSpice llama a esto el "orden de netlist". También tiene un "número pin" que se puede mostrar o no. El número pin realmente no significa nada. Es solo una cosa de exhibición. NO afecta cómo se maneja el .SUBCKT. Y eso no sería tan bueno. Entonces, todo lo que está haciendo aquí es decirle a Spice qué parámetro del modelo .SUBCKT obtiene el valor del cable conectado. LTSpice llama a esto el "orden de netlist". También tiene un "número pin" que se puede mostrar o no. El número pin realmente no significa nada. Es solo una cosa de exhibición. NO afecta cómo se maneja el .SUBCKT.

Ahora GUARDE ESTE SÍMBOLO!!!! Le recomiendo que lo guarde en un lugar práctico (como donde se pueda encontrar de nuevo). Hay un subdirectorio de símbolos para LTSpice. Y dentro de ese subdirectorio hay otro para opamps. Podrías rellenarlo allí. O puede ir al Panel de control y esa pestaña que mencioné y agregar un directorio allí para que encuentre símbolos. Pero debe guardar este símbolo y probablemente con un nombre apropiado que NO sea "DIP8".

Ahora las cosas funcionarán. Me metí en tus partes y simula.


Ah, y debido a que le dijo al símbolo sobre el nombre del archivo .LIB y le dijo a LTSpice dónde encontrar ese archivo .LIB, nunca necesitará un .include en su esquema. LTSpice tiene toda la información que necesita sin él.


Oh. Y si no lo sabía, suponga que tiene un montón de archivos .LIB para muchos amplificadores de instrumentación empaquetados DIP8, cada uno de los cuales tiene el mismo pinout. Bien. Simplemente pegue todos esos archivos .LIB en un único archivo LARGO .LIB y guárdelo con un nuevo nombre de colección especial. Vincule el atributo ModelFile a ese archivo. Ahora, cuando suelte esa parte en el esquema, puede hacer clic con el botón derecho en ella para cambiar el SpiceModel allí y aparecerá una larga lista desplegable de todas esas entradas .SUBCKT, lo que le permitirá elegir cuál de ellas desea usar hoy. . Puedes hacer colecciones de PUJTs, UJTs, tubos de descarga de gas, tubos de vacío de pentodo, o... lo que quieras. Y LTSpice simplemente administrará todo el lote de los modelos o subcircuitos por su nombre. Como si hubiera agregado un NPN. Es fácil.

Por ejemplo, aquí también puede descargar el .LIB para el INA128 y doblarlo en el mismo archivo .LIB. Organice las cosas en el nuevo .LIB para que el .subckt INA128 aparezca antes que el .subckt INA129, si desea una lista ordenada. Luego guárdalo.


Aquí está mi ejemplo de salida:

ingrese la descripción de la imagen aquí

wtg jonk ............
@TonyStewart.EEsince'75 LTSpice es muy elegante/flexible. Puede crear esquemas anidados, crear símbolos para los esquemas anidados, hacer capas... E incluso puede hacer que LTSpice haga un menú desplegable especial solo para una LISTA COMPLETA de .SUBCKT personalizados que tenga a mano, si lo desea. Simplemente empaquetelos todos en un archivo .LIB. Cuando el símbolo se coloca en el esquema, puede hacer clic con el botón derecho en él y luego ir a SpiceModel y abrirlo para obtener la lista completa y larga de .SUBCKT que tiene en .LIB. Hace que sea MUY MUY fácil crear una pieza PUJT, por ejemplo, con muchas opciones de piezas, todas automáticas.
@jonk Seguí tu camino, ahora recibo este error: i.stack.imgur.com/7D23g.png
@ user16307 No puedo deducir de ese error (esas cosas no son muy descriptivas). Sin embargo, es muy probable que su editor haya hecho algún "ajuste de palabras". Asegúrese de que todas y cada una de las líneas del archivo .LIB tengan sentido. No puede expandirse en varias líneas a menos que tenga un carácter de continuación de línea. Mi apuesta es que hay un error tipográfico o un salto de línea incorrecto. Tuve CERO problemas. Solo funcionó. O, tal vez, mis instrucciones no fueron lo suficientemente detalladas. Eso podría ser un problema si asumí algunas cosas y tú asumiste de manera diferente.
@ user16307 Tome su archivo .ASY y publíquelo en su pregunta. Lo miraré. Ah, y si seguiste mis instrucciones NO incluyas nada.
@ user134429 Acabo de agregar una ejecución de LTSpice en mi respuesta.
@ usuario16307 Está bien. ¡Pones .LIB en tu SpiceModel! NO NO NO. Simplemente lo que esté en el .SUBCKT. La parte ModelFile ya tiene el nombre de archivo. Todo lo que desea es el nombre del subcircuito, que NO tiene .LIB adjunto.
@ usuario16307 Genial!! ¡Creo que puedes ver por qué falló antes, ahora! Jeje.
Excelente respuesta, @jonk. Fue muy útil. Muchas gracias. Para crear un símbolo automáticamente desde el archivo .lib, encontré una forma más fácil: analog.com/en/technical-articles/…