Форум » Общие вопросы моделирования » Импульсный генератор » Ответить

Импульсный генератор

Fermi: Добрый день, столкнулся с затруднением в заполнении первоначальных значений. мне нужно задать относительное значение времени включения которое равно 0.9 куда его вписывать, при просмотре переходных процессов нечего не отображается, просто импульс. (Простите сразу за не грамотность, с микрокапом работаю не так давно)

Ответов - 16

Aml: Относительное время включения в явном виде не задается ни в одном из генераторов. В том, который вы выбрали, задаются исключительно моменты времени, при котором завершается та или иная стадия переключения . Для использования в качестве задающего генератора прямоходового преобразователя этот тип генератора неудобен. Лучше использовать универсальный источник Voltage Source. В нем для импульсного генератора задается длительность импульса и период (а также длительность задержки перед импульсом, длительность фронта и длительность среза). При желании в нем через символьные переменные можно указывать и коэффициент заполнения (относительную длительность импульса). Для этого нужно определить две символьные переменные - период (например Per) и относительную длительность D, а также присвоить им значения. Это делается директивами Define. Например, для периода 100 мкс и коэффициента заполнения 0,25: .Define Per 100u .Define D 0.25 Эти надписи выполняются в режиме ввода текста в поле схемы. Каждая директива задается отдельной надписью. После этого в параметрах генератора в поле периода нужно записать переменную Per, а в поле длительности импульса выражение (D*Per) Теперь изменяя значение D в директиве, можно менять относительную длительность импульса.

Maric: Вопрос. В схеме есть импульсный источник тока "Current source", я хочу построить график выбрасываемого этим источником тока заряда в схему в меню Analisys->Transient. Для этого мне надо умножить ширину импульса источника тока PW (времена нарастания и спада равны нулю) на ток i(I1). Пишу в таблице высвечиваемой Analisys->Transient pw(I1)*i(I1) : выдаёт ошибку "Unknown identifier 'PW' in '(PW(I1)*I(I1)'." Смотрю помощь, высвечивается сообщение "If the error refers to a parameter reference, make sure that curly brackets have been wrapped around the reference. C1 1 2 {CVAL}". Пытался в Reference Manual найти решение проблемы, не нашёл. Может что-то подскажете.

Aml: Неправильно определяете заряд. Заряд это ток, умноженный на время. Соответственно, нужно задавать I(I1)*t (справедливо за время действия импульса) Если нужно график заряда от времени (несколько периодов), то нужно брать интеграл от тока по времени - SUM(I(I1),T)

Maric: Спасибо за ответ. Но это немного не то, на что я хотел получить ответ. Я неправильно сформулировал вопрос. Попробую снова. В схеме есть импульсный источник тока I1 "Current source", я хочу найти заряд, который этот I1 выбрасывает в цепь за один период pulse.per или (что, то же самое- pulse.pw), т.е. выражение pulse.pw*pulse.i2, это просто число, от времени не зависит. Т.е., мне надо извлечь параметр(ы) из I1 подставить их в формулу в меню Analisys->Transient и потом с ними как-то манипулировать (в виде формул). Табличка Analisys->Transient, обозначения типа pulse.pw(I1), pulse.i2(I1) (в Y expresion) не воспринимает, грубо говоря, матюкается, "If the error refers to a parameter reference, make sure that curly brackets have been wrapped around the reference. C1 1 2 {CVAL}" Шо мэни робыть ? Подскажете что-то ?

Aml: Обозначайте значение i2 и PW какими-нибудь символьными переменными, а потом используйте эти переменные в расчетах. При этом расчет можно выполнить прямо в поле схемы. Схема - https://cloud.mail.ru/public/Asxy/giq96Xd3L

Maric: Ещё раз спасибо. Промучился неделю, не получается. Пробую снова. В схеме есть импульсный источник тока I1 "Current source.Pulse" (все времена, кроме I1.pulse.PW, равны 0). Я хочу сконструировать его таким образом, чтобы при Stepping... или Optimize... (в меню Analysis->Transient), при каждом цикле выполнения, оставалось постоянным произведение (I1.pulse.PW)*(I1.pulse.I2), т.е. заряд Q, выбрасываемый I1 в схему. Для этого надо, чтобы один из параметров I1, пусть это будет (I1.pulse.I2, т.е. ток во время импульса), зависел от параметра этого же источника (I1.pulse.PW), по формуле: I1.pulse.I2 = Q/(I1.pulse.PW),где Q - это постоянная величина (число), которую можно задать в .define или в таблице I1. Тогда произведение (I1.pulse.PW)*(I1.pulse.I2) будет постоянным. Как это сделать ? Пробовал приспособить ф-ию impulse(), не получается. Может надо попробовать SPICE, или что-то совсем другое ? Может проблема не в модели источника тока, а в параметрах Stepping... или Optimize... ? Спасибо, В.С. Марикуца.

Aml: Т.е. нужно сделать так, чтобы произведение двух переменных всегда была постоянной величиной. А при варьировании одной из них (например, степингом) вторая вычислялась автоматически. Как уже писал выше, нужно задать две символьные переменные: одна - сила тока (например, I2), вторая - длительность импульса (например, PW). Предположим, что варьироваться будет сила тока, а высчитываться длительность импульса. Тогда в поле схемы надо задать: .Define Q 1u .Define I2 1m .Define PW {Q/I2} Затем в источнике в графе PW записать символьную переменную PW. После этого можно начинать выполнение степинга I2, длительность импульса будет подсчитываться автоматически.

Maric: Спасибо. Всё оказалось гораздо проще, чем я предполагал. Оказалось, что для того, чтобы параметры зависели друг от друга, надо в Stepping->Parameter Type-> поставить точку на Symbolic, а она у меня стояла на Component. Короче говоря, всё получилось. Ещё раз спасибо. Если у меня появятся ещё вопросы, буду писать. В.С. Марикуца.

Maric: Ещё вопрос. Как сконструировать экспоненциальный источник тока i(T)= exp(-a*T), пусть a=1, чтобы он повторялся с периодом,например, per=4 ? Для напряжения я нашёл в Book-mc9 пример Sine Source (там можно подобрать параметры так, чтобы синусоиду убрать, она мне не нужна), но в нём выходной сигнал - напряжение, а мне нужен именно ток. Что можете посоветовать ? С уважением, В.С. Марикуца.

locik: Maric ,управляемый источник тока NF

Maric: Хорошо, написал, NFI : delay(exp(-T*3)-exp(-T),0) + delay(exp(-T*3)-exp(-T),3) + delay(exp(-T*3)-exp(-T),6) + delay(exp(-T*3)-exp(-T),9), всё работает. А как избавиться от этих delay(exp(-T*3)-exp(-T),n*period), а записать в виде одной формулы, типа {[exp(-T*3)-exp(-T)],period}, где n - целое число, period (для этого примера = 3), записан где-то в .define_ах, или ещё где-то. Короче говоря, это всё слишком сложно, объясню короче. Хочу повторить произвольный сигнал i(t)[источник тока], (задаю его формулой) с периодом period. С уважением, В.С. Марикуца.

Aml: Номер периода n можно вычислить по формуле n=(T Div PER). Разумеется, предварительно период PER надо задать. После этого переменную n можно использовать в стандартной формуле для периодической функции, которую записывают в функциональный источник тока NFI При этом первый период вычисляется как нулевой. Если нужно, чтобы он был именно первым, то n=(T Div PER)+1

Aml: Например, реализация формирования прямоугольного импульса амплитудой 5А, длительностью 1мс и периодом 5мс: .Define AMP 5 .Define PW 1m .Define PER 5m .Define n {T div PER) В источнике NFI записать: AMP*((0<(T-n*PER)) AND ((T-n*PER)<PW))

Maric: Спасибо за ответ. Буду пробовать. С уважением, В.С. Марикуца

Aml: Вариант реализации. Задается амплитуда AMP, постоянная времени нарастания TAU1, длительность до начала спада импульса PW, постоянная времени спада TAU2, период PER Файл Micro-Cap - https://cloud.mail.ru/public/74Vj/Akfpe9uV2

Maric: Ещё вопрос. Как в "grid text" писать русскими буквами (кириллицей). Пробовал менять шрифты в Preferences, ничего не получается. То печатает абракадабру (треугольники или вообще, какие-то непонятные значки), то вообще ничего не печатает. Можно создать сопроводительный текст в Word, (при обмене по е-мэйл), но это не очень удобно. Проще написать сопроводительный текст прямо в поле схемы. С уважением, Владимир Марикуца. А то, что Вы мне раньше посоветовали, работает, и за это Вам огромное спасибо.



полная версия страницы