FoxySim - мой онлайн-симулятор электрических цепей

Мой онлайн-симулятор FoxySimFoxySimпредназначен для моделирования линейных электрических цепей постоянного и синусоидального тока (однофазных и трехфазных) -  расчета значений токов, напряжений, мощностей и определения показаний измерительных приборов.

При разработке симулятора я ставил цель создать симулятор, пригодный для использования студентами при изучении таких курсов:

«Теоретические основы электротехники» (ТОЭ);
«Основы теории цепей» (ОТЦ);
«Основы теории электрических цепей» (ОТЭЦ);
«Теория электрических цепей» (ТЭЦ);
«Теория электрорадиотехнических цепей» (ТЭРЦ);
«Теория линейных электрических цепей» (ТЛЭЦ);
«Электротехника».

Ввод информации о схеме моделируемой цепи производится в текстовом виде, а вся обработка выполняется на сервере, что позволяет использовать симулятор FoxySim на любом устройстве, имеющем доступ в Интернет и оснащенном браузером.

Скриншот работающего симулятора на смартфоне под управление ОС Android:
FoxySim

А вот как работает симулятор в текстовом браузере Lynx:
ввод списка соединений
расчет цепи
получение результатов
моделирование цепи

Главное достоинство моего симулятора - удобство использования (ввода информации о схеме и получения результатов) при моделировании линейных электрических цепей постоянного и синусоидального тока. В существующих SPICE-симуляторах режим "AC Small-Signal Analysis" предназначен для определения передаточной функции и очень неудобен при использовании для расчета цепей синусоидального тока в рамках теоретической электротехники.

Исходный код симулятора написан мной на языке программирования Go (Golang):
i like golang

Алгоритм расчета основан на использовании модифицированного метода узловых потенциалов (англ. MNAmodified nodal analysis). В этом методе при решении системы узловых уравнений определяются не только узловые потенциалы, но и токи некоторых ветвей.


Симулятор электрических цепей FoxySim доступен по адресу
: http://sim.foxylab.com


Код проекта доступен на GitHub: https://github.com/Dreamy16101976/FoxySim


Видеопример моделирования линейной электрической цепи синусоидального тока доступен на моем YouTube-канале:
https://youtu.be/2CamX-YVuQ8

Для переключения языка интерфейса (русский/английский) следует нажать кнопку с соответствующим флажком   .

Схема рассчитываемой цепи описывается списком соединений (англ. netlist), состоящим из директив, описаний компонентов и комментариев:
список соединений

Формат входных данных (списка соединений):

►  пустые строки игнорируются

комментарии:

*комментарий

директивы:

регистр символов в названии директивы не важен

.DC - расчет цепи постоянного тока

.AC  частота - расчет цепи синусоидального тока:
лин. частота в Гц - по умолчанию или символ f в конце значения;
круг. частота в рад/с - символ w в конце значения;
частоту можно не указывать, если в цепи отсутствуют катушки индуктивности и конденсаторы

.PARAM имя значение - задание значения значение параметра с именем имя
(регистр символов в имени параметра не важен)

.DEG - вывод фаз в градусах (по умолчанию):
моделирование электрической цепи
.RAD - вывод фаз в радианах:

.FIX число_дес._знаков - вывод значений с фиксированной точкой (по умолчанию):
три дес. знака: расчет электрической цепи;
если число знаков не указано, то выводится шесть десятичных знаков: расчет электрической цепи
.SCI число_знач._цифр - вывод значений с плавающей точкой (в научном формате):
три цифры после точки: расчет электрической цепи
если число значащих цифр не указано, то выводится четыре цифры после точки: расчет электрической цепи

.END - конец списка соединений

описания компонентов:

в именах компонентов регистр символов не важен
имена компонентов не могут дублироваться
N1, N2, N3, N4  - номера узлов, узлы нумеруются целыми числами, начиная от 0 - базисного узла

АКТИВНЫЕ ЭЛЕМЕНТЫ:

