Как реализовать расчет простой схемы из резисторов?

Например, есть простой делитель напряжения с нагрузкой:
- у любого элемента могут быть заданы R, V, I, P - как все так и отдельные
- эти значения могут быть заданы как для отдельных элементов, так и для нескольких (например, входное напряжение на двух резисторах)
- используются соединения параллельные и последовательные

Как построить приложение, чтобы было проще делать расчеты не заданных значений, находить и исправлять конфликты значений заданных вручную (например, входное напряжение 12, падения на резисторах 3 и 5... или не стыковка сопротивления, тока и напряжения)?
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ответы на вопрос 3
@VT100
Embedded hardware & software.
Законы Ома и правила Кирхгофа. ИМХО - всё.
Главный вопрос, я думаю, - в верном рпзборе топологии произвольного(?) делителя, с последовательно-параллельными соединениями. Как вариант - попробовать генерировать netlist, отдавать в соответствующую программу (ngspice, например) и парсить его выхлоп на ошибки.

P.S. А смысл?
Ответ написан
hint000
@hint000
у админа три руки
например, входное напряжение 12, падения на резисторах 3 и 5
Когда введены два параметра, достаточных для вычисления третьего параметра, то нужно сразу его вычислить и заблокировать ввод этого параметра (у нас говорили "посерить" контрол - сделать серым, недоступным).
не понятно как организовать гибкий пересчет по любым параметрам схемы
Так или иначе, пересчёт имеет смысл делать после ввода или корректировки какого-нибудь параметра, т.е. по событию ввода. Все параметры в списке. Пробегаем в цикле по списку параметров и для каждого смотрим, можно ли его вычислить на основе имеющихся (у каждого параметра можно сделать флаг с тремя состояниями: 0=не_определён, 1=введён, 2=вычислен), если можно, то вычисляем, выставляем флаг.
для каждого значения надо сохранять время ввода
Вот это ни к чему, от слова совсем. Если после каждого ввода вычислять всё, что уже можно вычислить, то не важно, какой параметр был введён раньше, а какой позже.
Ответ написан
zabudkin
@zabudkin
Инженер-системотехник, программист, админ, ТПУ!!!!
Ну во первых, надо получить высшее техническое образование.
Самому этому не обучится, даже не пытайтесь, а то будете слыть в кругах, как самоучка-самодур.
Например, есть простой делитель напряжения с нагрузкой:
- у любого элемента могут быть заданы R, V, I, P - как все так и отдельные
- эти значения могут быть заданы как для отдельных элементов, так и для нескольких (например, входное напряжение на двух резисторах)
- используются соединения параллельные и последовательные

А что Вам мешает просто сложить значения для нескольких элементов, да и вообще подсчеты производить по количеству, или Вы будете каждый элемент в схему вводить? Особенно интересно, как же Вы будете обрабатывать значения "входного напряжения на двух резисторах" :) Или Вы про делитель или тупо плюсовать собрались?

Причём как я понимаю у Вас и последовательная и параллельная схема одновременно. Как Вы считать это собираетесь? Ладно параллельная, но последовательная? Выход одного элемента из строя и нет Вашей схемы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы