Как пересчитать параметры транзистора в модель ltspice

от admin

Руководство по LTSpice (средний уровень)

LTSpice обладает рядом функций, которые могут быть использованы для тестирования ваших проектов, выходящего за рамки простых анализа переходных процессов и частотного анализа. Данная статья описывает несколько продвинутых функций LTSpice.

Изменение параметров: изменяющиеся значения компонентов с директивами SPICE

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

Одной из приятных особенностей LTSpice является то, что в ней содержится приличная библиотека моделей нескольких известных компонентов. Вы можете увидеть это, поместив на схему, например, NPN-транзистор, кликнув по нему правой кнопкой мыши и выбрав " Выбрать новый транзистор " ( Pick New Transistor ). Вы увидите список доступных для использования моделей. В этом примере мы будем использовать 2N3904:

скриншот

После того, как вы поместили его на схему, вам необходимо построить схему усилителя с общим эмиттером как на скриншоте ниже:

скриншот

На этом этапе мы можем запустить моделирование, чтобы увидеть, что схема работает без изменения значений компонентов во время моделирования. Возможно, вы обратили внимание, что мой источник напряжения установлен в режим синусоиды " SINE ". Кликните правой кнопкой мыши на источнике напряжения, нажмите " Дополнительно " ( Advanced ) и выберите функцию синус ( SINE ). Появившиеся поля достаточно просты для понимания, сейчас вам необходимо установить только напряжение смещения ( DC offset ), амплитуду ( Amplitude ) и частоту ( Freq ). Смещение 0 В, амплитуда 1 мВ, частота 1 кГц для синусоидального сигнала дадут что-то типа этого:

скриншот

Возможно, вам покажется полезной возможность растянуть график, кликнув на горизонтальной оси и уменьшив правый предел по оси времени, или можно уменьшить время останова; 100 мс было больше, чем необходимо. Анализ пиковых напряжений с помощью курсоров (возможно, вам понадобится увеличить масштаб) показал, что мы получили усиление примерно -1,8 раз:

скриншот

Теперь давайте пройдемся по нескольким значениям резистора R1 и увидим, как изменится выходной сигнал. Это делается с помощью функционала директив SPICE. В правой части панели инструментов есть кнопка с надписью " .op ". Нажмите на неё (либо на клавишу S ), после чего вы увидите диалоговое окно, как на рисунке ниже. Я уже заполнил его значениями, где R – это компонент, который будет меняться:

скриншот

Директива .step будет выполнять анализ схемы для каждого значения компонента в списке и покажет нам полученные в результате графики на одном чертеже. Нажмите OK и поместите директиву на схему так же, как команду .tran или .ac . Пока мы не совсем готовы выполнить данное моделирование, так как LTSpice до сих пор не знает, к чему применить директиву .step , и если вы запустите моделирование сейчас, то, возможно, получите такие же результаты, что и раньше. Измените значение R1 с " 10k " на " ", чтобы назначить директиву. Вы можете сделать это до трех раз одновременно для одной схемы.

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

скриншот

Из этого примера вы можете увидеть, что усиление нашего входного сигнала 10 мВ изменяется в диапазоне от менее чем -1,8 до -6.

Кусочно-линейная аппроксимация, импульсная и другие формы сигнала

Кусочно-линейная аппроксимация – это метод, с помощью которого вы создаете различные формы сигнала из прямых отрезков: вы задаете список напряжений в моменты времени в хронологическом порядке, чтобы создать форму сигнала, которую хотите использовать. Тем не менее, если вы нужен сигнал настоящей прямоугольной формы, лучшим выбором будет форма сигнала PULSE (только не используйте его для снятия частотных характеристик, он больше подходит для снятия временных характеристик). При использовании других форм сигнала, отличающихся от синусоиды SINE и качающейся частоты .ac, например, при использовании PULSE, вы можете столкнуться с проблемами с формой сигнала, если оставите пустыми поля времени фронта и спада ( Trise и Tfall ), для них подойдут небольшие значения. Ниже я установил директиву в значение PULSE(0 1 1ms 0.001m 0.001m 1ms 2ms) и пропустил сигнал через делитель напряжения:

скриншот скриншот

Ограничения и подводные камни

Как и любое другое программное обеспечение, у LTSpice есть ограничения в возможностях, которые следует иметь в виду при его использовании. Хотя это и не определяющий недостаток при доступности большого количества вариантов SPICE моделирования, вот пара моментов, которые стоит иметь в виду:

  • в частности, модели операционных усилителей и транзисторов могут быть слишком чувствительны и работать не совсем так, как ожидалось. Их ограничения меняются в зависимости от конкретной модели и могут варьироваться от различий во входном шуме до проблем сходимости и времени моделирования (на старых машинах). Linear Technology много лет назад выпустила документацию, которая даст вам представление о возможных подводных камнях;
  • с некоторыми проектами будет лучше просто отойти от моделирования и собрать реальную схему. Точная настройка моделирования может позволить вам получить лучшее представление для наихудшего сценария, но, конечно, не всегда покажет вам, как всё будет вести себя на самом деле. Преимущество LTSpice в том, как быстро вы можете настроить моделирование и получить обзор общей производительности и других важных деталей. LTSpice поможет вам с помощью некоторых приятных функций (например, добавление таких деталей, как паразитные емкости и сопротивления для отдельных компонентов), но LTSpice не способен моделировать ситуации, которые происходят при моделировании в лабораторных условиях. Я считаю, что, если это возможно, то лучше сравнить результаты моделирования с поведением схемы при использовании настоящих инструментов, потому что на определенном этапе добавление дополнительных компонентов и источников в вашу модель схемы для учета разных факторов будет менее надежным, чем увидеть, как это работает на самом деле. Как всегда, выбор за вами.

Дополнительные источники

Кроме двух статей, есть еще много информации и возможностей, которые предоставляет LTSpice, включая определения подсхем и моделей компонентов, экспорт списков соединений, математические функции и многое другое. Полный раздел документации доступен под пунктом "Help Topics" в меню "Help". Кроме того, есть много интересных недокументированных возможностей, для которых вы можете найти обзоры на LTwiki (целый сайт с множеством информации, если вам недостаточно справки LTSpice).

Как пересчитать параметры транзистора в модель ltspice

Генератор Клаппа в LTspice

Параметры кварцевого резонатора в LTspice

import sys
from math import pi , sqrt

if len ( sys . argv ) < 2 :
print ( «Usage: » + sys . argv [ 0 ] + » frequency[hz]» )
sys . exit ( 1 )

Q = 7000 # no less than 5000
Cp = 4 / 1000 / 1000 / 1000 / 1000 # max — 10 pF
Cs = Cp/ 100 # Cs >> Cp
freq = int ( sys . argv [ 1 ] )

# series resonant frequency
# Fs = 1/(2*pi*sqrt(Ls*Cs))
Ls = pow ( 1 / ( 2 *pi*freq ) , 2 ) /Cs
# parallel resonant frequency
Fp = 1 / ( 2 *pi*sqrt ( ( Ls*Cs*Cp ) / ( Cs+Cp ) ) )
Rs = ( 2 *pi*freq*Ls ) /Q

print ( «Cp = pF» . format ( Cp* 1000 * 1000 * 1000 * 1000 ) )
print ( «Cs = pF» . format ( Cs* 1000 * 1000 * 1000 * 1000 ) )
print ( «Ls = mH» . format ( Ls* 1000 ) )
print ( «Rs = Ohm» . format ( Rs ) )
print ( «Fp = » . format ( Fp ) )

Сигнал генератора в LTspice

Спектр сигнала в LTspice

$ ./filtergen.py -f1 6900000 -f2 7300000 -p 3 -t band-pass

Band-pass narrow-band filter:

C1 = 7.96 nF, in parallel with 63.19 nH
C3 = 7.96 nF, in parallel with 63.19 nH
L2 = 39.79 uH, in series with 12.64 pF

Пополнение библиотеки схемных элементов симулятора LTspice.
Создание модели ШИМ-контроллера TL494

В настоящее время наибольшую популярность имеют программы, использующие SPICE (Simulation Program with Integrated Circuit Emphasis) алгоритм моделирования процессов, протекающих в электронных схемах. Алгоритм SPICE, разработанный в конце 1970-х годов в университете Беркли (Калифорния), де-факто стал стандартом для разрабатываемых и уже эксплуатируемых в настоящее время коммерческих систем схемотехнического моделирования для персонального компьютера. К таким системам относятся: HSPICE (фирма MetaSoftware), PSpice (Microsim), MicroCap (Spectrum Software), Circuit Maker (The Virtual Elektronics Lab), Dr. Spice, ViewSpice (Deutsch Research) и другие. Учитывая тот факт, что не все могут приобрести коммерческую систему схемотехнического моделирования, остановим свой выбор на бесплатном симуляторе LTspice IV (далее просто LTspice) от корпорации Linear Technology (www.linear.com). Программа может работать под управлением ОС Windows 98, 2000, NT4.0, Me или XP. Кроме того, LTspice тестировался под Linux RedHat 8.0 с WINE версии 20030219.

LTspice был первоначально основан на симуляторе аналоговых схем SPICE 3F4/5, свободно доступной версии симулятора SPICE. С момента своего создания LTspice подвергался постоянным изменениям с целью его улучшения, устранения ошибок и расширения возможностей. Современная версия LTspice представляет собой превосходный симулятор, позволяющий моделировать аналоговые, цифровые, а также смешанные схемы.

LTspice отличается очень понятным и дружественным интерфейсом, позволяющим даже новичку очень быстро научиться работать с ним. Новые схемы можно разрабатывать с помощью встроенного редактора схем. Директивы и параметры симулятора помещаются прямо на схеме с использованием стандартного SPICE-синтаксиса. Диаграммы напряжений и токов в узлах и ветвях схемы могут быть получены простым щелчком левой кнопки мышки по соответствующей точке схемы.

LTspice имеет отличный (правда, англоязычный) встроенный помощник Help [1], который является как описанием этой программы, так и руководством для работы с ней. В Интернете существует много ресурсов, где обсуждается и поддерживается эта программа [2].

Необходимость пополнения библиотеки моделей

Симулятор LTspice изначально предназначался для демонстрационного моделирования импульсных источников питания, использующих управляющие микросхемы производства Linear Technology. При этом LTspice демонстрирует приличную скорость моделирования и оптимальную совместимость с другими стандартами SPICE, что позволяет непосредственно использовать или легко адаптировать к нему оригинальные SPICE-модели различных производителей. Последнее обстоятельство весьма важно, так как на каком-то этапе работы с SPICE-симулятором каждый пользователь сталкивается с необходимостью пополнения библиотеки моделей. К радости пользователей симулятора LTspice можем сообщить, что проблема пополнения встроенной библиотеки новыми моделями уже в значительной степени решена поколениями энтузиастов, работающих с этой программой. Много дополнительных моделей можно найти в файловом архиве независимой пользовательской группы программы LTspice/SwitcherCAD III [3]. Кроме того, следует посетить небольшую, но весьма информативную домашнюю страничку Андрея Кадатча [4] и скачать дополнительную библиотеку EXTRA, которая выводит объем библиотеки LTspice на уровень, сравнимый с библиотеками коммерческих симуляторов.

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

