Курс по LTspice, часть 3: Создаем модель нового компонента (окончание)

LTspice
1.8 Редактирование атрибутов символа

Завершающим этапом работы по созданию символа идеального трехобмоточного трансформатора является редактирование его атрибутов. Вначале определяемся с тем, какие из них должны быть видимы. Прежде всего это позиционное обозначение (InstName). Чтобы сделать его видимым, открываем файл Ideal_Trans3.asy. Идем по цепочке команд «Edit -> Attributes -> Attribute Window». В открывшемся диалоговом окне выделяем строку InstName и нажимаем ОК. В поле чертежа появляется надпись , которую удобочитаемо выравниваем по отношению к символу (у полиграфистов это называется выключиванием). Можно расположить, например, так:


Рис. 9 Выравнивание надписи позиционного обозначения

Далее производим редактирование прочих атрибутов. Для этого идем по цепочке команд «Edit -> Attributes -> Edit Attributes». В открывшемся диалоговом окне заполняем строки Value, SpiceLine, Description и ModelFile. В малом верхнем окне устанавливаем тип символа Block. Результат выглядит так:

Рис. 10 Заполнение строк редактора атрибутов символа

Заметьте, что при такой росписи атрибутов символ Ideal_Trans3 выходит с предустановленными значениями коэффициентов Ratio1 и Ratio2 равными единице. В дальнейшем они могут быть изменены на требуемые значения.

1.9 Тестирование символа идеального трехобмоточного трансформатора

Протестируем полученный символ. Открываем окно New Sсhematic. Из-за особенностей иерархических правил программы LTspice нам следует сразу же поместить пустой открывшийся файл с именем Draft*** в папку, содержащую файлы Ideal_Trans3.asc и Ideal_Trans3.lib. При другом расположении вызванный символ будет неактивен в вызывающем файле, а программа будет выдавать какие-то странные предупреждающие сообщения, на первый взгляд не относящиеся к делу. Сохраняем Draft*** через команду «Save as» в папке My Projects.

Далее вызываем в поле чертежа символ Ideal_Trans3, который находится в папке «Trans» каталога «sym». Обратите внимание, что он выходит с позиционным именем Х и не имеет цветной заливки. Последнее указывает на то, что вызванный символ является схемой нижнего иерархического уровня для схемы более высокого уровня, каковой является файл под именем «Draft***».

Дорисовываем тестовую схему, введя в нее источник сигнала и нагрузочные резисторы. Теперь можно окончательно отредактировать символ, задав ему значения параметров, с которыми он будет использоваться в схеме верхнего уровня. Для этого наводим курсор на символ и щелкаем правой кнопкой мыши. Открывается окно Component Attribut Editor.
В этом окне мы можем изменить значения предустановленных параметров, задав, например, Ratio=3 и Ratio2=1.5. Для задания наводим курсор на строку SpiceLine, щелкаем по ней левой кнопкой и еще раз по слову Ratio. Далее выделенная рамка становится редактируемой и дает возможность записать требуемые значения. Аналогично можно изменить установочное имя с Х на другое, например Tr для трансформатора. Результат этого редактирования см. на рисунке:

Рис.11 Результат редактирования атрибутов символа идеального трехобмоточного трансформатора

В LTspice предусмотрена также возможность иерархического управления заданием параметров, задействование которого автоматически исключает применение редактора атрибутов символа. Для перехода на иерархическое управление идем по цепи команд «Hierarhy -> Open this Sheet's Symbol». Далее следует отказаться от появившегося предложения, нажав кнопку «Нет». После этого наводим курсор на символ и щелкаем правой кнопкой мыши.

Появляется окно «Navigate/Edit Schematic Block», в котором можно задать параметры Ratio и изменить установочное имя символа. Кроме того непосредственно из этого окна можно открыть для редактирования низкоуровневую схему и ее символ. Вид этого окна показан на рисунке:

Рис. 12 Установка требуемых значений Ratio

Схема тестирования символа и полученные результаты показаны ниже

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

Часть 2 Преобразование локального символа в глобальный

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

2.1 Создание глобального символа с неизменными значениями параметров
Ранее созданный локальный символ может быть достаточно просто преобразован в символ глобального применения. Для этого требуется создать клон исходного символа с новым именем, его Spice-модель и отредактировать атрибуты нового символа.

Создадим символ идеального трехобмоточного трансформатора с наперед заданными параметрами. Назовем его Ideal_Trans3_comp (comp — сокращение component, указывающее, что этот примитив не имеет возможности изменения параметров непосредственно из моделируемой схемы подобно полупроводниковым приборам или микросхемам).

Действуем следующим образом. Открываем ранее созданный символ Ideal_Trans3.asy и командой «Save as» сохраняем его в папке «Trans» каталога «sym» под именем Ideal_Trans3_comp.asy. Далее открываем ранее созданный файл «Ideal_Trans3.lib» и редактируем его как показано на рисунке ниже. Заметьте, параметры Ratio1 и Ratio2 с их числовыми значениями теперь записаны в первой строке следом за перечислением выводов. Строка ".Params..." удаляется. При необходимости изменить значения коэффициентов трансформации Ratio это надо делать непосредственно в файле
«Trans.lib».

