Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 19.12.2009, 12:11  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: FAQ (ЧаВО) по PROTEUS для начинающих и не только.

4.6. Источники переменного тока в ISIS. И опять о анимации.
Рассмотрение моделей, которые можно использовать в Протеусе в качестве источников переменного тока я хочу начать с типового примера, об который спотыкаются все начинающие (Рис. 43). Возьмем пару генераторов SINE из левого меню Generator Mode и анимированные модели Lamp из библиотеки Optoelectronics =› Lamps.
Я не стал сразу задирать напряжение до сетевого, но для поклонников сети 220V хочу сразу напомнить, что амплитуда напряжения сети составляет 310V. Почему то многие про это напрочь забывают при моделировании сетевых устройств. Именно поэтому амплитуда генераторов в учебном проекте выставлена не 12, а 17V (в корень из 2 больше номинала для ламп). Зададим нашим генераторам частоты 1Гц и 50Гц и запустим симуляцию (пример AC_1/Anim_Default.DSN из вложения). Ну картинка обычная – при 50 Гц лампочка светиться отказывается. Ура!!! Даешь глюк!!! Вопрос только чей? А не вспомнить ли нам п.3.4 этого FAQ. Заглянем в параметры анимации. А они у нас стоят по умолчанию, и куда не глянь – то 50 то 25. А частота то у нас тоже 50. Никаких светлых мыслей не навевает? А я возьму и поправлю Timestep per Frame всего лишь на 1 и поставлю 49 (пример AC_1/Anim_49.DSN). Запускаем – моргает, однако. Ставим Timestep 25 (Anim_25.DSN) – тоже моргает, а при 20 (Anim_20.DSN) – опять перестала. Так что вовсе это не глюк, а просто по нашему недосмотру параметры анимации попадают в «резонанс» с нашим генератором 50 Гц и мы застаем все время нашу лампочку в неактивном (погашенном) состоянии. Этот фактор приходится всегда учитывать, если вы хотите в реальном времени наблюдать симуляцию с источниками переменного напряжения, да и с импульсами, впрочем, то же самое.
В этих примерах использованы модели генераторов синуса, у которых один вывод всегда соединен с терминалом GND. Но в ISIS есть и модели двухполюсников переменного напряжения, расположенные в библиотеке Simulator Primitives =› Sources. Это Alternator – анимированный источник переменного напряжения, VSINE – двухполюсный генератор переменого напряжения (аналогичный тому, что мы использовали, но с двумя выводами), ISINE – генератор переменного тока и наконец для любителей трехфазников – V3PHASE – генератор трехфазного напряжения. На Рис. 44 приведен пример подключения алтернатора. Обратите внимание – амплитуда 17V, а вольтметр показывает 12. Это все к тому же корню из 2.
Примеры с этими генераторами собраны во вложении (AC_Sources.DSN). Здесь я хотел бы только подчеркнуть несколько особенностей.
Ну, во-первых: для тех, кто пользуется первыми версиями FAQ, сразу приношу извинения за мою ошибку с трехфазником. Все там прекрасно работает, я сам тогда попался на параметрах анимации. Еще одно замечание, касающееся параметров трехфазника для начинающих. Обратите внимание на Amplitude Mode в его Properties. Там можно выбрать режим, который относится к параметру Amplitude (Volts): Peak – пиковый – размах амплитуды, Peak to Peak – удвоенный размах и RMS – среднее значение (фактически показания вашего вольтметра). Еще внизу окна Properties есть раскрывающийся список Advanced Properties с параметрами, относящимися непосредственно к генерации трехфазной сети. В том числе там стоит и Insulation to earth (сопротивление изоляции к земле) 2 МОм, поэтому то, о чем пойдет речь ниже здесь не так актуально.
А следующее замечание касается как раз использования измерительных приборов и зондов с двухполюсными источниками напряжений. Если вольтметры, амперметры, и токовые зонды как видно из рис. 44 проблем не вызывают, то иначе обстоит дело с зондами напряжения и, например, осциллографом. Для примера я приведу график (Рис. 45) из AC_Sources.DSN, на котором желтая трасса соответствует генератору, у которого один из выводов заземлен на терминал GND, а красная - с отсутствием связи на землю. Параметры генераторов одинаковы.
Надеюсь, из графика понятно – что Вас ожидает, если вы будете использовать виртуальный осциллограф для контроля источника, не имеющего связи с землей. И не надо при этом всенародно утверждать о глючности программы. В первую очередь всегда необходимо проверить – а все ли я сам сделал правильно. Вот на этой поучительной ноте я , пожалуй, и закончу рассмотрение источников переменного напряжения в программе ISIS.
Рис. 43, 44, 45
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic_43.gif
Просмотров: 2208
Размер:	42.9 Кб
ID:	2978   Нажмите на изображение для увеличения
Название: Pic_44.gif
Просмотров: 2996
Размер:	42.7 Кб
ID:	2979   Нажмите на изображение для увеличения
Название: Pic_45.gif
Просмотров: 1552
Размер:	18.9 Кб
ID:	2980  

Вложения:
Тип файла: rar AC_Examles.rar (67.1 Кб, 1901 просмотров)
Реклама:

Последний раз редактировалось Halex07; 20.12.2009 в 10:28.
Halex07 вне форума  
Эти 17 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
ABrej (06.04.2010), bozhko (27.12.2009), Daddy_Karlo (29.12.2009), Old_Monster (29.11.2011), ReLe1 (14.08.2011), retas (04.09.2010), sa502 (19.12.2009), Tischon (21.01.2011), Traan (16.09.2013), wct_sniaper (29.01.2010), ДимаК (21.06.2011), Роман Николаевич (24.06.2010)
Непрочитано 11.01.2010, 02:50  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: FAQ (ЧаВО) по PROTEUS для начинающих и не только.

