LTspice: изменение значения резистора с течением времени

24

Я хочу смоделировать регулировку нагрузки источника питания. Я уверен, что помню, как мог изменять значение резистора в процессе симуляции в LTspice, но не могу вспомнить, как. Кто угодно?

volting
источник

Ответы:

12

Используйте компонент SpecialFunctions / Varistor.asy с изменяющимся во времени источником напряжения

Скриншот

Кевин Вермеер
источник
+1 Спасибо, это не то, что я помню, как делал это, но это должно сработать. Я не буду отмечать этот утвержден только пока я хотел бы видеть , если кто имеет какую - либо альтернативу .. (хотя это не похоже ...)
volting
2
Существует множество альтернатив. Вы можете использовать транзистор с известной характеристикой Rds и изменить напряжение на затворе с 0 на насыщение, или просто вставить источник напряжения или тока и увеличить диапазон напряжения или тока, который вы хотите установить через твой резистор. Варистор, однако, является управляемым резистором, который вы запрашивали.
Кевин Вермеер
Конечно ... но если моя память служит мне правильно (что, вероятно, нет), это можно сделать с помощью обычного резистора + некоторой команды симуляции, которая была бы более интуитивной и понятной. В любом случае, еще раз спасибо за предложения
вольт
Используйте источник, Люк! Откройте определение и схему подсистемы варистора и выясните, что она делает. Команды SPICE должны быть где-то там. Этот документ: ltspice.linear.com/software/scad3.pdf должен помочь вам.
Кевин Вермеер
Дело принято! Это пришло ко мне ... то, что я использовал раньше, это параметрическая развертка
напряжение
28

К сожалению, использование варистора не будет работать, так как сам варистор зависит от напряжения на нем. Гораздо проще - щелкнуть правой кнопкой мыши на существующем резисторе и ввести формулу. Например

R=11-100*time

будет линейно уменьшать сопротивление от 11 Ом до 10 Ом в течение 100 мс. Вы можете использовать почти все функции, доступные для источников напряжения b (произвольного поведенческого источника напряжения), а также для всех видов измерений, например, напряжений других узлов.

PlasmaHH
источник
18

Есть другой способ. Установите источник напряжения и выберите выход, который вы хотите. Маркируйте выходную сеть VResistance. Вольты на источнике будут в точности соответствовать сопротивлению. Т.е. 10 кВ будет такой же, как 10 кОм. Затем используйте стандартный резистор с назначением R = V (Vresistance). При изменении источника напряжения резистор меняется вместе с ним. Хорошая вещь об этом - файл PWL теперь может использоваться для контроля сопротивления. Особенно приятно работать с Mathematica или Matlab.

Пол Макхейл
источник
Хороший Пол, это было именно то, что я искал. Даже пробовал "R = PWL (...)" в качестве значения.
rdtsc
Пришлось гуглить «файл PWL» , но теперь я вижу потенциальное преимущество этого метода при взаимодействии с внешними программами. Кстати, я думаю, что под капотом это работает также как поведенческое (выражение) для резистора.
Fizz
Это было мое любимое решение. Полное описание здесь: electronicspoint.com/resources/…
Фредерик
1

Используя предложение Макхейла, я создал Current Dummy xLoad для проверки блоков питания и цепей питания. На основе последовательности PWL нагрузка потребляет ток от источника питания, независимо от напряжения на источнике питания.

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

Файл xLoad .asy может быть любым с двумя подключениями, поскольку он ведет себя как динамический резистор, который меняет свое значение в зависимости от значений PWL И напряжения, подаваемого на входы нагрузки. Вы можете применить 10 В пост. Тока с пульсацией 9 В, и нагрузка адаптирует свой динамический резистор так, чтобы он следовал профилю тока из PWL.

У xLoad есть только один параметр - «мульт». Этот параметр позволяет пользователю изменять максимальный ток из профиля PWL, поэтому mult = 1 будет использовать профиль, который будет всасывать максимум 1 A из источника питания, mult = 4,2 будет всасывать максимум 4,2 A. Ваш xload.asy должен иметь видимый атрибут «mult = 1», поэтому xLoad будет работать, и вы сможете изменить атрибут в любое время.

В xLoad используется небольшой конденсатор для скругления очень острых краев, которые могут симулировать очень высокие частоты и кольца, чего не происходит в реальной жизни, поэтому все углы немного закруглены. Если вы хотите изменить или исключить эту функцию, просто измените значение C1 с 10n или даже удалите эту строку. Эта функция представляет собой просто фильтр RC, R2 и C1, другой способ изменить фильтр - это изменить значение или R2, просто не удаляйте такую ​​строку, xLoad не будет работать без R2, вы можете изменить его значение на ноль, чтобы исключить полностью фильтр, хотя я не знаю, почему вы хотите иметь MegaHertz острые углы.

Создайте текстовое имя файла XLOAD.SUB в вашем каталоге LTSPICE / LIB / SUB со следующим содержимым (строка «v1» длинная, не прерывается):

    * xLOAD
    * PWL Current Profile
    * By Wagner Lipnharski Nov/2015
    *
    *              Positive (Input)
    *              |  Negative (Output)
    *              |  |
    .SUBCKT XLOAD  1  2

    V1 3 2 PWL(0 0 +100m 0 +0.1m 0.2 +5m 0.2 +.1m 0.5 +5m 0.5 +.1m 1 +5m 1 +.1m 1.5 +5m 1.5 +.1m 2 +5m 2 +.1m 2.5 +5m 2.5 +.1m 3 +5m 3 +.1m 3.5 +5m 3.5 +.1m 4 +10m 4 +1m 3.5 +8m 3.5 +1m 4 +10m 4 +2m 2.5 +8m 2.5 +2m 4 +10m 4 +2m 1.5 +8m 1.5 +2m 4 +3m 4 +2m 0.2 +3m 0.2 +2m 4 +10m 4 +3m 0.2 +8m 0)

    R1 1 2 R=V(1,2)*4/(mult*V(4,2)+1n)

    R2 3 4 1k

    C1 4 2 10n

    .ENDS XLOAD

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

введите описание изображения здесь

введите описание изображения здесь

Вагнер Липнхарски
источник
0

Если вы хотите просмотреть значения резистора (пример R):

  1. Установите значение резистора, которым вы хотите быть переменным, {R}(не забывайте о фигурных скобках!)
  2. Нажмите .op(далеко справа на панели инструментов)
  3. Тип: .step param R 1 10k 1k(шаги от 1 до 10К с шагом 1К)

Если вы хотите развернуть значение R во времени, то это невозможно, поскольку у симуляторов будут проблемы сходимости!

Jimbolayo
источник
Я не думаю, что это то, что ищет ОП, и другие ответы предполагают, что это возможно.
Null