Meine Frage bezieht sich speziell auf ein Prüfungsproblem, bei dem ich eine zeitliche Funktion für den Strom an einem Kondensator und einem Widerstand finden musste. Die Schaltung war sehr einfach: Eine zeitvariante Stromquelle in Reihe mit 2 Teilschaltungen, die jeweils aus einem Kondensator und einem parallel geschalteten Widerstand bestehen. Bitte sehen Sie die Abbildung unten:
Wenn ich diese Schaltung mit einer SPICE-Software simulieren möchte, sollte ich dann eine Transientenanalyse, eine lineare DC-Analyse oder eine andere Art von Analyse durchführen?
Wenn die Stromquelle sinusförmig wäre, würde ich eine Wechselstromanalyse verwenden, aber die Stromquelle führt einen Strom aus, der numerisch t (in Ampere) entspricht, wobei t die Zeit (in Sekunden) ist, die seit Beginn der Schaltung vergangen ist.
Unten habe ich meine Netzlistendatei geschrieben. Obwohl es sich nicht um eine gültige SPICE-Netzliste handelt, zeigt sie, was ich versuche. Konzentrieren Sie sich auf die aktuelle Quelle 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
Wenn Sie versuchen würden, diese Netzliste zu simulieren, würden Sie eine ähnliche Fehlermeldung erhalten (die ich mit ngspice erhalten habe ):
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
Wie kann ich diese Art der Analyse erreichen?
quelle
Am besten verwenden Sie eine transiente Analyse. Anstatt den Zeitparameter zu verwenden, können Sie die Stromquelle mit dem Impulsattribut einrichten und dann die Anstiegs- / Abfallzeit entsprechend angeben, wenn Sie eine Standardstromquelle (Ix) verwenden. Oder verwenden Sie eine beliebige Quelle (Bx) und drücken Sie das Signal mathematisch aus, indem Sie die Zeit als Parameter verwenden.
Hier ist beispielsweise die Netzliste für Ihre Schaltung in LTSPice unter Verwendung einer willkürlich verhaltensbezogenen Stromquelle:
Hier ist die Simulation mit V1 - V2 dargestellt:
quelle
.backanno
Befehl und die.tran
Syntax zwischen LTSpice und ngspice variieren. Ich würde Ihre Lösung auch als Antwort markieren, aber ich habe bereits eine Antwort akzeptiert: /Basierend auf Ihrer Beschreibung des Prüfungsproblems denke ich, dass eine vorübergehende Analyse immer noch das ist, wonach Sie suchen. In CircuitLab können Sie die Stromquelle einfach als Strom "T" definieren, um eine lineare Stromrampe proportional zur Simulationszeit zu erzeugen: (Klicken Sie hier für Schaltung und Simulation)
Öffnen Sie die Transientensimulation und führen Sie sie aus:
Sie können auch die Ströme in jedem Element untersuchen. Wie zu erwarten ist, sind die Ströme in C1 und C2 konstant, während die Ströme in R1 und R2 linear mit der Zeit wachsen.
In Bezug auf die ngspice / netlist-Frage glaube ich, dass die zu suchenden Schlüsselwörter "Verhaltensquellen" sind. Auf dieser Seite finden Sie einige Beispiele (eines am Ende verwendet TIME als Variable).
quelle
TIME
als Parameter ausführen . Ich erhalte den gleichen Fehler, den ich in meine Frage aufgenommen habe, es ist sehr unglücklich.