LTspice: cuando convierto un esquema en un subcircuito, se comporta de manera diferente. ¿Por qué?

2

Estoy tratando de modelar un destello LED de baja frecuencia basado en un BEAM Pummer (básicamente un par de Inversores CMOS cableados como un oscilador, más una bomba de carga) en LTspice. Tengo el circuito intermitente de base conectado a una fuente de voltaje y una salida de LED, y parece que funciona correctamente, produciendo picos de corriente de ~ 40 mA a través del LED cada ~ 2s aproximadamente.

Pero cuando trato de hacer una definición .subckt solo con la parte intermitente, e incluyo eso en un circuito de prueba, no funciona correctamente: obtengo una salida ruidosa de nivel µA a través del led conectado a los pines de salida Durante unos pocos ns, entonces el oscilador se bloquea.

  • El registro de errores de SPICE informa Singular matrix: Check node d:u1:6#int1 Iteration No. 19 que no se muestra con la versión independiente. No estoy seguro de cómo encontrar el nodo d:u1:6#int1 .
  • Mi suposición inicial fue que no se realizó correctamente una conexión GND , pero intenté pasar una referencia de tierra a través de un pin externo de varias maneras diferentes y no hubo ninguna diferencia.
  • Hay una peculiaridad de que necesito usar una fuente de voltaje PULSE con un ciclo de trabajo del 100% en lugar de un voltaje de CC constante en la versión independiente, o el oscilador no se iniciará. ¿Podría estar relacionado? Establecer el voltaje del circuito de prueba en PULSE no parece hacer ninguna diferencia.

¿Qué más podría estar haciendo mal? He comprobado por triplicado el orden de la lista de redes .subckt contra el orden definido en el archivo de símbolos, y estoy bastante seguro de que es correcto. Los documentos me dicen que GND ya debería estar conectado globalmente. ¿Es una cosa de inicio? Dos inversores están cableados en una cadena para hacer el oscilador. ¿Necesito establecer explícitamente la entrada de uno a 5 V y el otro a 0 V al inicio?

Para referencia, hay un archivo zip aquí que contiene el esquema de prueba y el archivo .sub y .asy definiciones, así como la versión independiente del subcircuito de intermitencia para demostrar que realmente funciona.

Cualquier ayuda muy apreciada!

    
pregunta damian

1 respuesta

7

Para responder a mi propia pregunta: parece que LTspice requiere que los archivos de texto se guarden con la página de códigos de Windows Latin 1 y los finales de línea CRLF. Estoy usando Wine en una Mac, y mi editor de texto guarda como UTF-8 por defecto. Supongo que LTspice malinterpreta el UTF-8 µ en los valores de los condensadores como algo no válido, pero confusamente no muestra un mensaje de error.

    
respondido por el damian

Lea otras preguntas en las etiquetas