Пополнение библиотеки схемными элементами, имеющими стандартную модель

Параметры схемных элементов, имеющих стандартные модели, расположены в подкаталоге /lib/cmp относительно корневого каталога программы. Здесь можно обнаружить следующие файлы:

  • standard.bjt — библиотека моделей биполярных транзисторов;
  • standard.cap — библиотека моделей конденсаторов;
  • standard.dio — библиотека моделей диодов;
  • standard.ind — библиотека моделей индуктивностей;
  • standard.jft — библиотека моделей полевых транзисторов с управляющим pn-переходом (JFET);
  • standard.mos — библиотека моделей полевых транзисторов с изолированным затвором (MOSFET).

Каждая строка в этих файлах, кроме standard. cap и standard.ind, представляет собой соответствующую директиву .model. Следовательно, пополнение этих библиотек можно осуществить простым вписыванием очередной директивы .model с соответствующими параметрами. Например, дополним библиотеку биполярных транзисторов моделью отечественного транзистора типа КТ315А:

После дополнения библиотечного файла транзистор KT315A становится доступным для использования (рис. 1).Последние три параметра Vceo, Icrating, mfg=USSR в моделировании не участвуют, но, соответственно, позволяют вывести в строке выбора транзистора его максимальное напряжение коллектор-эмиттер, ток коллектора и наименование производителя.

Рис. 1. Выбор биполярного транзистора КТ315А из библиотеки LTspice

Пополнение библиотеки схемными элементами, имеющими модель в виде подсхемы

Если модель существует в виде подсхемы, то в этом случае придется решить, как минимум, две задачи. Во-первых, надо создать новый или подобрать готовый символ для будущего библиотечного элемента. Во-вторых, надо согласовать SPICE-синтаксис, используемый при описании модели, с синтаксисом LTspice.

Например, пополним библиотеку отечественным операционным усилителем типа К544УД2 (рис. 2).

Схема включения операционного усилителя К544УД2

Рис. 2. Схема включения операционного усилителя К544УД2

Приведем текст подсхемы модели этого операционного усилителя:

* k544ud2 operational amplifier “macromodel” subcircuit
* created using Parts version 1.04 on 10/11/90 at 10:58
*
* connections:
*
*
*
*
*
*
.subckt k544ud2
*
non-inverting input
| inverting input
| | positive power supply
| | | negative power supply
| | | | output
| | | | | compensation
| | | | | /
1 2 3 4 5 6 7
c1
dc
de
dlp
dln
dp
egnd
fb
ga
gcm
iss
hlim
j1
j2
r2
rd1
rd2
ro1
ro2
rp
rss
vb
vc
ve
vlim
vlp
vln
11 12 174.6E-15
5 53 dx
54 5 dx
90 91 dx
92 90 dx
4 3 dx
99 0 poly(2) (3,0) (4,0) 0 .5 .5
7 99 poly(5) vb vc ve vlp vln 0 127.3E6 -100E6 100E6 100E6 -100E6
6 0 11 12 1.885E-3
0 6 10 99 188.5E-9
3 10 dc 400.0E-6
90 0 vlim 1K
11 2 10 jx
12 1 10 jx
6 9 100.0E3
4 11 530.5
4 12 530.5
8 5 50
7 99 25
3 4 9.000E3
10 99 500.0E3
9 0 dc 0
3 53 dc 2
54 4 dc 2
7 8 dc 0
91 0 dc 20
0 92 dc 20
.model dx D(Is=800.0E-18)
.model jx PJF(Is=15.00E-12 Beta=17.77E-3 Vto=-1)
.ends

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

Сравнив нумерацию выводов реального операционного усилителя (рис. 2) и порядок узлов в строке директивы “.subckt k544ud2 1 2 3 4 5 6 7”, можно заметить их несоответствие. Соответствие нумерации и порядка узлов подсхемы может потребоваться, если схемный редактор LTspice используется как генератор списка связей для сторонней программы, например, предназначенной для разводки печатной платы. В данном случае такая задача не ставится, и поэтому для нормального функционирования модели достаточно лишь обеспечить верный порядок передачи узловых потенциалов из основной схемы в подсхему, без привязки к физической реализации самой микросхемы.

Так как операционный усилитель является стандартным электронным узлом, то найти для него готовый символ скорей всего не составит труда. И в самом деле, требуемый символ можно позаимствовать у операционного усилителя LT1008, который расположен в подкаталоге Opamps встроенной библиотеки (рис. 3).

Поиск подходящего символа во встроенной библиотеке программы LTspice

Рис. 3. Поиск подходящего символа во встроенной библиотеке программы LTspice

Чтобы использовать готовый символ, мы должны знать порядок, в котором он передает узлы в подсхему модели. Этот порядок можно узнать, воспользовавшись редактором символов программы LTspice, который будет далее рассмотрен подробно, а пока постараемся решить эту проблему при помощи схемного редактора. Для этого, воспользовавшись командой Edit=>Component или нажав клавишу F2, загрузим символ требуемого операционного усилителя из раздела Opamps встроенной библиотеки и разместим его в рабочем поле схемного редактора. Далее, воспользовавшись командой Edit=>Draw Wire или нажав клавишу F3, подключаем к выводам операционного усилителя короткие фрагменты внешних цепей и принудительно присваиваем им имена, соответствующие порядку перечисления узлов в строке директивы .subckt подсхемы модели операционного усилителя К544УД2 (рис. 4).

 Присвоение имен внешним цепям символа операционного усилителя LT1008

