Deseo trazar la corriente y el poder en ngspice. En el caso del voltaje, por ejemplo, si quisiera trazar el voltaje en el nodo 1, usaría:
plot v(1)
El problema es que cuando intento i (1), el vector no se reconoce. ¿Podría alguien proporcionar algunos ejemplos sobre cómo hacer esto?
i(1)
siempre es 0.Respuestas:
Oli dio una respuesta correcta, pero el I (element_name) es una extensión agregada solo a las versiones comerciales de SPICE.
En ngspice (que se basa en Berkeley Spice 3) solo puede trazar corrientes a través de fuentes de voltaje (independientes). Estas son las únicas corrientes que aparecen en las ecuaciones de circuito desde las que trabaja SPICE.
En una sesión interactiva de Spice o desde un bloque especial en el script (vea también esta pregunta ), puede usar expresiones como
(v(1)-v(2))/1k
cuando la corriente es a través de una resistencia de 1kΩ entre los nodos 1 y 2. Para elementos reactivos (como un condensador de 1μF) algo como(v(1) - v(2))/(2*pi*frequency*1u)
debería Además trabajo.fuente
No he usado ngspice (uso LTSpice, pero, por lo que entiendo, casi todos los SPICE se basan en la sintaxis original de Berkeley y funcionan de manera similar), pero generalmente trazan la corriente a través de un componente o, por ejemplo, en la base de un transistor, más bien que en un nodo, de acuerdo con la primera ley de Kirchoff (la suma de las corrientes que se encuentran en un punto es cero)
EDITAR: como señaló jpc, para ngspice (y probablemente la mayoría de las otras variantes no comerciales / tempranas) las cosas son ligeramente diferentes, ya que solo puede trazar corrientes a través de una fuente de voltaje. Por lo tanto, uno tendría que agregar una fuente de 0V en el tramo del circuito de interés y trazar la corriente a través de esto. He agregado un ejemplo a continuación.
Entonces, si tiene un circuito simple que consiste en una resistencia (R1) con una fuente de voltaje (V1) a través de él (no soy un experto en la lista de redes, tome como ejemplo aproximado):
V1 1 0 5
R1 1 0 1000
(1, 0 son los nodos, 5 (V) y 1000 (ohmios) son los valores respectivos)
Puede trazar la corriente con I (R1) o I (V1), no I (1). Sin embargo, podría trazar V (1) para el voltaje.
Versión NGSPICE (probada y confirmada)
V1 1 0 5
R1 1 2 1000 Vdummy 2 0 0
Tenga en cuenta que Vdummy está en serie con la resistencia, por lo que la misma corriente debe fluir a través de ella. Entonces, para trazar la corriente para R1, escribimos I (Vdummy). Para un circuito más complejo solo nos aseguramos de que se apliquen las mismas condiciones.
Aquí hay un ejemplo "real" de LTspice:
NETLIST
V1 V + 0 24 Rser = 0
V2 SIG 0 SINE (-1.4563 1m 1000 0 0 0 0) AC 2 Rser = 0
V3 V- 0 -24
Q1 N001 N002 N003 0 2N2222
R1 V + N001 1f
R2 N003 V- 2K7
C2 N004 N003 100µF
R3 N004 0 3K9
R4 N002 0 22K
C1 N002 SIG 100µF
IMAGEN DE CIRCUITO
OPCIONES DE PARCELA
(Tenga en cuenta que no hay I (n001), I (n002), etc.)
fuente
Puede trazar corrientes, pero necesita saber qué corrientes desea saber antes de ejecutar su simulación.
Por ejemplo, si tuviera un diodo D1 y quisiera trazar la corriente a través de él, podría:
Más información en la página 519 (Capítulo 31) del manual ngspice en http://ngspice.sourceforge.net/docs/ngspice-manual.pdf
fuente
En caso de un voltaje de CC de barrido a través de un solo componente, puede trazar la corriente de derivación. Al cargar la siguiente lista de redes
a picante y al mando
Debería poder obtener un diagrama de trazado de la corriente a través del diodo d1.
fuente
para el trazado actual, agregue una fuente de voltaje cero en esa rama y escriba vlabel # branch en el terminal.
fuente
Desde NGSpice 27 R2017, colocando esta línea de código:
Guarda las corrientes, que pueden ser llamadas a través de
@R1[i]
,@D1[id]
, etc.Busque esta opción en el Manual de NGSpice .
fuente