Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

SPICE Quirks

"Basura dentro, basura fuera". —Anónimo

SPICE es una pieza de software muy confiable, pero tiene sus pequeñas peculiaridades a las que cuesta acostumbrarse. Por "peculiaridad" me refiero a una demanda que se le hace al usuario de escribir el archivo fuente de una manera particular para que funcione sin dar mensajes de error.

Yo no Significa cualquier tipo de falla con SPICE que produzca resultados erróneos o engañosos:eso se llamaría más correctamente un "error". Hablando de errores, SPICE también tiene algunos de ellos.

Algunas (o todas) de estas peculiaridades pueden ser exclusivas de la versión 2g6 de SPICE, que es la única versión que he usado ampliamente. Es posible que se hayan solucionado en versiones posteriores.

Un buen comienzo

SPICE exige que el archivo fuente comience con algo diferente a la primera "tarjeta" en la descripción del circuito "cubierta". Este primer carácter en el archivo de origen puede ser un salto de línea, una línea de título o un comentario:solo tiene que haber algo allí antes de la primera línea del archivo que especifica el componente.

De lo contrario, SPICE se negará a hacer un análisis en absoluto, alegando que hay un error grave (como conexiones de nodo incorrectas) en la "plataforma".

Un buen final

SPICE exige que el .end La línea al final del archivo de origen no debe terminar con un salto de línea o un carácter de retorno de carro. En otras palabras, cuando termine de escribir " .end "No debe presionar [Enter] en su teclado.

El cursor en su editor de texto debe detenerse inmediatamente a la derecha de la "d" después de " .end ”Y no vayas más lejos. No prestar atención a esta peculiaridad resultará en una " tarjeta .end faltante ”Mensaje de error al final de la salida del análisis.

El análisis del circuito real no se ve afectado por este error, por lo que normalmente ignoro el mensaje. Sin embargo, si está buscando obtener un resultado "perfecto", debe prestar atención a esta idiosincrasia.

Debe tener un nodo 0

Tiene mucha libertad para numerar los nodos del circuito, pero debe tenga un nodo 0 en algún lugar de su netlist para que SPICE funcione. El nodo 0 es el nodo predeterminado para la tierra del circuito y es el punto de referencia para todos los voltajes especificados en ubicaciones de un solo nodo.

Cuando SPICE realiza un análisis de CC simple, la salida contendrá una lista de voltajes en todos los nodos distintos de cero en el circuito. El punto de referencia (tierra) para todas estas lecturas de voltaje es el nodo 0. Por ejemplo:

 voltaje del nodo voltaje del nodo (1) 15.0000 (2) 0.6522 

En este análisis, hay un voltaje de CC de 15 voltios entre el nodo 1 y tierra (nodo 0), y un voltaje de CC de 0,6522 voltios entre el nodo 2 y tierra (nodo 0). En ambos casos, la polaridad del voltaje es negativa en el nodo 0 con referencia al otro nodo (en otras palabras, ambos nodos 1 y 2 son positivos con respecto al nodo 0).

Evite los circuitos abiertos

SPICE no puede manejar circuitos abiertos de ningún tipo. Si su netlist especifica un circuito con una fuente de voltaje abierto, por ejemplo, SPICE se negará a realizar un análisis.

Un buen ejemplo de este tipo de error se encuentra al “conectar” una fuente de voltaje a la entrada de una fuente dependiente del voltaje (usada para simular un amplificador operacional). SPICE necesita ver una ruta completa para la corriente, por lo que generalmente ato una resistencia de alto valor (llámelo rbogus !) a través de la fuente de voltaje para actuar como una carga mínima.

Evite ciertos bucles de componentes

SPICE no puede manejar ciertos bucles ininterrumpidos de componentes en un circuito, a saber, fuentes de voltaje e inductores. Los siguientes bucles harán que SPICE anule el análisis:

 netlist l1 2 4 10m l2 2 4 50m l3 2 4 25m 

 netlist v1 1 0 dc 12 l1 1 0 150m 

 netlist c1 5 6 33u c2 6 7 47u 

La razón por la que SPICE no puede manejar estas condiciones se debe a la forma en que realiza el análisis de CC:al tratar todos los inductores como cortocircuitos y todos los capacitores como abiertos. Dado que los cortocircuitos (0 Ω) y los circuitos abiertos (resistencia infinita) contienen o generan infinitos matemáticos, una computadora simplemente no puede lidiar con ellos, por lo que SPICE interrumpirá el análisis si ocurre alguna de estas condiciones.

Cómo lidiar con inductores y condensadores en SPICE

Para que estas configuraciones de componentes sean aceptables para SPICE, debe insertar resistencias de valores apropiados en los lugares apropiados, eliminando los respectivos cortocircuitos y circuitos abiertos. Si se requiere una resistencia en serie, elija un valor de resistencia muy bajo.

Por el contrario, si se requiere una resistencia en paralelo, elija un valor de resistencia muy alto. Por ejemplo:

Para solucionar el problema del inductor paralelo, inserte una resistencia de muy bajo valor en serie con cada inductor defectuoso.

 netlist original l1 2 4 10m l2 2 4 50m l3 2 4 25m 
 lista de conexiones fija rbogus1 2 3 1e-12 rbogus2 2 5 1e-12 l1 3 4 10m l2 2 4 50m l3 5 4 25m 

Como en el ejemplo anterior con inductores en paralelo, es importante hacer que la resistencia de corrección (R falso ) muy baja en resistencia, para no impactar sustancialmente el funcionamiento del circuito.

