¿Modelo de resistencia sin pérdidas en PSpice?

¿Es posible hacer un modelo de resistencia sin pérdidas en especias? Quiero probar el modelo de señal grande de mi convertidor DCM SEPIC (sin linealizarlo). La biblioteca PSpice de OrCad no parece tenerlo, pero ¿es posible hacer un modelo de alguna manera?

Imagen de "Fundamentos de electrónica de potencia" de Erickson y Maksimović

La resistencia sin pérdidas es un elemento de dos puertos que consta de una resistencia y una fuente de alimentación, de modo que la energía aparentemente consumida por la resistencia es producida por la fuente de alimentación.

Si puede dibujar esta resistencia sin pérdidas de los componentes en un sim, entonces seguro que se puede hacer. ¿Tiene un circuito para una resistencia sin pérdidas o alguna fórmula que lo describa?
¿Qué es una "resistencia sin pérdidas"? Por definición, una resistencia tiene un voltaje a través de ella proporcional a la corriente a través de ella, por lo tanto, consumirá energía a menos que haya 0 V a través de ella.
La resistencia sin pérdidas es un elemento de dos puertos que consta de una resistencia y una fuente de alimentación, de modo que la energía aparentemente consumida por la resistencia es producida por la fuente de alimentación. Probablemente debería agregar esto a la pregunta.
¿Qué es una resistencia sin pérdidas?
Los convertidores Real Cuk y SEPIC usan transformadores en lugar de resistencias sin pérdidas --- ¿tal vez dentro de un rango razonable de condiciones de operación podría usar un modelo de transformador en su simulación en lugar de una resistencia sin pérdidas?
La resistencia sin pérdidas es solo un modelo de cómo se comporta el circuito (definitivamente no existe). Quiero simular el transitorio de encendido, por lo que un modelo de transformador no sería lo suficientemente preciso. Además, para un rango más reducido de condiciones operativas, el enfoque estándar es linealizar el modelo.
Las resistencias en los simuladores son ideales, por definición, no tienen pérdidas. La pérdida de energía en una resistencia solo se debe principalmente al calor (hay una inductancia menor y un acoplamiento de capacitancia), por lo que no entiendo lo que está preguntando. En simuladores como LTSpice, puede importar resistencias del mundo real que agregan un factor de calor, pero las resistencias estándar son ideales. ¿Quizás está pensando en la compensación del mundo real que representa la pérdida de calor? - que no necesitas en los simuladores
@sidA30, por definición, las resistencias ideales tienen pérdidas, vea mi comentario anterior. La pregunta es sobre un componente (inexistente en el mundo real) que toma energía de una rama de un circuito y la entrega en otra rama.
OP, ¿qué especia estás usando? Algo esotérico como este podría necesitar un modelo diferente en un Spice diferente. En LTSpice, este artículo sobre el uso de la fuente de comportamiento arbitraria para modelar una carga de potencia constante podría llevarlo a una solución (estos modelos de comportamiento pueden depender de los voltajes de los nodos del circuito y las corrientes de las ramas, con algunas limitaciones).
Todavía no estoy seguro de entender qué es esta resistencia sin pérdidas. Pero creo que alguna combinación de fuentes controladas debería ayudarlo a hacer uno. en.wikipedia.org/wiki/Dependent_source
¿Sería esto simplemente un .subckt que monitorea dos nodos en busca de la diferencia de voltaje, con la resistencia presente en esos nodos, y la potencia calculada a partir del voltaje y la resistencia luego se alimenta como un parámetro a un VCCS-subckt vinculado a los otros dos nodos? dentro del subckt? Parece que eso podría funcionar. Tendrías que polarizar la parte correctamente en el circuito. (Configure el VCCS en un subckt diferente e invóquelo con un parámetro modificado). Sin embargo, tendré que probar esto en otro día. Podría ser divertido. Nunca había considerado esto antes.
Cuk y SEPIC, así como muchas celdas dc-dc, se pueden modelar usando técnicas de modelado promedio. El modelo de interruptor PWM, presentado en 1986 por V. Vorpérian, se presta perfectamente para esto. Más tarde vino la red sin pérdidas modelada por B. Erickson y D. Maksimovic de la Universidad de Boulder. El principio es muy similar ya que modela un comportamiento promedio a través de fuentes de corriente y voltaje, lo que lleva a una descripción continua en el tiempo. Tiene el modelo que desea aquí encon.fke.utm.my/nikd/Dc_dc_converter/Spice/pesc99-seminar.pdf , diapositiva 85 para un modelo PSpice DCM-CCM de alternancia automática.
Para un análisis DCM SEPIC con el modelo de conmutador PWM, también puede consultar aquí: ieeexplore.ieee.org/document/8030379
@jonk ¡Sí, creo que eso es exactamente lo que necesito! Simplemente no sé cómo funciona un .subckt... Si logras que tu idea funcione, ¡házmelo saber!
@ThePhoton Estoy usando PSpice, pero podría probar y experimentar en LTSpice, ¡gracias por el enlace!

Respuestas (1)

Creo que he resuelto esto para LTspice. No sé cómo se editan y crean los símbolos en PSpice, ya que no he tenido acceso a él antes. Para LTspice, puedo hacer símbolos (archivos .ASY) y también los archivos modelo (.MOD, .LIB, etc.)

Lo que estaba pensando que necesitas es correcto. Aquí está el modelo subckt que escribí:

* 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

La idea aquí es llamar al modelo LR01 y necesita 4 nodos; dos para la resistencia y dos para la pieza de potencia. El uso de params: me permite configurar un valor predeterminado para la resistencia. Pero puede anularlo fácilmente al llamar al subckt.

Usé una fuente de corriente de comportamiento aquí. Fue MUCHO más fácil que tratar de usar algunos de los otros dispositivos (G, por ejemplo).

Aquí está el archivo .ASY que desarrollé para 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

Todo lo que hace es crear un símbolo visual para usar en el editor de esquemas donde los nodos están atados correctamente.

Aquí está la primera prueba que probé. Puede ver tanto el esquema como las cifras de potencia graficadas.

ingrese la descripción de la imagen aquí

Puede ver que el suministro de voltaje a la izquierda del esquema está suministrando energía (la curva azul muestra 10 mW ), que la resistencia a la derecha del esquema está consumiendo energía (la curva verde muestra + 10 mW ), y que el dispositivo extraño que quería (resistencia sin pérdidas) sale a potencia cero (la curva roja muestra 0 mW .)

Aquí hay otra foto de un circuito que probé.

ingrese la descripción de la imagen aquí

La UIC evita que el circuito encuentre el punto de CC, porque quería ver que "sucedieran cosas" aquí. Parece que funciona bien. La disipación de energía en la resistencia sin pérdidas es "ruidosa" (picos de picovatios), pero en general ronda cerca de 0 todo el tiempo. Que es lo que esperarías.

Así que he probado algunas cosas. Uno de ellos incluye un dispositivo de almacenamiento de energía. Los resultados parecen ser lo que esperaba. Así que esa es mi oportunidad hasta ahora.

Si descubro algo que necesita cambiar, actualizaré esta publicación.


Si usa LTspice, debe realizar los siguientes pasos.

  1. Haga una copia del modelo subckt en la parte superior de mi publicación aquí (puede ignorar las líneas que comienzan con *) y coloque esas cuatro líneas en un editor de texto. Luego guarde el archivo en el disco con el nombre de LR.MOD. Este archivo debe ir al directorio de instalación de su programa LTspice en una carpeta que es .\lib\sub\ para que LTspice pueda encontrarlo fácilmente. (Hay otras formas. Pero eso es más escribir para mí).
  2. Tome una copia de la descripción de la imagen esquemática también en mi publicación aquí (comienza con "Versión 4") y colóquela también en un editor de texto. Luego guarde el archivo en el disco con el nombre de LR.ASY. Este archivo debe ir al directorio de instalación de su programa LTspice en una carpeta que es .\lib\sym\ para que LTspice pueda encontrar ese símbolo fácilmente. (Otra vez. Hay otras formas. Pero eso es más escribir para mí).
  3. Cierre LTspice y reinícielo. Esto asegurará que vuelva a leer los directorios y se convierta en un conjunto actualizado de cosas que puede usar para colocar el esquema.
  4. Comience un nuevo esquema y agregue algunas partes. Le sugiero que comience con pruebas simples, primero. Encuentre esta parte en la lista de partes que presenta LTspice (debería poder ver una parte llamada "LR" en la lista). Colóquela en el esquema junto con las otras partes. Modifique el valor de LR a otros valores para probar. (Sin embargo, mantenga la parte "LR=" al frente.) Ejecute algunas pruebas.
Puede configurar una fuente de comportamiento para simular una carga/fuente de energía constante (cuando la energía es negativa), consulte esto para obtener una breve explicación: ltwiki.org/?title=Undocumented_LTspice#B-Sources (en Bn P=f(...)). Por ejemplo, para 1Wcarga, P=1.
@aconcernedcitizen Ah. Tal vez pueda quitar un elemento de la ecuación que uso. Eso sería un poco más simple de hacer. Pero usaría una función no documentada.
@aconcernedcitizen Acabo de probar la idea usando P=. No puedo conseguir que funcione. Sin mensajes de error. Simplemente nada más que energía cero todo el tiempo. Leí los comentarios sobre (-) para fuente de alimentación y (+) para disipador de energía. Intenté ambos signos en la ecuación. Sin suerte, en absoluto.
@aconcernedcitizen Está bien. He terminado de probar esa cosa tonta por ahora. Acabo de crear una fuente B y la configuré para una variedad de valores P = y zippo: no sucede mucho. Sin errores. Así que "P=-10m" y "P=10m" y "P={-10m}" y "P={10m}" parecen hacer lo mismo que "P=0". Ahora, si pongo un nombre de nodo que no existe, recibo un mensaje de error. Entonces lo está analizando. Pero creo que no tengo ni idea de cómo usarlo y hay una manera, pero no puedo resolverlo, o esta característica realmente no hace mucho en LTspice. Si ve un ejemplo web, tal vez eso podría ayudarme a hacerlo bien.
@jonk Genial! ¡Gracias! Intentaré descubrir cómo hacerlo en PSpice y lo publicaré cuando tenga tiempo.
@jonk De su ejemplo, mantenga solo V1(tal vez como una pwl 0 1 1 2rampa de prueba) y agregue un bio bi2o bv(flecha hacia abajo, en el sentido de la corriente). Luego reemplace I=con P=10m. Si se ejecuta con .tran 1, Alt+RClickmostrará una pantalla extraña, pero alrededor 10mWdebido a la compresión (sin embargo, la corriente será clara). Alejarse lo corrige, o .opt plotwinsize, o un paso de tiempo más ajustado. Si reemplaza el pwlcon sin 1 1 1, verá un resultado interesante (un poco inesperado para mí). No está documentado, pero creo que se discutió en Yahoo LTspice Group.