Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как работает симулятор электрической схемы?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
VDV
Какова математика симуляции электрической схемы с идеальнымии элементами?
Где это можно прочитать?
Судя по всему надо создать список связанных выводов компонентов,
создать двумерную матрицу для записи напряжений на выводах.
А дальше?
В результате хочется получить развертку напряжений на вольтметрах во времени и зависимость их от частоты.
Как в idealCircuit.
Corvus
Ключевые фразы для гугления:
"Метод узловых потенциалов"
"Метод контурных токов"
"Автоматизация схемотехнического проектирования"
AlexandrY
Цитата(VDV @ Nov 27 2015, 20:00) *
Какова математика симуляции электрической схемы с идеальнымии элементами?
Где это можно прочитать?
Судя по всему надо создать список связанных выводов компонентов,
создать двумерную матрицу для записи напряжений на выводах.
А дальше?
В результате хочется получить развертку напряжений на вольтметрах во времени и зависимость их от частоты.
Как в idealCircuit.



Мне в свое время очень помогла вот эта книга:
Нажмите для просмотра прикрепленного файла

Текст на Паскале из нее легко переносится в RAD Studio XE
Можно сделать даже благообразный симулятор. Только схемный редактор где-то достать надо.
VDV
спасибо!
посмотрел на википедии статьи про эти методы, пока мало что понял.

а схемный редактор уже написал.
AlexandrY
Цитата(VDV @ Nov 27 2015, 21:54) *
а схемный редактор уже написал.


Ого! На чем?
Скриншоты можно увидеть?
VDV
отправил в личку
AlexandrY
Цитата(VDV @ Nov 27 2015, 22:13) *
отправил в личку


В ваших исходниках я не нашел где формируется список цепей, нумеруются узлы и создаются компоненты.
Это там есть?
Для Java я не имею подходящих тулсов для анализа.
arhiv6
Вы хотите прикрутить симуляцию к своему редактору? Если интерес не академичечский, а практический, то советую сразу ориентироваться на стандарт - SPICE. В таком случае правильнее будет генерировать по схеме нетлист и отдавать его решателю (Ngspice, Xyce и подобные), а потом обрабатывать результаты его расчета.
VDV
Компоненты создаются в редакторе компонентов (первая вкладка на картинке). Затем нужный компонент выбирается из библиотеки и помещается на лист схемы.
Каждому компоненту надо будет сопоставить мат. модель.
Редактора для создания мат. модели компонентов нет.
Пока не знаю, как мат. модель соединить с УГО.
Возможно, сделаю просто классы с математикой.

Создания списка цепей и т.д. нет, пока только визуальный редактор.

SPICE меня не интересует. Для этого у меня есть программы.
AlexandrY
В поисках схемных редакторов я нашел такой замечательный компонент для RAD Studio как ExpressFlowChart Suite
Там уже сразу есть объекты и есть связи. А также куча уже готовых функций редактирования.
Можно сделать на нем и редактор схем и визуальный редактор алгоритмов и редактор вычислительных моделей и проч.
Нажмите для просмотра прикрепленного файла
Не кажется ли вам в связи с этим, что изобретаете велосипед?
AlexeyW
Не знаю, я писал просто как дифференциальную модель второго порядка, вроде все замечательно получалось.
VDV
Цитата(AlexandrY @ Nov 27 2015, 23:47) *
Не кажется ли вам в связи с этим, что изобретаете велосипед?

- интересно, когда-нибудь менталитет на наших форумах изменится? и на вопрос "как смоделировать идеальную цепь" не будут предлагать SPICE и говорить про велосипед.
- школьники решают на уроках одну и ту же задачу, и ничего, только на пользу.

а если по существу:
- результаты у SPICE моделеров не всегда адекватные. часто не найти нужную модель. интерфейс у программ неудобный в использовании.
- поразвлекаться, может и не сделаю.
- не хватает функционала у idealCircuit, а автор игнорирует вопросы. а пользовать её очень удобно, чтобы быстро что-то прикинуть.
kovigor
Цитата(VDV @ Nov 28 2015, 16:07) *
а если по существу:

По существу - надо основательно засесть за учебники по ТОЭ, вроде Бессонова и Зевеке. Именно там, а не в Википедии, описаны упоминавшиеся только что "Метод узловых потенциалов", "Метод контурных токов" и много - много других методов.
Еще придется читать книги по полупроводниковой схемотехнике, вроде двухтомника Титце и Шенка. Там и модели компонентов есть. Но прежде придется изучить ТОЭ.
А еще вот такая книжка вспомнилась:
http://dataspace.com.ua/product_89.html

Потрудиться придется изрядно. Задача эта отнюдь не программистская. Она электротехническая, математическая, какая угодно, но только не программистская ...
AlexeyW
Цитата(VDV @ Nov 28 2015, 15:07) *
- интересно, когда-нибудь менталитет на наших форумах изменится? и на вопрос "как смоделировать идеальную цепь" не будут предлагать SPICE и говорить про велосипед.
- школьники решают на уроках одну и ту же задачу, и ничего, только на пользу.



Цитата(kovigor @ Nov 28 2015, 16:01) *
Потрудиться придется изрядно. Задача эта отнюдь не программистская. Она электротехническая, математическая, какая угодно, но только не программистская ...

Абсолютно поддерживаю. Это просто очень существенное собственное развитие, даже только поэтому задача имеет смысл.
_Pasha
а что мешает тот же ngspice посмотреть как устроен?
_pv
Цитата(VDV @ Nov 28 2015, 18:07) *
- не хватает функционала у idealCircuit, а автор игнорирует вопросы. а пользовать её очень удобно, чтобы быстро что-то прикинуть.

idealCircuit это вроде бы урезанная версия nl5.
а чего именно не хватает?
kovigor
Цитата(_Pasha @ Nov 28 2015, 23:21) *
а что мешает тот же ngspice посмотреть как устроен?

А смысл ? Без совершенного понимания электротехнической, электронной и электротехнической основ исходники ПО - не более, чем набор символов ...
AlexandrY
Цитата(VDV @ Nov 28 2015, 14:07) *
а если по существу:
- результаты у SPICE моделеров не всегда адекватные. часто не найти нужную модель. интерфейс у программ неудобный в использовании.
- поразвлекаться, может и не сделаю.
- не хватает функционала у idealCircuit, а автор игнорирует вопросы. а пользовать её очень удобно, чтобы быстро что-то прикинуть.


Лучше завязывайте с Java. Просто выбрали неудачный инструмент, это можно понять.

У вас ведь еще задача сделать красивые графики, экспорты и проч. сервисы.

Переходите на RAD XE.
Тот же Altium с которого вы скопировали пиктограммы на RAD написан.
_Pasha
Цитата(kovigor @ Nov 29 2015, 01:05) *
А смысл ? Без совершенного понимания электротехнической, электронной и электротехнической основ исходники ПО - не более, чем набор символов ...

biggrin.gif совершенно согласен. но разбираться как устроен spice все равно придется
в nl5 отличный хелп по моделям, насколько я помню
есть еще питоновский Ahkab
за счет уровня языка - может оказаться более понятна и читабельна структура
AlexandrY
Цитата(_Pasha @ Nov 29 2015, 07:45) *
biggrin.gif совершенно согласен. но разбираться как устроен spice все равно придется
в nl5 отличный хелп по моделям, насколько я помню
есть еще питоновский Ahkab
за счет уровня языка - может оказаться более понятна и читабельна структура


Ну зачем разбираться как устроен spice?
Расчет линейных цепей это всего пару действий с матрицами.
Основная сложность это составить матрицу инцидентности. На чем автор и споткнулся.

А дальше простейшая матричная библиотека или прямо закодить можно, как в книге которую я привел.
VDV
он же SPICE?
и потом, чтобы что-то понять, надо хоть немного понимать в теории.

есть более простая вещь:
http://www.falstad.com/circuit/

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

в idealCircuit не хватает изменения вида графика - не всегда нужны дБ.
не хватает переменных резисторов и возможности наложения результата их кручения на один график.
да и по мелочи всяко разно.
элементы было бы неплохо иметь возможность добавить.
nl5 по сравнению с idealCircuit пользовать неудобно

p.s. не приходят уведомления на мыло о сообщениях.
_pv
Цитата(VDV @ Nov 29 2015, 15:57) *
в idealCircuit не хватает изменения вида графика - не всегда нужны дБ.
не хватает переменных резисторов и возможности наложения результата их кручения на один график.
да и по мелочи всяко разно.
элементы было бы неплохо иметь возможность добавить.
nl5 по сравнению с idealCircuit пользовать неудобно

не знаю как в iC, nl5 умеет делать sweep любого параметра c выводом всех графиков, ну и сам график вытащить наружу для преобразования в нужный вид тоже должно быть возможно, встроенный скриптовый язык должен позволять.
как и добавление своих компонентов.
общая кривоватость пользовательского интерфейса есть конечно, но у iC на мой взгляд ещё неудобнее после nl5.
_Pasha
Цитата(AlexandrY @ Nov 29 2015, 12:07) *
А дальше простейшая матричная библиотека или прямо закодить можно, как в книге которую я привел.

Да.. rolleyes.gif книга супер. Я тоже оттуда в паскаль набирал. а потом она куда-то подевалась после переезда.

VDV
кто-нибудь пробовал запускать программы из этой книги?
Работают примеры для sinus, gleich, dyna-linear.
Для dyna-non-linear пример не работает.
Если поменять граничное условие на б) то работать начинает. результат правильный.
Т.е. судя по всему ошибка где-то в интерполяции функции диода.
Непонятно, где ошибка. Сравнением кодов на бейсике и паскале ошибки не видно.
в файле - java-код.
выбор условия - строка 1429.
VDV
построил графики по обоим условиям.
похоже, ошибки-то и нет. просто при а) кривая сильно прогибается в области отрицательных значений за счёт резкого перелома в районе 0.7.
так что диод нормально апроксимируется кривой б), и ошибка видимо при вводе данных, выбрана не та кривая.

однако, результат работа программы spline тоже не соответствует книжному.
хотя, возможно, в книге опечатка в первой цифре, опущены вторые корни и меньшая точность вычислений.
тогда результаты похожи
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.