Рис. 14 Вид файла «Trans.lib» после корректировки

Завершающим действием является редактирование атрибутов символа Ideal_Trans3_comp.
В отредактированном виде окно «Symbol Attribute Editor» показано на следующем рисунке.Заметьте, что при задании префикса Х символ вызывается уже с цветной заливкой контура, что является признаком его статуса как примитива.

Рис.15 Редактирование атрибутов файла «Ideal_Trans_comp.asy»

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

2.2 Преобразование символа в глобальный с возможностью изменения параметров непосредственно из схемы
Создадим, наконец, третий возможный вариант символьного представления идеального
трехобмоточного трансформатора — символ глобального применения с возможностью
изменения коэффициента трансформации непосредственно из моделируемой схемы. Порядок действий тот же, что и при создании символа Ideal_Trans3_comp.
Вначале создаем клон с именем Ideal_Trans3_adj (adj — сокращение от adjustable, т.е. перестраиваемый). Помещаем его в папку «Trans» каталога «sym». Далее создаем для него библиотечный файл из исходного файла «Ideal_Trans3.lib». Вызываем его и выделяем все строки. Далее копируем и вставляем в файл «Trans.lib» следом за ".subckt Ideal_Trans3_comp", изменив имя во вставляемом фрагменте с «Ideal_Trans3» на «Ideal_Trans3_adj» Вид файла «Trans.lib» после добавления показан на рисунке:

Рис. 16 Вид файла «Trans.lib» после дополнения его subckt Ideal_Trans3_adj

Производим окончательное редактирование атрибутов символа «Ideal_Trans3_adj.asy».
Вид окна «Symbol Attribute Editor» представлен ниже:

Рис. 17 Начальная установка атрибутов символа Ideal_Trans3_adj

Тестируем символ также, как это делалось ранее. При первом запуске анализа переходных процессов амплитуды сигналов на выводах а, с, f равны, так как предустановленное значение параметров Ratio равно единице. Наведем курсор на символ трансформатора и нажмем на правую кнопку мыши. В открывшемся окне в строке SpiceLine установим Ratio1=2 и Ratio2=3. Снова запустим анализ. Теперь в точке «а» имеем 1 В, в точке «с» 2 В, в точке «f» 3 В.

На этом работа по созданию трех вариантов символа идеального трехобмоточного трансформатора заканчивается.

Вместо заключения

Итак, мы рассмотрели возможные варианты создания модели идеального трехобмоточного трансформатора. Но возникает вопрос: — чего ради все это делалось? Так могу прямо ответить — резон есть. Прежде всего в том, что при моделировании сложных схем силовой электроники, например сварочных инверторов или инверторов для индукционного нагрева с ФАПЧ время счета длинных реализаций сокращается не менее, чем на 15-20%. Далее при замене в исследуемых моделях штатной LTspice-схемы на связанных индуктивностях на схему с идеальным трансформатором, дополненную индуктивностью рассеяния и индуктивностью намагничивания, начинают достаточно отчетливо просматриваться процессы перезаряда паразитных емкостей ключевых приборов. Ну еще добавим, что стандартный метод испытаний трансформаторов на напряжение КЗ и ток ХХ в большей степени корреспондируется с дополненной индуктивностями моделью идеального трансформатора нежели с моделью на связанных индуктивностях.

4 комментария

avatar
Такой вопрос по LTSpice. Можно ли сделать sweep по номиналу компонента, но так, чтобы по x оси показывались значение номинала, а по y измерение (ток или напряжения)? До сей поры получается нужно разбирать кучу графиков нарисованный для каждого номинала.
avatar
А директивой .STEP пользоваться не пробовали? По идее при ее использовании Вы должны получить серию графиков для различных значений параметра.
avatar
Про директиву я знаю, и ей пользуюсь. Но как Вы правильно заметили получается серия графиков, а я имею ввиду один график. Например представим такую схему — делитель напряжения. Меняем при помощи .STEP номинал нижнего резистора. Далее симулируем, и при помощи летающей пробы измеряем скажем напряжение на делителе, и в результате получаем график — по x значение резистора, а по y напряжение. Можно ли это получить в LTSprce?
avatar
SWcad довольно куцый симулятор по части вторичной обработки результатов. У него ось Х жестко привязана к времени. Но можно попытаться ее обмануть. Для этого придется с помощью генераторов В изобразить некую функцию якобы времени и вызвать ее на ось Х. Такая подмена в принципе возможна. В огромном архиве моделей, о котором говорил bsvi, есть моделька G-loop, где такой фокус проделывается для наблюдения петли гистерезиса. Попробуйте. Но вообще для таких задач больше подходит Микрокап.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.