LTspice: faire varier la valeur d'une résistance dans le temps


24

Je veux simuler la régulation de charge d'une alimentation. Je suis sûr que je me souviens d'avoir pu faire varier la valeur d'une résistance au cours d'une simulation dans LTspice, mais je ne me souviens pas comment. N'importe qui?

Réponses:


12

Utilisez le composant SpecialFunctions / Varistor.asy avec une source de tension variant dans le temps

Capture d'écran


+1 Merci, ce n'est pas comme ça que je m'en souviens, mais ça devrait faire l'affaire. Je ne marquerai pas cette approbation pour l'instant. J'aime voir si quelqu'un a des alternatives .. (bien que cela ne semble pas probable ...)
volts le

2
Il existe de nombreuses alternatives - Vous pouvez utiliser un transistor avec une caractéristique Rds connue et changer la tension de grille de 0 à saturation, ou simplement mettre une source de tension ou de courant et passer à travers la plage de tension ou de courant que vous souhaitez établir. votre résistance. La varistance, cependant, est la résistance contrôlable que vous avez demandée.
Kevin Vermeer

Bien sûr .. mais si ma mémoire me sert correctement (ce qui n'est probablement pas le cas), il est possible de le faire avec une résistance régulière + une commande de simulation, ce qui serait plus intuitif et simple. Quoi qu'il en soit Merci encore pour les suggestions
volts

Utilisez la source, Luke! Ouvrez la définition et le sous-circuit du modèle de varistance et découvrez ce qu'il fait - Les commandes SPICE devraient être là quelque part. Ce document: ltspice.linear.com/software/scad3.pdf devrait vous aider.
Kevin Vermeer

Point pris! Il m'est venu ... ce que j'utilisais auparavant était un balayage paramétrique
volts

28

Malheureusement, l'utilisation d'une varistance ne fonctionnera pas, car une varistance elle-même dépend de la tension qui la traverse. Il est beaucoup plus simple de cliquer avec le bouton droit sur une résistance existante et d'entrer une formule. Par exemple

R=11-100*time

réduira linéairement la résistance de 11Ohm à 1Ohm sur une durée de 100ms. Vous pouvez utiliser presque toutes les fonctions disponibles pour les sources de tension b (source de tension comportementale arbitraire), ainsi que toutes sortes de mesures, par exemple des tensions d'autres nœuds.


18

Il y a une autre manière. Configurez une source de tension et choisissez la sortie souhaitée. Étiquetez la résistance nette de sortie. Les volts à la source seront exactement ce que la résistance est. C'est-à-dire que 10KV seront les mêmes que 10K ohm. Utilisez ensuite la résistance standard avec l'affectation R = V (Vresistance). Lorsque la source de tension change, la résistance change avec elle. La bonne chose à ce sujet est que le fichier PWL peut maintenant être utilisé pour contrôler la résistance. Particulièrement agréable lors de l'exécution de choses à partir de Mathematica ou Matlab.


Nice Paul, c'est exactement ce que je cherchais. Même essayé "R = PWL (...)" comme valeur.
rdtsc

J'ai dû google "fichier PWL" , mais maintenant je vois un avantage potentiel de cette méthode lors de l'interaction avec des programmes externes. Soit dit en passant, je pense que sous le capot, cela fonctionne également comme comportement (expression) pour la résistance.
Fizz

C'était ma solution préférée. Rédaction complète ici: electronicspoint.com/resources/…
Frederick

1

En utilisant la suggestion de McHale, j'ai produit un Current Dummy xLoad pour tester les alimentations et les circuits d'alimentation. Sur la base d'une séquence PWL, la charge aspire le courant de l'alimentation, quelle que soit la tension à l'alimentation.

La séquence PWL spécifie un profil de rampe et de secousse qui exerce l'alimentation, de sorte que l'on pourrait analyser le comportement d'une telle alimentation, si elle rebondit, oscille, sonne, le temps de récupération de tension, etc.

Le fichier xLoad .asy peut être n'importe quoi avec deux connexions, car il se comporte comme une résistance dynamique qui change sa valeur en fonction des valeurs PWL ET de la tension appliquée aux entrées Load. Vous pouvez appliquer un 10Vdc avec une ondulation de 9V et la charge adaptera sa résistance dynamique afin qu'elle suive le profil actuel du PWL.

Le xLoad n'a qu'un seul paramètre, "mult". Ce paramètre permet à l'utilisateur de modifier le courant maximal à partir du profil PWL, donc, mult = 1 utilisera un profil qui aspirera un maximum de 1A de l'alimentation, mult = 4,2 aspirera un maximum de 4,2A. Votre xload.asy doit avoir un attribut visible "mult = 1", donc le xLoad fonctionnera et vous pourrez modifier l'attribut à tout moment.

Le xLoad utilise un petit condensateur pour arrondir des arêtes très nettes qui peuvent simuler des fréquences et des anneaux très élevés, ce qui ne se produit pas dans la vraie vie, donc tous les coins sont un peu arrondis. Si vous souhaitez modifier ou éliminer cette fonctionnalité, changez simplement la valeur de C1 de 10n ou même supprimez cette ligne. La fonctionnalité est juste un filtre RC, R2 et C1, une autre façon de changer le filtre change la valeur ou R2, ne supprimez pas cette ligne, xLoad ne fonctionnera pas sans R2, vous pouvez changer sa valeur à zéro ohms pour éliminer complètement le filtre, même si je ne sais pas pourquoi vous voudrez avoir des coins pointus MegaHertz.

Créez un nom de fichier texte XLOAD.SUB dans votre répertoire LTSPICE / LIB / SUB, avec le contenu suivant (la ligne "v1" est longue et non interrompue):

    * 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 simulation .asc simple avec le symbole que j'ai fait, et les plans de tracé montrant le courant et la tension ondulée d'alimentation ci-dessous. Notez que sur la base des timmings PWL, xLoad commence à s'exécuter à 100 ms et se termine à 235 ms. Vous pouvez modifier ces timings aux valeurs PWL à l'intérieur du SUB.

entrez la description de l'image ici

entrez la description de l'image ici


0

Si vous souhaitez parcourir les valeurs des valeurs de résistance (exemple R):

  1. Réglez la valeur de la résistance que vous voulez être variable, soyez {R}(n'oubliez pas les accolades!)
  2. Cliquez sur .op(à l'extrême droite de la barre d'outils)
  3. Type: .step param R 1 10k 1k(pas de 1 à 10K par incréments de 1k)

Si vous voulez balayer la valeur de R dans le temps, ce n'est pas possible car les simulateurs auront des problèmes de convergence!


Je ne pense pas que ce soit ce que le PO recherche, et d'autres réponses suggèrent que c'est possible.
Null
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.