Medición de la eficiencia en varias cargas en LTSpice

Si desea conocer la eficiencia de un circuito en LTSpice, es razonablemente simple configurar la simulación para obtener un informe de eficiencia:

Seleccione Simular -> Editar cmd de simulación y seleccione 'Dejar de simular si se detecta un estado estable'. Vuelva a ejecutar la simulación. Seleccione Ver -> Informe de eficiencia -> Mostrar en esquema. El informe de eficiencia aparece en el esquema. (Instrucciones robadas de este sitio web , otras fuentes están disponibles)

Este informe de eficiencia es útil no solo para la alimentación de entrada/salida, sino también donde las pérdidas son: diodos, transistores, transformadores, etc., como se muestra aquí:Captura de pantalla de LTSpice que muestra la tabla de eficiencia

Sin embargo, esto solo funciona si hay una entrada fija (una fuente de voltaje) y si hay una salida fija (una fuente de corriente o resistencia llamada RLOAD)

Lo cual está bien si tiene una carga fija conocida o solo un par de estados fijos.

¿Hay algún método para obtener el informe de eficiencia completo para un montón de puntos? Por ejemplo, tengo un convertidor DCDC y necesito saber cómo funciona cuando se extrae 0.1, 0.2, 0.3 .... 1.9, 2.0, 2.1W, y dónde va la energía (U1, U2, etc.).

Estoy seguro de que hay una manera de hacer un lote de ejecuciones para un conjunto de opciones, pero no puedo encontrar cómo hacerlo para los informes de eficiencia.

Siempre puede piratear juntos sus comandos .meas y pasar por los valores
@PlasmaHH ¡Parece que Mike dice que así es exactamente como se hace! Mi respuesta no es realmente una respuesta, así que la modificaré o la eliminaré cuando tenga un momento. Si respondes, simplemente eliminaré el mío. No estoy seguro de cómo obtener el informe completo para la pregunta del OP usando .MEAS.
@jonk Puede usar estos .meascomandos, por ejemplo, suponiendo que V1la fuente de entrada V(i)es el voltaje de entrada, R1la carga y V(o)el voltaje de salida:.meas Iin rms(-I(v1)) trig time=6 targ time=10 .meas Vin rms(V(i)) trig time=6 targ time=10 .meas Pin param Vin*Iin .meas Pout avg(V(o)*I(R1)) trig time=6 targ time=10 .meas eff param Pout/Pin
@aconcernedcitizen Muchas gracias. Intentará. Si puede escribir una buena respuesta, me complacería eliminar la mía. De lo contrario, si tengo tiempo para verificar y modificar mi respuesta, intentaré hacerlo.
Olvidé agregar que la entrada es sin 0 1 1y la simulación es .tran 10, mientras que todo el circuito es un paso bajo RL, es por eso que espero 6 períodos. Mido más de 4 para una mejor precisión, a veces "promedia" las variaciones menores.
Adelante, estoy a punto de volver a algunos intentos de codificación. :-)
Menos mal que me olvidé de cosas esta mañana. Puede acortar los comandos fusionando los rms()en las .meastarjetas, pero de esta manera es más visible y guarda los resultados intermedios para un mejor análisis.
@jonk: Personalmente, a menudo pirateo cosas juntas con comandos .meas debido a que el informe de eficiencia solo funciona si ltspice tiene alguna forma de detectar el estado estable, lo que a menudo no es el caso. La posibilidad de seleccionar un rango de tiempo en los comandos .meas es muy útil aquí. Sin embargo, personalmente no uso el paso a paso, porque puede tener errores, especialmente si lo usa para cambiar componentes. Los scripts de python de conducción externa hacen que las cosas sean un poco más convenientes
@PlasmaHH Parece que necesito aprender a usarlo bien. Lástima que retrasará cualquier mejora en mi respuesta. No creo, por lo que he leído en la ayuda y lo que ambos han mencionado aquí, que esto sea EN NINGÚN LUGAR tan fácil de usar como el informe de eficiencia. Probablemente por qué preguntó el OP.
A partir de los comentarios, no puedo decir si "se sabe": el informe de eficiencia solo es válido (es decir, solo se puede activar) si se coloca un componente de conmutación nativo de LTspice en el esquema, LTspice debe poder detectar su presencia, de lo contrario no funcionará. Para poder utilizar el informe en otro lugar, basta simplemente con colocar uno de esos dispositivos en el esquema (preferiblemente el más simple), conectado a tierra, pero desconectado. Seguirá contando para el solucionador de matrices, pero al menos se multiplicará por cero; entonces se puede activar el informe de eficiencia.

Respuestas (1)

Puede hacer un lote de ejecuciones agregando una tarjeta .STEP PARAM, si agrega "No restablecer T = 0 cuando se detecta un estado estable". Entonces podría ajustar su RLOAD usando dicho valor de parámetro. El problema es que el Informe de eficiencia solo reflejará la última ejecución, creo. LTSpice no puede producir más de uno de ellos.

Puede tener una idea de cómo el software de LTspice maneja el Informe de eficiencia simplemente agregando una tarjeta o una parte, como una resistencia, debajo de su circuito en algún lugar. El informe se moverá "mágicamente" debajo de todas las partes. Entonces, hay un poco de software que está dentro del código de visualización esquemático. Y dudo que este código de visualización tenga acceso a más de una estructura de datos para el informe. Una razón es que si dichos datos fueran una matriz de tales estructuras, entonces el código de visualización tendría que descubrir cómo mostrar todos esos informes automáticamente. Y sospecho que Mike no quería tener que ir a buscar un resultado complejo de "buena apariencia" para eso. Otra razón es que el informe de eficiencia probablemente esté "hackeado" porque el departamento de ventas lo exigió para LTspice como una forma de hacer que la selección de sus chips convertidores de energía sea más fácil, conveniente y competitiva con otros que también tienen formas de proporcionar dichos informes para sus propias piezas. Y como el departamento de ventas norequieren múltiples informes de apoyo, no había necesidad de "ir allí".

He podido generar múltiples ejecuciones, sin problema, con la tarjeta .STEP y con una tarjeta .OPTION para jugar con valores SSTOL. Entonces el motor Spice lo hará. Y estoy seguro de que los datos podrían colocarse fácilmente en una matriz de estructuras, con un conteo también. Estoy bastante seguro de que Mike no tendría ningún problema allí. Así que creo que probablemente no sucederá a menos que alguien le dé a Mike un algoritmo claro y convincente que simplemente "cante maravillosamente" en su mente y sea fácil de implementar, con respecto a la visualización de tales resultados del motor. Probablemente tiene muy poca motivación para proporcionar varios informes. Pero podría estar interesado si puede ver claramente cómo hacer un trabajo confiable de una manera que no genere llamadas telefónicas de soporte adicionales.

(Estoy seguro de que el equipo de ventas ya aceptó la necesidad de llamadas de soporte con respecto a UNO de esos informes. Es necesario, competitivamente. Así que es una obviedad. Tienen que morder esa bala. Pero es posible que no estén muy contentos si Mike y agrega algo que hace que las llamadas sean más costosas y más frecuentes, sin primero pedirles permiso. Podría colarse, si cree que no habrá tales problemas).


Otra posible sugerencia para Mike sería otra opción en la simulación .TRAN, donde muestra el informe en el esquema (como ya lo hace) y luego simplemente solicita después de cada .STEP PARAM que presione ENTER o algo así para pasar a la siguiente valor de .STEP PARAM. Esto no agregaría ningún cambio al código de visualización, no agregaría ningún cambio al código Spice que genera los datos, y solo agregaría una opción arcana (e ignorada por la mayoría de las personas) que permite que este código especial se detenga antes de pasar a el siguiente valor de .STEP PARAM. Mike podría comprar esa idea.

Ya sé que funciona, porque puedo realizar una serie de simulaciones ahora mismo con el producto existente. Y muestra el Informe de Eficiencia de la última simulación. Entonces solo recoge los datos de la última ejecución. Entonces, es seguro que agregar un cuadro de diálogo de solicitud sería bastante fácil de hacer, muy claro para Mike, y puede tener una oportunidad.


Le he escrito a Mike. Voy a ver que dice de todo esto.