Parametrizando el valor del diodo en SPICE

2

Tengo un grupo de diodos del mismo tipo en un esquema en LTSpice. ¿Cómo parametrizo el tipo de diodo (Valor) para poder cambiarlo en un lugar y lo cambiaría para todos?

La declaración .PARAM no parece ser compatible con literales, por lo que no puedo usar algo como

.PARAM DiodeValue=NSPW500BS
    
pregunta axk

2 respuestas

2

Hay una solución alternativa utilizando el comando .SUBCKT dot. Aquí hay un circuito de ejemplo:

Yaquíestálasalida:

En resumen, debe crear un subcircuito con dos terminales cuyo único componente interno sea el diodo que desee.

El código SPICE:

.subckt MyDiode A K
D A K 1N4148
.ends

define un subcircuito llamado MyDiode con dos terminales llamadas A y K (estos nombres son locales a la definición del subcircuito). .ends termina la definición. El código intermedio es el código SPICE regular que dice que un diodo D se ubica entre los nodos (local) A y K y que el diodo tiene un modelo 1N4148 SPICE.

Se requiere .lib standard.dio para cargar los modelos ( 1N4148 ) utilizados dentro del subcircuito. Si los modelos de los diodos que desea usar no están en las bibliotecas de partes estándar de LTspice, debe colocar la ruta completa en la directiva .lib (consulte la guía de LTspice para obtener más información).

Tenga en cuenta que tiene que cambiar los atributos predeterminados de los diodos que normalmente coloca en el esquema, como se muestra en esta imagen:

TengaencuentaqueelPrefixdebecambiarsedeDaX(paraindicaraLTspicequelapiezaesunsubcircuitoynoundiodoestándar)yelatributoValuedebeserelnombredelsubcircuito(aquíMyDiode).

Deahoraenadelante,sideseacambiarla"implementación" de las partes MyDiode , es suficiente cambiar la definición del subcircuito, como puede ver en la imagen de abajo, donde la cambié para usar un 1N4007 modelo:

    
respondido por el Lorenzo Donati
1

Desde que descubrí una función relevante e indocumentada de LTspice, publico esta nueva respuesta, posiblemente mejor.

Exención de responsabilidad : esta fue una edición de otra respuesta que publiqué en este hilo antes . Desde entonces, descubrí que la práctica aceptada en los sitios de SE es publicar respuestas adicionales si son lógicamente independientes (ver esta pregunta Meta.EE.SE ).

Resulta que existe un método más simple, gracias a una función no documentada de LTspice que descubrí recientemente. La directiva .model permite un formato en el que puede especificar que el modelo que está definiendo es A Kind Of y otro modelo ( AKO ):

.model MyDiode AKO: 1N4007

Por lo tanto, la configuración de simulación anterior se puede simplificar de esta manera:

Enestecaso,noesnecesariocambiarlosatributosavanzadosdelosdiodoscomoantes.SolonecesitaespecificarMyDiodecomoelvalordelaparte:

Esa característica está documentada aquí en el grupo LTspice Yahoo WIKI y permite un par de otros trucos, como como cambiar algunos parámetros del modelo existente, o definir un modelo con un nombre puramente numérico, lo que permite usarlo en una directiva .step para pasar por diferentes modelos (todos con nombres de modelos numéricos personalizados).

    
respondido por el Lorenzo Donati

Lea otras preguntas en las etiquetas