Para arreglar el circuito del condensador en serie, uno de los condensadores debe tener una resistencia en derivación a través de él. SPICE requiere una ruta de corriente CC a cada condensador para su análisis.

 netlist original c1 5 6 33u c2 6 7 47u 
 lista de conexiones fija c1 5 6 33u c2 6 7 47u rbogus 6 7 9e12 

El R falso El valor de 9 Tera-ohmios proporciona una ruta de corriente CC a C 1 (y alrededor de C 2 ) sin afectar sustancialmente el funcionamiento del circuito.

Medida de corriente

Aunque imprimir o trazar el voltaje es bastante fácil en SPICE, la salida de valores de corriente es un poco más difícil. Las medidas de voltaje se especifican declarando los nodos de circuito apropiados.

Por ejemplo, si deseamos conocer el voltaje a través de un capacitor cuyos cables se conectan entre los nodos 4 y 7, podríamos distinguir .print declaración tiene este aspecto:

 c1 4 7 22u .print ac v (4,7) 

Sin embargo, si quisiéramos que SPICE mida la corriente a través de ese condensador, no sería tan fácil. Las corrientes en SPICE deben especificarse en relación con una fuente de voltaje, no con un componente arbitrario. Por ejemplo:

 c1 4 7 22u vinput 6 4 ac 1 sin .print ac i (vinput) 

Esta .print la tarjeta le indica a SPICE que imprima la corriente a través de la fuente de voltaje V entrada , que resulta ser la misma que la corriente a través de nuestro condensador entre los nodos 4 y 7. ¿Pero qué pasa si no hay tal fuente de voltaje en nuestro circuito para referenciar para la medición de corriente?

Una solución es insertar una resistencia de derivación en el circuito y medir el voltaje a través de él. En este caso, he elegido un valor de resistencia en derivación de 1 Ω para producir 1 voltio por amperio de corriente a través de C 1 :

 c1 4 7 22u rshunt 6 4 1 .print ac v (6,4) 

Sin embargo, la inserción de una resistencia adicional en nuestro circuito lo suficientemente grande como para dejar caer un voltaje significativo para el rango de corriente previsto podría afectar negativamente las cosas. Una mejor solución para SPICE es esta, aunque uno nunca buscaría una solución de medición tan actual en la vida real:

 c1 4 7 22u vbogus 6 4 dc 0 .print ac i (vbogus) 

Insertar una fuente de voltaje de CC "falsa" de cero voltios no afecta en absoluto el funcionamiento del circuito, pero proporciona un lugar conveniente para que SPICE tome una medida de corriente. Curiosamente, no importa que V falso es una fuente de CC cuando buscamos medir la corriente CA!

El hecho de que SPICE emitirá una lectura de corriente CA está determinado por el parámetro " ac ”Especificación en .print tarjeta y nada más. También debe tenerse en cuenta que la forma en que SPICE asigna una polaridad a las mediciones de corriente es un poco extraña. Tome el siguiente circuito como ejemplo:

 ejemplo v1 1 0 r1 1 2 5k r2 2 0 5k .dc v1 10 10 1 .print dc i (v1) .end 

Con un voltaje total de 10 voltios y una resistencia total de 10 kΩ, puede esperar que SPICE le diga que habrá 1 mA (1e-03) de corriente a través de la fuente de voltaje V 1 , pero en realidad, SPICE generará una cifra negativa 1 mA (-1e-03)! SPICE considera que la corriente que sale del extremo negativo de una fuente de voltaje de CC (la dirección normal) es un valor negativo de corriente en lugar de un valor positivo de corriente.

Hay ocasiones en que agregaré una fuente de voltaje "falsa" en un circuito de CC como este simplemente para que SPICE emita un positivo valor actual:

 ejemplo v1 1 0 r1 1 2 5k r2 2 3 5k vbogus 3 0 dc 0 .dc v1 10 10 1 .print dc i (vbogus) .end 

Observe cómo V falso está posicionado de modo que la corriente del circuito entre por su lado positivo (nodo 3) y salga por su lado negativo (nodo 0). Esta orientación asegurará una figura de salida positiva para la corriente del circuito.

Análisis de Fourier

Al realizar un análisis de Fourier (dominio de frecuencia) en una forma de onda, he encontrado que es necesario imprimir o trazar la forma de onda usando .print o .plot tarjetas, respectivamente. Si no lo imprime o traza, SPICE se detendrá por un momento durante el análisis y luego cancelará el trabajo después de generar la "solución transitoria inicial".

Además, al analizar una onda cuadrada producida por el " pulso ”, Debe darle a la forma de onda un tiempo finito de subida y bajada, o de lo contrario los resultados del análisis de Fourier serán incorrectos. Por alguna razón, una onda cuadrada perfecta con tiempo de subida / bajada cero produce niveles significativos de pares armónicos de acuerdo con la opción de análisis de Fourier de SPICE, lo cual no es cierto para ondas cuadradas reales.


Tecnología Industrial

  1. Cómo crear un autocompletado de búsqueda de Google
  2. Introducción a SPICE
  3. Historia de SPICE
  4. La interfaz de línea de comandos
  5. Componentes del circuito
  6. Consideraciones prácticas - Comunicación digital
  7. Dispositivos semiconductores en SPICE
  8. JFET Quirks
  9. IGFET Quirks
  10. Simulación por computadora de circuitos eléctricos
  11. Luz solar de entrada al nodo de sensor inalámbrico MSP430