LTspice: varia il valore di una resistenza nel tempo


24

Voglio simulare la regolazione del carico di un alimentatore. Sono sicuro di ricordare di essere stato in grado di variare il valore di una resistenza nel corso di una simulazione in LTspice, ma non ricordo come. Chiunque?

Risposte:


12

Utilizzare il componente SpecialFunctions / Varistor.asy con una sorgente di tensione variabile nel tempo

Immagine dello schermo


+1 Grazie, non è come mi ricordo di averlo fatto, ma dovrebbe fare il trucco. Non lo
segnerò

2
Esistono molte alternative: è possibile utilizzare un transistor con una caratteristica Rds nota e modificare la tensione di gate da 0 a saturazione, oppure semplicemente inserire una sorgente di tensione o corrente e attraversare la gamma di tensione o corrente che si desidera stabilire attraverso la tua resistenza. Il varistore, tuttavia, è il resistore controllabile richiesto.
Kevin Vermeer,

Certo .. ma se la mia memoria mi serve correttamente (cosa che probabilmente non funziona) è possibile farlo con una resistenza normale + qualche comando di simulazione, che sarebbe più intuitivo e diretto. Comunque grazie ancora per i suggerimenti
voltando il

Usa la fonte, Luke! Apri la definizione del modello di varistore e il sottocircuito e scopri cosa fa: i comandi SPICE dovrebbero essere lì da qualche parte. Questo documento: ltspice.linear.com/software/scad3.pdf dovrebbe aiutarti.
Kevin Vermeer,

Punto preso! Mi è venuto in mente ... quello che ho usato prima era uno sweep parametrico
cambiato il

28

Sfortunatamente l'uso di un varistore non funzionerà, poiché un varistore stesso dipende dalla tensione che lo attraversa. Molto più semplice è fare clic con il tasto destro su un resistore esistente e inserire una formula. Per esempio

R=11-100*time

ridurrà linearmente la resistenza da 11 Ohm a 1 Ohm nel tempo di 100 ms. È possibile utilizzare quasi tutte le funzioni disponibili per le sorgenti di tensione b (sorgente di tensione comportamentale arbitraria), nonché tutti i tipi di misurazioni, ad esempio di tensioni di altri nodi.


18

C'è un altro modo. Imposta una sorgente di tensione e scegli l'uscita che desideri. Etichettare la resistenza di rete in uscita. I volt sulla sorgente saranno esattamente la resistenza. Cioè 10KV sarà lo stesso di 10K ohm. Quindi utilizzare la resistenza standard con l'assegnazione R = V (Vresistance). Quando la sorgente di tensione cambia, la resistenza cambia con essa. La cosa bella di questo è che il file PWL ora può essere usato per controllare la resistenza. Particolarmente bello quando si eseguono cose da Mathematica o Matlab.


Bello Paul, era esattamente quello che stavo cercando. Ho anche provato "R = PWL (...)" come valore.
rdtsc,

Ho dovuto cercare su Google "file PWL" , ma ora vedo il potenziale vantaggio di questo metodo quando interagisco con programmi esterni. A proposito, penso che sotto il cofano funzioni anche come comportamentale (espressione) per il resistore.
Fizz,

Questa era la mia soluzione preferita. Completamente scrivere qui: electronicspoint.com/resources/…
Frederick,

1

Utilizzando il suggerimento di McHale, ho prodotto un Current Dummy xLoad per testare alimentatori e circuiti di alimentazione. Basato su una sequenza PWL, il carico aspira corrente dall'alimentatore, indipendentemente dalla tensione dell'alimentazione.

La sequenza PWL specifica un profilo di rampa e vibrazione che esercita l'alimentazione, in modo da poter analizzare il comportamento di tale alimentazione, se rimbalza, oscilla, squilla, tempo di recupero della tensione, ecc.

Il file .asy xLoad può essere qualsiasi cosa con due connessioni, dal momento che si comporta come un resistore dinamico che cambia il suo valore in base ai valori PWL E alla tensione applicata agli ingressi Load. È possibile applicare un 10 V cc con un'ondulazione di 9 V e il carico adatterà il suo resistore dinamico in modo che segua il profilo corrente dal PWL.

XLoad ha solo un parametro, "mult". Questo parametro consente all'utente di modificare la corrente massima dal profilo PWL, quindi mult = 1 utilizzerà un profilo che assorbirà un massimo di 1A dall'alimentazione, mult = 4.2 aspirerà un massimo di 4,2A. Il tuo xload.asy deve avere un attributo visibile "mult = 1", quindi xLoad funzionerà e sarai in grado di cambiare l'attributo in qualsiasi momento.

XLoad utilizza un piccolo condensatore per arrotondare bordi molto nitidi in grado di simulare frequenze e anelli molto alti, cosa non accade nella vita reale, quindi tutti gli angoli sono un po 'arrotondati. Se vuoi cambiare o eliminare questa funzione, cambia semplicemente il valore di C1 da 10n o addirittura elimina quella linea. La funzione è solo un filtro RC, R2 e C1, un altro modo per cambiare il filtro sta cambiando il valore o R2, semplicemente non eliminare tale linea, xLoad non funzionerà senza R2, puoi cambiare il suo valore in zero ohm per eliminare completamente il filtro, anche se non so perché vorrai avere angoli acuti MegaHertz.

Creare un nome file di testo XLOAD.SUB nella directory LTSPICE / LIB / SUB, con i seguenti contenuti (la riga "v1" è lunga, non interrotta):

    * 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

La semplice simulazione .asc con il simbolo che ho creato e i piani della trama che mostrano la corrente e forniscono la tensione increspata di seguito. Si noti che in base ai tempi PWL, xLoad inizia a funzionare a 100 ms e termina a 235 ms. È possibile modificare quei tempi ai valori PWL all'interno del SUB.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


0

Se si desidera scorrere i valori dei valori dei resistori (esempio R):

  1. Imposta il valore del resistore che vuoi essere variabile, in modo che sia {R}(non dimenticare le parentesi graffe!)
  2. Fai clic su .op(all'estrema destra sulla barra degli strumenti)
  3. Tipo: .step param R 1 10k 1k(passi da 1 a 10K con incrementi di 1k)

Se vuoi spazzare il valore di R nel tempo, non è possibile in quanto i simulatori avranno problemi di convergenza!


Non penso che questo sia ciò che l'OP sta cercando, tuttavia, e altre risposte suggeriscono che è possibile.
Null
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.