Мой онлайн-симулятор FoxySim
предназначен для моделирования линейных электрических цепей постоянного и синусоидального тока (однофазных и трехфазных) - расчета значений токов, напряжений, мощностей и определения показаний измерительных приборов.
При разработке симулятора я ставил цель создать симулятор, пригодный для использования студентами при изучении таких курсов:
«Теоретические основы электротехники» (ТОЭ);
«Основы теории цепей» (ОТЦ);
«Основы теории электрических цепей» (ОТЭЦ);
«Теория электрических цепей» (ТЭЦ);
«Теория электрорадиотехнических цепей» (ТЭРЦ);
«Теория линейных электрических цепей» (ТЛЭЦ);
«Электротехника».
Ввод информации о схеме моделируемой цепи производится в текстовом виде, а вся обработка выполняется на сервере, что позволяет использовать симулятор FoxySim на любом устройстве, имеющем доступ в Интернет и оснащенном браузером.
Скриншот работающего симулятора на смартфоне под управление ОС Android:
![FoxySim](/sites/default/files/foxysim_android.png)
А вот как работает симулятор в текстовом браузере Lynx:
ввод списка соединений
![расчет цепи](/sites/default/files/foxysim_lynx_inp.png)
получение результатов
![моделирование цепи](/sites/default/files/foxysim_lynx_res.png)
Главное достоинство моего симулятора - удобство использования (ввода информации о схеме и получения результатов) при моделировании линейных электрических цепей постоянного и синусоидального тока. В существующих SPICE-симуляторах режим "AC Small-Signal Analysis" предназначен для определения передаточной функции и очень неудобен при использовании для расчета цепей синусоидального тока в рамках теоретической электротехники.
Исходный код симулятора написан мной на языке программирования Go (Golang):
![i like golang](/sites/default/files/i_like_golang.png)
Алгоритм расчета основан на использовании модифицированного метода узловых потенциалов (англ. MNA - modified nodal analysis). В этом методе при решении системы узловых уравнений определяются не только узловые потенциалы, но и токи некоторых ветвей.
![](/sites/default/files/foxysim_ico.png)
Симулятор электрических цепей FoxySim доступен по адресу: http://sim.foxylab.com
![](/sites/default/files/github.png)
Код проекта доступен на GitHub: https://github.com/Dreamy16101976/FoxySim
![](/sites/default/files/youtube.png)
Видеопример моделирования линейной электрической цепи синусоидального тока доступен на моем YouTube-канале:
https://youtu.be/2CamX-YVuQ8
Для переключения языка интерфейса (русский/английский) следует нажать кнопку с соответствующим флажком
.
Схема рассчитываемой цепи описывается списком соединений (англ. netlist), состоящим из директив, описаний компонентов и комментариев:
![список соединений](/sites/default/files/foxysim_3phase_inp_ru.png)
Формат входных данных (списка соединений):
► пустые строки игнорируются
► комментарии:
*комментарий
► директивы:
регистр символов в названии директивы не важен
.DC - расчет цепи постоянного тока
.AC частота - расчет цепи синусоидального тока:
лин. частота в Гц - по умолчанию или символ f в конце значения;
круг. частота в рад/с - символ w в конце значения;
частоту можно не указывать, если в цепи отсутствуют катушки индуктивности и конденсаторы
.PARAM имя значение - задание значения значение параметра с именем имя
(регистр символов в имени параметра не важен)
.DEG - вывод фаз в градусах (по умолчанию):
![моделирование электрической цепи](/sites/default/files/foxysim_deg.png)
.RAD - вывод фаз в радианах:
![](/sites/default/files/foxysim_rad.png)
.FIX число_дес._знаков - вывод значений с фиксированной точкой (по умолчанию):
три дес. знака:
;
если число знаков не указано, то выводится шесть десятичных знаков: ![расчет электрической цепи](/sites/default/files/foxysim_fix_6.png)
.SCI число_знач._цифр - вывод значений с плавающей точкой (в научном формате):
три цифры после точки: ![расчет электрической цепи](/sites/default/files/foxysim_sci_3.png)
если число значащих цифр не указано, то выводится четыре цифры после точки: ![расчет электрической цепи](/sites/default/files/foxysim_sci_4.png)
.END - конец списка соединений
описания компонентов:
в именах компонентов регистр символов не важен
имена компонентов не могут дублироваться
N1, N2, N3, N4 - номера узлов, узлы нумеруются целыми числами, начиная от 0 - базисного узла
АКТИВНЫЕ ЭЛЕМЕНТЫ:
независимые источники:
► источник ЭДС:
![симулятор электрических цепей](/sites/default/files/vs_din.png)
постоянный ток (DC) - Vимя N1 N2 значение
синусоидальный ток (AC) - Vимя N1 N2 действ._значение нач._фаза
значение ЭДС задается в вольтах;
если значение нач. фазы не задано, то оно принимается равным нулю;
нач. фаза в градусах - по умолчанию или символ d в конце значения;
нач. фаза в радианах - символ r в конце значения
► источник тока:
![моделирование электрических цепей](/sites/default/files/cs_din.png)
постоянный ток - Iимя N1 N2 значение
синусоидальный ток - Iимя N1 N2 действ._значение нач._фаза
значение тока задается в амперах;
если значение нач. фазы не задано, то оно принимается равным нулю;
нач. фаза в градусах - по умолчанию или символ d в конце значения;
нач. фаза в радианах - символ r в конце значения
зависимые (управляемые) источники:
► источник напряжения, управляемый напряжением (ИНУН):
![](/sites/default/files/vcvs_din.png)
постоянный ток (DC) - Eимя N1 N2 N3 N4 коэф._передачи
синусоидальный ток (AC) - Eимя N1 N2 N3 N4 модуль_коэф._передачи фаза_коэф._передачи
если значение фазы коэф. передачи не задано, то оно принимается равным нулю;
фаза коэф. передачи в градусах - по умолчанию или символ d в конце значения;
фаза коэф. передачи в радианах - символ r в конце значения
► источник тока, управляемый током (ИТУТ):
![](/sites/default/files/cccs_din.png)
постоянный ток (DC) - Fимя N1 N2 N3 N4 коэф._передачи
синусоидальный ток (AC) - Fимя N1 N2 N3 N4 модуль_коэф._передачи фаза_коэф._передачи
если значение фазы коэф. передачи не задано, то оно принимается равным нулю;
фаза коэф. передачи в градусах - по умолчанию или символ d в конце значения;
фаза коэф. передачи в радианах - символ r в конце значения
► источник тока, управляемый напряжением (ИТУН):
![](/sites/default/files/vccs_din.png)
постоянный ток (DC) - Gимя N1 N2 N3 N4 коэф._передачи
синусоидальный ток (AC) - Gимя N1 N2 N3 N4 модуль_коэф._передачи фаза_коэф._передачи
если значение фазы коэф. передачи не задано, то оно принимается равным нулю;
фаза коэф. передачи в градусах - по умолчанию или символ d в конце значения;
фаза коэф. передачи в радианах - символ r в конце значения
► источник напряжения, управляемый током (ИНУТ):
![](/sites/default/files/ccvs_din.png)
постоянный ток (DC) - Hимя N1 N2 N3 N4 коэф._передачи
синусоидальный ток (AC) - Hимя N1 N2 N3 N4 модуль_коэф._передачи фаза_коэф._передачи
если значение фазы коэф. передачи не задано, то оно принимается равным нулю;
фаза коэф. передачи в градусах - по умолчанию или символ d в конце значения;
фаза коэф. передачи в радианах - символ r в конце значения
ПАССИВНЫЕ ЭЛЕМЕНТЫ
► резистор: Rимя N1 N2 значение
![симуляция электрических цепей](/sites/default/files/res_din.png)
значение сопротивления задается в омах
► катушка индуктивности: Lимя N1 N2 значение
![расчет электрической цепи](/sites/default/files/ind_din.png)
значение индуктивности задается в генри
► индуктивная связь: Kимя Lимя Lимя коэф._связи
![](/sites/default/files/coupling_din.png)
указываются имена двух индуктивно связанных катушек
► конденсатор: Cимя N1 N2 значение
![модель электрической цепи](/sites/default/files/cap_din.png)
значение емкости задается в фарадах
► комплексное сопротивление:
![модель электрической цепи](/sites/default/files/z_din.png)
в экспоненциальной форме:
Zимя N1 N2 модуль фаза
если значение фазы не задано, то оно принимается равным нулю;
фаза в градусах - по умолчанию или символ d в конце значения;
фаза в радианах - символ r в конце значения
в алгебраической форме:
Zимя N1 N2 актив._сопр. реактив._сопр.i
► длинная линия:
![модель электрической цепи](/sites/default/files/t.png)
Для представления длинной линии используется точная эквивалентная модель линии в виде П-образной схемы замещения.
Сопротивление продольной ветви определяется выражением $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$ - длина линии, км или м.
резистивная:
![модель электрической цепи](/sites/default/files/tr_din.png)
TRимя N1 N2 N3 характер._сопр. пост._передачи длина
RLC:
![модель электрической цепи](/sites/default/files/tz_din.png)
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
![моделирование электрических цепей](/sites/default/files/amp.png)
► вольтметр: PVимя N1 N2
![симулятор цепей](/sites/default/files/volt.png)
► ваттметр: PWимя N1 N2 N3 N4
![](/sites/default/files/watt.png)
► варметр: PQимя N1 N2 N3 N4
![](/sites/default/files/var.png)
► фазометр: PFимя N1 N2 N3 N4
![](/sites/default/files/ph.png)
Для очистки списка соединений следует нажать кнопку ![](/sites/default/files/foxysim_clr_ru.png)
Для получения краткой справки следует нажать кнопку ![](/sites/default/files/foxysim_help.png)
Симуляция
Для запуска моделирования следует нажать кнопку ![](/sites/default/files/foxysim_go_ru.png)
Список соединений сохраняется в cookies браузера и восстанавливается при следующем входе.
Результаты расчета
После окончания симуляции в браузере открывается окно с результатами расчета.
расчет цепи постоянного тока:
- для резистора - ток, падение напряжения, потребляемая мощность
![](/sites/default/files/dc_r_res_ru.png)
- для независимого источника ЭДС - ток, вырабатываемая мощность
![](/sites/default/files/dc_vs_res_ru.png)
- для независимого источника тока - напряжение, вырабатываемая мощность
![](/sites/default/files/dc_cs_res_ru.png)
- для зависимых источников - ток, ЭДС или напряжение, вырабатываемая мощность
расчет цепи синусоидального тока:
- комплексные значения приводятся в экспоненциальной (показательной) форме
- для резистора - ток, падение напряжения, потребляемая активная мощность
![](/sites/default/files/ac_r_res_ru.png)
- для катушки индуктивности и конденсатора - ток, падение напряжения, потребляемая реактивная мощность
![](/sites/default/files/ac_lc_res_ru.png)
- для независимого источника ЭДС - ток, вырабатываемая комплексная мощность
![](/sites/default/files/ac_vs_res_ru.png)
- для независимого источника тока - напряжение, вырабатываемая комплексная мощность
- для зависимых источников - ток, ЭДС или напряжение, вырабатываемая комплексная мощность
Для возврата к редактированию списка соединений следует нажать ссылку ![](/sites/default/files/foxysim_bk_ru.png)
Некорректные схемы
При создании короткого замыкания для ненулевого источника ЭДС
.DC
V1 1 0 10
V2 0 1 0
.END
при попытке запуска симуляции выдается ошибка " Сингулярная матрица! "
Такая же ошибка возникает при последовательном включении двух источников тока:
.DC
I1 0 1 10
I2 1 0 5
.END
Примеры
В качестве примеров я приведу расчет цепи постоянного тока и расчеты однофазной и трехфазной цепей синусоидального тока, а также цепи с длинной линией:
расчет линейной цепи постоянного тока
Рассчитываемая цепь содержит два источника ЭДС, один источник тока и три резистора:
![схема замещения цепи](/sites/default/files/foxysim_dc_ru.png)
Список соединений выглядит так:
.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
Результаты расчета содержат токи, напряжения и мощности:
![онлайн-симулятор электрической цепи](/sites/default/files/foxysim_dc_res_ru.png)
расчет линейной цепи синусоидального тока
Рассчитываемая цепь содержит источник синусоидального напряжения, резистор, катушку индуктивности, конденсатор, вольтметр, ваттметр, варметр, фазометр и амперметр:
![симулятор FoxySim](/sites/default/files/foxysim_rlc_wqf_din.png)
Список соединений выглядит так:
.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
Результаты расчетов содержат показания приборов, а также токи, напряжения и мощности отдельных компонентов:
![результаты расчета цепи](/sites/default/files/foxysim_rlc_wqf_res_ru.png)
расчет линейной цепи синусоидального тока с индуктивной связью (воздушным трансформатором)
Рассчитываемая цепь содержит источник синусоидального напряжения, воздушный трансформатор, нагрузку в виде резистора, вольтметры, ваттметр и амперметры:
![расчет воздушного трансформатора](/sites/default/files/foxysim_trans_din.png)
Список соединений выглядит так:
.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
Результаты расчетов содержат показания приборов, а также токи, напряжения и мощности отдельных компонентов:
![модель цепи с трансформатором](/sites/default/files/foxysim_trans_res_ru.png)
расчет несимметричной трехфазной цепи
Рассчитываемая трехфазная цепь содержит три фазных источника ЭДС, соединенных по схеме "звезда", и несимметричную нагрузку из резистора, катушки индуктивности и конденсатора, соединенных по схеме "звезда", причем нейтральный провод отсутствует:
![](/sites/default/files/3phase_cir_din.png)
Список соединений выглядит так:
.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. Начальные фазы ЭДС соответствуют прямому чередованию фаз.
Результаты расчета трехфазной цепи содержат показания приборов, а также токи, напряжения в комплексной форме и мощности (активные, реактивные и комплексные):
![](/sites/default/files/3phase_cir_res_ru.png)
расчет сложной несимметричной трехфазной цепи с комплексными сопротивлениями
Рассчитываемая трехфазная цепь содержит три фазных источника ЭДС, соединенных по схеме "звезда", и несимметричную нагрузку из шести комплексных сопротивлений:
![](/sites/default/files/3phase_z_din.png)
Список соединений выглядит так:
.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
Результаты расчета трехфазной цепи содержат показания приборов, а также токи, напряжения в комплексной форме и комплексные мощности:
![](/sites/default/files/3phase_z_res_ru.png)
расчет цепи с длинной линией
Длинная линия подключена к источнику напряжения 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 - напряжение на входе линии
![](/sites/default/files/tz_cir_res.png)
Моя статья на Хабре о симуляторе - https://habr.com/post/434570/
Продолжение следует