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

LTspice

Часть1. Новый компонент как часть иерархической схемы

По мере освоения LТspice и усложнения моделируемых схем нередко возникает необходимость представить уже отработанные узлы в виде нового компонента. LTspice дает такую возможность через создание символа компонента и Spice-файла к нему. Однако сам процесс преобразования схемной модели в символ в Help и в его русскоязычных переводах описан весьма скудно и даже малопонятно. Немудрено, что у начинающих возникает вопрос – “куда же лошадь запрягать?” Надеюсь, что это сообщение окажется неплохим дополнением ко второму видеоуроку по LTspice и будет полезным для изучающих этот симулятор самостоятельно.

1.1 О модели идеального трансформатора
Итак, давайте посмотрим, как создается новый компонент на примере создания символа идеального трехобмоточного трансформатора. Хочу сразу пояснить, почему для примера выбран именно идеальный трехобмоточный трансформатор. Дело в том, что в штатной папке sym, из которой производится вызов компонентов для включения в моделируемую схему, этот примитив (символ) отсутствует. Help LTspice в случае такой необходимости предлагает воспользоваться моделью линейного (неидеального) трансформатора в виде набора взаимно связанных индуктивностей с коэффициентом связи единица. Справедливости ради надо отметить, что в папке «Educational» из каталога «examples» можно найти файл IdealTransformer.asc, в котором представлена модель двухобмоточного идеального трансформатора с использованием 4-х источников тока, управляемых напряжением, (ИТУН или G в Spice-терминологии). Но модель эта выглядит достаточно громоздкой и, кроме того, не доведена до уровня символа.

В то же время известны более компактные Spice-модели идеальных трансформаторов, одна из которых описана в статье L.G. Meares и Charles E. Hymowitz «SPICE Models For Power Electronics» (Spice-модели для силовой электроники)
www.intusoft.com/articles/satcore.pdf
Перепев этой модели, доведенный до уровня символ, под тем же названием, что и у авторов статьи, но с небольшими непринципиальными изменениями можно найти в громадном архиве LTspiceIV.zip, упоминавшемся в видеоуроке bsvi (файлы XFMR1.asy и XFMR2.asy, SUBCKT к ним в файле Sborka.lib).Именно эту модель возьмем в качестве прототипа для наших дальнейших изысков. Но при этом учтем одно интересное замечание из Help LtspiceIV:
«It is better to use a G source shunted with a resistance to approximate an E source than to use an E source. A voltage controlled current source shunted with a resistance will compute faster and cause fewer convergence problems than a voltage controlled voltage source. Also, the resultant nonzero output impedance is more representative of a practical circuit.»
В переводе это звучит так:
«Лучше использовать G-источник (ИТУН), шунтированный сопротивлением, чтобы аппроксимировать Е-источник (ИНУН — источник напряжения, управляемый напряжением), чем использовать просто Е-источник. Источник тока, управляемый напряжением, шунтированный сопротивлением, считается быстрее и вызывает меньше проблем со сходимостью, чем источник напряжения, управляемый напряжением. Кроме того, получаемые результаты благодаря ненулевому импедансу в большей степени репрезентативны по отношению к реальным цепям».
Обратимся теперь к базовой модели идеального двухобмоточного трансформатора из статьи L.G. Meares и Charles E. Hymowitz,

Рис.1 Модель идеального трансформатора, предложенная Кристофером Бассо
Мы видим, что входное напряжение первичной обмотки (порты 1 и 2) в качестве управляющего поступает на источник напряжения Е. Его выходное напряжение через источник напряжения с нулевым выходом VM поступает на порты 3, 4 и используется как напряжение вторичной обмотки. Источник VM используется как датчик тока для источника тока F, управляемого током. Напряжение, получаемое на резисторе RP от протекания тока источника F, воспроизводит ЕДС самоиндукции первичной обмотки. Резистор RS создает ненулевое выходное сопротивление цепи вторичной обмотки. Оба этих резистора RP и RS служат для устранения сингулярности матрицы, описывающей схему. Коэффициент трансформации задается параметром Ratio, равным отношению числа витков вторичной обмотки к числу витков первичной. Листинг модели (Netlist в терминах LTspice) показан в левой части рисунка. Заметим, что входное напряжение может подаваться на любую пару портов, относящихся к одной обмотке. По этой причине, что считать первичной обмоткой, а что вторичной, не имеет принципиального значения. Важно лишь правильно задавать параметр Ratio. Модели многообмоточных трансформаторов создаются путем параллельного включения первичных обмоток нескольких двухобмоточных трансформаторов. Пример построения трехобмоточного трансформатора показан на следующем рис.2:

Рис. 2 Трехобмоточный идеальный трансформатор по модели К. Бассо

1.2 Варианты реализации символа нового компонента
В LTspice заложена возможность представить в виде символа некий функционально законченный узел в общей схеме сложного радиоэлектронного устройства в трех ипостасях:

1) Как низкоуровневую часть иерархической схемы более высокого уровня.
В обычной инженерной практике такое иерархическое дробление сложного устройства на блоки, субблоки, модули и пр. встречается сплошь и рядом.
2) Как примитив с наперед заданными и неизменяемыми свойствами.
В этом смысле созданный символ подобен полупроводниковому прибору или микросхеме.
Никаких изменений в таком примитиве (символе) непосредственно из моделируемой схемы более высокого уровня произвести нельзя. Такое представление имеет смысл в случае многократного повторения данного узла в общей схеме и полной уверенности в отсутствии необходимости каких-либо подстроек.

3) Как примитив (символ) с возможным изменением отдельных параметров непосредственно из моделируемой схемы.

Рассмотрим вначале, как создается модель нашего идеального трехобмоточного трансформатора в случае его использования в качестве элемента схемы более высокого уровня, то есть при иерархическом построении моделируемой схемы. Нашу модель мы будем строить из штатных примитивов LTspice.

1.3 Электрическая схема нового компонента
Разработка модели начинается с электрической схемы функционального узла. Для начала определимся с размещением наших наработок в программе LTspice. Создадим в каталоге LTspiceIV новую папку. Назовем ее My Projects. На мониторе компьютера это выглядит примерно так:

В этой папке будем хранить наши рабочие файлы.
Открываем окно New Schematic (новая схема) в LTspice и рисуем схему нашей модели

Рис. 3 Электрическая схема модели идеального трехобмоточного трансформатора
Сохраним ее в папке My Proects под именем Ideal_Trans3.asc.

1.4 Редактирование компонентов электрической схемы

Приведенная схема требует некоторых пояснений и дополнительной работы. Во первых требуется отредактировать атрибуты компонентов. Для этого наводим курсор на компонент, подлежащий редактированию. Далее щелчком правой кнопки мыши открываем диалог «Component Attribute Editor». В нашем случае требуется отредактировать атрибуты компонентов F1, G1, V1, F2, G2, V2. Кроме того должны быть указаны величины сопротивления резисторов R1, R2, R3, что делается с помощью специализированного редактора резисторов. В качестве средства задания значения атрибутов компонентов схемы также используется Spice-директива
.Params Ratio1=*** Ratio2=***.
Могут быть заданы любые положительные значения Ratio. Индекс 1 относится к верхнему выходу, имеющему порты «c» и «d», индекс 2 — к нижнему с портами «е» и «f».
Во вторых следует учитывать некоторые особенности программы LTspice. Так, для ИТУТ F в атрибуте Value должно присутствовать ключевое слово Gain. При использовании символа двунаправленного порта bi-direct следует помнить, что этот шестиугольный символ имеет только один активный угол, дающий электрическое соединение. Именно к нему должен подводиться проводник от внешнего компонента, используемого, например, при тестировании схемы функционально законченного узла. Аналогичным образом следует поступать с проводниками, идущими из самого функционального узла. Выводы схемы, предполагаемой для преобразования в символ, более различимы, если им присваивать буквенные обозначения. Как выглядят результаты редактирования атрибутов создаваемого символа можно видеть на следующих рисунках:

