Перейти к содержанию
    

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

Здраствуйте. У меня такой вопрос.По поводу сортировки сигналов. На вход от батареек подаются сигналы разного уровня (напряжения) –5,3,7,14, 8,10 в, -- они поступают на сумматоры параллельно, которые отнимают минимальное значение диапазона возможных значений (0) сигналов (например в диапазоне А=0-20), и добавляют сигнал Х—нахождение оптимального значения которого есть главной задачей.

Потом из сумматоров сигнал поступает на компаратор Sn (An’-x>01; An’-x<00)—ступенчатую функцию. Потом эти 1ицы сумируются в главном сумматоре и сума S—отнимается от К. То есть мы находим энергет. функцию E(x)=K-Sum; Вот нахождение когда E(x)=0 – есть нашей главной задачей, которая зависит от х. Которое в свою очередь изменяется с любого начального значение в диапазоне А по экспотенциальному закону.

http://postimg.org/image/m3qrcpqlj/

Тогда решение траэктории х(t) такое уравнение

Состояния:

Dx/dt=-alpha {x; if E(x)>0;

{0, if E(x)=0;

{x-A, if E(x)<0; где alpha (например 30) коэффициент угасания, который используется для контроля сходимости этого уравнения.

Соотвественно если мы находим оптимальное х когда Е минимизирована то мы можем найти Bn=Cn-x>0, то есть те наибольшие К начальных значений. Например если К=3, то это должно быть 7,14,10.

Наибольшие вопросы у меня возникают как мне реализовать компараторы – в первом случае я ни знаю правильно ли просто на компаратор из компонентов-макросы подать два разных сигнала и на выходе будет аналоговая 1 (что то этот простой случай проверить не получается), а во втором случае Dx/dt=-alpha …мне как неспециалисту непонятно как это тройное условие реализировать в микрокапе.

Второй неясный момент как задавать интегратор в этом случае? Scale, Vinit –

Если это экспотенциальная функция то dх/dt=-alpha*x;

dх/x=-alpha*dt;

ln(x)= -alpha*t+b

|x|=EXP(B )*EXP(-alpha*t)

Если задать начальное условие х(t0=0)=1;

1=С*EXP(-alpha*0)& # 61664; 1=C*1;

соответственно для первого случая x=EXP(-alpha*t)—зависимость х от t, когда Е>0; и динам. Сдвиг надо уменьшать, в прогтивном случае увеличивать, если Е=0—мы нашли решение.

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

В принципе интересна реализация тоже в симулинке -- ибо там тоже есть аналогичные возможности--но там вообще для интегратора только начальное условие определено, но интеграл то может быть х, может быть 1/х, х^2. Здесь же еще есть параметр SCALE (defined value).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость TSerg

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Я так думал что, что-то по сути уже написано, а тут такая реплика где провляется эрудиция. Ну а что касательно самих вопросов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так думал что, что-то по сути уже написано, а тут такая реплика где провляется эрудиция.

"Что-то" уже написано, но это чтото понятно только Вам. Сначала "текст" начинается с вопроса о сортировки, с указанием вскользь о батарейках (сортировка батареек?), потом какие-то понятные только ТС рассуждения о сходимости, упоминание микрокапа, схема, которая непонятно что и зачем делает (если это сортировка напряжения батарей, то почему нельзя обойтись одними компараторами?).

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так думал что, что-то по сути уже написано, а тут такая реплика где провляется эрудиция. Ну а что касательно самих вопросов.

Касательно самих вопросов рекомендую сформулировать их чётче и по очереди. Сейчас действительно ничего, кроме "эрудиции" этот набор слов вызывает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если "кажется" то наверное кто-то точно проспиртован.

Думаю интегратор работает по аналогии с симулинком -- здесь формулы несколько не к чему --ибо здесь важна та часть схемы что касается интегратора, и начальное значение. Думаю если в другой програме заработало, то и в микрокапе заработает ибо тоже есть начальное значение, думаю проводники могут здесь тоже развлетвятся, но есть несколько непонятный параметр Scale--который я так понял можно оставить равным 1, и работает он как усилитель.

Задам более конкреный вопрос. Вот на схеме выходит сигнал с E(x) -- и он может быть <0, =0, >0.

То есть вопрос заключается как скомпонировать такой компаратор, чтобы если сигнал меньше 0, выход такого компаратора(переключателя) ишел к (активировал) перепенную х, то есть чтобы выход с интегратора снова возвратной связью попадал на вход этому же интегратору, если сигнал меньше 0--то чтобы к переменной х (через суматор отнималась константа А) и уже этот результат подавался на вход интегратора, и если Е=0, то что-бы на вход интегратора подавалось значение (константа) 0- соответсвенно на выходе тоже был 0, и схема прекращала свою работу. Я эту схему реализировал в симулинке --но там я этот компаратор реализовал через блок If-else, а в микрокапе этого нету, как и нету Switch case который тоже можна применить в блочном мат-лабе

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость TSerg

Прогуливал школу, точно.

 

Во-вторых, Микрокапы разные бывают.

 

В третьих, в Microcap можно сделать все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задам более конкреный вопрос. Вот на схеме выходит сигнал с E(x) -- и он может быть <0, =0, >0.

То есть вопрос заключается как скомпонировать такой компаратор, чтобы если сигнал меньше 0, выход такого компаратора(переключателя) ишел к (активировал) перепенную х, то есть чтобы выход с интегратора снова возвратной связью попадал на вход этому же интегратору, если сигнал меньше 0--то чтобы к переменной х (через суматор отнималась константа А) и уже этот результат подавался на вход интегратора, и если Е=0, то что-бы на вход интегратора подавалось значение (константа) 0- соответсвенно на выходе тоже был 0

Это можно сделать добавив на схему элемент NFV (нелинейный источник, определяемый выражением/условием) и прописав для него выражение: VALUE = (v(x) - A*(v(out) < 0))*(v(out) != 0),

такой источник будет давать на выходе:

v(x), если v(out)>0;

0, если v(out) = 0;

v(x)-A , если v(out)<0.

Только я сомневаюсь, что на выходе интегратора может быть абсолютный ноль.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То есть вопрос заключается как скомпонировать такой компаратор, чтобы если сигнал меньше 0, выход такого компаратора(переключателя) ишел к (активировал) перепенную х,

Автор, Вы по-русски умеете? Ещё даю Вам попытку перед тем, как классифицировать этот полёт мысли как текстовый мусор, нарушающий п. 2.1.в Правил.

А ещё настоятельно советую начать с прочтения хэлпа на Микрокап.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Отрадно что в микрокапе можно сделать все.

Касательно разных микрокапов и справки к нему --вот хотел бы узнать где она хорошая располагается--

а то все очень скудно описано. Кроме двох книжек на русском (на иностранном даже не встречал) ничего

не нашел. Тем более о макросах--которые мне надо использовать -- и которые аналогичны симулинковским блокам (на которых схема работае)-- там пару страниц. Но среди макросов нету переключателя.

То что интегратор дает 0 -- это будет тогда когда на входе буде 0. И по условию Е=0 тогда х не будет менятся.

В общем если составить схему в симулинке это работает. Если кто может чем то помочь могу скинуть в личку.

Ну за русккий язык извеняйте --может в школе учил бело-руский.

Вот пример работающего каскада из двох переключателей в симулинке. Они наверное должны быть похожы на электротехн. а не програмные варианты ибо там есть еще и кейс свитч и другие переключатели.

http://postimg.org/image/ejrxka1ql --

Такой переключатель работает в зависимости от уровня который поступает на средний вход--если соотвествует условию -- он пропускает верхний сигнал--если нет то нижний сигнал. У меня от этот индикаторный сигнал входит в два переключатель-- в первом случае он пропускает череж верхний сигнал больше ровный 0, только две условия из нужного мне -- если условие ложно то лиш сигнал меньше 0. Во втором случае он пропускает через верхний вход только сигналы больше и меньше 0. Через нижний только сигнал равный нулю. То есть сигнал>0 может проходить лиш через два верхних канала переключателей, <0 -- через нижний и верхний канала соотвествующих переключателей,и сигнал нулю проходит только через нижний канал второго переключателя.

И еще мне не понятно -- где указана разница между идеальными и реальными компонентами в микрокапе --

макросы это идеальные? Или это компоновка реальных?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, из этого каламбура решительно ничего понять не удаётся. Может, кто-то более проницательный? Автор, поймите, хочется Вам помочь, но пока Вы выражаетесь вот так:

У меня от этот индикаторный сигнал входит в два переключатель-- в первом случае он пропускает череж верхний сигнал больше ровный 0, только две условия из нужного мне -- если условие ложно то лиш сигнал меньше 0. Во втором случае он пропускает через верхний вход только сигналы больше и меньше 0. Через нижний только сигнал равный нулю. То есть сигнал>0 может проходить лиш через два верхних канала переключателей, <0 -- через нижний и верхний канала соотвествующих переключателей,и сигнал нулю проходит только через нижний канал второго переключателя.

- шансов практически нет.

Ну за русккий язык извеняйте --может в школе учил бело-руский.

Так "может" или учили?

Макросы оставьте в покое. В Микрокапе есть модели. Идеальные и другие, соответствующие реальным компонентам. Например, компаратор можно, для начала, выбрать идеальным. Если хотите учитывать реальные погрешности - выбирайте из базы конкретный. Смотрите PSPICE-модель или пишите свою.

Насчёт хелпа - наверняка ест кнопочка со знаком "?". Давно не пользовался именно Микрокапом, но, обычно, там всё разжёвано предельно ясно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"из этого каламбура решительно ничего понять не удаётся" --схема перед вами...

"Смотрите PSPICE-модель или пишите свою" -- о моделях и о конкретной как то мало знаком.

Ну как оставить макросы в покое-- а как я скомпоную схему где будут такие компоненты как суматор, субтратор, компаратор (который сравнивает уровни сигнала на двох входах--например 5 и 3), интегратор, усилитель -- где их кроме макросов искать? Приведите примеры

Касательно Переключателя то они точно стандартные, например в ЛабВью есть Селектор (фактически аналог Свича в Симулинке) и относится к функциям сравнения, ну то есть тоже компаратор. В Микрокапе Свитч есть но хотел бы узнать по какой схеме он работает...

Пока-что моя 8-версия вызывает ошибку -- No space Left--потому хотелось бы узнать сколько на диске С ей надо места.

И все-таки что за идеальные компоненты--где они в меню компонентов расположены--как их распознать?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

...

Но среди макросов нету переключателя.

То что интегратор дает 0 -- это будет тогда когда на входе буде 0. И по условию Е=0 тогда х не будет менятся.

На первой диаграмме (которая в первом сообщении) на вход интегратора идет сигнал E(x), который не является константой, теперь Вам нужны константы? Может Вы не знаете, но программы численного расчета (как Микрокап например) при моделировании процессов во времени разбивают временной отрезок на интервалы, или итерации, и на каждой итерации делается один просчет всех переменных. При этом для расчета берутся значения напряжений/токов и прочих параметров из предыдущей итерации. И эти значения (естественно) не изменяются во время расчета.

 

Далее, по поводу переключателя -он есть в Микрокапе, называется Voltage controlled switch, можно использовать и его, но там нужно точно представлять логику его работы, поэтому я вместо него предложил нелинейный источник, логику которого можно четко задать с помощью выражения. Ключ ведь тоже можно описать выражением, так ведь? И если это выражение подставить в формулу источника, то Вы не увидите разницы между ключом и источником.

 

То что интегратор дает 0 -- это будет тогда когда на входе буде 0.

Не верно. Интегратор в дискретном цифровом понимании представляет собой просто сумматор, где каждую новую итерацию к предыдущему значению прибавляется значение со входа домноженное на dT. Т.е если на входе ноль, то на выходе всегда будет предыдущее значение, которое может быть любое (зависит от предыстории).

Вот пример работающего каскада из двох переключателей в симулинке. Они наверное должны быть похожы на электротехн. а не програмные варианты ибо там есть еще и кейс свитч и другие переключатели.

http://postimg.org/image/ejrxka1ql --

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сорри, действительно, х будет равно некому окончательному значению, и при входе на интегратор 0, оно не будет изменятся, если Е=0 -- это я уже "занулил" и выход из интегратора --имел ввиду что дельта Х будет равно 0.

Но все таки как быть из макросами --они фактически аналогичны симулинковским блокам -- то что там нету переключателя (ключа). И мне надо составить аналоговю схему потому в принципе компоненты должны быть аналоговыми--хотя например компаратор то выдает логическую 1 или 0 и там и там.

Касательно вашей фунции NVF то даже в интернете иформации ноль. И если так сложно програмировать как я могу потом на практике например спаять эту схему если этот элемент так сложно определяется (как тогда его на практике запрограмировать).

И все-таки где там идеальные а где реальные компонеты, как вообще достать максимально возможную библиотеку компонентов Микрокапа, как осуществлять поиск, где есть описание компонентов чтобы наприпет увидев марку знать что это интегратор, компаратор, усилитель..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...