J'ai besoin de faire trois simulations transitoires avec des valeurs différentes de certaines résistances (appelées commodément R1 et R2) dans chacune. Ce que je veux faire exactement, c'est ceci:
- Sim. 1: R1 = 1 k , R2 = 10 kΩ
- Sim. 2: R1 = 1 M , R2 = 10 MΩ
- Sim. 3: R1 = 1 k , R2 = 1 MΩ
S'il n'y avait qu'une seule résistance dont la résistance varie, alors je définirais simplement sa résistance sur "{r1}" (j'utilise des lettres minuscules pour en faire une variable / paramètre différent de R1) et utiliser une commande telle que:
.step param r1 list 1k 1meg 1k
Cependant, comme je dois changer deux paramètres (ensemble) deux fois chacun, j'ai lu ici que (au moins sur LTSpiceIV) qu'une solution de contournement à mon problème pourrait utiliser quelque chose comme ceci:
.step param X list 1 2 3
.param r1 = table(X, 1k, 1meg, 1k)
.param r2 = table(X, 10k, 1meg, 10meg)
En faisant la simulation, j'obtiens les avertissements suivants:
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.
Il en va de même pour r1.
Pour une raison quelconque, la simulation ne "casse" pas si j'ajoute un élément supplémentaire à la table. Dans ce cas, la simulation prend trop de temps, progressant plus lentement à chaque fois, car elle ne se terminerait jamais. J'ai essayé de régler X sur 0 1 2 au lieu de 1 2 3, mais cela ne fonctionne pas non plus.
Voici quelques images:
Votre aide serait très appréciée.
Réponses:
Dans LTSpice, la commande table crée vraiment une sorte de dictionnaire où vous devez spécifier des paires de valeurs clés. La directive appropriée pour votre cas serait alors:
et régler la valeur des résistances sur
{R1}
et{R2}
respectivement.Si vous souhaitez avoir les valeurs d'une résistance à proximité, vous pouvez également entrer (au lieu de la valeur, lorsque vous cliquez dessus avec le bouton droit)
dans le champ de valeur de résistance. Cela fonctionne de la même manière pour tous les types de composants et avec un script externe pour créer des fichiers .asc, il peut être utilisé comme une béquille pour LTspices manquant de la fonctionnalité de monte carlo.
la source
Un balayage / étape de paramètre peut contrôler plusieurs valeurs de composant via des expressions.
Votre variable de contrôle que vous effectuez peut être un angle de phase ou un retard ou similaire que vous saisissez dans une ou plusieurs formules / expressions pour obtenir les valeurs de composants ou les paramètres résultants à appliquer dans la conception en tant que {paramètre}
Cela est utile si vous souhaitez conserver une relation ou contrôler une propriété physique indirecte de la conception, comme une propriété actuelle ou de filtre.
Dans l'éditeur de commandes "op", vous pouvez saisir quelque chose comme ceci:
Il fait passer Imax de 0,1 à 0,3 par pas de 0,1 et calcule une valeur de résistance R en utilisant le paramètre Imax, Uin, une chute de tension supposée de 0,85 .. d'une diode.
Le PARAM R peut être référencé dans une notation de valeur usng {R} de composant. Remarque Uin pourrait être utilisé comme {Uin} dans une source de tension ou similaire et ainsi de suite.
Pour plusieurs lignes dans la fenêtre de l'éditeur "op", utilisez CTRL + M pour conserver tous les paramètres dans la même zone de texte.
la source