4.7. Возвращаемся в SPICE моделирование. Начинаем знакомство с аналоговыми примитивами. Нелинейные управляемые источники сигналов.
Я все чаще начинаю приводить графики вместо интерактивного моделирования больше потому, что обычно это единственный метод исследования поведения аналоговых схем, особенно при использовании аналоговых генераторов с высокой частотой (см. п.3.1 «зеленое выделение» этой части FAQ), да и в большинстве случаев цифрового моделирования можно обойтись ими. Это не означает, что я такой противник моделирования в реальном времени, просто старая добрая привычка: «Если на клетке слона прочтёшь надпись «буйвол», не верь глазам своим», а в интерактивном моделировании реального времени - это сплошь и рядом. Мы рассмотрим использование различных типов графиков в процессе моделирования аналоговых компонентов. И сейчас займемся этим вплотную.
Надеюсь, не стоит напоминать, что основным инструментом исследования аналоговых устройств в Протеусе является ProSPICE. Поскольку он базируется на SPICE3F5 в отличие от PSPICE, принятого в OrCAD, PCAD, Multisim и т.п., имеет смысл остановиться на Протеусном варианте, и несколько расставить точки над и. Ну в общем, особо приятного тут мало. Все дело в том, что PSPICE в некоторых отношениях развился дальше и от классического SPICE ушел намного вперед. В частности последнее время все чаще попадаются наши доблестные исследователи поведения индуктивных элементов (даешь трансформатор!!!) с сердечниками из ферромагнетиков. К сожалению, классический SPICE и SPICE3F5 здесь мало помогут, в то время, как фирма Cadence (основоположник OrCAD и «поглотитель» прародителя PSPICE – фирмы MicroSim) разработала свои продвижения по этой теме. Но, поскольку Лабцентр сделал основную ставку на имитацию микроконтроллеров – и в этом его главный конек, а поддержка аналоговых устройств является несколько второстепенной, то налицо некоторое несоответствие в этой области. Однако, это не значит, что аналоговое моделирование в ISIS совсем «в загоне». Большинство из принятых в том же OrCAD PSPICE методов моделирования доступно и здесь и это будет доказано следующим материалом. Характерной особенностью ISIS в этом плане является то, что моделирование без наличия графической модели невозможно. Если в классическом SPICE, и PSPICE в частности, достаточно текстового описания моделируемой схемы, то здесь обязателен графический проект. В других пакетах такой вариант представлен как «advanced», т.е. дополнительный – например, в том же OrCAD для этого служит Capture, а в Протеусе этот вариант является основным. Именно поэтому первое, что я рассмотрел - было создание графической модели компонента. Но, от хотя бы первичного знакомства со SPICE (и его модификации 3F5) нам и здесь никуда не уйти. К сожалению, у меня сейчас нет времени на перевод с английского руководства по SPICE3F5. Здесь я приложу вариант HTM Manual, найденный мной после долгих поисков на просторах Интернет, а что касается соответствия – то существует прилагаемый к Протеусу ProSPICE HELP. Но в данном случае нас выручит больше даже не он, а хелп ProSPICE Primitives. На ближайшее время он становится нашим основным файлом помощи, а почему – Вы поймете в этом разделе чуть ниже.
Что же такое SPICE и с чем его едят? Основными моделями SPICE главным образом являются – резисторы, идеальные источники тока и идеальные источники напряжения. На основе их построены всевозможные модификации (источник тока, управляемый током; источник тока, управляемый напряжением; источник напряжения, управляемый током и т.д.). А уже на основе этих модификаций строятся все остальные модели аналоговых компонентов. В библиотеках ISIS эти модели расположены в Modelling Primitives =› Analog (SPICE). Абревиатура модели несет в себе и некоторую англоязычную информацию. Примеры: CCCS(Current Controlled Current Source) – источник тока, управляемый током; VCR(Voltage Controlled Resistor) – резистор, управляемый напряжением; AVCVS(Arbitrary Voltage Controlled Voltage Source) – в данном случае нелинейный (Arbitrary) источник напряжения, управляемый напряжением. Надеюсь, аббревиатуру других не затруднит расшифровать самостоятельно на основе данной информации. В этом разделе мы рассмотрим так называемые нелинейные источники. К ним относятся (Рис. 46):
AVCVS (Arbitrary Voltage Controlled Voltage Source) нелинейный источник напряжения, управляемый напряжением;
AVCCS(Arbitrary Voltage Controlled Current Source) нелинейный источник тока, управляемый напряжением;
ACCVS(Arbitrary Current Controlled Voltage Source) нелинейный источник напряжения, управляемый током;
ACCCS(Arbitrary Current Controlled Current Source) нелинейный источник тока, управляемый током;
SUMMER – аналоговый сумматор;
MULTIPLIER – аналоговый перемножитель.
На Рис. 46 - синим цветом расставлены скрытые имена выводов примитивов.
Полезный совет: пока вы не начали активно работать с примитивами и не запомнили: где какой вывод – «разбейте» (Decompose) нужную модель и включите для выводов флажки Show Name где-нибудь на свободном поле проекта, при этом она перестает быть моделью, а становится набором графики и текстовых скриптов и не мешает при симуляции. У Вас же при этом всегда будет перед глазами информация – что и где расположено. Это касается не только примитивов, но и других моделей, имеющих скрытые наименования выводов.
Рассмотрим подробно первый из них: AVCVS – источник напряжения, управляемый напряжением (в русскоязычной литературе по SPICE сокращенно ИНУН). Его функцию можно просто описать как Uвых=F(Uвх). По умолчанию она выглядит как 1.0*V(A, B) – т.е. напряжение на выходе (между выводами + и ) равно единице умноженной на напряжение между входами А и В. Поддерживаются следующие варианты для входов: V(A), V(B) и представленная по умолчанию дифференциальная разница напряжений между входами V(A, B). Нужен линейный усилитель напряжения – в Transfer Function (функция передачи) достаточно изменить 1.0 на нужное усиление, например – в 10 раз (Рис. 47), хотя проще это сделать с помощью описанных далее линейных источников.
Что при этом мы увидим на аналоговом графике - показано на Рис. 48. В прилагаемом примере Ex_AVS представлен этот вариант и вариант «выпрямляющего» усилителя – функция записана, как ABS(10*V(A,B)).
Основное достоинство нелинейных источников состоит в том, что мы можем применить достаточно сложные формулы, описывающие их поведение. Список возможных операторов и функций можно посмотреть, кликнув по кнопке HELP в окне редактирования свойств (Рис. 47). Учитывая, что не все владеют английским и основами программирования, а также то, что там есть некоторые «экзотические» функции привожу их краткие характеристики на русском языке.
Допустимы следующие операторы математических действий:
+ - * / ^ – соответственно: сложение, вычитание, умножение, деление, возведение в степень. Например, для сумматора (SUMMER) по умолчанию: V(A)+V(B) – означает, что напряжение на выходе будет равно алгебраической сумме напряжений входа А относительно GND и входа B относительно GND (Рис. 49). И совсем не обязательно, чтобы входные сигналы были постоянными потенциалами (как на рисунке) – это могут быть любые источники переменного, пульсирующего и т.п. напряжений. Операция x^y (x в степени y) фактически аналогична функции PWR, описанной ниже.
Поскольку мы рассматриваем подробно только источник с входным управляющим сигналом напряжения, где входное сопротивление выводов «ну очень велико», и им можно пренебречь, то хотелось бы здесь остановиться на особенностях применения источников с токовыми (Current) входами и выходами. В этих случаях сопротивление между соответствующими выводами входа или выхода модели равно нулю. Поэтому при применении таких источников будьте внимательны – Вам придется самостоятельно добавить последовательное сопротивление нагрузки, будь то вход или выход, чтобы ограничить соответствующий ток (Рис. 50). Иначе получите ошибку, поскольку ProSPICE не сможет просчитать нулевое сопротивление.
Теперь рассмотрим допустимые функции:
Тригонометрия: SIN, SINH, ASIN, ASINH (синусы); COS, COSH, ACOS, ACOSH (косинусы); TAN, TANH, ATAN, ATANH (тангенсы) – все это тригонометрические функции. Например: SIN – синус; SINH – гиперболический синус; ASIN – арксинус - фунция, обратная синусу. Я не собираюсь здесь рассматривать тригонометрию, поэтому кто ее «прошел, но забыл» - открывайте любой справочник по математике и тригонометрическим функциям. Остальная математика:
ABS – абсолютное значение – или в другой трактации модуль числа (только положительное значение). Приведен в примере Ex_AVS, как возможность выпрямления синусоидального напряжения между выводами А и В.
EXP – функция обратная натуральному логарифму, т.е. это степень числа Эйлера е = 2,712828. Хотелось бы сразу обратить внимание, что и представленный в этом же списке функций LN – натуральный логарифм связан с этим основанием. А если Вам потребуется десятичный, то придется воспользоваться функцией LOG – логарифм по основанию 10. Соответственно, записав передаточную функцию, например, как log(V(A, B) при подаче напряжения 1000V на вход (между А и В) Вы получите на выходе напряжение 3V (степень числа 1000 по основанию 10).
SQRT – как многие, знакомые с программированием уже догадались, – это квадратный корень числа. Ну и одно существенное замечание – для функций LN, LOG и SQRT в случае отрицательного значения аргумента результат выражения принимает значение от модуля (т.е. от положительного значения аргумента), однако следует учитывать, что при наличии в выражении возможности деления на ноль Вы получите ошибку симуляции. Я хочу здесь заранее подчеркнуть, что если, например, у Вас в знаменателе дроби выражения стоит синусоидальная или другая функция, проходящая через ноль при некоторых значениях выражения (имеется в виду формула, введенная в Transfer Function) - вы и словите эту ошибку. За этим надо тоже внимательно следить, чтобы не напороть косяков.
Ну это были все стандартные функции, а теперь переходим к «экзотике».
LIMIT – функция установленных пределов. Применительно к входам напряжения AVCVS для двух пределов: нижнего 10V и верхнего 50V описывается так: limit(V(A,B), 10, 50). При этом возвращает на выходе (между выводами + и ) напряжение 10V при входном меньше этого значения, 50V – при входном больше этого значения или равное входному, если оно лежит в пределах от 10 до 50V. Ну и конечно, для источника с входным токовым сигналом запись будет иная – например: limit(I(A,B), 0.001, 0.1). В данном случае пределы нижний – 1мА, верхний – 100мА. Обращаю Ваше внимание на то, что для описания пределов можно использовать только голые числа без расширений типа m, u, M и т.п. (Рис. 51).
Функции PWR и PWRS оперируют с двумя аргументами и согласно HELP должны возвращать первая только положительное значение |x|^y (модуль x в степени у), а вторая аналогично но со знаком при условии, если x‹0 значение функции отрицательное число, а если x›=0 значение фунции положительное. Однако, «что-то не так в доме Лабцентра». Действие этих функций показано на Рис. 52. В обоих случаях мы имеем знаковое значение на выходе. Оставим этот парадокс на совести разработчика, а сами примем к сведению, что если необходим модуль, то придется дополнительно воспользоваться функцией ABS.
Функции U или STP возвращают единицу, если аргумент x›1 или ноль в случае x‹0, а функция URAMP(x) возвращает ноль при x‹0 или само значение х при x›1. Проверим их действие аналогично предыдущим (Рис. 53). Здесь вроде все так как и описано. Эти функции могут использоваться, чтобы синтезировать кусочно-нелинейные функции, хотя проблемы конвергенции могут возникнуть в точках излома.
Ну и функция SGN, почему то не описанная в HELP говорит сама за себя sign – дословный перевод для математики знак. Функция принимает значение равное -1 при x‹0 и +1 при x›0. Картинку не привожу, но в прилагаемом архиве с примерами этот вариант есть – Ex_SGN.DSN.
Теперь к тому, почему я так подробно и в первую очередь разобрал эти источники и даже изменил первоначальный вариант этого раздела. Да потому, что это же основа основ для самостоятельного моделирования. Чуть позже мы рассмотрим варианты подробного схемотехнического и имитационного (моделирование поведения) моделирования, но забегая вперед, укажу, что фактически любой из управляемых источников почти готовая модель и операционного усилителя, и трансформатора (правда без учета магнитных свойств сердечника) и других линейных и нелинейных устройств. Тут главное проявить творческую смекалку, чего в России не занимать. Конечно, Протеус в смысле аналогового SPICE моделирования несколько отстает от такого монстра как OrCAD и ему подобных пакетов, базирующихся на PSPICE. Но, при умелом использовании, можно и здесь почерпнуть много нового и интересного в области схемотехнического моделирования электроники на компьютере.
В большинстве примеров, как я уже и отмечал, использована модель AVCVS, но все вышесказанное касается и остальных моделей данной группы примитивов. И еще такое мелкое замечание в помощь: как Вы наверно заметили из рисунка 46 – в графических изображениях ISIS принято обозначать токовые источники, пробники и т.п. стрелкой, а источники напряжения знаками + и у выводов. Поэтому, надеюсь, что после более близкого знакомства с данными моделями Вы научитесь их легко и свободно различать по внешнему виду.
В дополнительном вложении Arbitrary.rar находятся в формате Proteus 7.6.SP0:
Ex_Arbitr_Devices.DSN – файл иллюстация к Рис. 46;
Ex_AVS.DSN – файл проекта к рисунку 48;
Ex_Summ.DSN – файл проекта к рисунку 49 (SUMMER);
Ex_Cur_Res.DSN файл проекта к рисунку 50 (токоограничивающий резистор в ИНУТ);
Ex_Limit.DSN и Ex_Cur_Limit.DSN файлы к пояснению функции LIMIT для напряжения и тока;
Ex_Pwr.DSN – файл проекта к рисунку 52 – функции PWR и PWRS;
Ex_Uramp.DSN – файл проекта к рисунку 53 – функции U и URAMP;
Ex_Sign.DSN – файл проекта к пояснению действия функции SIGN.
Соответственно имеются и одноименные файлы секций для импорта в предыдущие версии.
Для того, чтобы комфортно просматривать приложенный Manual по SPICE3F5 начинайте просмотр с index.html. Из него возможна навигация по мануалу с помощью Internet Explorer или другого интернет браузера.
Рисунки 46, 47, 48.
Рисунки 49, 50, 51.
Рисунки 52, 53.
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic_46.gif
Просмотров: 1519
Размер:	48.5 Кб
ID:	3547   Нажмите на изображение для увеличения
Название: Pic_47.gif
Просмотров: 673
Размер:	11.7 Кб
ID:	3548   Нажмите на изображение для увеличения
Название: Pic_48.gif
Просмотров: 754
Размер:	12.7 Кб
ID:	3549  

Нажмите на изображение для увеличения
Название: Pic_49.gif
Просмотров: 735
Размер:	28.2 Кб
ID:	3550   Нажмите на изображение для увеличения
Название: Pic_50.gif
Просмотров: 663
Размер:	29.8 Кб
ID:	3551   Нажмите на изображение для увеличения
Название: Pic_51.gif
Просмотров: 670
Размер:	30.0 Кб
ID:	3552  

Нажмите на изображение для увеличения
Название: Pic_52.gif
Просмотров: 666
Размер:	36.6 Кб
ID:	3553   Нажмите на изображение для увеличения
Название: Pic_53.gif
Просмотров: 698
Размер:	68.2 Кб
ID:	3554  
Вложения:
Тип файла: rar Arbitrary.rar (100.6 Кб, 1259 просмотров)

Последний раз редактировалось Halex07; 07.08.2010 в 10:29. Причина: правка ошибок
Halex07 вне форума  
Эти 17 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
ABrej (06.04.2010), artman66 (24.01.2010), bozhko (17.01.2010), chip_ua (11.01.2010), Daddy_Karlo (20.01.2010), Old_Monster (29.11.2011), parcshin (23.04.2011), ReLe1 (14.08.2011), retas (04.09.2010), Space-r (05.04.2014), Tischon (21.01.2011), Traan (16.09.2013), VooVoo (23.11.2014), wct_sniaper (29.01.2010), ДимаК (21.06.2011)
Непрочитано 11.01.2010, 03:00  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: FAQ (ЧаВО) по PROTEUS для начинающих и не только.

4.8. Аналоговые примитивы. Линейные управляемые источники сигналов.
Еще чуть-чуть остановимся на управляемых источниках. В примитивах, как я уже упоминал их несколько типов. Если в предыдущем случае мы рассмотрели Arbitrary источник, то здесь я хочу остановиться на управляемых линейных. Они более просты и по сущности относятся к классическми SPICE источникам токов и напряжений. Обозначения этих примитивов при помещении в схему совпадают с классическими, принятыми в SPICE и PSPICE. К ним относятся:
VCVS (E) - Voltage-Controlled Voltage Source (Источник напряжения управляемый напряжением);
CCCS (F) - Current-Controlled Current Source (Источник тока управляемый током);
VCCS (G) - Voltage-Controlled Current Source (Источник тока управляемый напряжением);
CCVS (H) - Current-Controlled Voltage Source (Источник напряжения управляемый током).
Все это четырехполюсники (Рис. 54)и имеют всего два свойства:
GAIN – коэффициент передачи.
IC – inicial condition (начальное состояние) источника. По умолчанию оно не определено, однако в ряде случаев бывает полезно, например, если нам необходимо, чтобы источник напряжения стартовал не с нуля а с 10V, то можно задать IC=10.
В примитивах есть и двухполюсные источники (на конце имеют цифру 2 – например, CCCS2). Отличие этих источников от своих четырехполюсных собратьев состоит в том, что в качестве входного сигнала в свойствах задается имя Probe – пробника (зонда), установленного в проекте. Однако, толкового запуска двухполюсных примитивов мне так и не удалось добиться даже в лицензионной версии. Впрочем, всегда можно обойтись и четырехполюсниками.
Хотелось бы также обратить внимание на использование аналоговых резисторов на входах/выходах как в предыдущем разделе выше, так и в примерах из прилагаемого архива Lin_Sources.rar. Дело в том, что входы и выходы примитивных идеальных источников не имеют собственного сопротивления, поэтому в случае применения токовых источников приходится включать нагрузочный резистор последовательно, а в случаях входов/выходов по напряжению подключать параллельно для создания сопротивления нагрузки. Этот факт тоже необходимо учитывать.
Несколько особняком выделяются линейные управляемые напряжением или током резисторы: VCR (Voltage-Controlled Resistor) и CCR (Current-Controlled Resistor) У этих линейных примитивов больше задаваемых свойств. Ведут они себя следующим образом (рассмотрим на примере резистора управляемого напряжением (Рис. 55):
При напряжении на входе ниже Off Voltage (в примере VOFF=1V) сопротивление резистора будет равно Off Resistance (в примере ROFF=100 Ом). При напряжении на входе выше On Voltage (в данном случае VON=10V) сопротивление выходного резистора будет равно On Resistance (в примере RON=1 Ом). При изменении напряжения в пределах от VOFF до VON согласно HELP на данную модель используется линейная интерполяция. Ну линейностью? судя из графика на Рис. 55 тут не очень пахнет, хотя в HELP и оговаривается, что при этом модель ведет себя как усилитель. Примеры с данными моделями приведены во вложении VCR.DSN, упакованном в Lin_Sources.rar.
Ну и в заключении данного материала хочу привести один «нестандартный» прием использования линейных управляемых источников. Поскольку все они могут работать как усилители с единичным коэффициентом и являются четырехполюсниками их можно применить для измерения сигналов между двумя точками схемы для виртуальных приборов из набора Протеуса и для графиков тоже. Напомню, что тот же осциллограф при применении всех его четырех каналов меряет сигнал относительно шины GND. Установленные в схеме зонды напряжения – тоже. Чем это чревато видно из (Рис 56). В качестве источника сигнала здесь применен двухполюсник ALTERNATOR – не имеющий связи с GND, поэтому результат измеренный непосредственно с него E1(P) – зеленая трасса занижен относительно реальной амплитуды 10V. Применение в качестве «разделительного трансформатора» VCVR с единичным усилением позволяет и на графике и на осциллографе получить реальный результат (красная трасса). Пример в IZMER.DSN вложения.
Рисунки 54, 55, 56.
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic_54.gif
Просмотров: 667
Размер:	6.7 Кб
ID:	3737   Нажмите на изображение для увеличения
Название: Pic_55.gif
Просмотров: 708
Размер:	13.8 Кб
ID:	3738   Нажмите на изображение для увеличения
Название: Pic_56.gif
Просмотров: 658
Размер:	15.3 Кб
ID:	3739  

Вложения:
Тип файла: rar Lin_Sources.rar (121.1 Кб, 1135 просмотров)

Последний раз редактировалось Halex07; 07.08.2010 в 10:31.
Halex07 вне форума  
Эти 20 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
ABrej (06.04.2010), AnatolZ (27.11.2016), artman66 (24.01.2010), bozhko (17.01.2010), Daddy_Karlo (20.01.2010), haruta (19.01.2010), Old_Monster (29.11.2011), ReLe1 (14.08.2011), sa502 (06.03.2010), Space-r (05.04.2014), stan.kot-79 (03.06.2023), StCathar (12.01.2010), Tischon (21.01.2011), Traan (16.09.2013), vale1 (18.01.2010), VooVoo (23.11.2014), wct_sniaper (29.01.2010), ДимаК (21.06.2011)
Непрочитано 17.01.2010, 10:42  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: FAQ (ЧаВО) по PROTEUS для начинающих и не только.

4.9. Применение Analogue и Mixed Graph для исследования сигналов.
В п. 2.18-2.20 первой части FAQ мы рассмотрели применение Digital Graph (Цифрового графика) для исследования цифровых сигналов. Так как сейчас мы рассматриваем в основном аналоговые модели, пришла пора более подробно рассмотреть возможности аналогового графика – Analogue Graph. По сути, все сказанное в первой части применимо и к аналоговому графику, за исключением того, что в цифровом для каждой трассы (Trace) имеется своя горизонтальная ось, а в аналоговом трассы рисуются накладываясь друг на друга разными цветами. Необходимые зонды или сигналы генераторов добавляются теми же способами: либо перетаскиванием мышкой, либо через клик правой кнопкой внутри графика через опцию Add Traces (Ctrl+T). При добавлении сигналов через правую кнопку можно видеть, что в правой верхней части Trace Type активным является только флажок Analog – ведь это аналоговый график, но зато стала возможным привязка сигнала как к левой, так и к правой оси Y (Axis). Вещь чрезвычайно полезная, особенно при большой разнице в уровнях разных сигналов размещенных на одном графике. Например: размещая на одном графике сигнал с амплитудой 100V – привязываем его к Left (по умолчанию), а с амплитудой 100mV к правой оси Y. При этом, если мы не трогаем масштабы осей (об этом чуть ниже), сигналы на графике будут выглядеть по вертикали сопоставимо, т.к. ISIS автоматически установит разные масштабы. Кроме того, на графике мы можем отобразить и результирующие трассы от разных сигналов (до четырех P1, P2, P3, P4).
Например, на Рис. 57 задано сложение (оно встало по умолчанию) в строке Expression для сигналов генераторов SIN_500 (500Гц 500mV) и SIN_20 (20Гц 1V). Имя трассы P1+P2 также изменено (по умолчанию туда подставляется имя пробника P1), ну и в довершение всего привязал этот сигнал к правой оси. К левой оси графика ранее были привязаны исходные трассы генераторов. Результат действия можно посмотреть на (Рис.58 ) и в прилагаемом вложении Analog_Graph.rar. Желтая трасса является результирующей сложения для двух синусоид.
При этом совсем не обязательно в графе Expression применять именно сложение. Вы можете применить и все те функции, которые описаны в разделе нелинейных источников. Во вложении есть графики для произведения P1*P2 и даже для такой экзотики как URAMP(P1+P2). Созданную трассу всегда можно подкорректировать, если кликнуть по ее названию правой кнопкой мыши – будьте внимательны – щелкать надо именно по названию (например, для желтой трассы на Рис. 58 по P1+P2 в правом нижнем углу). При этом в контекстном всплывающем меню вверху будут доступны три опции именно для этой трассы (Рис.59):
Drag Trace Label – позволяет передвинуть название трассы к другой оси Y (от правой к левой или наоборот по диагонали). Если у данной оси уже стоит несколько лэйблов, то по этой опции можно переместить имя трассы по вертикали в списке, при этом автоматом изменится и цвет в соответсвии с установленным для данного номера трассы в меню TEMLATE =› SET GRAPH COLOR.
Edit Trace Properties – вызывает всплывающее окно, в котором можно изменить имя (Label) или действие (Expression), а также включить подсветку вычисленных симулятором точек графика флажок Show Data Points? Сразу отмечу, что поскольку точки расположены достаточно часто, то видны они только при максимизации графика и его отдельных участков.
Delete Trace – удаляет выбранную трассу с поля графика.
Парочка советов «для ленивых». Если Вы пользуетесь перетаскиванием генераторов и сигналов зондов на график левой кнопкой мыши, то отпустив кнопку, когда курсор в левом верхнем углу поля графика, вы назначите трассу к Left Axis, а в правом нижнем – соответственно к Right Axis. Зацепив лэйбл (имя трассы) сразу левой кнопкой в поле графика его можно перетягивать по диагонали, назначая или к правой или к левой оси Y.
Немного поигравшись с трассами теперь заглянем в свойства самого аналогового графика.Дважды кликнув левой кнопкой мыши по графику или через правую и опцию Edit Graph, попадаем в свойства графика (Рис. 60). Здесь как и в Digital Graph можно установить время старта графика, останова графика (ось X). Можно поменять название в титульной строке – по умолчанию там стоит ANALOGUE ANALYSIS. Не советую здесь применять кириллицу во избежание ошибок.Равно как и для названий левой и правой осей.
По умолчанию уже установлены флажки Inicial DC Solution – учитывать постоянную составляющую и Always simulate – всегда симулировать. При желании можно поставить галочку Log Netlist, чтобы в логе прописывался список цепей. Через кнопку SPICE Option осуществляется быстрый доступ к параметрам симуляции прямо из этого окна. Нас же больше всего интересует кнопка Set Y-Scales, которая у цифрового графика была неактивной. Через эту кнопку мы попадаем в окно установки пределов для левой и правой шкалы Y (Рис. 61). По умолчанию пределы задаются автоматически по максимальному верхнему и нижнему значениям максимального по размаху сигнала, соотнесенного к этой оси. Однако это не всегда красиво выглядит, поэтому я, например, предпочитаю в этом окне задать значения вручную на 1-2 значения выше и ниже от заданных при автоматическом выборе – так выглядит красившее, но это дело личного вкуса. Для этого достаточно установить флажок Lock values, тогда минимальное и максимальное значения станут доступными для изменения. На Рис. 61 я так сделал для левой шкалы Y, а правую оставил в автомате.
Ну вот теперь по аналоговому графику почти все и всего пара слов по Mixed – смешанному графику. Основное его достоинство в том, что в верхней части его можно разместить цифровые сигналы, как на Digital Graph, а в нижней аналоговые. Поэтому, при добавлении в него трасс лучше пользоваться контекстным меню правой кнопки мышки Add Trace, при этом вы сразу можете для данной трассы выбрать тип Trace Type, поскольку будут доступны два варианта – Analog или Digital. В остальном он полностью сродни по аналоговой части аналоговому графику, а по цифровой – цифровому. В примере Analog_Graph.rar такой тип графика размещен в правой части листа проекта.
Ну и в заключение немного о возможностях аналогового и смешанного графиков при максимизации – через контекстное меню правой кнопки мыши – опция Maximize (Show Window). Данный режим показан на Рис. 62.
Так же, как и для рассмотренного в первой части FAQ цифрового графика здесь становятся доступными дополнительные опции: верхнее и нижнее меню. И так же, как и в цифровом возможна установка двух вертикальных маркеров – зеленого – щелчком левой кнопкой мыши в нужном месте графика и красного – то же, но при нажатой клавише Ctrl. Отличие аналогового графика состоит в том, что при установке маркеров в черном нижнем окне кроме временных параметров, которые расположены слева, - справа появляются параметры точек пересечения выбранной трассы с маркером и вычисленное приращение по оси Y. Причем, если при установке маркера щелкнуть левой кнопкой по трассе другого сигнала (в данном случае желтого SIN_500), то перекрестье переместится на эту трассу и числовые параметры оси Y для данного маркера будут вычислены для нее. Ну и конечно, многие наверняка обратили внимание, что у меня вторая трасса желтая, а не красная – по умолчанию. Это я делаю потому, что красный цвет в онлайн картинках графиков менее заметен, чем более яркий – желтый. На этом, пожалуй, разборку аналоговых и смешанных графиков можно закончить. Хочу только еще раз напомнить, что в примерах – SAMPLES, идущих вместе с Протеусом есть целая папка Graph Based Simulation. Именно в ней сосредоточены примеры с применением всех типов графиков, существующих в Протеусе. Пожалуйста, не пренебрегайте имеющейся под рукой информацией, там много полезного.
Рисунки 57, 58,59.
Рисунки 60, 61,62.
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic_57.gif
Просмотров: 603
Размер:	9.8 Кб
ID:	3849   Нажмите на изображение для увеличения
Название: Pic_58.gif
Просмотров: 715
Размер:	15.7 Кб
ID:	3850   Нажмите на изображение для увеличения
Название: Pic_59.gif
Просмотров: 546
Размер:	8.5 Кб
ID:	3851  

Нажмите на изображение для увеличения
Название: Pic_60.gif
Просмотров: 555
Размер:	12.5 Кб
ID:	3852   Нажмите на изображение для увеличения
Название: Pic_61.gif
Просмотров: 570
Размер:	7.0 Кб
ID:	3853   Нажмите на изображение для увеличения
Название: Pic_62.gif
Просмотров: 592
Размер:	33.8 Кб
ID:	3854  

Вложения:
Тип файла: rar Analog_Graph.rar (43.6 Кб, 1048 просмотров)

Последний раз редактировалось Halex07; 07.08.2010 в 10:41.
Halex07 вне форума  
Эти 14 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
ABrej (06.04.2010), avr123-nm-ru (12.04.2010), bozhko (06.02.2010), Old_Monster (29.11.2011), ReLe1 (14.08.2011), sa502 (25.01.2010), Space-r (05.04.2014), Tischon (21.01.2011), Traan (16.09.2013), VooVoo (23.11.2014), wct_sniaper (29.01.2010), ДимаК (21.06.2011)
Непрочитано 20.01.2010, 23:58  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: FAQ (ЧаВО) по PROTEUS для начинающих и не только.

4.10. PROSPICE-примитивы резисторов и конденсаторов. Немного о температурном моделировании в Proteus и использовании DC SWEEP графика.
В этом разделе я кратенько пробегусь по свойствам примитивов резисторов R и конденсаторов C. Итак, резистор наиболее простая и фундаментальная модель SPICE. Ток через резистор пропорционален напряжению, приложенному между выводами 1 и 2. В окне свойств резистора из библиотеки примитивов ISIS имеется только строка задания его сопротивления Resistance. Однако, это не значит, что по сравнению с классической SPICE-моделью у него отсутствуют остальные свойства. Просто, если Вы затеете в Протеусе температурное моделирование, то придется их вводить вручную в окне Other Properties. А по умолчанию они следующие:
TC1 0.0 Значение линейного температурного коэффициэнта A
TC2 0.0 Значение квадратичного температурного коэффициэнта B
TEMP 27 Реальная температура резистора.
TNOM 27 Температура, при которой TC1, TC2 были «измерены» при создании модели.
Суммарно, сопротивление резистора при определенной температуре t определяется следующей формулой:
Rt=R+A*dt+B*dt**2 где dt=t-25
Так как по умолчанию у нас TC1 и TС2 равны нулю, то и принимаетмся значение, установленное в окне Resistance. Если же их задать вручную для конкретного резистора (ов) в проекте, то при моделировании температурных режимов линейная и квадратичная составляющая будут вносить свои коррективы в значения сопротивления данных резисторов.
Вот это последнее мы сейчас и рассмотрим на примере резистивного измерительного мостика, приведенном в книге Р. Хайнеманна «Визуальное моделирование электронных схем в PSPICE». Если кто-то имеет данную книгу, то может сравнить с приведенным там примером в гл.7.3. Итак, согласно приведенной там иллюстрации соберем схему термоизмерительного мостика (Рис. 63 ) из резисторов сопротивлением 1 кОм и источника постоянного напряжения 10В.
Обратите внимание, что для двух резисторов в диагоналях я задал линейный температурный коэффициент TC1=0,0067 1/K, что соответствует коэффициенту для никеля. Кроме того, для параметра текущей температуры TEMP=X, потому что предполагаю ее менять в качестве параметра в DC SWEEP анализе. Теперь тем же способом, что и аналоговый график размещаем на поле проекта график DC SWEEP – он предпоследний в левом меню графиков, и заходим в его свойства Edit Graph (Рис. 64 ).
Ну вот, теперь, наверное, стало понятно - почему я присвоил температуре значение X. Ведь ее мы и будем свипить, т.е. развертывать по горизонтальной оси. Присваиваем ей в соответствии с книжным примером Start Value – начальное значение -50 (имеются в виду градусы Цельсия), Stop Value – конечное значение 150, Nominal Value номинальное значение 25 и No. Steps – количество шагов 200 (по 1 на градус размаха 50+150 – здесь я покривил душой, у Хайнеманна шаг взят 0.1 градуса, впрочем желающие могут поставить 2000 для пущего соответствия).
Затем добавляем на график трассу Add Trace, которая является разностью напряжений для пробников 1 и 2 на схеме (Рис. 63 ). Выглядеть это будет, как на (Рис. 65 ). Здесь в принципе Вам все уже знакомо по аналоговому графику. Т.е. наша трасса будет представлять разность напряжений в точках пробников 1 и 2 (средние точки диагоналей измерительного моста). Фантазии у меня не хватило, и обозвал я ее незатейливо P1-P2. Обратите внимание, чтоб мне лишний раз не пояснять, что и для этого типа анализа имеется возможность использования левой и правой вертикальных осей Y. Мы используем левую, которая по умолчанию.
И еще один нюанс, - для вертикальной оси Y я вручную установил верхний и нижний пределы (кнопка Set Y-Scales) соответственно -4V и 4V для большей аналогии с книжным примером. Проделав все эти манипуляции, запускаем график на выполнение. Я внес на лист рисунки из книжки, правда качество скана оставляет желать…, но сравнить можно. Результат выполнения графика и прототип из книжки на (Рис. 66 ).
Этот пример содержится в прилагаемом проекте RES_TEMP.DSN из архива RES&CAP.RAR на втором листе – Root Sheet 2, а на первом – с помощью DC SWEEP я приложил график для изменения одного сопротивления моста из различных материалов: никеля, меди и платины.
Вот такие метаморфозы возможны с помощью DC SWEEP. Но совсем не обязательно, чтобы изменяемым параметром была температура. В качестве дополнительного примера приложен пример RES_POWER.DSN, где по оси X разворачивается сопротивление резистора в диапазоне от 1 до 150 Ом, а по оси Y – рассеиваемая на нем мощность, вычисляемая по формуле P=U*I.
Ну а теперь немного о конденсаторах. Примитив конденсатора в ISIS тоже простая модель, не учитывающая ни утечек, ни индуктивности, ни других параметров реальных конденсаторов. Единственным основным параметром является задаваемая емкость Capacitance (Farads). Однако, и здесь есть парочка параметров, которые задаются вручную, но могут в корне влиять на моделирование схемы. Поэтому рассмотрим, - как их правильно применять, а попутно и то, чем примитив конденсатора отличается от других моделей этого типа в ISIS.
PRECHARGE – этот параметр специфическое расширение PROSPICE по сравнению со стандартным SPICE и определяет начальное напряжение зарядки конденсатора. Если данный параметр строго не описан, то это напряжение принимается таким, которое соответствует данной операционной точке.
IC – в данном случае это отнюдь не Inicial Condition, а Inicial Charge (начальный заряд) и также должен определять начальное напряжение заряда конденсатора. Отличие состоит в том, что данный параметр используется симулятором только тогда, когда начальное напряжение невозможно рассчитать.
Вот так все запутанно расписано в HELP, но рассмотрим дальше – как это выглядит на практике. На Рис. 67 для цепочки 1 применены параметры по умолчанию, а для цепочки 2 установлено стартовое напряжение для конденсатора PRECHARGE=0.
Вот сразу и выяснился один любопытный момент – на левом графике напрочь отсутсвует кривая первоначального заряда, т.е. как и указано в HELP – напряжение на верхней по схеме обкладке конденсатора сразу же равно питанию. Делайте выводы те, кто приклеивает данную цепочку ко входу сброса микроконтроллеров или цифровых счетчиков и т.п. Будет оно симулироваться или нет? Идем дальше, и на Рис. 68 разберем действие параметра IC.
Когда мы подставили IC=0 в параметры конденсатора – цепочка 3, то получили по сути тоже, что и по умолчанию, т.е. в стартовый момент напряжение на верхней точке уже равно питанию. Но есть еще один интересный момент – IC можно использовать и для проводников. Это очень просто – если мы присваиваем одноименный лайбл проводнику (в нашем случае верхнему) – цепочка 4, то по сути опускаем его напряжение в стартовый момент до нуля, а с ним и верхний вывод конденсатора. Вот и получили тот же эффект, что при варианте 2. Все эти примеры находятся в прилагаемом в архиве проекте CAP.DSN.
Вариант с IC для проводников классически применен в примере Ff.DSN, идущем в поставке Протеуса в папке \SAMPLES\Graph Based Simulation\. В этом примере рассмотрен классический транзисторный мультивибратор с коллекторными связями (Рис. 69 ). Я не удержался от того, чтобы не привести его здесь, подчеркнув важные моменты.
Те, кто внимательно изучал электронику в ВУЗах, а не просто «ходил за дипломом», да и многие радиолюбители наверняка давно знают, а для тех, кто начинает свои посты на форуме с фразы: «я в электронике полный дуб» - поясню, что в идеале данная схема не в состоянии генерировать импульсы. Это потому, что если в обоих плечах симметричного мультивибратора стоят строго одинаковые компоненты, - он будет находиться в состоянии статического равновесия. На практике из-за разброса параметров радиоэлементов такого не бывает, поэтому мультик всегда запускается. Но ведь любой симулятор и содержит строго идеальный набор моделей. Значит, если такой мультик запустился, то где-то производитель программы Вас слегка охмурил. Ну а в нашем случае все просто. Для того, чтобы внести стартовый разбаланс в плечи мультивибратора для коллекторной точки левого плеча принято IC=0V, а для правого IC=10V. Вот и получился нужный стартовый перекос. Примите на вооружение, как полезный совет от разработчиков.
Ну и в заключении этого раздела еще немного о моделях конденсаторов, расположенных уже в библиотеке Capacitors. Большинство из них ведет себя так же, как и примитив, на базе которого они основаны. Так что параметр PRECHARGE для них очень актуален. Но есть парочка моделей – это тоже базирующийся на примитиве анимированный конденсатор (подпапка Animated) и схематичная модель (или как принято в других пакетах такой вариант называть - макромодель) REALCAP (подпапка Generic) в которых не надо при установке в проект принудительно включать это свойство. У макромодели REALCAP реализованы, кстати и все дополнительные навороты - Рис. 70, вплоть до ESR. Но прежде, чем активно использовать эту модель в своих проектах, внимательно подумайте, – а «стоит ли игра свеч». Ведь все эти навороты реализованы схемно в макромодели и утяжелят Вам симуляцию проекта как говорится «по полной программе», поэтому и хороши они только там, где необходимо обязательно учесть данные параметры.
Рисунки 63, 64, 65.
Рисунки 66, 67, 68.
Рисунки 69, 70.
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic_63.gif
Просмотров: 626
Размер:	5.8 Кб
ID:	4003   Нажмите на изображение для увеличения
Название: Pic_64.gif
Просмотров: 652
Размер:	12.8 Кб
ID:	4004   Нажмите на изображение для увеличения
Название: Pic_65.gif
Просмотров: 572
Размер:	7.9 Кб
ID:	4005  

Нажмите на изображение для увеличения
Название: Pic_66.gif
Просмотров: 619
Размер:	64.1 Кб
ID:	4006   Нажмите на изображение для увеличения
Название: Pic_67.gif
Просмотров: 688
Размер:	12.8 Кб
ID:	4007   Нажмите на изображение для увеличения
Название: Pic_68.gif
Просмотров: 593
Размер:	12.6 Кб
ID:	4008  

Нажмите на изображение для увеличения
Название: Pic_69.gif
Просмотров: 910
Размер:	31.2 Кб
ID:	4009   Нажмите на изображение для увеличения
Название: Pic_70.gif
Просмотров: 639
Размер:	12.1 Кб
ID:	4010  
Вложения:
Тип файла: rar RES&CAP.rar (141.6 Кб, 1243 просмотров)

Последний раз редактировалось Halex07; 07.08.2010 в 10:46. Причина: правка ошибок
Halex07 вне форума  
Эти 17 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
ABrej (06.04.2010), Andrei_ru (27.01.2010), avr123-nm-ru (12.04.2010), bozhko (06.02.2010), GNN (25.01.2010), Old_Monster (29.11.2011), rv6yi (25.01.2010), sa502 (25.01.2010), Shahabbas (20.10.2019), ticksp (10.01.2015), Tischon (21.01.2011), Traan (16.09.2013), VooVoo (23.11.2014), wct_sniaper (29.01.2010), ДимаК (21.06.2011)
Непрочитано 06.02.2010, 04:59  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: FAQ (ЧаВО) по PROTEUS для начинающих и не только.

4.11. PROSPICE-примитив индуктивности. График AC SWEEP. Взаимосвязь индуктивностей. Особенности моделей трансформаторов в Протеусе.
Модель INDUCTOR из папки Primitivies также относится к самым простым моделям SPICE. В свойствах модели есть только один параметр, вынесенный в отдельную строку – Inductance (Henrys) (Индуктивность в Генри), который по умолчанию равен 1 мГн. Дополнительно можно назначить вручную еще два параметра. Это:
IC – в данном случае Inicial Current – начальный ток через индуктивность (обратите внимание - как по разному трактуется параметр IC для разных компонентов);
MUTUAL_elem – коэффициент взаимосвязи между данным элементом и тем, на который указывает elem. Математически он трактуется так:
Коэффициент связи K=M/(SQRT(L1*L2)) – взаимоиндуктивность M деленная на корень квадратный из произведения индуктивностей L1 и L2. Данный параметр мы подробно рассмотрим здесь же чуть ниже, поскольку это основа для моделирования трансформаторов.
А теперь - почему я решил заострить Ваше внимание на этом примитиве и вообще индуктивных элементах в Протеусе. Дело в том, что у того же примитива индуктивности есть одна характерная особенность – нулевое сопротивление постоянному току. Поэтому, если Вы собрались включить его где то в моделирование и не позаботились о том, чтобы добавить с ним последовательно обычный резистор, то рискуете получить сообщение об ошибке (Рис. 71). Это особенность не только PROSPICE, но и других SPICE-симуляторов и об этом нельзя забывать при моделировании устройств с индуктивными элементами.
В тоже время в библиотеке Inductors как и в случае с конденсаторами в папке GENERIC находится схематичные модель REALIND и модели NLINDUCTOR, SATIND, в свойствах которых схемным образом уже добавлены резистивные Equivalent Parallel Resistance (эквивалентное параллельное сопротивление) Equivalent Serial Resistance (эквивалентное последовательное сопротивление) и емкостная Equivalent Parallel Capacitance (эквивалентная параллельная емкость) составляющие (Рис. 72).
Рассмотрим, что они нам дают по сравнению с примитивом индуктивности. Зачем нужно последовательное сопротивление мы уже выяснили. Зачем же нужно Equivalent Parallel Resistance? В реальных катушках индуктивности всегда наблюдается снижение добротности при увеличении частоты свыше некоторого конкретного значения. У примитива INDUCTOR с ростом частоты импеданс постоянно растет, причем если отложить этот рост в логарифмическом масштабе, то график роста линейный. Для иллюстрации сказанного воспользуемся возможностями графического анализа AC SWEEP. Данный график несколько схож по параметрам с рассмотренным в предыдущем разделе DC SWEEP, но в данном случае в отличие от предыдущего изменяемым параметром является частота входного генератора. Итак, построим простейшую схему (Рис. 73), где параметры генератора зададим так, как показано на рисунке. Имя генератора можно набрать любое, но помните, что позже оно нам потребуется в свойствах графика AC SWEEP. Также я установил флажок Current Source – источник тока, поскольку мне нужен именно токовый генератор и задал амплитуду и постоянную составляющую 1 mA. В графе Frequency может стоять любое значение, кроме нулевого, поскольку именно этот параметр генератора и будет «свипироваться», т.е. изменяться в графике AC SWEEP. Ну еще попутно я снял флажок Hide Properties? – чтобы параметры высвечивались в проекте на месте скрытого ‹TEXT›. И последнее новшество – вместо конкретного значения индуктивности я задал значение X1, потому что этот параметр также будет изменяться для получения семейства (нескольких) характеристик для разных значений индуктивности. Почему именно X1, а не X, как раньше? Просто в проекте будет несколько примеров индуктивностей и несколько графиков AC SWEEP, и чтобы не запутать симулятор и себя я их пронумеровал.
Теперь по аналогии с предыдущими примерами графиков растягиваем по диагонали в поле проекта график AC SWEEP из левого меню GRAPH MODE, после чего заходим в его свойства (Рис.74). Здесь уже многое нам знакомо по предыдущему DC SWEEP. Выбираем в качестве Reference через раскрывающийся список наш генератор синусоидального сигнала ( у меня I_1), задаем начальную частоту Start frequency: 10k (10 килоГерц), а конечную частоту Stop frequency: 1G (1 гигаГерц). В графе Interval оставляем DECADE, т.е. каждый последующий шаг по оси частот (горизонталь) в 10 раз выше частоту (доступны еще OCTAVE – вдвое и LINEAR – линейный), ну и количество шагов (интервалов) – No. Steps/Interval оставим равным по умолчанию 10, хотя если хотите получить плавные кривые с меньшим количеством изломов, то количество шагов необходимо увеличить, а если нужна меньшая точность то уменьшить (минимальное значение 5).
Теперь разберемся с осью Y. Ну во-первых в Options я оставил включенным по умолчанию флажок Y Scale in dBs?, поэтому вертикальная шкала будет в децибеллах. Во-вторых, поскольку график позволяет получить параметрический анализ, а в качестве изменяемого параметра я выбрал индуктивность, то я задал ее начальное (1mH или 0.001H), конечное (100mH или 0.1H) и номинальное (50mH или 0.05H) значения и количество шагов No.Steps 2. Для данного случая будет выведено три кривых: соответственно при начальном, номинальном и конечном значениях. Маленький нюанс – чтобы вывести 2 кривых, нужно задать No.Steps равным 1 (меньше нельзя), а если необходима только 1 кривая, то начальное и конечное значения должны быть равны. При этом в Nom.value и No.Steps может стоять что угодно. Ну и последнее No.Steps не должно превышать значение 10. Эти замечания относятся и к DC SWEEP.
Со свойствами графика AC SWEEP пока все, пора добавлять в него трассу. Я добавлю зонд напряжения U1 (Рис. 72) через меню правой кнопки мыши Add Traces (Рис. 75).
Добавляем к левой оси GANE, а если в этом случае выбрать Axis Right, то данный зонд будет назначен к правой вертикальной оси PHASE и получим кривую изменения фазы сигнала в этой точке. Можно добавить этот зонд и туда и сюда, чтобы иметь две кривых, но меня в данный момент интересует именно напряжение, поскольку оно прямо пропорционально полному (комплексному) сопротивлению катушки в зависимости от частоты. Запускаем граф на симуляцию и получаем картинку как на Рис. 76.
Итак, мы видим, что для идеальной модели усиление (ну и напряжение) на участке до 1 гигаГерца постоянно растет, что, как сами понимаете, отнюдь не соответствует реальности. Не смущайтесь линейностью графика – напомню, что мы выбрали по Y логарифмическую шкалу, а по X десятикратные интервалы частоты. Но факт остается фактом – напряжение на катушке, а следовательно и ее добротность с повышением частоты постоянно растут. Вот это парадокс, приводящий к острым выбросам на высоких частотах и является для SPICE-модели катушки дополнительным фактором, влияющим на сходимость решения и, следовательно, успешную симуляцию индуктивности. Для того, чтобы учесть реальное снижение добротности вследствие вихревых потерь и поверхностных токов (скин-эффект) необходимо параллельно катушке подсоединить шунтирующий резистор. При этом на низких частотах преобладающую роль будет иметь индуктивность, а на высоких – сопротивление резистора.
Сопротивление шунтирующего резистора нетрудно рассчитать по формуле R=2π*f*L=6,28*f*L, где f-частота (Гц), L-идуктивность (Гн) и R – сопротивление (Ом).
Например: для частоты 200кГц и индуктивности 1мГн необходим резистор 1256 Ом. Что при этом произойдет - видно на графике (Рис. 77). В районе от 100кГц до 1 МГц наблюдается перегиб кривой, после чего на более высоких частотах она практически постоянна.
Ну и для окончательного «чувства глубокого удовлетворения» при моделировании индуктивностей осталось учесть паразитную межвитковую емкость, что и сделано в схематичных моделях упомянутых выше и имеющих окно Properties как на Рис. 72. Все эти рассуждения я свел в пример L_REAL.DSN, прилагаемый в архиве INDUCT.RAR.
Теперь перейдем к разбору связанных индуктивностей, ну и как следствие – трансформаторов. Взаимосвязь индуктивностей в ISIS определяется как mutual inductance – взаимная индуктивность и подробно рассмотрена в двух прилагаемых примерах Mutual1.DSN и Mutual2.DSN из папки Graph Based Simulation. Для двух и более взаимосвязанных индуктивностей всегда используется одно обозначение с указанием буквенного индекса через двоеточие. Например: L1:A, L1:B, L1:C и т.д.. Коэффициент взаимосвязи, лежащий в пределах от -1 (ВНИМАНИЕ! В HELP по примитиву INDUCTOR указан диапазон от 0 – это неверно) до 1, прописывается в окне Other Properties одной из индуктивностей так, как показано на Рис. 78 (пример из Mutual1.DSN). Хотелось бы в данном примере особо обратить Ваше внимание на следующее:
• Поскольку модель индуктивности имеет нулевое собственное сопротивление, а в качестве источника сигнала используется генератор напряжения – обязательно присутствие добавочного резистора, имитирующего сопротивление катушки постоянному току – здесь это R1 сопротивлением (1 миллиОм);
• Незакрашенной точкой у моделей индуктивностей помечены однополярные (синфазные) концы, т.е. в данном примере напряжение по фазе на входе и выходе будет совпадать, если необходимо противофазное напряжение, достаточно перевернуть включение одной из катушек. Аналогичного эффекта можно добиться использованием отрицательного значения коэффициента связи, однако при большом количестве взаимосвязанных катушек легко запутаться со знаками.
• Коэффициент связи указывается только у одной из взаимосвязанных катушек по отношению к другой (другим).
Вариант с несколькими катушками приведен в примере Mutual2.DSN. Там у катушки L1:A заданы коэффициенты к L1:B и L1:C, а у катушки L1:B уже только к L1:С. Хотелось бы также обратить внимание на то, как в этом примере задан коэффициент связи K – он задан текстовым скриптом (левое меню Text Script Mode), помещенным в поле проекта и начинающимся со строки *DEFINE. При создании схематичных моделей этот вариант задания свойств мы будем активно использовать. Еще в этом примере хотелось бы заострить Ваше внимание на использовании в аналоговом графике желтой кривой VSEC. Ее значение вычисляется как разность напряжений зондов VC-VB – вот и получили на графике удвоенную амплитуду (т.е. сумму напряжений двух вторичных секций трансформатора).
Ну и теперь немного остановимся на моделях трансформаторов из библиотеки Inductors\Transformers. Как Вы наверное догадались, анализируя примеры Mutual, магнитными свойствами сердечника там и близко не пахнет. Иными словами – все это линейные индуктивности и трансформаторы на их основе будут вести себя также. Однако, в моделях есть ряд индуктивных элементов, реализованных схематичными моделями – в названии присутствует SAT от английского Saturated – насыщенный. В них предпринята попытка реализовать нелинейные свойства сердечника схемным путем. При этом следует учитывать, что керн трансформаторов TRSAT или катушки (модель SATIND) также является выводом и не должна «висеть в воздухе», иначе модель будет вести себя неадекватно. За счет введения нелинейных элементов данные модели более приближены к реальности, однако следует учитывать, что и параметров, которые для них задаются тоже намного больше. На Рис. 79 приведены для сравнения модели простого трансформатора и насыщенного, подключенные к одному синусоидальному генератору. На графиках напряжений сразу бросается в глаза, что входное и выходное напряжения простого трансформатора практически совпадают по фазе, а насыщенного значительно отличаются. Для любителей «покопаться во внутренностях» я для TRSAT2P2S восстановил внутреннюю структуру модели из файла MDF и приложил два примера в папке TRANS_SAT. Пример MODEL_IN.DSN предназначен для просмотра структуры трансформатора. В примере EX_SAT_2.DSN эта структура присоединена к графической модели в качестве дочернего листа. При этом можно тестировать модель, а на дочернем листе изменять схему и параметры. С дочернего листа и компилируется MDF файл. Чуть позже мы займемся этим более подробно.
Рис. 71, 72, 73.
Рис. 74, 75, 76.
Рис. 77, 78, 79.
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic_71.gif
Просмотров: 804
Размер:	14.1 Кб
ID:	4332   Нажмите на изображение для увеличения
Название: Pic_72.gif
Просмотров: 953
Размер:	11.0 Кб
ID:	4333   Нажмите на изображение для увеличения
Название: Pic_73.gif
Просмотров: 932
Размер:	27.2 Кб
ID:	4334  

Нажмите на изображение для увеличения
Название: Pic_74.gif
Просмотров: 907
Размер:	15.6 Кб
ID:	4335   Нажмите на изображение для увеличения
Название: Pic_75.gif
Просмотров: 738
Размер:	11.3 Кб
ID:	4336   Нажмите на изображение для увеличения
Название: Pic_76.gif
Просмотров: 653
Размер:	4.7 Кб
ID:	4337  

Нажмите на изображение для увеличения
Название: Pic_77.gif
Просмотров: 663
Размер:	4.7 Кб
ID:	4338   Нажмите на изображение для увеличения
Название: Pic_78.gif
Просмотров: 986
Размер:	14.7 Кб
ID:	4339   Нажмите на изображение для увеличения
Название: Pic_79.gif
Просмотров: 1122
Размер:	18.3 Кб
ID:	4340  

Вложения:
Тип файла: rar INDUCT.rar (136.6 Кб, 1510 просмотров)
Тип файла: rar TRANS_SAT.rar (72.7 Кб, 1667 просмотров)

Последний раз редактировалось Halex07; 07.02.2010 в 07:11.
Halex07 вне форума  
Эти 16 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
Alcher (10.02.2010), avr123-nm-ru (12.04.2010), bozhko (07.02.2010), colombo_2006 (07.02.2010), dosikus (06.02.2010), GNN (07.02.2010), NikBatch (04.03.2011), Nikola_1975 (29.05.2017), Old_Monster (29.11.2011), parcshin (23.04.2011), sa502 (06.03.2010), Tischon (21.01.2011), Traan (16.09.2013), VooVoo (24.11.2014), ДимаК (21.06.2011)
Непрочитано 07.02.2010, 06:36  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: FAQ (ЧаВО) по PROTEUS для начинающих и не только.

4.12. Утилиты командной строки для работы с библиотеками SPICE и MDF моделей в Протеусе.
Так как мы уже вплотную занялись изучением моделей компонентов представленных в библиотеках ISIS, настало время познакомиться с несколькими программами, которые представлены в папке \BIN Протеуса и значительно облегчат нам последующую жизнь. Их четыре:
GETMDF.EXE – извлечение *.MDF из библиотек *.LML;
GETSPICE.EXE – извлечение *.MOD из библиотек *.SML;
PUTMDF.EXE – создание (добавление) библиотек *.LML из *.MDF файлов;
PUTSPICE.EXE – создание (добавление) библиотек *.SML из *.MOD файлов;
Это все консольные приложения и запускать их лучше из окна командной строки, чтобы после выполнения можно было проконтролировать результат выполнения, так как запуск из непосредственно из под Винды приведет к атоматическому закрытию окна и Вы не успеете отследить – что сделала утилита. Для тех, кто с компьютера «сдувает пыль» напоминаю, что в WinXP Командная строка (по другому Консоль или сеанс DOS) находится во вкладке Стандартные через ПУСК -› Все программы. Для того, чтобы не прописывать вручную длинные пути рекомендую данные утилиты скопировать в отдельную папку, размещенную в корневом каталоге любого жесткого диска. В примерах ниже я разместил их на F:\ProtUtil. Так как эти программы «самодостаточны», то кроме них туда будем копировать для «разборки» только файлы соответствующих библиотек.
Поскольку я, как и многие программисты – в меру ленив, то создал простейший командный файл Consol.bat, который запускает сеанс DOS и выводит меня в нужный каталог, а на Рабочий стол поместил ярлык с путем к этому файлу. Содержание файла самое тупое и для варианта с диском F: выглядит так:
Код:
@ECHO OFF
REM Открываем консоль DOS для WinXP на диске С: выглядит так:
C:\WINDOWS\SYSTEM32\CMD.EXE
REM Переходим на нужный диск в данном случае на F:
F:
REM Переходим в нужный каталог (папку) в данном случае ProtUtil
CD \ProtUtil\

Я нарочно расписал все поподробнее и в разных строках, чтобы легко было сообразить – где поправить под себя.Конечно, можно усовершенствовать данный «шедевр»: ввести выбор запускаемой утилиты и добавить запуск утилит с требуемыми ключами. Может на досуге и сделаю, если не одолеет все та же лень. Для наших целей пока сойдет и так. Результатом выполнения этого файла, созданного в текстовом формате (Notepad/Блокнот) и измененным расширением (.TXT меняем на .BAT) будет открытие командной консоли и переход в нужный каталог. После чего если ввести имя файла утилиты без ключей выскочит соответствующая подсказка (Рис. 80 ).
В данном случае имя утилиты getspice введено вручную (вводить можно и строчными и прописными буквами - для DOS это не существенно). Я умышленно не ввел никаких ключей и после нажатия клавиши Enter получил подсказку по необходимым ключам.
Полезный совет для «чайников» в консольных программах. После выхода в ожидание ввода (нижняя строка на рисунке 80) чтобы не набирать тест повторно можно воспользоваться клавишами навигации стрелка вверх / стрелка вниз на дополнительной клавиатуре для повтора нужного ввода. Если было введено несколько команд, их можно будет пролистать, выбрать нужный ввод и скорректировать параметры. Этот выбор действует только в пределах данного сеанса, т.е. после закрытия консольного окна кликом по кресту Х вверху справа введенные данные будут уничтожены и при следующем запуске недоступны.
В моем примере на Рис. 80 нажатие клавиши стрелка вверх вызовет повторное появление строки getspice, но теперь я добавлю нужные ключи в конце строки.
-L= ‹libname› – имя распаковываемой библиотеки *.LML (если не указан, то ищется PROSPICE.SML).
-F=‹modname› – имя файла, в котором будут сохранены извлекаемый компоненты (если ключ не введен, то модели будут сохранены в одномиенный с libname файл, но с расширением .MOD) .
-A – извлекает все модели из указанной библиотеки.
-D – стирает модели в библиотеке.
Так как в следующем разделе мы будем рассматривать модели диодов, то я, преследуя свои «шкурные интересы» изложения материала, хочу достать SPICE- модель столь популярного у нас в России выпрямительного диода 1N4007. Чтобы определить - где ее искать, выберем 1N4007 (именно со SPICE-моделью! Не перепутайте, там есть еще примитив) из библиотеки ISIS, поместим его в проект и в свойствах включим флаг Edit all Properties as Text. Имя библиотеки будет видно в соответствующей строке (Рис. 81 ).
Теперь копируем файл DIODESINC.SML из папки \MODELS\ Протеуса в нашу папку и запускаем извлечение моделей с соответствующими ключами (Рис.82 ).
В данном случае я стрелкой вверх вызвал повтор команды getspice, но добавил к ней два ключа. Результатом будет извлечение всех моделей из библиотеки DIODESINC.SML в файл DIODESINC.MOD. Этот файл затем можно открыть в любом текстовом редакторе и найти там интересующую нас модель, воспользовавшись поиском. К сожалению, GETSPICE в отличие от GETMDF не раскладывает файлы при извлечении в отдельные, а просто разделяет их в текстовом файле пустыми строками. Итак, если все набрано правильно, наше окно прокрутилось, показав отчет об извлечении файлов, после чего его можно благополучно закрыть.
Полученный файл DIODESINC.MOD открываем в любом текстовом редакторе и находим поиском текст 1N4007 строки будут выглядеть как показано ниже:
Код:
*Object DIODESINC.SML/1N4007
.MODEL 1N4007 D  ( IS=76.9P RS=42.0M BV=1.00K IBV=5.00U CJO=26.5P  M=0.333 N=1.45 TT=4.32U )
Собственно вторая строка, начинающаяся с обязательной точки, и есть SPICE запись параметров нашей модели диода. Копируем ее в отдельный текстовый файл, даем ему название 1N4007.MOD и сохраняем SPICE-модель для отдельно взятого диода.
Аналогично ведет себя и утилита GETMDF, но работает она уже с библиотеками .LML. На Рис. 83 приведен пример извлечения с помощью ее моделей из библиотеки ANALOG.LML. Каждая модель в данном случае извлекается в отдельный файл с именем модели. После этого их также можно просматривать и править в текстовом редакторе. Именно так я «добыл» модель трансформатора в предыдущем разделе. Полученные при этом файлы .MDF - Model Description Format (формат описания модели) также можно открыть в любом текстовом редакторе. По своей структуре они практически совпадают с файлами списка цепей .SDF, которые мы рассматривали здесь ранее в разделе 4.4.
На следующем рисунке (Рис. 84) представлен запуск утилит PUTSPICE.EXE и PUTMDF.EXE без дополнительных ключей для получения подсказок. Как видно из рисунка, ключи у них по назначению совпадают, поэтому разберем на примере PUTSPICE.
-L= ‹libname› – как и у предыдущих утилит служит для задания имени библиотеки .SML или .LML, которая создается или в которую добавляются файлы.
-C[=n] – служит для создания новой библиотеки с именем ‹libname› и опционально заданным количеством элементов n. Если n не указано, то создается пустая библиотека, если указано то с резервированием на n элементов. На что здесь хочется обратить внимание. Если создана библиотека из 10 элементов, то в ней может находится не более этого количества, меньше – сколько хотите. При попытке добавить 11-й элемент Вы получите сообщениие Library is Full и элемент не добавится, поэтому при создании библиотеки лучше перестраховаться и задать n чуть больше, чем нужно, но и злоупотреблять не стоит – экономьте дисковое пространство.
-D – удаляет исходные файлы с диска при помещении их в библиотеку.
На Рис. 85 приведены примеры операций с утилитой PUTSPICE.EXE. Если кого-то смущает, что на последних двух картинках вместо диска F: указан диск E:, то это лишь потому, что данные иллюстрации делались на моем рабочем компе, а там на F: у меня сидит Линь. Поэтому пришлось задействовать Е:. Надеюсь, особых затруднений этот материал у Вас не вызвал, а в дальнейшем он послужит хорошим пособием для создания собственных моделей и библиотек.
Рисунки 80, 81, 82
Рисунки 83, 84, 85
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic_80.gif
Просмотров: 641
Размер:	8.8 Кб
ID:	4364   Нажмите на изображение для увеличения
Название: Pic_81.gif
Просмотров: 653
Размер:	14.4 Кб
ID:	4365   Нажмите на изображение для увеличения
Название: Pic_82.gif
Просмотров: 603
Размер:	9.5 Кб
ID:	4366  

Нажмите на изображение для увеличения
Название: Pic_83.gif
Просмотров: 644
Размер:	18.5 Кб
ID:	4367   Нажмите на изображение для увеличения
Название: Pic_84.gif
Просмотров: 605
Размер:	12.7 Кб
ID:	4368   Нажмите на изображение для увеличения
Название: Pic_85.gif
Просмотров: 674
Размер:	16.6 Кб
ID:	4369  


Последний раз редактировалось Halex07; 07.08.2010 в 10:48.
Halex07 вне форума  
Эти 22 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
ABrej (06.04.2010), avr123-nm-ru (12.04.2010), bozhko (07.02.2010), Chettuser (18.07.2010), Jorjick (08.02.2010), kuksin (15.02.2010), majorka65 (17.02.2010), nanogul (18.02.2010), Old_Monster (29.11.2011), OrangeMale (05.05.2012), ReLe1 (14.08.2011), sa502 (07.02.2010), stan.kot-79 (03.06.2023), Tischon (21.01.2011), Traan (16.09.2013), ValBag (19.02.2010), VooVoo (20.12.2014), ДимаК (21.06.2011)
Непрочитано 07.02.2010, 06:55  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: FAQ (ЧаВО) по PROTEUS для начинающих и не только.

4.13. Примитивы управляемых ключей. Генераторы-двухполюсники.
Рассматривая набор примитивов, необходимый в дальнейшем для создания собственных моделей я чуть было не упустил еще две группы, широко используемые в стандартном SPICE моделировании. Давайте здесь их быстренько разберем.
Сначала познакомимся с управляемыми аналоговыми ключами VSWITCH и CSWITCH – соответственно первый контролирует входное напряжение (Voltage), а второй ток (Current). По своей сути они подобны электромагнитным реле. Рассмотрим свойства VSWITCH – (Рис 86 ).
На рисунке вместо слова DEFAULT я подставил те числовые значения, которые ему соответствуют и назначены данной модели по умолчанию, т.е. когда вы только поместили ее в проект. Практически все свойства за исключением одного представлены в окне при вызове Edit Properties. Всегда можно посмотреть Help, чтоб чего-нибудь не напутать. Итак, свойства:

Threshold VoltageVT – по умолчанию 0 – пороговое входное напряжение срабатывания ключа;
Hysteresis Voltage VH – по умолчанию 0 – напряжение гистерезиса (запаздывания) срабатывания ключа. Вот здесь прошу всех быть предельно внимательными – в HELP ошибка. На самом деле ключ включается при VT+VH и выключается при VT-VH – это видно из следующего графика на Рис. 87. Почему-то в Help прописаны значения VH/2 – это бред.
On Resistance RON – по умолчанию 1 Ом – выходное сопротивление ключа во включенном состоянии.
Off ResistanceROFF – по умолчанию 1 МОм – выходное сопротивление ключа в выключенном состоянии.

Ну и два логических параметра которые не представлены в окне Properties – это ON (по умолчанию FALSE - ложно) и OFF (тоже по умолчанию FALSE) аналогичны рассмотренному раньше Inicial Condition – стартовому состоянию при начале симуляции. Вряд ли они вам пригодятся на практике, но всякое бывает. Куда интереснее следующий момент – как заставить ключ вести себя наоборот, т.е. действовать не на включение, а на выключение (аналог нормально замкнутых контактов реле). Все очень просто меняем значения RON и ROFF местами и получаем требуемое.
Все вышесказанное про VSWITCH применимо и CSWITCH, только там параметры срабатывания и гистерезиса относятся к току. Есть только одно существенное замечание – CSWITCH по входу обладает нулевым сопротивлением, поэтому при использовании его в проекте не забудьте включить нагрузочный резистор на входе во избежание ошибки симуляции (Рис. 88 ).

Ну и совсем кратко по двухполюсникам-генераторам. По иронии судьбы в библиотеках Протеуса их надо искать не в Modelling Primitives, где вроде бы им самое место, а в Simulator Primitives =› Sources (Источники) – Рис.89.
Почему я хочу на них заострить внимание. Да потому, что для построения даже самого простого каскада токового зеркала – типичный вход операционного усилителя необходим источник тока. Для примера приведу рисунок из книги О. Петракова с моделью 140УД7 – Рис. 90 . Как видите, в модели применяются еще и двухполюсники напряжения в большом количестве. Они также как и CSOURCE расположены в этом разделе библиотек Протеуса на рисунке 89 это нижняя строка в колонке DeviceVSOURCE.
Пример применения ключей расположен в приложенном файле Switches.RAR, ну а применение источников надеюсь вопросов не вызовет – там все просто, да и все равно позже мы их будем использовать при моделировании, тогда и проявятся особенности.
Рисунки 86, 87, 88.
Рисунки 89, 90.
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic_86.gif
Просмотров: 561
Размер:	17.4 Кб
ID:	5165   Нажмите на изображение для увеличения
Название: Pic_87.gif
Просмотров: 673
Размер:	17.0 Кб
ID:	5166   Нажмите на изображение для увеличения
Название: Pic_88.gif
Просмотров: 524
Размер:	31.4 Кб
ID:	5167  

Нажмите на изображение для увеличения
Название: Pic_89.gif
Просмотров: 539
Размер:	29.5 Кб
ID:	5168   Нажмите на изображение для увеличения
Название: Pic_90.gif
Просмотров: 847
Размер:	59.3 Кб
ID:	5169  
Вложения:
Тип файла: rar Switches.rar (27.5 Кб, 953 просмотров)

Последний раз редактировалось Halex07; 07.08.2010 в 10:50. Причина: правка ошибок
Halex07 вне форума  
Эти 17 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
al-s (24.02.2010), alevch76 (05.03.2010), avr123-nm-ru (12.04.2010), bozhko (06.03.2010), Chettuser (18.07.2010), Dtolok (10.02.2010), haruta (01.03.2010), Old_Monster (29.11.2011), ReLe1 (14.08.2011), sa502 (06.03.2010), Tischon (21.01.2011), Traan (16.09.2013), VooVoo (19.12.2014), vysvg (23.03.2010), ДимаК (21.06.2011)
Непрочитано 01.03.2010, 12:17  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: FAQ (ЧаВО) по PROTEUS для начинающих и не только.

4.14. Примитив диода и его параметры. Параметры реальных SPICE-моделей диодов. Вольт-амперная характеристика моделей диодов на графике. Другие характеристики диодов.
Ну вот и добрались мы до моделей активных компонентов. И начнем знакомство с примитива диода. Модель диода, расположенная в Modelling Primitives =› Analog(SPICE) может быть использована для моделирования как обычных диодов, так и их модификаций: стабилитронов, варикапов и пр. Если заглянуть в окно свойств модели (Рис. 91 ), то окажется, что большинство их спрятано в раскрывающемся списке Advanced Properties.
Ниже я перечислю все эти свойства с указанием их Default (по умолчанию) значений. Все эти свойства, за исключением первых двух, стандартны для большинства SPICE-симуляторов и встречаются при моделировании диодов не только в Протеусе, но и в OrCAD, Multisim и… «иже с ним».
Initially OFF OFF (-) Начальное состояние (изменяется кликом по знаку вопроса: вопрос – не определено, пусто – выкл., галочка – вкл.).

Часть параметров, которые можно задать вручную в окне Other Properties:
Initial device voltage IC (-) Начальное напряжение (можно задать только вручную, в списке его нет, т.к. это фишка Протеуса – еще одна трактовка IC).
Instance temperature TEMP (27) Реальная температура диода [ºC] (изменяется при температурном моделировании, как и для остальных моделей).
Parameter measurement temperature TNOM (27) Температура измерений при создании модели [ºC].
Area factor AREA (1) Число параллельных ветвей или масштабный множитель для параметров (обычно увеличивается для мощных диодов влияет на IS, RS, CJO).
Flicker noise coefficient KF (0) Коэффициент фликер-шума.
Flicker noise exponent AF (1) Показатель степени в формуле фликер-шума.
Forward bias junction fit parameter FC (0.5) Коэффициент нелинейности барьерной емкости прямосмещенного перехода.

Параметры из раскрывающегося списка:
Saturation current IS (1е-14) Ток насыщения перехода [А].
Ohmic resistance RS (0) Объемное сопротивление [Ом].
Junction capacitance CJO (0) Барьерная емкость перехода при нулевом смещении [Ф].
• Junction potential VJ (1) Контактная разность потенциалов [В].
Activation energy EG (1.11) Энергетический барьер (ширина запрещенной зоны) [элВ]
Emission Coefficient N (1) Коэффициент инжекции.
Grading coefficient М(0.5) Коэффициент лавинного умножения.
Transit Time TT (0) Время переноса заряда [сек].
Saturation current temperature exp. XTI (3) Температурный экспоненциальный коэффициент тока насыщения IS.
Reverse breakdown voltage BV (∞) Обратное напряжение пробоя [В].
Current at reverse breakdown voltage IBV (1mA) Начальный ток пробоя, соответствующий BV.

Как видите, список задаваемых параметров достаточно велик и это не предел – для транзисторов будет еще больше. Параметры модели относятся к нелинейной и линейной схемам замещения диода (Рис. 92 ). На характеристики по постоянному току в основном влияют IS, N, RS. Для диодов Шотки параметр EG рекомендуется снизить до 0,69, а N повысить до 2. Емкостные характеристики (тех же варикапов или варакторов) в основном связаны с CJO, VJ, M. Для стабилитронов, использующих обратную ветвь вольт-амперной характеристики, основными параметрами являются BV, и IBV.
Тем, кто всерьез решил заняться SPICE-моделированием аналоговых компонентов и изучением их свойств рекомендую обратиться к соответствующей литературе. Список наиболее удачных русскоязычных публикаций я приведу в конце этого параграфа, хотя он и приводился раньше. Там вы сможете найти и кое-какие математические выкладки и рекомендации по моделированию. Этот список касается не только диодов, но и транзисторов к которым мы перейдем далее. Я же здесь не ставлю своей целью добросовестно «переписывать» чужие монографии. Свою задачу я вижу в том, чтобы показать – как это применимо в Протеусе.
Давайте еще раз вернемся к SPICE-модели 1N4007, извлеченной нами в предыдущем параграфе и сравним ее с моделью 1N4006, которая приведена этажом выше:

Код:
.MODEL 1N4006 D  ( IS=76.9P RS=42.0M BV=800     IBV=5.00U CJO=26.5P M=0.333 N=1.45 TT=4.32U )

.MODEL 1N4007 D  ( IS=76.9P RS=42.0M BV=1.00K  IBV=5.00U CJO=26.5P M=0.333 N=1.45 TT=4.32U )


Как видим, две модели отличаются только предельным обратным напряжением BV, что и по справочнику соответствует действительности: у 1N4006 оно 800В, а у 1N4007 – 1000В. Ниже я привел модель наиболее близкого по параметрам нашего КД209А повзаимствованную из приложения к книге О. Петракова. Отмечу, что значок + с которого начинается вторая строчка означает продолжение первой.

.
Код:
MODEL KD209A D (IS=6.22e-11 N=1.23 RS=0.17 CJO=16.2 M=0.35 TT=7.21E-7
+               VJ=0.68 BV=600 IBV=1E-10 EG=1.11 FC=0.5 XTI=3)
Итак, у нас есть SPICE-модели диодов с которыми мы можем начать наши «опыты». Если кто-то уже заглядывал в SAMPLES\Graph Based Simulation\Sweep.DSN, то наверное видел пример построения вольт-амперной характеристики диода. Займемся этим и мы. Для начала создадим небольшую библиотеку – тестовый файл (можно в стандартном Блокноте/NotePad или в своем любимом текстовом редакторе ну уж только не в Word-е – это как говорил Матроскин перебор, хотя при некотором «изголении» можно и в нем). Файлу дадим расширение .LIB (в принципе поддерживается еще и .INC) и сохраним его в отдельной папке для экспериментов у меня это папка Diode в приложенном архиве. Мой файл будет выглядеть так:
Код:
*В строчках начинающихся со звездочки пишутся коментарии чем я и воспользуюсь в этом файле
*Я назову его Diodes.LIB, но вообще Протеус кушает еще и расширение .INC
*Этот файл должен лежать в папке нашего проекта и путь к нему должен быть относительным
* Т.е. в графе SPICE Model File должно быть указано коротко Diodes.LIB, а не абсолютным как ниже
* с:/Это дяди Петина папка/Это мой любимый каталог/Здесь мне хочется поиграться/Diodes.LIB
*
*
*Это модели из файла DIODESINC.MOD который мы получили с помощью GetSPICE.EXE ранее
*Модель 1N4005 совпадает по обратному напряжению с КД209А
.MODEL 1N4005 D  ( IS=76.9P RS=42.0M BV=600 IBV=5.00U CJO=26.5P  M=0.333 N=1.45 TT=4.32U )
*Модель1N4007  с Uoбр=1000В просто я их покупаю пачками и тыкаю везде
.MODEL 1N4007 D  ( IS=76.9P RS=42.0M BV=1.00K IBV=5.00U CJO=26.5P  M=0.333 N=1.45 TT=4.32U )
*
*
*А эту модель я повзаимствовал из приложения к книге О. Петракова
*Мы ее тоже покрутим в наших экспериментах
.MODEL KD209A D (IS=6.22e-11 N=1.23 RS=0.17 CJO=16.2 M=0.35 TT=7.21E-7
+               VJ=0.68 BV=600 IBV=1E-10 EG=1.11 FC=0.5 XTI=3)
Все, что начинается со звездочки в этом файле является комментариями и может содержать любой текст. Сами описания моделей начинаются с точки за которой следует слово MODEL, затем имя модели и в круглых скобках параметры. Если описание параметров модели не помещается в одну строку, то продолжение начинается со знака плюс (как у KD209). И еще одно существенное замечание – поосторожнее с русскими символами – только в комментах. Если кому-то надо более подробную информацию – в любую литературу по SPICE, в том числе и PSPICE – я предупреждал – плагиатом заниматься не намерен.
Теперь нам необходим дизайн Протеуса, который мы тоже сохраним в той же папке. Возьмем из Modelling Primitives =› Analog(SPICE) нашу модель DIODE поместим в проект и практически воспроизведем тот вариант, что в SAMPLES\....\ Sweep.DSN (Рис. 93 ).
Здесь уместны несколько замечаний:
• Пока все параметры диода оставлены по умолчанию.
• При установке генератора (имя DC я ему присвоил вручную) необходимо зайти в его Properties (Параметры) и установить галочку Manual Edits? Затем в окне Properties присвоить VALUE=X. Напомню, что Х – это параметр графика DC SWEEP, который мы будем использовать. Можно, конечно, вместо Х использовать собственное имя на латинице, но тогда будьте любезны в свойствах графика заменить Х на это имя. Кстати в стандартном примере так и сделано используется V. Теперь о том, что касается галочки Manual Edits? Если вы ее не поставите, то Протеус будет ругаться на присвоение значения Х параметру Voltage для генератора, т.к. оно должно быть числовым.
• Ну и последнее – несущественное, но полезное. Обратите внимание , что я снял фигурные скобки вокруг VALUE=X. Если вы добавите еще генератор и поставите Manual Edits?, то в окне Properties значение Value будет в фигурных скобках (скрытым – Hide). Я убрал скобки и оно стало видимым. Это относится ко всем параметрам любых моделей. При ручном редактировании просто убираете фигурные скобки у тех параметров, которые надо «высветить» в проекте, или наоборот ставите тем, которые надо спрятать.
На рис. 93 график DC SWEEP тоже с параметрами по умолчанию, т.е. его параметры оставлены такими, как на Рис. 94, а в качестве трассы помещен токовый пробник D1(A).
На графике мы имеем прямую ветвь вольт-амперной характеристики (ВАХ) модели с параметрами по умолчанию. Теперь добавим в дизайне две аналогичные схемы с графиками. Проще всего это сделать выделив все имеющееся (вместе с графиком) и использовав Block Copy (верхнее меню или по правой кнопке мыши). Во вновь созданных блоках нам придется проделать следующие манипуляции:
• Для диодов (которые автоматически станут D2 и D3) зайти в свойства (Properties) и назначить файл и модель. Для D2 – так как на Рис. 95, а для D3 аналогично, но в графе модель присвоить KD209A. Обратите внимание, что путь к файлу библиотеки практически не указан, т.е. он лежит в одой папке с проектом. Протеус не очень лояльно относится к длинным абсолютным путям, но стопроцентно работает следующим образом: проверяет папку с текущим проектом, затем проверяет стандартные пути в своем System=›Set Paths. Конкретно для моделей там указан (ну если уж совсем по умолчанию):
C:\Program Files\Labcenter Electronics\Proteus 7 Professional\MODELS
И если вашего файла с описанием модели там не окажется, то он Вас пошлет и достаточно далеко… Пойдете?
• В графиках и генераторах изменить Sweep Variable и Value соответственно, чтобы не повторялся скопированный оригинал. Допустим для второго вместо X назначить X1, а для третьего X2 – так сделано в моем примере.
• В графиках для второго и третьего варианта удалить трассы D1(A) и соответственно «втащить мышкой» или назначить ручками через правую кнопку Add Trace D2(A) и D3(A).
Затем пробуем запустить на исполнение графики для второго и третьего варианта. В результате у меня график диода KD209A заругался, а именно на параметр IBV после некоторой коррекции в сторону загрубления до IBV=2E-6 ругань прекратилась. Результат для различных вариантов моделей на Рис. 96.
Как видно из рисунка изменение параметров работает по полной программе. Данный проект Diode1.DSN приложен в архиве. Версия 7.6SP0 для более ранних секции .SEC. Здесь мы исследовали только прямую ветвь ВАХ, поскольку рассматривались выпрямительные диоды.
Давайте теперь рассмотрим обратную ветвь ВАХ для стабилитронов. Я воспользуюсь опять-таки моделью О.Петракова для Д814А с Uст=7,8V Iст=0,5uA (напомню, что это параметры BV и IBV). В качестве других «подопытных кроликов» выберем из библиотеки полуваттный Моторолловский 1N5236B с Uст=7,5В Iст=20mA, а третьей моделью будет «заготовка» стабилитрона расположенная в библиотеке Diodes/Generic которой мы присвоим в Properties Uст=7.8V Iст=0,5uA (как и у советского стабилитрона). Ну и наконец, пора приучаться к сторонним моделям, используем аналогичную по параметрам SPICE модель стабилитрона от NXP (бывш. Philips). Найти их модели диодов и стабилитронов можно здесь:
http://www.ru.nxp.com/models/spicespar/diodes.html
Мне приглянулась следующая - BZX84C7V5. Кстати, этот стабилитрон и так живет в библиотеках ISIS, но там он реализован именно через примитив GENERIC, а я воспользуюсь чистейшей SPICE моделью, да еще как говорится «от производителя». Кликнув по соответствующей ссылке, я получил в открывшемся окне следующий чуть ниже SPICE-код модели, который скопировал как текст и вставил в файл stab.LIB. Там же у меня заранее был вставлен SPICE-код D814A. Правда мне пришлось немного «поколдовать» с ним. Дело в том, что у модели О. Петракова указан IBV=0.5u, ну или в переводе на наш «птичий» 0,5мкА. Не знаю, чем руководствовался автор, задавая такой маленький ток, но ISIS это жутко не понравилось, т.к. при стандартных установках улетает за допустимые пределы. Пришлось «покривить душой» и поставить 5мкА, ну или в переводе на ихний IBV=5u, после этого горчичники прекратились. Меня и этот вариант устраивает для наших учебных целей. Итак, вся эта кухня имитируется в прилагаемом дизайне Diode2.DSN. Кстати там, как сказал почтальон Печкин, - «с целью расширения кругозора» в качестве генераторов я поставил двухполюсники VSOURCE, описанные в предыдущем параграфе. Еще один существенный момент – в графиках я вручную ограничил верхний и нижний пределы оси Y в нужном мне диапазоне – от минус 50mA до плюс 50 mA, чтобы графики выглядели в приемлемом масштабе (автоматом ISIS там наставит чуть ли не кило-Амперы и нужный для нашего исследования диапазон будет не виден, зато будет виден, например, ток при 2V прямого напряжения при котором реальный диод просто «взорвется»).
Не верите? Маленькое лирическое отступление или экскурс в историю радиолюбительского движения СССР. Будучи совсем молодыми, по сути пионерами, в нашем радиоклубе мы занимались следующим «хулиганством»: на сетевую вилку паяльника приматывался параллельно точечный германиевый диод Д9 – были такие в советские времена. Если тот, кто садился после тебя за монтажный стол не проверил вилку паяльника и что воткнуто в сетевые розетки, а просто врубил сеть тумблером – получался маленький «Бух!!!». Аналогичный большой «Бух!!!» достигался закладыванием в ящик стола электролитического конденсатора также присоединенного к сетевой розетке.
Обратите внимание и на то, как прописаны в свойствах D3 и D4 пути к моделям. Собственно сами модели лежат в файле stab.LIB, который можно посмотреть в любом текстовом редакторе. Ну и еще посмотрите на то, как прописан код от NXP – они каждый параметр пишут в отдельной строчке начинающейся с +. Я не стал менять их вариант, чтобы показать, что и это работает, только места больше занимает.
Код:
*DEVICE=BZX84C7V5,D
* BZX84C7V5 D model
* created using Parts release 7.1 on 03/31/98 at 08:46
* Parts is a MicroSim product.
.MODEL BZX84C7V5 D
+ IS=2.6665E-18
+ N=.82284
+ RS=.51617
+ IKF=11.760E-3
+ CJO=63.513E-12
+ M=.33559
+ VJ=.66795
+ ISR=1.1222E-9
+ BV=7.6329
+ IBV=.94329
+ TT=2.7411E-6
В примере Diode3.DSN я оставил только два стабилитрона и положил трассы в одном окне, чтобы видеть отличие заданного вручную GENERIC стабилитрона от модели D814A.
Ну и в заключение этой темы попробуем смоделировать в Протеусе другие характеристики диодов. В частности, воспользуемся материалом от О. Петракова и получим время обратного восстановления (важная характеристика импульсных диодов) для диода 1N4148 и нашего КД522А (опять модель О. Петракова добавлена в Diodes.LIB). Этот вариант в приложенном Diode4.DSN.
Теперь получим вольт-фарадную характеристику. Здесь придется слегка «пофантазировать». Оставляем все выкладки г. Петракова в силе. А именно так как на Рис. 97:
Теперь подаем от генератора обратное, линейно нарастающее напряжение в диапазоне до 50V, затем воспользуемся окончательной формулой, где Cд=0,1Iд и во втором графике введем этот коэффициент для трассы, т.е. поделим ток на 10, чтобы получить значение емкости в пФ. Результат этих преобразований в файле Diode5.DSN.
Ну а теперь подведем итог изложенному материалу:
1. Протеус, а именно ISIS, благополучно поддерживает моделирование SPICE и применение SPICE-моделей внутри программы. Для того, чтобы свободно использовать SPICE-моделирование, Вам придется изучить дополнительные материалы. Эти книги отнюдь не связаны с Протеусом напрямую, но … «SPICE он и в Африке SPICE». Вот обещанный перечень книг, которые я рекомендую держать «под рукой» с моими примечаниями в скобках:
• Разевиг В. Д. «Система сквозного проектирования электронных устройств DesignLab 8.0», М.: Солон, 1999. (Ну вобщем то первоначальная теория была изложена здесь, и поскольку я с некоторым «благоговением» отношусь к книгам Всеволода Даниловича, то не мог пройти эту стороной).
• Разевиг В. Д. «Схемотехническое моделирование с помощью MICRO-CAP 7»
М.: Горячая линия-Телеком, 2003. (Более слабая книга, в основном все направлено на именно MICRO-CAP, но как руководство к действию – рекомендую).
• Разевиг В. Д. «Система проектирования OrCAD 9.2.» М.: СОЛОН-Р, 2003. (Все комментарии как и в предыдущем варианте, только касаюся OrCAD).
• АмелинаПетраков М. А., Амелин С. А. «Программа схемотехнического моделирования Micro-Cap 8» М.: Горячая линия-Телеком, 2007. (Ну что-ж, Всеволод Данилович к тому времени «безвременно покинул нас» в 2004 году, а эта книга добросовестно поддерживает то, что начал он – очень рекомендую, поскольку теоретические основы базируются на его выкладках и совместимы с первоисточником).
Ну и конечно материал от О. Петракова:
• Петраков О. М. «Создание аналоговых PSPICE-моделей радиоэлементов». М.: ИП РадиоСофт, 2004.
• Петраков О. М. «Создание аналоговых PSPICE-моделей радиоэлементов». Цикл статей в журнале «Схемотехника» за 2001-2002 г.г.
2. Мы в этом параграфе научились «приклеивать» SPICE-модели к нашим вариантам – все, что требуется – создать ссылку на файл с моделью и указать имя модели. SPICE-модель компонента должна лежать в файле с расширением .LIB (от library – библиотека). Файл библиотеки должен находиться либо в файле с проектом, либо в папке MODELS установленного Протеуса.
3. В папках GENERIC (дословный перевод – универсальные) для нужной нам модели лежат «заготовки», т.е. шаблоны моделей, которые при задании собственных свойств можно использовать в своем проекте.
4. SPICE-модели (именно их, а не все, что захотелось бы неискушенному пользователю, можно поискать на сайте производителей компонентов). Ключевым словом для поиска являются SPICE или model (models). Не путайте с IBIS и прочими моделями, в Протеусе безболезненно вы можете использовать SPICE или PSPICE. В последнем случае необходимо внимательно изучить содержимое на предмет совместимости с SPICE3F5.
5. Ну и в следующем параграфе мы потренируемся в создании собственных библиотек и узнаем – где их искать (про NXP теперь уже знаем).
Рисунки 91, 92, 93.
Рисунки 94, 95, 96.
Рисунок 97
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic_91.gif
Просмотров: 622
Размер:	20.3 Кб
ID:	5326   Нажмите на изображение для увеличения
Название: Pic_92.gif
Просмотров: 530
Размер:	46.3 Кб
ID:	5327   Нажмите на изображение для увеличения
Название: Pic_93.gif
Просмотров: 719
Размер:	9.7 Кб
ID:	5328  

Нажмите на изображение для увеличения
Название: Pic_94.gif
Просмотров: 500
Размер:	11.2 Кб
ID:	5329   Нажмите на изображение для увеличения
Название: Pic_95.gif
Просмотров: 484
Размер:	11.5 Кб
ID:	5330   Нажмите на изображение для увеличения
Название: Pic_96.gif
Просмотров: 612
Размер:	18.3 Кб
ID:	5331  

Нажмите на изображение для увеличения
Название: Pic_97.gif
Просмотров: 589
Размер:	51.7 Кб
ID:	5332  
Вложения:
Тип файла: rar Diode.rar (118.8 Кб, 1102 просмотров)

Последний раз редактировалось Halex07; 07.08.2010 в 10:58. Причина: правка ошибок
Halex07 вне форума  
Эти 20 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
ABrej (06.04.2010), alevch76 (05.03.2010), bozhko (06.03.2010), ded (05.03.2010), kuksin (05.03.2010), Nik_79 (04.03.2010), Old_Monster (29.11.2011), parcshin (05.01.2012), ReLe1 (14.08.2011), sa502 (06.03.2010), Tischon (21.01.2011), Traan (16.09.2013), VooVoo (20.12.2014), yatsik (26.03.2010), ДимаК (21.06.2011), Немцов (05.03.2010)
Непрочитано 05.03.2010, 14:58  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: FAQ (ЧаВО) по PROTEUS для начинающих и не только.

4.15. Биполярный транзистор и получение его характеристик. Создание графика семейства выходных характеристик на основе TRANSFER.
В качестве модели для биполярных транзисторов Протеус использует модель Гуммеля-Пуна (Рис. 98 ), которая при некотором сокращении параметров может быть приведена к более известной у нас модели Эберса-Молла.
Ниже, как и для диода, я приведу полный список параметров, который заложен в ISIS для биполярных транзисторов, в том числе, как всегда с параметрами, присущими только Протеусу.
• Initially OFF OFF (-) Как и для диода начальное состояние (изменяется кликом по знаку вопроса: вопрос – не определено, пусто – выкл., галочка – вкл.).
Параметры из раскрывающегося списка:
• Ideal forward beta BF (100) Максимальный коэффициент усиления тока в нормальном режиме в схеме с ОЭ;
• Saturation Current IS (1e-016) Ток насыщения при температуре 27°С (А);
• Forward emission coefficient NF (1) Коэффициент эмиссии (неидеальности) для нормального режима;
• Forward Early voltage VAF (∞) Напряжение Эрли в нормальном режиме (В);
• Forward beta roll-off corner current IKF (∞) Ток начала спада зависимости BF от тока коллектора в нормальном режиме (А);
• B-E leakage saturation current ISE (0) Ток насыщения утечки перехода база-эмиттер (А);
• B-E leakage emission coefficient NE (1.5) Коэффициент эмиссии тока утечки эмиттерного перехода;
• Ideal reverse beta BR (1) Максимальный коэффициент усиления тока в инверсном режиме в схеме с ОЭ;
• Reverse emission coefficient NR (1) Коэффициент эмиссии (неидеальности) для инверсного режима;
• Reverse Early voltage VAR (∞) Напряжение Эрли в инверсном режиме (В);
• Reverse beta roll-off corner current IKR (∞) Ток начала спада зависимости BR от тока эмиттера в инверсном режиме (А);
• B-C leakage saturation current ISC (0) Ток насыщения утечки перехода база-коллектор (А);
• B-C leakage emission coefficient NC (2) Коэффициент эмиссии тока утечки коллекторного перехода;
• Zero bias base resistance RB (0) Объемное сопротивление базы (максимальное) при нулевом смещении перехода база-эмиттер (Ом);
• Minimum base resistance at high currents RBM (RB) Минимальное сопротивление базы при больших токах (Ом);
• Current for base resistance=(rb+rbm)/2 IRB (∞) Ток базы, при котором сопротивление базы уменьшается на 50 % полного перепада между RB и RBM (А);
• Emitter resistance RE (0) Объемное сопротивление эмиттера (Ом);
• Collector resistance RC (0) Объемное сопротивление коллектора (Ом);
• Zero bias B-E depletion capacitance CJE (0) Емкость эмиттерного перехода при нулевом смещении (Ф);
• B-E built in potential VJE (0.75) Контактная разность потенциалов перехода база- эмиттер;
• B-E junction grading coefficient MJE (0.33) Коэффициент, учитывающий плавность эмиттерного перехода;
• Ideal forward transit time TF (0) Время переноса заряда через базу в нормальном режиме (сек);
• Coefficient for bias dependence of TF XTF (0) Коэффициент, определяющий зависимость TF от смещения база-коллектор;
• Voltage giving VBC dependence of TF VTF (∞) Напряжение, характеризующее зависимость TF от смещения база-коллектор (В);
• High current dependence of TF ITF (0) Ток, характеризующий зависимость TF от тока коллектора при больших токах (А);
• Excess phase PTF (0) Дополнительный фазовый сдвиг на граничной частоте транзистора f=1/2π*TF;
• Zero bias B-C depletion capacitance CJC (0) Емкость коллекторного перехода при нулевом смещении (Ф);
• B-C built in potential VJC (0.75) Контактная разность потенциалов перехода база- коллектор;
• B-C junction grading coefficient MJC (0.33) Коэффициент, учитывающий плавность коллекторного перехода;
• Fraction of B-C cap to internal base XCJC (1) Доля барьерной емкости, относящаяся к внутренней базе;
• Ideal reverse transit time TR (0) Время переноса заряда через базу в инверсном режиме (сек);
• Zero bias C-S capacitance CJS (0) Емкость перехода коллектор-подложка при нулевом смещении;
• Substrate junction built in potential VJS (0.75) Контактная разность потенциалов перехода коллектор-подложка (В);
• Substrate junction grading coefficient MJS (0) Коэффициент, учитывающий плавность перехода коллектор-подложка;
• Forward and reverse beta temp. exp. XTB (0) Температурный коэффициент BF и BR;
• Energy gap for IS temp. dependency EG (1.11) Ширина запрещенной зоны (эВ);
• Temp. exponent for IS XTI (3) Температурный экспоненциальный коэффициент для тока IS;
• Forward bias junction fit parameter FC (0.5) Коэффициент нелинейности барьерных емкостей прямосмещенных переходов;
• Flicker Noise Coefficient KF (0) Коэффициент, определяющий спектральную плотность фликер-шума;
• Flicker Noise Exponent AF (0) Показатель степени, определяющий зависимость спектральной плотности фликер-шума от тока через переход.
Как я и предупреждал, количество параметров в раскрывающемся списке для транзистора очень большое, и в него попали почти все параметры модели за исключением следующих:
• Initial B-E voltage ICVBE (-) Начальное (стартовое) напряжение база-эммитер;
• Initial C-E voltage ICVCE (-) Начальное (стартовое) напряжение коллектор-эммитер;
• Area factor AREA (1) Множитель для коэффициентов, используемый при моделировании мощных транзисторов;
Ну и два, уже известных нам температурных коэффициента.
• Instance temperature TEMP (27)
• Parameter measurement temperature TNOM (27)
Количество параметров впечатляет, однако на практике, при моделировании используются они далеко не все. Для примера опять рассмотрим одну модель. Я выбрал BC177 – наш аналог КТ3107А опять таки есть у О. Петракова, так что будет с чем сравнивать. Попутно с помощью TRANSFER графика поучимся строить семейства характеристик. Аналогичный пример уже есть в SAMPLES Протеуса и называется Transfer.DSN. Расположен он конечно-же в папке Graph Based Simulation. Там построено семейство характеристик для BC108. В библиотеках Протеуса есть два транзистора BC177 – один на основе примитива, а другой на основе SPICE-модели Zetex. Я собрал это все в один проект и туда же прилепил и модель КТ3107A от О. Петракова, которая выглядит так:
Код:
.model kt3107a  PNP  (Is=6.545f  Xti=3  Eg=1.11  Vaf=86.5  Bf=105.5
+   Ne=8.56 Mje=.35 Ise=7.735n Ikf=.186 Xtb=1.5 Var=32 Br=1.62 Nc=2
+   Isc=3.35p Ikr=12m Rb=39.1 Rc=.71 Cjc=12.8p Vjc=.65 Mjc=.33 Fc=.5
+   Cje=12.6p Vje=.69 Tr=30.5n Tf=477.5p Itf=56m Vtf=35 Xtf=2)
Итак, на Рис. 99 семейство характеристик, взятое из даташита от фирмы Siemens.
Для чистоты эксперимента я применил PNP транзистор, чтобы Вы могли сравнить – чем будет отличаться наш график от графика приведенного в SAMPLES для NPN. Итак, строим ту же схему, что и приведенная в Transfer.DSN (Рис. 100 ). Но, как мы все помним полярность для PNP будет другая, поэтому – разворачиваем токовый зонд в другую сторону и задаем минусовые напряжения и токи. Обратите внимание, что в свойствах генератора, включенного в цепь базы необходимо поставить галку Current Source (Источник тока).
Затем добавляем в проект график TRANSFER. В его свойствах в качестве Source1 выбираем коллекторный источник напряжения (у меня это Ucol) и задаем ему значения от 0 до -50V (как на графике из даташита), а число шагов как можно больше для того, чтобы кривые получились плавными. В качестве Source2 задаем базовый источник тока с пределами 100uA до 1mA и числом шагов 10 (тоже, чтоб было похоже на график даташита). Для пущей важности я еще ограничил вручную шкалу Y как на том графике – от 0 до 100mA. Все это представлено на Рис. 101.
Теперь втаскиваем наш коллекторный зонд на поле графика и запускаем симуляцию графика. Если Вы нигде не ошиблись, то должны получить нечто как на следующем Рис. 102.
И вот тут нас поджидает «приятная неожиданность» - Протеус не умеет разворачивть горизонтальную шкалу, т.е. отрицательные значения всегда слева, поэтому наше семейство характеристик получилось в зеркальном отображении по сравнению с «книжным». Ведь в даташите в направлении слева направо указано –Vce. Но это замечание касается только PNP транзисторов, с NPN все будет выглядеть нормально. Правда, надо отдать должное – хотя бы для 100uA базы при -10V на коллекторе точки совпадают с даташитом, а вот для больших токов базы для этой модели явное расхождение. И еще один «неприятный» факт. Если я ставлю для Ibase количество шагов 10, то получаю 11 кривых, а если 9, то и получу 9. Ну никак не получается семейство из 10 кривых.
Ну и в заключение рассмотрения биполярных транзисторов я хочу привести еще один пример исследования зависимости напряжения насыщения от тока коллектора, рассмотренный в цикле статей и книге О. Петракова и адаптированный для проведения исследования в ISIS. Для этого нам потребуется создать схему, изображенную на Рис. 103. Обратите внимание, что в качестве I3col использован генератор DC из левого меню с включенным флажком Current Source. Для изменения тока базы использован источник тока, управляемый током СССS с коэффициентом передачи 0,1 (т.е. ток базы будет в десять раз меньше тока коллектора).
Далее используем уже знакомый нам график DC SWEEP для построения характеристики с параметрами указанными на Рис. 104. Параметры подобраны для максимального совпадения с моделью О. Петракова, а в качестве «подопытных кроликов» я использовал две модели из библиотек Протеуса для транзистора BC337 и модель КТ315А из статьи О. Петракова, присоединенную к примитиву NPN транзистора аналогично предыдущему примеру.
На Рис. 105 приведен результат тестирования для транзистора КТ315А, проведенный в Протеусе вместе с картинкой из статьи О. Петракова. Как видим, результаты совпадают, что я и хотел подчеркнуть этим примером.
Но бы нечестно с моей стороны не отметить, что модель КТ315А представленная на прилагаемом к книге диске и описанная в статье отличаются некоторыми параметрами, в частности . Поэтому, для совпадения картинки из статьи мне пришлось его поставить таким, каким он приведен в тексте статьи и главы из книги, посвященной тестированию биполярных транзисторов.
Оба приведенные в этом параграфе примера находятся в соответствующих папках прилагаемого архива Bipolar.rar. Там же имеются файлы секций для импорта в предыдущие версии Протеуса.
Рисунки 98, 99, 100
Рисунки 101, 102, 103
Рисунки 104, 105.
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic_98.gif
Просмотров: 628
Размер:	41.1 Кб
ID:	6188   Нажмите на изображение для увеличения
Название: Pic_99.gif
Просмотров: 563
Размер:	36.8 Кб
ID:	6189   Нажмите на изображение для увеличения
Название: Pic_100.gif
Просмотров: 622
Размер:	19.7 Кб
ID:	6190  

Нажмите на изображение для увеличения
Название: Pic_101.gif
Просмотров: 611
Размер:	18.6 Кб
ID:	6191   Нажмите на изображение для увеличения
Название: Pic_102.gif
Просмотров: 641
Размер:	45.2 Кб
ID:	6192   Нажмите на изображение для увеличения
Название: Pic_103.gif
Просмотров: 540
Размер:	6.8 Кб
ID:	6193  

Нажмите на изображение для увеличения
Название: Pic_104.gif
Просмотров: 481
Размер:	11.5 Кб
ID:	6194   Нажмите на изображение для увеличения
Название: Pic_105.gif
Просмотров: 516
Размер:	31.3 Кб
ID:	6195  
Вложения:
Тип файла: rar Bipolar.rar (106.0 Кб, 1223 просмотров)

Последний раз редактировалось Halex07; 07.08.2010 в 10:59.
Halex07 вне форума  
Эти 23 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
120147 (22.06.2011), ABrej (06.04.2010), AVL (09.03.2010), avr123-nm-ru (12.04.2010), bi_max (26.09.2011), bozhko (04.04.2010), ded (05.03.2010), ig3757 (06.03.2010), last.try (09.09.2010), linecd (06.03.2010), Michalych (11.05.2010), Old_Monster (29.11.2011), OrangeMale (05.05.2012), parcshin (05.01.2012), ReLe1 (14.08.2011), sa502 (27.03.2010), Shturval (08.07.2021), Tischon (21.01.2011), Traan (16.09.2013), VooVoo (21.12.2014), ДимаК (21.06.2011)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импульсная зарядка для авто-аккумуляторов (новодел) Falconist Источники питания и свет 1915 14.03.2024 19:56
Linux-ваше мнение Tvenn Делимся опытом 6169 23.08.2015 08:57
Pictiva TM 128 X 64 OLED Module (SSD0323) + AVR + PROTEUS - рабочий проект для начинающих OttoStirliz Микроконтроллеры, АЦП, память и т.д 8 28.05.2010 16:59


Часовой пояс GMT +4, время: 11:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot