Fork me on GitHub

Введение в симуляцию электрических схем с помощью NGSPICE.js

SPICE (Simulation Program with Integrated Circuit Emphasis) - алгоритм моделирования процессов, протекающих в электрических схемах, разработанный в конце 70-х годов в университете Беркли (Калифорния). NGSPICE является расширением оригинального Spice3f5 с открытым кодом.

Наиболее часто используются 5 видов анализа электронных схем:

  • OP: Замер значений напряжения/тока при устойчивом состоянии системы. Например замер потребляемой мощности системы при отсутствии входного сигнала

  • DC: анализ по постоянному току посредством изменения параметров источников постоянного напряжения и/или тока. Пример - снятие вольт-амперной характеристики диода

  • AC: анализ по переменному току посредством изменения частоты. Пример - анализ частотной характеристики RC фильтра

  • Transient: Анализ поведения системы во времени. Например подбор параметров схемы генератора электрических колебаний

  • Fourier: Разложение функции в ряд Фурье. Позволяет качественно оценить нелинейные искажения сигнала

Начнём с проверки законов Кирхгофа с помощью простого OP анализа.

screenshot

На вход ngspice приходит схема в формате netlist. В данном материале для редактирования электрических схем используется gschem + gnetlist.

~$ gnetlist -g spice-sdb -o kirghof.net kirghof.sch

схема | netlist | ngspice.js

screenshot

ngspice 1 -> source kirghof.net
ngspice 2 -> op
ngspice 3 -> show v1 v2 v3
ngspice 4 -> print i(v1) i(v2) i(v3)

Результат: i(v1) = -2.54545 | i(v2) = -1.18182 | i(v3) = -3.72727

Первый закон Кирхгофа: алгебраическая сумма токов, сходящихся в любом узле, равна нулю ( -2.54545 -1.18182 = -3.72727 )

Второй закон Кирхгофа: алгебраическая сумма падений напряжений на отдельных участках замкнутого контура, произвольно выделенного в сложной разветвленной цепи, равна алгебраической сумме ЭДС в этом контуре ( 2.54545*10 - 1.18182*30 = 40-50 )

Далее RC - цепочка.

Comments !

links

social