LTspice: Varie o valor de um resistor ao longo do tempo

24

Quero simular a regulação de carga de uma fonte de alimentação. Tenho certeza de que me lembro de poder variar o valor de um resistor ao longo de uma simulação no LTspice, mas não me lembro como. Alguém?

volting
fonte

Respostas:

12

Use o componente SpecialFunctions / Varistor.asy com uma fonte de tensão variável no tempo

Captura de tela

Kevin Vermeer
fonte
+1 Obrigado, não é como eu me lembro de fazê-lo, mas deve fazer o truque. Eu não vou marcar este aprovado apenas ainda Eu gosto de ver se alguém tem quaisquer alternativas .. (embora ele não parece provável ...)
volting
2
Existem muitas alternativas - você pode usar um transistor com uma característica Rds conhecida e alterar a tensão do portão de 0 para saturação, ou apenas colocar uma fonte de tensão ou corrente e aumentar a faixa de tensão ou corrente que deseja estabelecer seu resistor. O varistor, no entanto, é o resistor controlável que você solicitou.
21810 Kevin Vermeer
Claro ... mas se minha memória me servir corretamente (o que provavelmente não funciona), é possível fazê-lo com um resistor regular + algum comando de simulação, o que seria mais intuitivo e direto. De qualquer forma Obrigado novamente pelas sugestões
voltando
Use a fonte, Luke! Abra a definição e o subcircuito do modelo do varistor e descubra o que ele faz - Os comandos SPICE devem estar lá em algum lugar. Este documento: ltspice.linear.com/software/scad3.pdf deve ajudá-lo.
21810 Kevin Vermeer
Ponto tomado! Chegou-me ... o que eu usava antes era uma varredura paramétrica
voltando
28

Infelizmente, o uso de um varistor não funcionará, pois o próprio varistor depende da tensão que o atravessa. Muito mais simples é clicar com o botão direito do mouse em um resistor existente e inserir uma fórmula. Por exemplo

R=11-100*time

reduzirá linearmente a resistência de 11Ohm para 1Ohm ao longo do tempo de 100ms. Você pode usar quase todas as funções disponíveis para as fontes de tensão b (fonte de tensão comportamental arbitrária), bem como todos os tipos de medições, por exemplo, de voltagens de outros nós.

PlasmaHH
fonte
18

Existe outro caminho. Configure uma fonte de tensão e escolha a saída desejada. Rotule a VResistance líquida de saída. Volts na fonte serão exatamente o que é a resistência. Ou seja, 10KV será o mesmo que 10K ohm. Em seguida, use o resistor padrão com a atribuição R = V (Vresistência). À medida que a fonte de tensão muda, o resistor muda com ela. O bom disso é que o arquivo PWL agora pode ser usado para controlar a resistência. Especialmente agradável ao executar coisas do Mathematica ou Matlab.

Paul McHale
fonte
Bom Paul, era exatamente o que eu estava procurando. Até tentei "R = PWL (...)" como o valor.
Rdtsc
Eu tive que procurar no Google "arquivo PWL" , mas agora vejo uma vantagem potencial desse método ao interagir com programas externos. A propósito, acho que por baixo do capô isso funciona também como comportamental (expressão) para o resistor.
Fizz
Esta foi a minha solução favorita. Escreva aqui: electronicpoint.com/resources/…
Frederick
1

Usando a sugestão de McHale, produzi um xLoad de manequim de corrente para testar fontes de alimentação e circuitos de energia. Com base em uma sequência PWL, a carga suga a corrente da fonte de alimentação, independentemente da tensão na fonte.

A sequência PWL especifica um perfil de rampa e vibração que exerce o suprimento, para que se possa analisar o comportamento desse suprimento, se ele saltar, oscilar, tocar, tempo de recuperação de tensão, etc.

O arquivo .asy do xLoad pode ser qualquer coisa com duas conexões, pois se comporta como um resistor dinâmico que altera seu valor com base nos valores de PWL E na tensão aplicada nas entradas de carga. Você pode aplicar um 10Vdc com uma ondulação de 9V e o Load adaptará seu resistor dinâmico para seguir o perfil atual da PWL.

O xLoad possui apenas um parâmetro, "mult". Este parâmetro permite que o usuário altere a corrente máxima do perfil PWL; portanto, mult = 1 utilizará um perfil que sugará no máximo 1A da fonte, mult = 4.2 sugará no máximo 4,2A. Seu xload.asy deve ter um atributo visível "mult = 1", para que o xLoad funcione e você possa alterar o atributo a qualquer momento.

O xLoad usa um pequeno capacitor para arredondar bordas muito nítidas que podem simular frequências e anéis muito altos, o que não acontece na vida real, portanto todos os cantos são um pouco arredondados. Se você deseja alterar ou eliminar esse recurso, basta alterar o valor de C1 de 10n ou até mesmo eliminar essa linha. O recurso é apenas um filtro RC, R2 e C1, outra maneira de mudar o filtro é alterar o valor ou R2, apenas não exclua essa linha, o xLoad não funcionará sem o R2, você pode alterar o valor para zero ohms para eliminar completamente o filtro, mesmo assim eu não sei por que você quer ter cantos afiados do MegaHertz.

Crie um nome de arquivo de texto XLOAD.SUB no diretório LTSPICE / LIB / SUB, com o seguinte conteúdo (a linha "v1" é longa, não está quebrada):

    * 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

A simulação .asc simples com o símbolo que eu fiz e os planos de plotagem mostrando a corrente e a tensão ondulada da fonte abaixo. Observe que, com base nos tempos da PWL, o xLoad começa a rodar a 100ms e termina a 235ms. Você pode alterar esses tempos nos valores de PWL dentro do SUB.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Wagner Lipnharski
fonte
0

Se você deseja percorrer os valores dos valores do resistor (exemplo R):

  1. Defina o valor do resistor que você deseja que seja variável {R}(não se esqueça dos colchetes!)
  2. Clique em .op(à direita na barra de ferramentas)
  3. Tipo: .step param R 1 10k 1k(etapas de 1 a 10K em incrementos de 1k)

Se você quiser varrer o valor de R no tempo, não será possível, pois os simuladores terão problemas de convergência!

Jimbolayo
fonte
Eu não acho que é isso que o OP está procurando, no entanto, e outras respostas sugerem que é possível.
Null