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

PSpice модель конденсатора, емкость которого зависит от напряженяи на нем

Спасибо за подробный ликбез! Буду изучать.
В обшем то в ДизайнЛабе про формат нетлиста PSpice все подробно расписано в документе "PSpice A/D Reference Manual" (это файл [Дизайн_Лаб]\Doc\Pspcref.pdf, смотреть раздел "Analog Devices"). А чтобы было быстрее, задавайте поросы - буду рассказывать

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


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

Вообще-то, использование слова PSpice подразумевает работу в среде от Cadence. Как я уже отмечал, в этом случае, имеется возможность табличного задания вольт-фарадной характеристики - 25 значений по умолчанию. Так как напряжения могут быть только положительными, то задача может быть решена путем задания прямой ветви характеристики диода в виде, близком к идеальному проводнику и включению двух таких устройств последовательно.

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


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

Вообще-то, использование слова PSpice подразумевает работу в среде от Cadence...
Вообще-то слово PSpice появилось еще во времена PC/XT / PC/AT и по сути означало "Spice для персоналок". Намного позже этот симулятор (но уже улучшенный) появился в составе Микросим ДизайнЛаб, который затем был перетянут в OrCAD, который, в свою очередь, продался Кэденсу.

 

ЗЫ. Насколько я понял топикстартера, Кэденса для "взрослых", а именно пакетов типа IC_*, MMSIM_* итд, у него нет.

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


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

Вообще-то слово PSpice появилось еще во времена PC/XT / PC/AT и по сути означало "Spice для персоналок". Намного позже этот симулятор (но уже улучшенный) появился в составе Микросим ДизайнЛаб, который затем был перетянут в OrCAD, который, в свою очередь, продался Кэденсу.

 

ЗЫ. Насколько я понял топикстартера, Кэденса для "взрослых", а именно пакетов типа IC_*, MMSIM_* итд, у него нет.

 

Wiki - там все написано :). Ну, или почти все.

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


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

Wiki - там все написано :). Ну, или почти все.
тоже нашел про это на Вики, собрался дописать ссылку, но вы опередили :beer:

 

ЗЫ. когда-то в далеком 1988-м начинал моделировать еще на ДОС-версии, никакого графического окна схематика, все набиралось в текстовом виде, имена узлов могли быть _только_ числами...

Позже к нему для рисования схем был прикручен PCAD 4.5...

 

ЗЫ. извинения за небольшой оффтоп...

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


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

Вот один из возможных принципов построения нелинейной емкости в Micro-Cap

d3c7122f1d14.gif

(автору уже отвечал на другом форуме, решил и тут продублировать)

Расчетная формула упрощена и служит лишь для демонстрации принципа. RC-цепь после источника не обязательная, служит для улучшения сходимости.

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


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

Да, от себя замечу - такой вариант реализации считается намного быстрей :-) Всех с новым годом!!! Спасибо за советы! И кстати запись типа V(C1)>=3 то же работает отлично. В общем у меня все получилось! Еще раз спасибо!

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


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

А задачка-то оказалась интересной! Посмотрел в OrCAD 9.3 и 15.7 и в PSpice AD и в в PSpice AD Basic. Стандартная модель CAP в которой (по всем описаниям) есть линейный и квадратичный множители напряжения - не работает! При попытке ею воспользоваться - дает ошибку VC2 (квадратичный коэффициент) не определен.

Попытка заставить вычислить емкость через задание выражения в фигурных скобках не проходит! Т.е. когда задаешь любое константное выражение типа 5*2.4 - все нормально, но как только в выражении появляется напряжение - дает ошибку. Причем расшифровывает выражение совершенно правильно и подставляет правильное напряжение.

 

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

 

Похоже единственный способ реализовать переменную параметрическую емкость - это использование GVALUE из библиотеки abm со специальной функцией DDT(V(1,2)*V(A1,A2)). Это немного описано на http://www.orcad.com/community.pspice.faq.aspx .

Т.е. вместо емкости вставляется элемент GVALUE, как показано на рисунке с EQUATION что-то вроде 1e-9*( 1+1e-12*ABS(V(%IN+, %IN-))+1e-12*V(%IN+, %IN-)*V(%IN+, %IN-))*DDT(V(%IN+, %IN-)). Здесь 1e-9 - величина емкости (1нФ), выражение в скобках ( 1+1e-12*ABS(V(%IN+, %IN-))+1e-12*V(%IN+, %IN-)*V(%IN+, %IN-)) - зависимость емкости от приложенного напряжения (линейный и квадратичный коэффициенты 1е-12 - взял с потолка), DDT(V(%IN+, %IN-)) - некая функция, имитирующая емкость.

Вроде работает нормально.

Кстати на http://www.orcad.com/community.pspice.faq.aspx можно найти много интересного.

post-40458-1231168257.gif

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


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

... Посмотрел в OrCAD 9.3 и 15.7 и в PSpice AD и в в PSpice AD Basic. Стандартная модель CAP в которой (по всем описаниям) есть линейный и квадратичный множители напряжения - не работает! При попытке ею воспользоваться - дает ошибку VC2 (квадратичный коэффициент) не определен.
Не знал, что параметр VC2 в модели емкости не работает, хоть и советовал... :(

А поведенческая модель работать будет :)

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


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

Стандартная модель CAP в которой (по всем описаниям) есть линейный и квадратичный множители напряжения - не работает!

Хм, сейчас проверил, у меня работает (в 15.7). Да и, помнится, в V9.2 нужна была зависимость от температуры - так и там всё работало.

Только темплейт надо правильно нарисовать, готового компонента в библиотеке сходу не нашлось, а стандартный только TOLERANCE позволяет моделировать.

PSpiceTemplate =

C^@REFDES %1 %2 CMOD^@REFDES @VALUE \n.MODEL CMOD^@REFDES CAP VC1=@VC1 VC2=@VC2 TC1=@TC1 TC2=@TC2

и, разумеется, определить properties с именами VC1, VC2, TC1, TC2.

Тут фокус в том, что коэффициенты нужно в описании модели конденсатора указывать.

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


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

Возможно, если прописать их ручками и именно в template. Я баловался с библиотекой и пробовал и прямо в модели и через AKO - не проходит - говорит, что параметр VC2 не определен. А с С и VC1 - все в порядке.

 

Как-то странно, SSerge, а вы в модели пробовали?. Т.е. подставить в тексте не значение ...1e-9, а именно ссылку на модель, основанную на CAP (VC2=...). Может я где-то что-то недопонимаю.

Изменено пользователем rudy_b

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


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

Как-то странно, SSerge, а вы в модели пробовали?. Т.е. подставить в тексте не значение ...1e-9, а именно ссылку на модель, основанную на CAP (VC2=...). Может я где-то что-то недопонимаю.

Похоже, это одно из отличий Оркадовского PSPICE от родоначальника, Berkeley SPICE.

В pspcref.pdf пишут:

4. Voltage coefficients for capacitors, and current coefficients for inductors must be put into

a .MODEL (model definition) statement instead of on the device statement.

При том темплейте, что в моём предыдущем сообщении так и получается, порождается две строки типа:

C_C1 N11586 N11512 CMOD_C1 1

.MODEL CMOD_C1 CAP VC1=0.1 VC2=0 TC1=0 TC2=0.1

 

Просто отдельно сделанная .MODEL с коэффициентами и ссылки на неё для нескольких конденсаторов тоже работает.

Что интересно, на строку в .net типа C_C1 N11586 N11512 1uF TC=0.1

не ругается, но и никакой зависимости от температуры или напряжения не проявляется. Атавизм (с).

 

Пару раз при нереально больших VC1 и VC2 крепко задумывался, начинал сильно мельчить шаг по времени, но до convergence problems дело не дошло.

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


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

При том темплейте, что в моём предыдущем сообщении так и получается, порождается две строки типа:

C_C1 N11586 N11512 CMOD_C1 1

.MODEL CMOD_C1 CAP VC1=0.1 VC2=0 TC1=0 TC2=0.1

...

Что интересно, на строку в .net типа C_C1 N11586 N11512 1uF TC=0.1

не ругается, но и никакой зависимости от температуры или напряжения не проявляется. Атавизм (с).

...

не проверял, поверил rudy_b на слово... :unsure:

Все-таки она работает :) и документация на Микросим ДизайнЛаб правильная :)

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


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

А у меня такой текст в библиотеке .lib

* CUVAR model

.SUBCKT CUVAR 1 2

CN1 1 2 CMYMOD 0.1

.MODEL CMYMOD CAP (C=1 VC1=0 VC2=0)

.ENDS CUVAR

 

странслированный в .olb при выполнении порождает

 

**** INCLUDING test6-C_TEST.net ****

* source TEST6

V_V1 N00337 0

+PWL 0 0 1e-3 100

X_U30 N02114 N00337 CUVAR

R_R1 0 N02114 1

 

**** RESUMING test6-c_test-ct.sim.cir ****

.END

ERROR -- Undefined parameter: VC2

 

Что я делаю неправильно?

Изменено пользователем rudy_b

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


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

...

Что я делаю неправильно?

не знаю... :05:

 

Микросим Дизайнлаб не ругается (в ваш нетлист добавил расчет рабочей точки .OP и строчку .Options nopage library):

**** 01/06/109 14:37:23 ****** NT PSpice 8.0 (July 1997) ****** ID# 305419896

 

**** test ****

 

**** CIRCUIT DESCRIPTION

 

******************************************************************************

 

.Options nopage library

 

V_V1 N00337 0

+PWL 0 0 1e-3 100

 

X_U30 N02114 N00337 CUVAR

R_R1 0 N02114 1

 

.SUBCKT CUVAR 1 2

CN1 1 2 CMYMOD 0.1

.MODEL CMYMOD CAP (C=1 VC1=1m VC2=1u)

.ENDS CUVAR

 

.OP

 

.END

 

**** Capacitor MODEL PARAMETERS

 

X_U30.CMYMOD

C 1

VC1 1.000000E-03

VC2 1.000000E-06

 

**** SMALL SIGNAL BIAS SOLUTION TEMPERATURE = 27.000 DEG C

 

NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE NODE VOLTAGE

 

(N00337) 0.0000 (N02114) 0.0000

 

VOLTAGE SOURCE CURRENTS

NAME CURRENT

 

V_V1 0.000E+00

 

TOTAL POWER DISSIPATION 0.00E+00 WATTS

 

**** OPERATING POINT INFORMATION TEMPERATURE = 27.000 DEG C

 

JOB CONCLUDED

 

TOTAL JOB TIME 0.00

ЗЫ для наглядности сделал VC1 и VC2 ненулевыми. При нулевых значениях тоже моделирует,

только в разделе

**** Capacitor MODEL PARAMETERS

нулевые значения VC1 и VC2 не показывает.

ЗЫ2. Для улучшения читабельности удалил некоторые пустые строки.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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