Я хочу изобразить ток и силу в ngspice. Например, в случае напряжения, если бы я хотел построить график напряжения в узле 1, я бы использовал:
plot v(1)
Проблема в том, что, когда я пытаюсь i (1), вектор не распознается. Может ли кто-нибудь привести несколько примеров, как это сделать?
i(1)
всегда 0.Ответы:
Оли дал правильный ответ, но I (element_name) - это расширение, добавленное только в коммерческие версии SPICE.
В ngspice (который основан на Berkeley Spice 3) вы можете отображать токи только через (независимые) источники напряжения. Это единственные токи, которые появляются в схемах уравнений, от которых работает SPICE.
В интерактивной сессии специй или из специального блока в сценарии (см также этот вопрос ) , вы можете использовать такие выражения , как ,
(v(1)-v(2))/1k
когда ток через резистор 1кОм между узлами 1 и 2. Для реактивных элементов (как конденсатор 1 мкФ) что - то вроде(v(1) - v(2))/(2*pi*frequency*1u)
должно также работа.источник
Я не использовал ngspice (я использую LTSpice, но, насколько я понимаю, почти все SPICE основаны на оригинальном синтаксисе Беркли и работают аналогично), но обычно вы прокладываете ток через компонент или, например, в базу транзистора, скорее чем в узле, согласно первому закону Кирхгофа (сумма токов, встречающихся в точке, равна нулю)
РЕДАКТИРОВАТЬ - как указал jpc, для ngspice (и, вероятно, большинства других некоммерческих / ранних вариантов) все немного отличается, так как вы можете прокладывать токи только через источник напряжения. Таким образом, нужно было бы добавить источник 0 В на участке интересующей цепи, и проследить ток через это. Я добавил пример ниже.
Так что, если у вас есть простая схема, состоящая из резистора (R1) с источником напряжения (V1) через него (я не эксперт по списку цепей, поэтому возьмем пример грубый):
V1 1 0 5
R1 1 0 1000
(1, 0 - узлы, 5 (В) и 1000 (Ом) - соответствующие значения)
Вы можете построить график с I (R1) или с I (V1), а не с I (1). Однако вы можете построить график V (1) для напряжения.
Версия NGSPICE (проверена и подтверждена)
V1 1 0 5
R1 1 2 1000 Vdummy 2 0 0
Обратите внимание, что Vdummy подключен последовательно с резистором, поэтому через него должен течь один и тот же ток. Таким образом, чтобы построить ток для R1 мы пишем I (Vdummy). Для более сложной схемы мы просто следим за тем же условием.
Вот «реальный» пример из 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 мкФ
R3 N004 0 3K9
R4 N002 0 22K
C1 N002 SIG 100 мкФ
ФОТО ЦЕПИ
ВАРИАНТЫ УЧАСТКА
(Обратите внимание, что нет I (n001), I (n002) и т. Д.)
источник
Вы можете строить токи, но вам нужно знать, о каких токах вы хотите знать, прежде чем запускать симуляцию.
Например, если у вас был диод D1 и вы хотите провести ток через него, вы можете:
Более подробная информация находится на странице 519 (глава 31) руководства ngspice по адресу http://ngspice.sourceforge.net/docs/ngspice-manual.pdf.
источник
В случае скачкообразного постоянного напряжения на одном компоненте, вы можете построить график ответвления тока. Загружая следующий список соединений
чтобы ngspice и командующий
Вы должны быть в состоянии получить диаграмму тока через диод d1.
источник
для построения графика добавьте источник нулевого напряжения в эту ветвь и введите vlabel # branch в терминале.
источник
Начиная с NGSpice 27 R2017, разместив эту строку кода:
Сохраняет токи, которые могут быть вызваны через для
@R1[i]
,@D1[id]
и т.д.Ищите эту опцию в Руководстве NGSpice .
источник