независимые источники:

источник ЭДС:

симулятор электрических цепей

постоянный ток (DC) - Vимя N1 N2 значение
синусоидальный ток (AC) - Vимя N1 N2 действ._значение нач._фаза
значение ЭДС задается в вольтах;
если значение нач. фазы не задано, то оно принимается равным нулю;
нач. фаза в градусах - по умолчанию или символ d в конце значения;
нач. фаза в радианах - символ r в конце значения

источник тока:

моделирование электрических цепей

постоянный ток - Iимя N1 N2 значение
синусоидальный ток - Iимя N1 N2 действ._значение нач._фаза

значение тока задается в амперах;
если значение нач. фазы не задано, то оно принимается равным нулю;
нач. фаза в градусах - по умолчанию или символ d в конце значения;
нач. фаза в радианах - символ r в конце значения

зависимые (управляемые) источники:

источник напряжения, управляемый напряжением (ИНУН):

постоянный ток (DC) - Eимя N1 N2 N3 N4 коэф._передачи
синусоидальный ток (AC) - Eимя N1 N2 N3 N4  модуль_коэф._передачи фаза_коэф._передачи

если значение фазы коэф. передачи не задано, то оно принимается равным нулю;
фаза коэф. передачи в градусах - по умолчанию или символ d в конце значения;
фаза коэф. передачи в радианах - символ r в конце значения

источник тока, управляемый током (ИТУТ):

постоянный ток (DC) - Fимя N1 N2 N3 N4 коэф._передачи
синусоидальный ток (AC) - Fимя N1 N2 N3 N4  модуль_коэф._передачи фаза_коэф._передачи

если значение фазы коэф. передачи не задано, то оно принимается равным нулю;
фаза коэф. передачи в градусах - по умолчанию или символ d в конце значения;
фаза коэф. передачи в радианах - символ r в конце значения

источник тока, управляемый напряжением (ИТУН):

постоянный ток (DC) - Gимя N1 N2 N3 N4 коэф._передачи
синусоидальный ток (AC) - Gимя N1 N2 N3 N4  модуль_коэф._передачи фаза_коэф._передачи

если значение фазы коэф. передачи не задано, то оно принимается равным нулю;
фаза коэф. передачи в градусах - по умолчанию или символ d в конце значения;
фаза коэф. передачи в радианах - символ r в конце значения

источник напряжения, управляемый током (ИНУТ):

постоянный ток (DC) - Hимя N1 N2 N3 N4 коэф._передачи
синусоидальный ток (AC) - Hимя N1 N2 N3 N4 модуль_коэф._передачи фаза_коэф._передачи

если значение фазы коэф. передачи не задано, то оно принимается равным нулю;
фаза коэф. передачи в градусах - по умолчанию или символ d в конце значения;
фаза коэф. передачи в радианах - символ r в конце значения

ПАССИВНЫЕ ЭЛЕМЕНТЫ

резистор: Rимя N1 N2 значение
симуляция электрических цепей

значение сопротивления задается в омах

катушка индуктивности: Lимя N1 N2 значение
расчет электрической цепи

значение индуктивности задается в генри

индуктивная связь: Kимя Lимя Lимя коэф._связи

указываются имена двух индуктивно связанных катушек

конденсатор: Cимя N1 N2 значение
модель электрической цепи

значение емкости задается в фарадах

комплексное сопротивление:
модель электрической цепи

в экспоненциальной форме:

Zимя N1 N2 модуль фаза

если значение фазы не задано, то оно принимается равным нулю;
фаза в градусах - по умолчанию или символ d в конце значения;
фаза в радианах - символ r в конце значения

в алгебраической форме:

Zимя N1 N2 актив._сопр. реактив._сопр.i

длинная линия:
модель электрической цепи

Для представления длинной линии используется точная эквивалентная модель линии в виде П-образной схемы замещения.
Сопротивление продольной ветви определяется выражением $Z_1 = Z_0 sinh (\gamma L)$ , а поперечной - выражением $Z_2 = Z_3 = {{Z_0 sinh(\gamma L)} \over {cosh(\gamma L) - 1}}$, где $Z_0$ - характеристическое (волновое) сопротивление линии, Ом, $\gamma$ - постоянная передачи, км-1 или м-1, $L$ - длина линии, км или м.

резистивная:
модель электрической цепи

TRимя N1 N2 N3 характер._сопр. пост._передачи длина

RLC:
модель электрической цепи

TZимя N1 N2 N3 характер._сопр. пост._передачи длина

Характеристическое сопротивление и постоянная передачи должны указываться в комплексной (алгебраической или экспоненциальной) форме.

В значениях можно использовать приставки (важен регистр символов):

приставка обозначение множитель
тера T 1012
гига G 109
мега M 106
кило K 103
милли m 10-3
микро u 10-6
нано n 10-9
пико p 10-12

В качестве значений в списке соединений можно подставлять имена параметров в фигурных скобках: {имя}

ИЗМЕРИТЕЛЬНЫЕ ПРИБОРЫ

амперметр: PAимя N1 N2
моделирование электрических цепей

вольтметр: PVимя N1 N2
симулятор цепей

ваттметр: PWимя N1 N2 N3 N4

варметр: PQимя N1 N2 N3 N4

фазометр: PFимя N1 N2 N3 N4

Для очистки списка соединений следует нажать кнопку

Для получения краткой справки следует нажать кнопку

Симуляция

Для запуска моделирования следует нажать кнопку

Список соединений сохраняется в cookies браузера и восстанавливается при следующем входе.

Результаты расчета

После окончания симуляции в браузере открывается окно с результатами расчета.

расчет цепи постоянного тока:

  • для резистора - ток, падение напряжения, потребляемая мощность
  • для независимого источника ЭДС - ток, вырабатываемая мощность
  • для независимого источника тока - напряжение, вырабатываемая мощность
  • для зависимых источников - ток, ЭДС или напряжение, вырабатываемая мощность

расчет цепи синусоидального тока:

  • комплексные значения приводятся в экспоненциальной (показательной) форме
  • для резистора - ток, падение напряжения, потребляемая активная мощность
  • для катушки индуктивности и конденсатора - ток, падение напряжения, потребляемая реактивная мощность
  • для независимого источника ЭДС - ток, вырабатываемая комплексная мощность
  • для независимого источника тока - напряжение, вырабатываемая комплексная мощность
  • для зависимых источников - ток, ЭДС или напряжение, вырабатываемая комплексная мощность

Для возврата к редактированию списка соединений следует нажать ссылку

Некорректные схемы

При создании короткого замыкания для ненулевого источника ЭДС

.DC
V1 1 0 10
V2 0 1 0
.END

при попытке запуска симуляции выдается ошибка " Сингулярная матрица! "

Такая же ошибка возникает при последовательном включении двух источников тока:

.DC
I1 0 1 10
I2 1 0 5
.END

Примеры

В качестве примеров я приведу расчет цепи постоянного тока и расчеты однофазной и трехфазной цепей синусоидального тока, а также цепи с длинной линией:

расчет линейной цепи постоянного тока

Рассчитываемая цепь содержит два источника ЭДС, один источник тока и три резистора:

схема замещения цепи

Список соединений выглядит так:

.DC
V1 1 0 10
R1 1 2 5
R2 2 0 15
R3 2 3 20
V2 3 0 30
I1 2 0 5
.END

Результаты расчета содержат токи, напряжения и мощности:

онлайн-симулятор электрической цепи

расчет линейной цепи синусоидального тока

Рассчитываемая цепь содержит источник синусоидального напряжения, резистор, катушку индуктивности, конденсатор, вольтметр, ваттметр, варметр, фазометр и амперметр:
симулятор  FoxySim
Список соединений выглядит так:

.AC 50
V1 1 0 100 0
PW1 1 2 1 0
PQ1 2 3 2 0
PF1 3 4 3 0
PA1 4 5
PV1 1 0
R1 5 6 50
L1 6 7 100m
C1 7 0 80u
.END

Результаты расчетов содержат показания приборов, а также токи, напряжения и мощности отдельных компонентов:
результаты расчета цепи

расчет линейной цепи синусоидального тока с индуктивной связью (воздушным трансформатором)

Рассчитываемая цепь содержит источник синусоидального напряжения, воздушный трансформатор, нагрузку в виде резистора, вольтметры, ваттметр и амперметры:
расчет воздушного трансформатора

Список соединений выглядит так:

.AC 50
V1 1 0 60 0
PW1 1 2 1 0
PA1 2 3
PV1 1 0
R1 3 4 30
L1 4 0 100m
K1 L1 L2 0.8
L2 5 0 200m
R2 5 6 50
PA2 6 7
R3 7 0 100
PV2 7 0
.END

Результаты расчетов содержат показания приборов, а также токи, напряжения и мощности отдельных компонентов:
модель цепи с трансформатором

расчет несимметричной трехфазной цепи

Рассчитываемая трехфазная цепь содержит три фазных источника ЭДС, соединенных по схеме "звезда", и несимметричную нагрузку из резистора, катушки индуктивности и конденсатора, соединенных по схеме "звезда", причем нейтральный провод отсутствует:

Список соединений выглядит так:

.AC 50
VA 1 0 {E} 0
VB 2 0 {E} -120
VC 3 0 {E} 120
.PARAM E 220
PW1 1 4 1 3
PW2 2 5 2 3
PAA 4 6
PAB 5 7
PAC 3 8
R1 6 9 500
L1 7 9 300m
C1 8 9 50u
PVA 6 9
PVB 7 9
PVC 8 9
PVN 9 0
.END

Модуль действующего значения фазной ЭДС (220 В) задан как значение параметра E. Начальные фазы ЭДС соответствуют прямому чередованию фаз.

Результаты расчета трехфазной цепи содержат показания приборов, а также токи, напряжения в комплексной форме и мощности (активные, реактивные и комплексные):

расчет сложной несимметричной трехфазной цепи с комплексными сопротивлениями

Рассчитываемая трехфазная цепь содержит три фазных источника ЭДС, соединенных по схеме "звезда", и несимметричную нагрузку из шести комплексных сопротивлений:

Список соединений выглядит так:

.AC 50
VA 1 0 {E} 0
VB 2 0 {E} -120
VC 3 0 {E} 120
.PARAM E 220
PW1 1 4 1 3
PW2 2 5 2 3
Z1 4 6 8 30
Z2 5 7 12 -50
Z3 3 8 10 90
Z4 6 7 15 0
Z5 7 8 6 -30
Z6 6 8 18 60
.END

Результаты расчета трехфазной цепи содержат показания приборов, а также токи, напряжения в комплексной форме и комплексные мощности:

расчет цепи с длинной линией

Длинная линия подключена к источнику напряжения Vg = 10 ∠ 0° В с внутренним сопротивлением Zg = 40 Ом. К другому концу линии подключена нагрузка ZL = 20 + j50 Ом. Характеристическое сопротивление линии Z0 = 60 + j40 Ом, постоянная передачи g = 0,921 + j1 м-1, длина линии 2 м.

Список соединений выглядит так:

.AC 1Mw
VG 1 0 10 0
ZG 1 2 40
TZ1 2 3 0 60 40i 0.921 1i 2
ZL 3 0 20 50i
.END

Результаты расчета содержат токи, напряжения в комплексной форме и комплексные мощности:

1 - ток на входе линии
2 - напряжение на входе линии
3 - ток на входе линии
4 - напряжение на входе линии

Моя статья на Хабре о симуляторе - https://habr.com/post/434570/

Продолжение следует

 

Яндекс.Метрика