Modèle de résistance sans perte dans PSpice?

Filip Cvejic

Modèle de résistance sans perte dans PSpice?


Est-il possible de faire un modèle de résistance sans perte en piment? Je veux tester le grand modèle de signal de mon convertisseur DCM SEPIC (sans le linéariser). La bibliothèque PSpice d’OrCad ne semble pas l’avoir, mais est-il possible de créer un modèle d’une manière ou d’une autre?Image de "Fondements de l'électronique de puissance" par Erickson et Maksimović

J’ai beaucoup cherché, donc je suis désolé si j’ai réussi à manquer la réponse à cette question.

EDIT: La résistance sans perte est un élément à deux ports composé d’une résistance et d’une source d’alimentation, de sorte que la puissance apparemment consommée par la résistance est produite par la source d’alimentation.

Andy aka

Si vous pouvez dessiner cette résistance sans perte à partir de composants dans une carte SIM, alors cela peut être fait. Avez-vous un circuit pour une résistance sans perte ou une formule qui le décrit?

Le photon

Qu’est-ce qu’une « résistance sans perte »? Par définition, une résistance a une tension aux bornes de celle-ci proportionnelle au courant qui la traverse, elle consommera donc de l’énergie à moins qu’il n’y ait 0 V aux bornes.

Filip Cvejic

La résistance sans perte est un élément à deux ports composé d’une résistance et d’une source d’alimentation, de sorte que la puissance apparemment consommée par la résistance est produite par la source d’alimentation. Je devrais probablement ajouter ceci à la question.

Barry

Qu’est-ce qu’une résistance sans perte?

Le photon

Les convertisseurs Real Cuk et SEPIC utilisent des transformateurs plutôt que des résistances sans perte — peut-être dans une plage raisonnable de conditions de fonctionnement, vous pourriez utiliser un modèle de transformateur dans votre simulation au lieu d’une résistance sans perte?

Réponses


 jonk

Je pense que j’ai travaillé pour LTspice. Je ne sais pas comment les symboles sont édités et créés dans PSpice, car je n’y ai pas eu accès auparavant. Pour LTspice, je peux faire des symboles (fichiers .ASY) puis aussi les fichiers modèles (.MOD, .LIB, etc.)

Ce que je pensais dont vous avez besoin est à peu près juste. Voici le modèle subckt que j’ai écrit:

* Node 1 -- one end of resistor
* Node 2 -- other end of resistor
* Node 3 -- one end of power source
* node 4 -- other end of power source
.SUBCKT LR01 1 2 3 4 PARAMS: LR=1k
RX 1 2 {LR}
BY 4 3 I={V(1,2)**2/V(3,4)/{LR}}
.ENDS

L’idée ici est d’appeler le modèle LR01 et il a besoin de 4 nœuds; deux pour la résistance et deux pour la pièce de puissance. L’utilisation de paramètres: me permet de définir une valeur par défaut pour la résistance. Mais vous pouvez facilement le remplacer lors de l’appel du subckt.

J’ai utilisé une source de courant comportementale ici. C’était beaucoup plus facile que d’essayer d’utiliser certains des autres appareils (G, par exemple.)

Voici le fichier .ASY que j’ai développé pour LTspice:

Version 4
SymbolType CELL
LINE Normal 16 24 16 16
LINE Normal 32 32 16 24
LINE Normal 0 48 32 32
LINE Normal 32 64 0 48
LINE Normal 0 80 32 64
LINE Normal 16 88 0 80
LINE Normal 16 96 16 88
LINE Normal 96 25 64 25
LINE Normal 96 88 96 25
LINE Normal 64 88 64 25
LINE Normal 96 88 64 88
LINE Normal 72 48 80 32
LINE Normal 88 48 72 48
LINE Normal 80 32 88 48
LINE Normal 88 64 72 64
LINE Normal 80 80 88 64
LINE Normal 72 64 80 80
LINE Normal 80 32 80 16
LINE Normal 80 80 80 96
WINDOW 0 112 32 Left 2
WINDOW 38 112 64 Left 2
WINDOW 3 -24 104 VLeft 2
SYMATTR SpiceModel LR01
SYMATTR Prefix X
SYMATTR Description Lossless Resistor
SYMATTR ModelFile LR.MOD
SYMATTR Value LR=10k
PIN 16 16 NONE 0
PINATTR PinName A
PINATTR SpiceOrder 1
PIN 16 96 NONE 0
PINATTR PinName B
PINATTR SpiceOrder 2
PIN 80 16 NONE 0
PINATTR PinName C
PINATTR SpiceOrder 3
PIN 80 96 NONE 8
PINATTR PinName D
PINATTR SpiceOrder 4

Il suffit de créer un symbole visuel à utiliser dans l’éditeur de schémas où les nœuds sont attachés à droite.

Voici le premier test que j’ai essayé. Vous pouvez voir à la fois le schéma et les graphiques de puissance.

entrez la description de l'image ici

Vous pouvez voir que l’alimentation en tension à gauche du schéma fournit de l’énergie (la courbe bleue montre

dixmW

), que la résistance à droite du schéma consomme de l’énergie (la courbe verte indique

+dixmW

), et que le dispositif étrange que vous vouliez (résistance sans perte) se nettoie à puissance nulle (la courbe rouge indique

0mW

.)

Voici une autre photo d’un circuit que j’ai essayé.

entrez la description de l'image ici

L’UIC empêche le circuit de trouver le point DC, parce que je voulais voir «des choses se produire» ici. Cela semble marcher correctement. La dissipation de puissance dans la résistance sans perte est « bruyante » (pics de picowatt) mais en général, elle oscille près de 0 tout le temps. C’est ce que vous attendez.

J’ai donc essayé quelques petites choses. L’un d’eux comprenant un dispositif de stockage d’énergie. Les résultats semblent être ce que j’attendais. Voilà donc mon tir jusqu’à présent.

Si je découvre quelque chose qui doit être changé, je mettrai à jour cet article.


Si vous utilisez LTspice, vous devez suivre les étapes suivantes.

  1. Prenez une copie du modèle subckt en haut de mon article ici (vous pouvez ignorer les lignes commençant par *) et mettez ces quatre lignes dans un éditeur de texte. Enregistrez ensuite le fichier sur le disque sous le nom de LR.MOD. Ce fichier doit aller dans le répertoire d’installation de votre programme LTspice dans un dossier qui est . Lib sub pour que LTspice puisse le trouver facilement. (Il y a d’autres façons. Mais c’est plus d’écriture pour moi.)
  2. Prenez une copie de la description de l’image schématique également dans mon article ici (elle commence par « Version 4 ») et mettez-la également dans un éditeur de texte. Enregistrez ensuite le fichier sur le disque sous le nom de LR.ASY. Ce fichier doit aller dans le répertoire d’installation de votre programme LTspice dans un dossier qui est . Lib sym pour que LTspice puisse trouver ce symbole facilement. (Encore une fois. Il y a d’autres façons. Mais c’est plus d’écriture pour moi.)
  3. Fermez LTspice et redémarrez-le. Cela garantira qu’il relit les répertoires et se fait un ensemble de choses à jour que vous pouvez utiliser pour mettre sur le schéma.
  4. Commencez un nouveau schéma et ajoutez quelques pièces. Je vous suggère de commencer par des tests simples, d’abord. Trouvez cette pièce dans la liste des pièces que LTspice présente (vous devriez pouvoir voir une pièce appelée « LR » dans la liste.) Placez-la sur le schéma avec les autres pièces. Modifiez la valeur de LR à d’autres valeurs pour essayer. (Gardez la partie « LR = » à l’avant, cependant.) Exécutez quelques tests.
un citoyen concerné

Vous pouvez définir une source comportementale pour simuler une charge / source de puissance constante (lorsque la puissance est négative), voir ceci pour une brève explication: ltwiki.org/?title=Undocumented_LTspice#B-Sources (at Bn P=f(...)). Par exemple , pour la 1Wcharge, P=1.

jonk

@aconcernedcitizen Ah. Je peux peut-être retirer un élément de l’équation que j’utilise. Ce serait un peu plus simple à faire. Mais il utiliserait une fonctionnalité non documentée.

jonk

@aconcernedcitizen Je viens d’essayer l’idée en utilisant P =. Je n’arrive pas à le faire marcher. Aucun message d’erreur. Rien que de la puissance nulle tout le temps. J’ai lu les commentaires sur (-) pour la source d’alimentation et (+) pour le dissipateur de puissance. J’ai essayé les deux signes dans l’équation. Pas de chance du tout.

jonk

@aconcernedcitizen D’accord. J’ai fini de tester cette chose idiote pour l’instant. Je viens de créer une source B et de la définir pour une variété de valeurs P = et de zippo – rien ne se passe beaucoup. Aucune erreur. Ainsi, « P = -10m » et « P = 10m » et « P = {- 10m} » et « P = {10m} » semblent tous faire la même chose que « P = 0 ». Maintenant, si j’y mets un nom de nœud qui n’existe pas, j’obtiens un message d’erreur. Il analyse donc cela. Mais je pense que soit je n’ai aucune idée de comment l’utiliser et il y a un moyen mais je ne peux pas le comprendre, ou bien cette fonctionnalité ne fait pas vraiment grand-chose dans LTspice. Si vous voyez un exemple Web, cela pourrait m’aider à bien faire les choses.

Filip Cvejic

@jonk Awesome! Je vous remercie! Je vais essayer de comprendre comment le faire dans PSpice et le poster quand j’aurai le temps.

 

#(sans, #de, dans, modèle, perte, PSpice,, résistance

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *