Как стать автором
Обновить

Минималистичный онлайн-симулятор линейных DC и AC цепей

Время на прочтение3 мин
Количество просмотров5.9K
Расскажу о своем поделии, которое я использовал на бывшей работе. Преподавание теоретической электротехники предполагает решение многочисленных задач и выполнение экспериментов в ходе лабораторных работ. Результаты решения задачи или выполнения эксперимента, естественно, желательно проверить — а вдруг ошибка какая вышла?

Скрытый текст
Баланс электрических мощностей — штука, безусловно, хорошая, но ведь ошибиться можно и в нем. На выручку приходит моделирование. Симуляторы электрических цепей имеют богатую историю, и собрать модель цепи постоянного тока, например, в LTspice проблем не составит. Но это если в наличии у студента есть ноутбук или достаточный парк компьютеров в учебной аудитории. А так бывает не всегда и не везде :-) Есть симуляторы с графическим интерфейсом и для смартфонов, но удобство их использования — вопрос спорный. Но даже если симулятор и доступен, есть своеобразная проблема с моделированием установившегося режима цепей синусоидального тока. Если их моделировать в "transient"-режиме, то возникает вопрос с учетом длительности переходного процесса, возникающего при включении цепи — проблема "steady state detection". Но, скажете Вы, есть же режим "AC analysis". Это, конечно, так, но удобство его использования и интерпретации его результатов при решении учебной задачи расчета цепи синусоидального тока — на большого любителя. И о реактивных и полных мощностях симулятор тоже ничего не знает, да и определение показаний ваттметра — дело далеко не тривиальное.

Я решил сотворить минималистичный симулятор линейных электрических цепей постоянного и синусоидального тока FoxySim с текстовым вводом описания цепи, для использования которого требуется устройство с браузером и возможностью ввода текста + доступ в Интернет.

Браузер может быть любым, даже текстовым — вот, например, симуляция в Lynx:

image

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

image

Формат описания я сделал в духе SPICE с добавлениями, нацеленными именно на использование при преподавании теоретической электротехники (измерительные приборы, комплексные величины etc).

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

.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

нажимаем кнопку «Пуск!» и получаем результат :-)

image

Введенное описание схемы сохраняется в cookies, можно переключать язык интерфейса.
Симулятор без лишних затей реализован на Go (я в восторге от этого языка) в виде Web-приложения.

Для моделирования электрических цепей я использовал MNA-метод.

Симулятор доступен по адресу http://sim.foxylab.com

Код проекта выложен на GitHub.

Вот ряд примеров:

моделирование цепи постоянного тока

Схема:

image

Список соединений:

.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

Результат:

image

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

Схема:

image

Список соединений:

.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

Результат:

image

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

Схема:

image

Список соединений:

.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

Результат:

image

Краткое описание формата директив и описаний элементов доступно здесь (кнопка image)

Подробное описание симулятора можно посмотреть здесь.

Небольшое видео, иллюстрирующее процесс моделирования цепи синусоидального тока —
Теги:
Хабы:
Всего голосов 11: ↑10 и ↓1+9
Комментарии13

Публикации

Истории

Работа

Go разработчик
108 вакансий

Ближайшие события

22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань