Acerca de SPICE: ¿Debo usar análisis transitorio o análisis lineal DC?

Mi pregunta está relacionada específicamente con un problema de examen en el que tenía que encontrar una función en términos de tiempo para la corriente en un capacitor y una resistencia. El circuito era muy simple: una fuente de corriente variable en el tiempo en serie con 2 subcircuitos, cada uno compuesto por un capacitor y una resistencia conectada en paralelo. Por favor, vea la figura a continuación:

Circuito

Entonces, si quiero simular este circuito con un software SPICE, ¿debo ejecutar un análisis transitorio, un análisis lineal de CC o algún otro tipo de análisis?

Si la fuente de corriente fuera sinusoidal, usaría un análisis de CA, pero la fuente de corriente ejecuta una corriente numéricamente equivalente a t (en amperios), donde t es el tiempo (en segundos) transcurrido desde que el circuito comenzó a funcionar.

A continuación he escrito mi archivo netlist. Si bien no es una lista de red SPICE válida, ilustra lo que estoy tratando de hacer, concéntrese en la fuente actual Iin :

CIRCUIT ANALYSIS
C2 0 2 20m
R2 0 2 3
Iin 0 1 {time}
R1 1 2 2
C1 1 2 50m

.TRAN 1us 100ms
.CONTROL
RUN
PLOT V(1)-V(2)
.ENDC

.END

Si intentara simular esta lista de conexiones, recibiría un error similar al siguiente (que obtuve usando ngspice ):

Original line no.: 4, new internal line no.: 5:
Undefined number [TIME]
Original line no.: 4, new internal line no.: 5:
Cannot compute substitute
 Copies=9 Evals=9 Placeholders=1 Symbols=0 Errors=2

¿Cómo puedo lograr este tipo de análisis?

Respuestas (3)

El análisis de CC le proporciona únicamente los valores de estado estable de CC de las condiciones iniciales . Debe hacer un análisis transitorio para ver cómo evolucionan los voltajes y las corrientes con el tiempo . El análisis de CA es solo para estado estacionario sinusoidal de pequeña señal; es un análisis en el dominio de la frecuencia.

Creo que necesitará usar una fuente lineal por partes ( PWL ) para su rampa actual.

Las condiciones iniciales pueden ser cualquier cosa que usted o el simulador deseen. Entonces, ¿DC no serían los valores de estado estable?
Tienes razón, y no sé por qué escribí eso. La solución DC es, por supuesto, el estado final después de que todos los transitorios hayan decaído. ¡Do!
¡Gran! El análisis de PWL me permitió hacer exactamente lo que estaba planeando. Y sí, por lo que noté, el análisis lineal de CC parece trazar el estado final del circuito en cada punto.

Sería mejor utilizar un análisis transitorio. En lugar de utilizar el parámetro de tiempo, puede configurar la fuente de corriente con el atributo de pulso y, a continuación, especificar el tiempo de subida/bajada en consecuencia si utiliza una fuente de corriente estándar (Ix). O use una fuente arbitraria (Bx) y exprese la señal matemáticamente usando el tiempo como parámetro.

Por ejemplo, aquí está la lista de redes para su circuito en LTSPice usando una fuente de corriente de comportamiento arbitrario:

* C:\Program Files\LTC\LTspiceIV\current rc.asc
R1 N002 N001 2
C1 N002 N001 50mF
R2 N002 0 3
C2 N002 0 20mF
B1 0 N001 I=time
.tran 0 15 1m uic
.backanno
.end

Aquí está la simulación con V1 - V2 trazada:

trama

¿B no es un refdes para un tipo de transistor?
Bueno, después de hacer algunos ajustes a la lista de conexiones que proporcionó, pude usarla con éxito, parece que el .backannocomando y la .transintaxis varían entre LTSpice y ngspice. También marcaría su solución como respuesta, pero ya he aceptado una respuesta:/

Según su descripción del problema del examen, creo que un análisis transitorio sigue siendo lo que está buscando. En CircuitLab puede simplemente definir la fuente de corriente como si tuviera una corriente "T" para generar una rampa de corriente lineal proporcional al tiempo de simulación: (haga clic aquí para ver el circuito y la simulación)

rampa actual

Abra y ejecute la simulación transitoria:

diagrama de rampa actual

También puede examinar las corrientes en cada elemento. Como era de esperar, las corrientes en C1 y C2 son constantes, mientras que las corrientes en R1 y R2 crecen linealmente con el tiempo.

En cuanto a la pregunta de ngspice/netlist, creo que las palabras clave que se deben buscar son "fuentes de comportamiento". Consulte esta página para ver algunos ejemplos (uno cerca del final usa TIME como variable).

Hm, lamentablemente ngspice no puede ejecutar ese ejemplo TIMEcomo parámetro. Recibo el mismo error que incluí en mi pregunta, es muy desafortunado.
Y casi lo olvido, ¡gracias por mostrarme CircuitLab! Podría usarlo en el futuro.