Рис. 4 Параметры компонентов модели идеального трехобмоточного трансформатора
Обратите внимание, что в значениях атрибута Value источников G1 и G2 фигурирует коэффициент 1е6. Это масштабный множитель, который вводится для учета величины сопротивления шунтирующих резисторов R1 и R2 равного 1 мкОм.

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

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

1.6 Создание библиотечного файла модели нового компонента
Убедившись в работоспособности модели, создаем ее библиотечный файл. Для этого удаляем из файла Ideal_Trans3.asc все дополнительные элементы, введенные для тестирования. Далее командной линией View->SPICE Netlist открываем содержимое списка соединений, т.е. Netlist. Нажатием на правую кнопку и перемещением курсора выделяем весь текст. При повторном нажатии на правую кнопку получаем предложение отредактировать выделение как самостоятельный листинг (Independent Netlist) или сгенерировать расходный листинг (Generate Expended Listing).

Рис. 6 Выделение Netlist для преобразования в файл Ideal_Trans3.cir
Выбираем первое и после нажатия на правую кнопку мыши открывается окно «Save as» с предложением сохранить текстовку как файл с расширением .cir в нашей папке «My projects». Нажимаем «Сохранить» и получаем файл Ideal_Trans3.cir. Однако этот файл еще не пригоден для непосредственного использования и требует дополнительного редактирования. Для этого открываем его в программе LTspice, делаем выделение и копируем в «Блокнот». Удаляем первую строку и вместо нее вставляем:
.subckt Ideal_Trans3 a b c d e f
Удаляем предпоследнюю строку. Последнюю строку записываем так:
.ends Ideal_Trans3
После этого сохраняем файл как библиотечный под именем Ideal_Trans3.lib в папке «My Projects». На этом работа с листингом заканчивается.

1.7 Создание условного графического изображения символа

Далее приступаем к созданию графического изображения символа идеального трехобмоточного трансформатора. Тут возможны два варианта действий:
1) Использовать саму программу LTspice для генерации символа. Работает линия команд
«Hierarhy -> Open this Sheet's Symbol» (то есть «Иерархия -> Открыть символ этой страницы») и так как символа еще нет, то последует предложение автоматически сгенерировать его. Согласившись, получим весьма неинтересный символ в виде продолговатого прямоугольника с шестью контактами. Его можно немного скорректировать для приведения к более удобному виду.

2) Самостоятельно нарисовать мнемонически более содержательный образ нового компонента, отвечающий привычному его изображению.

Пойдем по второму варианту. Открываем окно создания нового символа с помощью линии команд «File -> New Symbol». Далее используя меню «Draw», рисуем устраивающий нас символ. Ниже показан пример заготовки для создания символа идеального трехобмоточного трансформатора:

Рис. 7 Заготовка символа идеального трехобмоточного трансформатора
На рисунке мы видим некое подобие условного обозначения трансформатора, обрамляющий его прямоугольник, значки выводных контактов, а также множество красных кружочков. Это так называемые анкерные точки для создания дуг окружностей, изображающих обмотки, а также для привязки прямых линий и условных знаков из доступного алфавита. Наиболее трудоемким является рисование дуг. Ниже показан порядок нанесения анкерных точек для дуг, обращенных выпуклостью вверх или вниз,:

Рис. 8 Последовательность установки анкерных точек при рисовании дуг
При нанесении дуг для получения качественного рисунка необходимо следить за координатами анкерных точек, которые отображаются в нижнем левом углу поля чертежа. Все координаты должны иметь значение, кратное 8. Закончив работу по созданию заготовки символа, помещаем его под именем Ideal_Trans3.asy во вновь создаваемую папку «Trans», которая должна быть размещена в каталоге «sym» программы LTspice. Это даст нам возможность вызывать создаваемую модель в разрабатываемую схему через нажатие на кнопку «Component» точно также как и для прочих компонентов.

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

avatar
Что-то я не до конца понял: а каким образом использовать в дальнейшем данный компонент? Может я что-то делаю не так? Я вызвал библиотеку. Прикрепил все. И вот что он мне выдает… Что делать?

avatar
Упс… вторую часть не посмотрел…
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.