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


24

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

Ответы:


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 (произвольного поведенческого источника напряжения), а также для всех видов измерений, например, напряжений других узлов.


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 во времени, то это невозможно, поскольку у симуляторов будут проблемы сходимости!


Я не думаю, что это то, что ищет ОП, и другие ответы предполагают, что это возможно.
— Null
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.