Come utilizzare .step param con più di due parametri in LTSpiceIV


12

Ho bisogno di fare tre simulazioni transitorie con valori diversi di determinati resistori (convenientemente chiamati R1 e R2) in ciascuno. Quello che intendo fare esattamente è questo:

  • Sim. 1: R1 = 1 k , R2 = 10 kΩΩ
  • Sim. 2: R1 = 1 M , R2 = 10 MΩΩ
  • Sim. 3: R1 = 1 k , R2 = 1 MΩΩ

Se ci fosse un solo resistore la cui resistenza varia, allora imposterò la sua resistenza su "{r1}" (uso lettere minuscole per renderlo una variabile / parametro diverso da R1) e usare un comando come:

.step param r1 list 1k 1meg 1k

Tuttavia, poiché devo modificare due parametri (insieme) due volte ciascuno, ho letto qui che (almeno su LTSpiceIV) che una soluzione alternativa al mio problema potrebbe utilizzare qualcosa del genere:

.step param X list 1 2 3

.param r1 = table(X, 1k, 1meg, 1k)

.param r2 = table(X, 10k, 1meg, 10meg)

Dopo aver eseguito la simulazione, ricevo i seguenti avvisi:

WARNING: Can´t resolve .param r2 = table(X, 10k, 1meg, 10meg)
Select OK to continue the simulation with the default model or Cancel to quit now.

Lo stesso vale per r1.

Per qualche motivo, la simulazione non si "interrompe" se aggiungo un ulteriore elemento alla tabella. In tal caso, la simulazione impiega troppo tempo, avanzando più lentamente ogni volta, poiché non sarebbe mai finita. Ho provato a impostare X su 0 1 2 invece di 1 2 3, ma neanche quello funziona.

Ecco alcune foto:

Circuito + comandi

Messaggio di errore

Il tuo aiuto sarebbe molto apprezzato.


Sono confuso, vuoi simulare 3 o più situazioni? Se vuoi solo simulare i 3 scenari non mi preoccuperei di farlo con le spezie.
ACD

E cosa vuoi che sia l'asse X?
ACD

Vorrei simulare queste tre situazioni e tracciarle insieme. So che potrei semplicemente esportare un file CSV e tracciarlo con Octave o Excel, ma sarebbe molto più utile farlo direttamente su LTSpice. In questo post ( electronics.stackexchange.com/questions/20811/… ) qualcuno ha detto come farlo ma non funziona per me. In questo esempio ho inserito tre scenari, ma potrei doverne aggiungere altri.
sebascarra,

Per quanto riguarda la tua seconda domanda, X sarebbero i diversi indici che mi permettono di accedere ai valori della tabella. Dal momento che (apparentemente) LT mi permetterà di scorrere solo una variabile alla volta, faccio scorrere X e quindi provo ad accedere ai valori della tabella in base al valore che X ha preso in quel passaggio. Spero di essere chiaro. Grazie.
sebascarra,

Bene per uno il comando table vuole un indice, che è X, quindi un set di coppie xy. Ogni parametro dovrebbe contenere 3 coppie, non tre valori.
ACD

Risposte:


17

In LTSpice il comando table crea davvero una specie di dizionario in cui devi specificare coppie di valori chiave. La direttiva corretta per il tuo caso sarebbe quindi:

.step param Rx list 1 2 3
.param R1 table(Rx,1,1k,2,1Meg,3,1k)
.param R2 table(Rx,1,10k,2,1Meg,3,10Meg)

e impostare il valore dei resistori su {R1}e {R2}rispettivamente.

Se vuoi avere i valori di un resistore vicino ad esso, puoi anche inserire (invece del valore, quando fai clic destro su di esso)

R=table(Rx,1,10k,2,1Meg,3,10Meg)

nel campo del valore della resistenza. Funziona allo stesso modo per tutti i tipi di componenti e con uno script esterno per creare file .asc può essere usato come stampella per LTspices mancante funzionalità Monte Carlo.


4

Un parametro sweep / step può controllare più valori dei componenti attraverso le espressioni.

La variabile di controllo che si sta avanzando potrebbe essere un angolo di fase o un ritardo o simile che si immette in una o più formule / espressioni per ottenere i valori o i parametri dei componenti risultanti da applicare nel progetto come {parametro}

Ciò è utile se si desidera mantenere una relazione o controllare alcune proprietà fisiche indirette del progetto come una proprietà corrente o di filtro.

Nell'editor di comandi "op" puoi inserire qualcosa del genere:

.STEP param Imax 0.1 0.3 0.1 
.PARAM Uin= 5
.PARAM R = (Uin-0.84954605)/Imax

Fa passare Imax da 0,1 a 0,3 a passi di 0,1 e calcola un valore di resistenza R usando il parametro Imax, Uin, alcuni ipotizzati caduta di tensione 0,85 .. di un diodo.

È possibile fare riferimento a PARAM R in un valore componente usando la notazione {R}. Si noti che Uin può essere usato come {Uin} in una sorgente di tensione o simile e così via.

Per più righe nella finestra dell'editor "op" utilizzare CTRL + M per mantenere tutti i parametri nella stessa casella di testo.

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.