Рис. 4. Присвоение имен внешним цепям символа операционного усилителя LT1008

Чтобы присвоить имя цепи, нужно вызвать соответствующее меню операций, щелкнув по требуемой цепи правой кнопкой мышки. В появившемся меню выбрать режим Label Net («Ярлык для цепи»), что позволит получить доступ к меню Net Name («Имя цепи»), где в строке ABC присваивается требуемое имя (рис. 4).

Воспользовавшись командой View=>SPICE Netlist, посмотрим список связей нашей небольшой схемы (рис. 5) и убедимся, что порядок узлов в строке “XU1 1 2 3 4 5 6 7 LT1008” соответствует порядку узлов в строке “.subckt k544ud2 1 2 3 4 5 6 7”. В противном случае необходимо соответствующим образом отредактировать строку директивы .subckt.

Проверка порядка узлов, передаваемого символом LT1008 в подсхему модели

Рис. 5. Проверка порядка узлов, передаваемого символом LT1008 в подсхему модели

Программа LTspice регулярно обновляется через Интернет. Поэтому, чтобы не потерять свои библиотеки, желательно выделить их в свою пользовательскую папку. Чтобы папка была видна при выборе нового компонента, ее необходимо разместить в подкаталоге sym встроенной библиотеки. Присвоим этот папке имя Mylib. Создадим в этой папке файл r-opamp.lib и скопируем туда вышеуказанный текст подсхемы модели. Впоследствии этот файл можно пополнять другими моделями операционных усилителей отечественного производства. В начале файла, в виде комментариев, необходимо сделать небольшую информационную вставку, описывающую содержимое библиотеки. Это облегчит работу с библиотекой, а также позволит избежать каких-то досадных ошибок.

Пример информационной вставки:

*******************************************************************
* Библиотека моделей операционных усилителей
* отечественного производства
*
*******************************************************************
*
* Библиотека сoдержит:
* К544УД2
*
*******************************************************************
* Внимание! Нумерация (порядок) входных узлов подсхем
* моделей всех ОУ не совпадает с реальной нумерацией выводов
* корпуса микросхем.
*******************************************************************

Примечание. Для схемных элементов различных типов лучше создавать независимые библиотечные файлы. Например, для ШИМ-контроллеров можно создать файл pwm.lib, для полевых транзисторов с изолированным затвором—mosfet.lib и т. д.

Скопируем файл символа LT1008.asy из своего каталога ..libsymOpamps в пользовательский каталог ..libsym Mylib и переименуем его в k544ud2.asy. Однако одного переименования недостаточно. Необходимо также внести некоторые изменения и в сам файл. Для этого откроем его при помощи любого текстового редактора и изменим содержимое атрибутов SYMATR:

SYMATTR Value — вместо LT1008 записываем k544ud2
SYMATTR Prefix X— оставляем без изменения
SYMATTR SpiceModel — вместо LTC.lib записываем r-opamp.lib
SYMATTR Value2 — вместо LT1008 записываем k544ud2
SYMATTR Description — запишем Operational Amplifier

После этого сохраним изменения и приступим к испытанию. Для этого запустим программу LTspice в режиме схемного редактора и проверим наличие нового электронного компонента в библиотеке. Если все сделано правильно, то операционный усилитель К544УД2 можно обнаружить именно там, где он и должен быть, то есть в пользовательском каталоге Mylib (рис. 6).

Выбор операционного усилителя К544УД2 из библиотеки пользователя Для проверки функционирования схемного элемента можно собрать к

Рис. 6. Выбор операционного усилителя К544УД2 из библиотеки пользователя

Для проверки функционирования схемного элемента можно собрать какую-то тестовую схему. Пусть такой схемой будет обычный инвертирующий усилитель (рис. 7).

 Тестовая схема инвертирующего усилителя на ОУ К544УД2

Рис. 7. Тестовая схема инвертирующего усилителя на ОУ К544УД2

Согласно результатам моделирования, модель операционного усилителя К544УД2 функциональна, и инвертирующий усилитель, собранный на нем, обеспечивает заданное усиление Kу = R3/R2 = 100к/10к =10.

Создание модели схемного элемента с использованием иерархической схемы

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

В качестве примера, используя средства программы LTspice, создадим модель микросхемы TL494. Микросхема TL494 является ШИМ-контроллером импульсного источника питания и включает в себя все необходимые для этого блоки. Эта микросхема, благодаря своим достаточно высоким характеристикам и низкой стоимости, очень популярна как среди любителей, так и среди профессионалов в силовой электронике. Так же как и широко известный 555-й таймер, TL494 выпускают многие мировые производители электронных компонентов, такие как Texas Instruments, ON Semiconductor, Motorola, Fairchild Semiconductor, Fujitsu, Samsung и т. д. Эта микросхема выпускается под своим оригинальным, а также под альтернативными названиями, такими как mPC494C, MB3759, KA7500B, IR3M02 и т. п. Отечественной версией TL494 является микросхема 1114ЕУ4.

Однако, несмотря на популярность, модель TL494 пока отсутствует в библиотеках коммерческих симуляторов и на сайтах производителей электронных компонентов.

Иерархические схемы

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

Так же как и подсхемы, иерархические схемы могут быть помещены в библиотеку для последующего использования в различных проектах. Но, в отличие от подсхем, ссылаться на иерархическую схему из основного проекта можно только с помощью символа. Файл символа должен иметь такое же имя, что и файл иерархической схемы. Например, если файл иерархической схемы имеет название tl494h.asc, то файл символа должен иметь название tl494h.asy. По этой же причине имя символа не должно содержать пробелы, а также символы, недопустимые для имени файла.

Читать:
Как зайти на сайт из другой страны

Примечание. Иерархическая схема должна располагаться в одном каталоге с основной схемой.

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

Любой файл, открытый с помощью команды File=>Open, рассматривается как схема высокого уровня.

Создание модели TL494 в виде иерархической схемы

Справочную информацию о микросхеме TL494 можно взять, например, на сайте компаний Texas Instruments [5] или ON Semiconductor [6].

На рис. 8 изображена ее функциональная схема.

Функциональная схема TL494

Рис. 8. Функциональная схема TL494

Казалось бы, что для создания корректной модели достаточно найти и продублировать принципиальную электрическую схему TL494. Благо, упрощенные версии отдельных узлов даже приводятся в документации, расположенной на сайте Texas Instruments [7]. Однако попытка создания модели таким способом скорей всего закончится неудачей. Дело в том, что, несмотря на свои маленькие размеры, микросхема имеет достаточно сложную электрическую принципиальную схему, содержащую более 50 транзисторов. Модель, содержащая такое количество активных элементов, способна в значительной мере снизить скорость симуляции или сделать ее вообще невозможной из-за проблем сходимости. Выход из данной ситуации — использование встроенных схемных элементов LTspice, которые являются функциональными аналогами отдельных узлов моделируемой микросхемы.

Генератор

ШИМ-контроллер TL494 работает на фиксированной частоте, которая определяется внутренним генератором. Частота генератора программируется внешними резистором и конденсатором, подключаемыми к выводам Rт и Cт микросхемы. Конденсатор Cт заряжается стабильным током, величина которого задается с помощью резистора Rт. После того, как напряжение на конденсаторе достигает 3 В, он быстро разряжается до нуля, и процесс снова повторяется. Величину зарядного тока можно определить по формуле Iзар ≈ 3,65/Rт. На рис. 9 приведены графические зависимости частоты внутреннего генератора от номиналов частотозадающих элементов. Эту частоту также можно определить по формуле Fген = 1,2/(RT·CT).

Частота генератора и ее температурный дрейф в зависимости от величин Rт и Cт

Рис. 9. Частота генератора и ее температурный дрейф в зависимости от величин Rт и Cт

Схема модели генератора изображена на рис. 10.

Рис. 10. Схема модели задающего генератора

Источник напряжения V1 имитирует напряжение, приложенное к резистору Rт. ИТУТ (источника тока, управляемый током) F1 является своеобразным токовым зеркалом, которое формирует ток зарядки конденсатора Cт, равный току, протекающему через источник напряжения V1 и резистор Rт. Под воздействием этого тока конденсатор Cт линейно заряжается. Как только напряжение на конденсаторе достигает порогового напряжения 3 В, он разряжается с помощью ключа S1. Диод D1 предотвращает обратный ток и позволяет напряжению на выводе Rт подниматься выше потенциала источника напряжения V1.

При указанных на схеме номиналах резистора Rт = 12 кОм и конденсатора Cт = 10 мкФ рабочая частота генератора составляет 10 кГц, что соответствует графической зависимости на рис. 9.

Усилитель ошибки

Регулировочные характеристики ШИМ-контроллера определяются амплитудно-частотной характеристикой (АЧХ) его усилителя ошибки. Поэтому при создании модели усилителя нужно обеспечить корректность этой характеристики. Согласно документации Texas Instruments и других производителей, АЧХ усилителя ошибки имеет частоту среза 10 Гц с последующим завалом 20 дБ/дек (рис. 11).

Рис. 11. Амплитудно-частотная характеристика усилителя ошибки

Подобную АЧХ можно легко получить с помощью RC-фильтра нижних частот. Схема модели усилителя ошибки с RC-фильтром нижних частот, а также результаты моделирования изображены на рис. 12.

Рис. 12. Модель усилителя ошибки

Фильтр нижних частот R1, C1 позволяет получить АЧХ, которая идеально совпадает с изображенной на рис. 11.

Нелинейность передаточной характеристики усилителя ошибки, а также коэффициент усиления на низких частотах имитируются с помощью ИНУН (источник напряжения, управляемый напряжением) E1. Согласно общим справочным данным на ШИМ-контроллер TL494 (документация t1494.pdf и TL494-D.PDF), коэффициент передачи усилителя ошибки AVOL = 50 000 (95 дБ). Коэффициент усиления и передаточную характеристику усилителя ошибки представим в виде таблицы “table=(0,0 1.96m,0 2m,2 2.04m,4 20m,4.5)”.

Источник напряжения V2 определяет рабочую точку усилителя ошибки, а резистор R3 играет роль его нагрузки во время AC-анализа.

Выходной каскад

Выходной каскад контроллера TL494 представляют собой транзистор с открытыми эмиттером и коллектором. Благодаря этому, возможны два варианта включения этого транзистора, где он включен по схеме с общим эмиттером (рис. 13а) или общим коллектором (рис. 13б). Каждому из этих включений соответствует своя зависимость напряжения открытого транзистора Vкэ.нас от тока нагрузки.

Рис. 13. Характеристики напряжения насыщения транзистора выходной схемы для включения: а) с общим эмиттером; б) с общим коллектором

Желательно, чтобы модель корректно имитировала эти характеристики насыщения, а также ситуации превышения максимального тока и пробоя повышенным напряжением транзистора выходного каскада.

Сначала рассмотрим модель выходного каскада, включенного по схеме с общим эмиттером, изображенную на рис. 14.

