Форум » Модели » Добавление моделей в MicroCAP » Ответить

Добавление моделей в MicroCAP

Aml: Достаточно типичный случай, когда необходимого компонента не оказывается в библиотеке MicroCAP. Наиболее целесообразный путь решения проблемы – поиск SPICE-модели этого компонента и последующее добавление его в библиотеку. В принципе, модель можно построить и самому на основании справочных данных. Но в подавляющем большинстве случаев для построения точной модели требуются специфическая информация, которая в стандартной документации отсутствует. Поэтому адекватные модели большей части электронных компонентов может сделать только фирма-производитель. И многие такие фирмы размещают на своих сайтах наряду с техническими описаниями и параметрами компонентов еще и их SPICE-модели. Подборка ссылок, по которым можно найти SPICE-модели размещена на сайте разработчика программы MicroCAP - http://www.spectrum-soft.com/links.shtm . Еще одна хорошая подборка - http://homepages.which.net/~paul.hills/Circuits/Spice/ModelIndex.html#aw Отечественные производители электронных компонентов их SPICE-модели в своей технической документации не приводят (по крайней мере, мне такие случаи не известны). Библиотеки отечественных компонентов, которые можно найти в Интернете, являются разработками энтузиастов их точность и адекватность, отнюдь не является гарантированной. Как правило, это переименованные SPICE-модели зарубежных аналогов. Поэтому искать модели отечественных компонентов вряд ли целесообразно – следует сразу искать сразу модель зарубежного аналога. Но при моделировании следует помнить, что результаты могут несколько отличаться от тех, что будут наблюдаться в реальной схеме, собранной из отечественных компонентов. Если модель не удается найти по указанным выше ссылкам, следует воспользоваться услугами поисковых систем (http://www.google.ru, http://ru.search.yahoo.com, http://www.yandex.ru). Ключевыми словами для поиска являются <Название компонента> <Spice model> (например, LT1761 Spice model). О том, как вставить модель или библиотеку в MicroCAP можно почитать здесь - https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B3u4J7t3fyZ2MGIzMGUwNmQtNTI4OS00YTE2LWIzMzEtZTI3NGE1YWJhMTBh&hl=ru

Ответов - 128, стр: 1 2 3 4 5 6 7 All

Shilo: А есть претенденты обращения к разработчикам с жалобой на неработающую модель в Микро-Капе?!) Может быть такое, что данный Spice-файл будет правильно работать в других программах моделирования? Ведь есть подобные программы со стандартом Spice-моделей - DisignLab, OrCad, Multisim...

Aml: А есть претенденты обращения к разработчикам с жалобой на неработающую модель в Микро-Капе?!) Есть, конечно. Я раньше регулярно писал им по воду ошибок в моделях. Сейчас, правда, некогда... Результаты обращения - разные. Что зависит от них - как правило, исправляют или исключают из следующей версии. Но большинство моделей разработаны не ими, а сторонними разработчиками по заказу производителей "железа". Если в такой модели ошибка - то тут уже ничего не исправишь. Максимум, они могут добавить в библиотеку более корректную модель, если исправить ошибки и прислать им эту исправленную версию. Может быть такое, что данный Spice-файл будет правильно работать в других программах моделирования? Думаю, это маловероятно.

Aml: Восстановить схему модели по ее транслированному Spice-файлу достаточно сложно, так как обычно в нем сидит куча ссылок на модели, которые хранятся в бинарном формате, недоступном для простейшего прочтения. Посмотрел бегло, вроде, нет в данной модели таких проблем. По-моему, ее не так сложно перевести в схему Micro-Cap .SUBCKT AD637 BUFFIN COM OFFSET DENIN DBOUT BUFFOUT VIN VS NVS RMSOUT CAV * Use .OPTIONS GMIN=5E-17 for best output accuracy R1 VIN 13 24K R3 VIN 1 12K R4 1 15 6K X4 1 COMP 4 VS NVS OPAMP Q1 VS 4 15 NPN .MODEL NPN NPN R6 6 13 6K X3 CAV OFFSET RMSOUT VS NVS AEIOPAMP0 GB3 8 COM Value = {IF(ABS(I(V11)) < 10N, ABS((I(V4)*I(V4))/5N), ABS((I(V4)*I(V4))/(I(V11)+40N)))} Q3 CAV CAV 8 _Q3_MOD .MODEL _Q3_MOD NPN BF=200 V0 DBOUT 18 DC=100UV R5 OFFSET COMP 125 EB2 18 COM Value = {IF(I(V4) < 5N, 0.026*(LOG(I(V0))-LOG(0.48*5N)), 0.026*(LOG(I(V0))-LOG(0.48 +*I(V4))))} R9 DENIN 17 24K X2 17 OFFSET 20 VS NVS AEIOPAMP1 Q7 VS 4 6 NPN V4 13 COMP RBUFFIN BUFFIN COMP 100MEG Q2 14 0 20 _Q2_MOD .MODEL _Q2_MOD NPN BF=1000 R10 CAV RMSOUT 24K V11 17 14 RE BUFFOUT NVS 40K Q4 VS 29 BUFFOUT _Q115_MOD .MODEL _Q115_MOD NPN BF=0.1 IS=1E-15 RB=0 RC=100 RE=0 Q5 NVS BUFFIN A _Q111_MOD .MODEL _Q111_MOD PNP BF=1800 CJC=4PF CJE=6PF IS=1E-10 RB=0 + TF=1NS TR=20NS VA = 50 Q6 NVS BUFFOUT B _Q112_MOD .MODEL _Q112_MOD PNP BF=1800 CJC=4PF CJE=6PF IS=1E-10 RB=0 + TF=1NS TR=20NS VA = 50 Q8 A A 30 _Q114_MOD .MODEL _Q114_MOD PNP BF=200 CJC=4PF CJE=6PF IS=5E-15 RB=0 + RC=0 RE=10000 TF=1NS TR=20NS VA = 50 Q9 B A 31 _Q113_MOD .MODEL _Q113_MOD PNP BF=200 CJC=4PF CJE=6PF IS=5E-15 RB=0 + RC=0 RE=1000 TF=1NS TR=20NS VA = 50 EB1 29 0 VALUE = {V(A,B)*10000} C2 A B 10P I1 VS 31 DC=5U I2 VS 30 DC=5U .ENDS *$ .SUBCKT OPAMP 2 3 6 7 4 QNI1 10 2 13 QNI1 QNI2 12 300 13 QNI1 IOFST 2 3 1.0000N VOFST 300 3 1.0000N .MODEL QNI1 NPN(NF=430.10M BF=3.1620K IS=8E-16 CJE=3PF) Q3 13 14 4 QN741 IEE 4 14 158.10N CCM 13 4 2.5PF RCM 13 4 10MEG RC1 11 10 1K RC2 11 12 1K CHF 10 12 18.333P D1 7 11 D741 RP 7 4 10K GA 0 15 12 10 .9MMHO GCM 0 15 13 0 6.3NMHOS R2 15 0 100K D2 15 0 D741 D3 0 15 D741 C2 15 16 30PF GB 16 0 15 0 150.00M RO2 16 0 1000 D4 16 17 D741P EP 17 0 Value = {V(7)-1.8} D5 18 16 D741P EN 0 18 Value = {-V(4)-2.3} .MODEL D741P D(RS=1M) D6 19 16 D741 D7 16 20 D741 IRO 20 19 170UA RR0 16 21 .1MEG Q4 7 19 21 QNO Q5 4 20 21 QPO .MODEL QNO NPN(BF=150 CJC=3P IS=1E-14) .MODEL QPO PNP(BF=150 CJC=3P IS=1E-14) L1 21 6 10.0000U RL1 21 6 1K .MODEL D741 D(CJO=3PF) .MODEL QN741 NPN .ENDS *$ .SUBCKT AEIOPAMP0 2 3 6 7 4 * - IN + OUT VCC VEE *PARAMS ARE GAIN={GAIN} FT={FT} IOS={IOS} VOS={VOS} IBIAS={IBIAS} RP 4 7 10K * VHI MORE NEGATIVE MOVES THE MAX OUTPUT VOLTAGE DOWN * VLO MORE POSITIVE MOVES THE MIN OUTPUT VOLTAGE UP IB 3 90 4.5000N VIB 90 4 IO 3 2 500.00P RIP 3 4 1G CIP 3 4 1.4PF FIBN 2 4 VIB 1 RIN 2 4 1G CIN 2 4 1.4PF VOFST 2 10 -1.4500M RID 10 3 1G EA 11 4 10 3 1 R1 11 12 5K R2 12 13 50K C1 12 4 65.000F GA 4 14 4 13 135.00 C2 13 14 13.500F RO 14 4A 75 EBAL 4A 4 2A 4 1 RBAL1 7 2A 1MEG RBAL2 2A 4 1MEG L 14 6 150.00N RL 14 6 1000 CL 6 4 3PF D1 6 70 DN VSAT 70 7 -2.4500 D2 40 6 DN VSAT2 40 4 0 .MODEL DN D .ENDS *$ .SUBCKT AEIOPAMP1 2 3 6 7 4 * - IN + OUT VCC VEE *PARAMS ARE GAIN={GAIN} FT={FT} IOS={IOS} VOS={VOS} IBIAS={IBIAS} RP 4 7 10K * VHI MORE NEGATIVE MOVES THE MAX OUTPUT VOLTAGE DOWN * VLO MORE POSITIVE MOVES THE MIN OUTPUT VOLTAGE UP IB 3 90 4.5000N VIB 90 4 IO 3 2 50.000P RIP 3 4 1G CIP 3 4 1.4PF FIBN 2 4 VIB 1 RIN 2 4 1G CIN 2 4 1.4PF VOFST 2 10 1.0000M RID 10 3 1G EA 11 4 10 3 1 R1 11 12 5K R2 12 13 50K C1 12 4 65.000F GA 4 14 4 13 135.00 C2 13 14 13.500F RO 14 4A 75 EBAL 4A 4 2A 4 1 RBAL1 7 2A 1MEG RBAL2 2A 4 1MEG L 14 6 150.00N RL 14 6 1000 CL 6 4 3PF D1 6 70 DN VSAT 70 7 -2.3500 D2 40 6 DN VSAT2 40 4 0 .MODEL DN D .ENDS

qaki: По тексту модели в строке EB2 18 COM Value = {IF(I(V4) < 5N, 0.026*(LOG(I(V0))-LOG(0.48*5N)), 0.026*(LOG(I(V0))-LOG(0.48 +*I(V4))))} нет ошибки? Как-то непонятно, на что умножается I(V4)? Мне кажется, что тут Микрокаповый компилятор должен бы начать сучить ножками и ругаться на империалистическом языке.

Aml: qaki, по-моему все в норме. В данном случае "+" означает продолжение предыдущей строки. Ну, что-то типа знака переноса, только ставится не в конце предыдущей строки, а в начале следующей EB2 18 COM Value = {IF(I(V4) < 5N, 0.026*(LOG(I(V0))-LOG(0.48*5N)), 0.026*(LOG(I(V0))-LOG(0.48 +*I(V4))))}

qaki: Aml пишет: по-моему все в норме. В данном случае "+" означает продолжение предыдущей строки. С плюсом все понятно. Это обычная Spice-запись, не создающая длинных трудночитаемых строк. Вопрос в другом: как компилятор воспринимает "*" в последнем слагаемом +*I(V4)? Первого сомножителя нет, а оснований считать комментарием последующий за звездочкой текст тоже нет.

Aml: Убираем + Получаем EB2 18 COM Value = {IF(I(V4) < 5N, 0.026*(LOG(I(V0))-LOG(0.48*5N)), 0.026*(LOG(I(V0))-LOG(0.48*I(V4))))} т.е. первый сомножитель 0.48

qaki: Понял, спасибо! А ларчик просто открывался...

Shilo: Здравствуйте! Я снова по поводу AD637. Обратился к российским представителям Analog Devices, где в общем-то разобраться не отказались, но ответ дали не однозначный. Для моделирования они использовали Multisim Component Evaluator 13 и там микросхема заработала, на этом был и весь сказ. Может быть найдется у кого немного времени, попробовать включить Spise-модель AD637? Буду признателен! Модель и схему включения прикрепляю http://shot.qip.ru/00iixB-6wn26qs1h/ click here

Aml: Но моя конвертированная Spice модель AD637 работает не совсем правильно. СКЗ-детектор детектирует синусоиду только менее 150 Гц, а выше возбуждается и "затыкается". Попробовал вставить модель AD637 При стандартных установках самовозбуждается сразу (при любой частоте на входе) При установках расчета "Power Default" уверенно работает. Вот скрин при входной частоте 1кГц Схема Micro-Cap c интегрированной в нее моделью и принудительно сделанной установкаой "Power Defaul" - схема

Shilo: Счастью моему не было предела, работает! Но в чем здесь особенность и почему приходится принудительно устанавливать "мощность по умолчанию"? И конкретно по файлу.. файл модели кажется совпадает с исходным текстом?! Что из себя представляет из себя "Power Defaul"? Что обозначает текст под микросхемой ".OPTIONS..."? Поясните, пожалуйста!

Aml: Shilo это установки Micro-Cap, "помогающие" вычислительным методам справляться с некоторыми некорректностями в моделях. Если грубо, то "Power Defaul" (для силовых схем), это расчет со сниженной точностью. Правда, снижение точности очень незначительное (с точки зрения практического применения). Например, абсолютная погрешность расчета токов схемы увеличена с 1пА до 1мкА. Это прием, улучшающий сходимость вычислительных алгоритмов и пользоваться им приходится достаточно часто (особенно при расчете импульных преобразователей напряжения и им подобных устройств)

Aml: Что обозначает текст под микросхемой ".OPTIONS..."? Поясните, пожалуйста! Этот текст означает, что схема должна рассчитываться с набором установок "Power default". Иначе перед расчетом необходимо зайти в "Global Setting" и там установить "Power defaul"

Shilo: Понял! большое вам спасибо!

Darina: Здравствуйте! подcкажите, как добавить spice файл усилителя ina118? в мастере создания пишет, что нужна конвертация файла ina118.lib!

locik: Darina ,он есть в библиотеке.наберите в поиске ina118.

prostak: Уважаемый Aml! Вы пишите,что "В принципе, модель можно построить и самому на основании справочных данных. Но в подавляющем большинстве случаев для построения точной модели требуются специфическая информация, которая в стандартной документации отсутствует." Что за специфическая информация,которой нет в стандартной документации?Не могли бы Вы хотя бы схематически описать процесс получения SPICE-параметров,например,диода на основе его справочных данных?

Leowild: Здравствуйте! Пробовал подгрузить модели click here и click here. В NOM.lib прописывается ;$SpiceType=AMBIGUOUS .lib "njl3281d.lib" .lib "njl1302d.lib" . Я в принципе не понимаю, можно ли использовать эти PSpice модели в MC или они требуют серьезных доработок? С симуляцией схем более-менее разобрался, а вот текстовое представление матмоделей и остальная клиника пока для меня темный лес. Заранее спасибо всем откликнувшимся!

qaki: Leowild пишет: Я в принципе не понимаю, можно ли использовать эти PSpice модели в MC PSice и MC сидят на одном и том же Spice-движке. Есть небольшое количество мелких различий, но в данном случае это не имеет значения. Дело в другом. ПП приборы, на которые Вы даете ссылки, имеют встроенный диод, а в тексте модели его нет. Вообще в таких случаях модель прибора представляется как подсхема subckt. Пример можно посмотреть в файле on_bjt.lib из папки Library. Ищите полный текст модели с диодом или сделайте неполноценную замену, добавив к тому, что у Вас есть текст модели диода с близкими параметрами. Кстати, при скачивании файлы Ваших модели оказываются текстовыми txt, их необходимо с помощью текстового редактора конвертировать в библиотечный файл с расширением .lib. Заодно обратите внимание, что довольно много PSpice-моделей зашифровано.

Leowild: Уважаемый qakl, спасибо за помощь. Мне нужно было знать в каком направлении двигаться. Папки on_bjt.lib у меня нет (есть onsemi.lib - это я думаю не принципиально). Нашел при помощи info текстовый файл npn-транзистора с диодом шотки 5-и выводной. Буду разбираться. Я так понял для условно-нормального варианта модели в файле NOM.lib должны прописаться только имена без ругательств типа ;$SpiceType=AMBIGUOUS . На сайте производителя есть еще варианты Spice2 и Spice3 - все по тексту очень похожи (да, я посмотрел в библиотечке onsemi.lib все варианты присутствуют и PSpice и Spice2 и Spice3). Что означает модели зашифрованы?



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