Рис. 14. Модель выходного каскада, включенного по схеме с общим эмиттером

С помощью ИТУН G1 и стабилитрона D1 имитируется открытый транзистор выходного каскада. Этот эквивалентный транзистор полностью открыт, если ток нагрузки I1 не превышает максимально допустимого значения в 250 мА (для микросхемы TL494 производства Texas Instruments). При превышении максимального тока эквивалентный транзистор насыщается, и напряжение на его выводах резко возрастает (участок 3 ВАХ). В области малых токов (участок 1) ВАХ эквивалентного транзистора определяется внутренним сопротивлением Ron диода D3, а в области средних токов (участок 2) — внутренним сопротивлением параллельно включенных диодов D2 и D3. Пробой эквивалентного транзистора при повышенном напряжении имитируется стабилитроном D1, имеющим напряжение стабилизации Vrev = 41 В. ИТУН G2 в данном режиме не активен, так как напряжение управления всегда равно напряжению питания микросхемы.

Теперь рассмотрим модель выходного каскада, включенного по схеме с общим коллектором, изображенную на рис. 15.

Рис. 15. Модель выходного каскада, включенного по схеме с общим коллектором

В схеме с общим коллектором ИТУН G2 контролирует напряжение на открытом транзисторе выходного каскада. Коэффициент передачи G2 описывается таблицей “table=(0 250m,1.42 243m,1.46 150m,1.57 0)”. Согласно этой таблице, если входное напряжение ИТУН G2 падает ниже 1,57 В, последний начинает шунтировать выход ИТУН G1. Следствием этого шунтирования будет сдвиг ВАХ открытого транзистора в сторону больших напряжений.

Потребляемый ток и источник опорного напряжения

Ток Icc, потребляемый микросхемой TL494, имеет нелинейную зависимость от питающего напряжения Vcc. Эта зависимость изображена на рис. 16.

Рис. 16. Зависимость тока, потребляемого микросхемой TL494, от питающего напряжения

На рис. 17 изображена модель, которая с помощью ИТУН G1 имитирует потребляемый ток микросхемы. Коэффициент передачи ИТУН задан таблицей “table=(1 0,5 4.5m, 6.85 7.6m,40 8.4m)”. Источник опорного напряжения имитируется при помощи источника тока I1 и стабилитрона D1. Ток нагрузки источника опорного напряжения, при помощи поведенческого источника тока B1, суммируется к току, потребляемому микросхемой. В соответствии со справочными данными, ток короткого замыкания источника опорного напряжения составляет 25 мА.

Рис. 17. Модель источника опорного напряжения и имитатора потребляемого тока

Общая схема модели микросхемы TL494

После того, как созданы основные узлы модели, создание общей схемы модели (рис. 18) не вызывает особых затруднений.

Рис. 18. Иерархическая схема модели микросхемы TL494

Рис. 19. Указание наименования и направления цепей

Всем внешним цепям иерархической схемы необходимо присвоить имена. Удобнее всего использовать имена соответствующих выводов микросхемы прототипа. Чтобы присвоить имя цепи, нужно вызвать соответствующее меню операций, щелкнув по требуемой цепи правой кнопкой мышки. В появившемся меню выбрать режим Label Net («Ярлык для цепи»), что позволит получить доступ к меню Net Name («Имя цепи»), где в строке ABC указывается требуемое имя (рис. 19). Для большей наглядности можно определить направления сигнала во внешних цепях с помощью указателя Port type:

  • None — без направления;
  • Input — входная цепь;
  • Output — выходная цепь;
  • Bi-Direct — двунаправленная цепь.

Указатель Port type на процессы моделирования не влияет.

Общий провод внутри иерархической схемы лучше не подключать к «земле», а соединить явно или подключить к цепи “COM”. Это позволит в дальнейшем использовать модель в схемах с плавающим, относительно «земли», питанием.

При помощи команды File=>Save As… назовем как TL494H.asc и сохраним в пользовательский каталог ..libsym Mylib полученную иерархическую схему модели TL494.

Редактор символов

Каждый схемный элемент имеет собственный символ, позволяющий легко идентифицировать его на электрической принципиальной схеме. Внешний вид символов схемных элементов, таких как резисторы, конденсаторы, индуктивности, диоды, транзисторы и т. п., оговаривается соответствующим стандартом на конструкторскую документацию. В настоящее время в мире существует два основных стандарта, один из которых американский, а другой — европейский. К последнему весьма близка отечественная «Единая система конструкторской документации» (ЕСКД). В библиотеках LTspice использован американский стандарт на символы схемных элементов. С этим можно смириться, так как обычно данный симулятор не используется для подготовки конструкторской документации, но при необходимости символы схемных элементов можно привести к более привычному виду.

Окно редактора символов

В LTspice имеется специальный редактор символов, с помощью которого можно изменять существующие или создавать новые символы схемных элементов. Для запуска этого редактора необходимо активизировать команду File=>New Symbol. В результате появится окно редактора символов (рис. 20).

Окно редактора символов

Рис. 20. Окно редактора символов

Отличительный признак этого окна — крестик с кружком в центре рабочего поля, а также синий символ логического вентиля в левой части панели команд.

Панель команд редактора символов

Панель меню команд очень похожа на аналогичную панель схемного редактора. В отличие от панели команд схемного редактора здесь присутствует меню Draw, но зато отсутствует меню Simulate.

Рассмотрим подробнее подпункты меню команд:

  • File — подпункты этого меню аналогичны подпунктам меню File схемного редактора.
  • Edit — служит для редактирования символа и содержит следующие подпункты:
    • Undo (F9) — отменить предыдущее действие.
    • Redo (Shift+F9) — вернуть отмененное действие.
    • Attributes — атрибуты символа:
      • Edit Attributes (Ctrl+A) — редактировать отдельные атрибуты символа;
      • Attribute Window (Ctrl+W) — делать видимыми отдельные атрибуты символа.
      • Line (‘L’) — выбрать рисование прямой линии;
      • Rect (‘R’) — выбрать рисование прямоугольника;
      • Circle (‘C’) — выбрать рисование круга;
      • Arc (‘A’) — выбрать рисование дуги;
      • Line Style — определить стиль линии;
      • Text (‘T’) — выбрать ввод текста.
      • Zoom In (Ctrl+Z) — увеличить изображение символа;
      • Zoom to Fit — установить масштаб изображения, позволяющий максимально использовать текущий размер рабочей области редактора символов;
      • Zoom Out (Ctrl+B) — уменьшить изображение символа;
      • Anchor Points (‘O’) — включить/выключить видимость точек привязки графических элементов или текста;
      • Pin Table — вывести таблицу, связывающую имена выводов символа с их порядковыми номерами;
      • Status Bar— вывести/убрать строку подсказки редактора символа;
      • Toolbar — вывести/убрать панель инструментов редактора символа;
      • Windows Tabs — вывести/убрать панель вложенных окон.
      Панель инструментов редактора символов

      Панель инструментов редактора символов полностью аналогична панели инструментов редактора схем.

      Создание изображения символа

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

      Все графические и текстовые элементы символа имеют специальные точки привязки, которые отображаются в виде маленьких красных кружков, если, с помощью команды View=>Mark Object Anchors, разрешена видимость точек привязки. Именно за эти точки элементы перемещаются или перетаскиваются при помощи команд Move (переместить) и Drag (перетащить). Для улучшения ориентации в рабочем поле редактора символов нанесена сетка. Шаг сетки равен 16 внутренним единицам программы, которые не имеют определенной привязки к метрическим или дюймовым мерам длины. Например, если судить по резисторам, то этот шаг составляет примерно 2,5 мм, а если по микросхемам, то примерно 1,25 мм. Особо не вникая в эту проблему, будем создавать новые символы, ориентируясь на те подходы, которые уже используются в программе LTspice.

      В качестве примера создадим символ ШИМ-контроллера TL494 (рис. 21), для которого ранее уже была создана модель в виде иерархической схемы.

      Рис. 21. Схемотехническое обозначение ШИМконтроллера TL494

      Согласно неписанному соглашению, принятому для символов микросхем из библиотеки программы LTspice, расстояние между отдельными выводами символа составляет 4 шага сетки. Поэтому, выбрав команду Draw=>Rect, нарисуем прямоугольник шириной 16 и высотой 32 клетки. Так как курсор не привязан к узлам сетки, при этом придется хорошенько прицеливаться. Результат данных действий изображен на рис. 22.

      Рис. 22. Заготовка символа ШИМ-контроллера TL494

      Добавление выводов

      Далее надо указать точки, в которых символ будет подключаться к схеме. Эти точки создаются при помощи команды Edit=>Add Pin/Port. Результатом будет появление окна Pin/Port Properties (рис. 23). В области Pin Label Position определяется видимость (NONE) и расположение названия вывода. Вывод может быть расположен левее (LEFT), правее (RIGHT), выше (TOP) или ниже (BOTTOM) своего названия. С помощью поля настройки Offset можно определить смещение названия относительно вывода во внутренних единицах программы. По умолчанию это смещение составляет 8 единиц, но может быть установлено любое значение в диапазоне от 0 до 50.

      Рис. 23. Окно Pin/Port Properties, определяющее свойства вывода

      Если символ представляет элемент, являющийся нижним уровнем иерархической схемы, то название вывода должно соответствовать названию цепи в схеме нижнего иерархического уровня. Если символ представляет стандартный SPICE-примитив, то название вывода не имеет особого значения, но порядковый номер в поле Netlist Order должен соответствовать номеру вывода соответствующего схемного элемента. Это же справедливо и для символа, представляющего библиотечный элемент в виде подсхемы. Но в этом случае номер в поле Netlist Order должен соответствовать порядковому номеру соответствующего узла в строке директивы .SUBCKT.

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

      Ошибки, допущенные при добавлении выводов, можно легко исправить, если повторно вызвать окно Pin/Port Properties, щелкнув правой кнопкой мышки по соответствующему выводу символа.

      На рис. 24 изображен результат, который должен быть получен после добавления всех выводов символа микросхемы TL494.

      Как пересчитать параметры транзистора в модель ltspice

      На рисунке изображена схема двухтактного усилителя звуковой частоты, в котором каждый полупериод сигнала усиливается отдельным каскадом и выходной сигнал суммируется на нагрузке. Так как выходы транзисторов не соединяются по постоянному току, то искажения типа «ступенька» (Crossover distortion), относящиеся к моментам перехода сигнала через нуль практически устранены. Недостаток такого усилителя — высокие требования к выходным конденсаторам С2 и С3, ёмкости которых должны быть равны, иначе форма выходного сигнала будет несимметричной.

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

      В этой схеме используются биполярные транзисторы типа КТ503А и КТ502А, модели которых не входят в стандартную поставку программы LTSpice. Модели этих транзисторов можно скачать здесь. Что бы транзисторы КТ503А и КТ502А были доступны в LTSpice, необходимо добавить их модели в текстовый файл с со стандартными моделями транзисторов, находящийся в той директории, куда установлен LTspice, например:
      c:\LTspiceIV\lib\cmp\standard.bjt
      Естественно, все манипуляции с файлами программы необходимо проводить когда программа не запущена. Как добавлять компоненты на схему было описано ранее.

      Теперь для того, что бы добавить необходимый транзистор, нажимаем клавишу F2, и в появившемся меню следует выбрать npn, и установить значок транзистора на схему:

      Далее кликнуть правой кнопкой мыши по символу транзистора, в появившимся окне нажать кнопку Pick New Transistor:

      Далее выбрать необходимый транзистор модели КТ503А:

      И закрыть все окна (кнопка ОК).

      Кроме транзисторов понадобятся ещё источники тока и напряжения (клавиша F2 —> корневой каталог — и далее выбрать voltage или current):

      Поместить выбранный символ на схему, нажать правую кнопку мыши и в появившемся окне выбрать Advanced:

      И в появившемся окне ввести амплитуду переменного сигнала (AC Amplitude), равную единице:

      Точно так же поступить и с источником тока, только амплитуду переменного сигнала AC Amplitude следует выбрать близкой к бесконечности, что бы параметры источника не влияли на расчёт:

      На схеме значение резистора R1 указано в фигурных скобках — . Это сделано для того, что бы сопротивление этого резистора можно было автоматически изменять. Для этого необходимо на схему поместить две Spice директивы (нажав клавишу S)
      .param R=100
      и
      .step param R LIST 1 10 100 1K:

      Убедитесь, что переключатель SPICE directive включён.

      Теперь нужно ввести параметры расчёта. В меню Simulate —> Edit Simulation Cmd следует выбрать AC Analysis (анализ малосигнальных частотных характеристик схемы) и ввести вот такие параметры моделирования:

      Параметры .ac oct 100 100 100k указывают на то, что расчёт будет идти начинаясь с частоты 100 Гц по 100 кГц, точность расчёта — 100 точек на октаву. Теперь можно запустить симуляцию.

      В появившемся пустом окне с результатами расчётов нажать правую клавишу мыши и выбрать пункт Add Trace (или можно нажать комбинацию клавиш Ctrl+A) и ввести выражение V(out)/I(I1) (т.е. напряжение в точке out делённое на ток источника I1):

      Теперь в окне расчётов появятся результаты моделирования:

      В правой части этого окна находится шкала фазовых характеристик, они нам не нужны, поэтому кликнув по этой шкале левой кнопкой мыши, вызовем окно настройки шкалы, в котором нажатием на кнопку Don’t plot phase фазовые характеристики будут удалены из расчёта:

      Аналогично вызвав окно настройки левой части шкалы, указать в этом окне тип диаграммы — Боде (Bode) и её вид — линейный (Linear):

      Окно с результатами расчётов примет такой вид:

      Теперь шкала слева отображает выходное сопротивление усилителя при разных значениях входного сопротивления источника сигнала. Для того, что бы каждый раз не настраивать окно вывода результатов, то можно записать в файл параметры окна — когда окно будет находиться в фокусе, из меню File выбрать Save Plot Setting, настройки сохранятся в файле с расширением .plt. Имя этого файла по умолчанию соответствует имени файла симуляции, содержимое файла .plt примерно такое:

      Та SPICE директива, что была задана ранее, .step param R LIST 1 10 100 1K ступенчато изменяет сопротивление резистора R1, в данном случае это 4 значения 1, 10, 100 Ом и 1 кОм. Поэтому в окне результата расчёта выводятся четыре кривые. Эту директиву можно заменить другой, например, директива .step param R 1 100 20 будет производить расчёт в диапазоне с 1 по 100 Ом с шагом 20.

      Что бы узнать, какая кривая к какому шагу относится, нужно вызвать меню правой кнопкой мыши и нажать Select Steps, где выбрать один или несколько шагов, которые будут отображаться на графике:

      Файл с вышеописанной схемой усилителя можно скачать здесь.

      Измерение входного сопротивления усилителя

      Изменим немного схему, удалив из неё источник тока I1 и включив вместо него резистор R1, а также добавим метку IN (клавиша F4):

      В директиве .step param R LIST 100 1K 10K изменены параметры списка, теперь сопротивление R1 будет равно 100, 1000 и 1 кОм. Запустив вычисления и настроив окно вывода результатов точно также, как описывалось выше и используя выражение V(IN)/I(V2), получим графики входных сопротивлений усилителя при разных сопротивлениях нагрузки:

      Из результатов расчётов видно, что для сопротивления нагрузки 100 Ом входное сопротивление усилителя будет равно 6,06 кОм, для 1 кОм — 13,36 кОм, и для 10 кОм — 15,22 кОм.

      Содержимое .plt файла будет примерно таким:

      Файл с изменённой схемой можно скачать здесь.

      Проверим полученный результат. Для этого добавим метку Vac и нагрузим усилитель на сопротивление 100 Ом, зададим резистору R1 величину сопротивления, полученного из предыдущего расчёта (6,06 кОм):

      А так же изменим параметры источника сигнала V2, установив амплитуду синусоидального сигнала 1 В и частоту 1 кГц:

      Изменим режим моделирования на Transient (анализа переходных процессов) с параметрами .tran 0 0.1 0.095 0.0001:

      И в окне расчётов получим синусоиды напряжений на источнике сигнала и на входе усилителя, установив щупы на метки Vac и IN:

      Как видно из графиков, амплитуда сигнала на входе усилителя IN в два раза меньше, чем амплитуда источника сигнала Vac, следовательно, входное сопротивление усилителя равно сопротивлению резистора R1.

Related Posts