¿Hay un modelo de potenciómetro para LTspice?

Empecé a diseñar un modelo para un potenciómetro de tres terminales en LTspice, ya que no se incluye ninguno y es un componente muy común. Al dibujar el símbolo .asy y el terminal del limpiaparabrisas, me di cuenta de que esto iba a ser más complicado de lo que parecía. ¿Cómo se modelarían las diversas velas? ¿Cómo se "controlaría" este estrechamiento durante la simulación? Parece que al menos un subcircuito y una biblioteca están en orden.

Antes de reinventar la rueda, ¿ alguien ya lo ha hecho ? Gracias.Modelo de resistencia de 3 terminales, en construcción

En el pasado, he usado una resistencia estándar y luego solo un barrido paramétrico de los valores de la resistencia para modelar un potenciómetro.

Respuestas (5)

...alguien ha hecho esto ya?

Sí, alguien ya lo ha hecho. (Creo que su nombre es Helmut Sennewald).

El grupo Yahoo LTSpice tiene un conjunto de potenciómetros que funcionan muy bien. Tendrá que registrar una cuenta de Yahoo y unirse al grupo para descargarlos (por cierto, le recomiendo hacer esto si desea buscar LTSpice, el grupo de Yahoo tiene una de las colecciones más grandes de modelos LTSpice de terceros).

Los archivos relevantes son potentiometer_standard.liby potentiometer_standard.asy, así como algunos otros archivos de apoyo.

Los modelos proporcionan modelos lineales, logarítmicos y otros, así como un símbolo de potenciómetro. El siguiente es un extracto del archivo Léame.

pot_lin : ideal linear resistance dependency
pot_pow : ideal power function resistance dependency
pot_plog : ideal positive logarithm function resistance dependency
pot_nlog : ideal negative logarithm function resistance dependency
potr_tab: arbitrary(table) based resistance dependency
pot_piher_plog : pseudo logarithm function resistance dependency, Piher
pot_radiohm_plog : measured pseudo logarithm fucntion resistance dependency, Radiohm

¿Cómo se "controlaría" este estrechamiento durante la simulación?

Estos potes tienen una wiperpropiedad que se puede parametrizar fácilmente como un parámetro LTSpice regular. Por ejemplo, puede decir wiper={GAIN}y luego agregar una directiva como .step param GAIN 0 1.0 0.25.

¡excelente! Pero, ¿cómo lo consigo sin vender mi alma a Yahoo? Es decir, no tener que hacer una cuenta allí?
Los grupos de Yahoo están siendo cerrados. ¿Se ha mudado el grupo a otro lugar?
Una alternativa podría ser: groups.io/g/LTspice

Traté de seguir las sugerencias anteriores, pero me tomó mucho tiempo crear un potenciómetro que se parece a un potenciómetro y que se puede instanciar desde el esquema principal. Entonces, para el beneficio de cualquiera que sea tan tonto como yo...

Simplemente copie estos 3 archivos en un directorio en la ruta de búsqueda de LTspice (borre los espacios iniciales en cada línea). Espero que los nombres se expliquen por sí mismos.

potenciometro_prueba.asc

    Version 4
    SHEET 1 880 680
    WIRE 272 48 0 48
    WIRE 528 48 272 48
    WIRE 272 80 272 48
    WIRE 528 80 528 48
    WIRE 0 96 0 48
    WIRE 0 192 0 176
    WIRE 272 208 272 176
    WIRE 528 208 528 176
    FLAG 272 208 0
    FLAG 0 192 0
    FLAG 320 128 out1
    FLAG 528 208 0
    FLAG 576 128 out2
    SYMBOL voltage 0 80 R0
    SYMATTR InstName V1
    SYMATTR Value 10
    SYMBOL potentiometer 272 176 M0
    SYMATTR InstName U1
    SYMATTR SpiceLine2 wiper=0.2
    SYMBOL potentiometer 528 176 M0
    SYMATTR InstName U2
    SYMATTR SpiceLine R=1
    SYMATTR SpiceLine2 wiper=0.8
    TEXT 140 228 Left 2 !.op

potenciómetro.asy

    Version 4
    SymbolType BLOCK
    LINE Normal 16 -31 -15 -16
    LINE Normal -16 -48 16 -31
    LINE Normal 16 -64 -16 -48
    LINE Normal 1 -9 -15 -16
    LINE Normal 1 0 1 -9
    LINE Normal 1 -94 1 -87
    LINE Normal -24 -56 -16 -48
    LINE Normal -24 -40 -15 -48
    LINE Normal -47 -48 -15 -48
    LINE Normal -16 -80 16 -64
    LINE Normal 1 -87 -16 -80
    WINDOW 0 30 -90 Left 2
    WINDOW 39 30 -50 Left 2
    WINDOW 40 31 -23 Left 2
    SYMATTR Prefix X
    SYMATTR ModelFile potentiometer.lib
    SYMATTR SpiceLine R=1k
    SYMATTR SpiceLine2 wiper=0.5
    SYMATTR Value2 potentiometer
    PIN 0 -96 NONE 8
    PINATTR PinName 1
    PINATTR SpiceOrder 1
    PIN 0 0 NONE 8
    PINATTR PinName 2
    PINATTR SpiceOrder 2
    PIN -48 -48 NONE 8
    PINATTR PinName 3
    PINATTR SpiceOrder 3

potenciómetro.lib

    * This is the potentiometer
    *      _____
    *  1--|_____|--2
    *        |
    *        3
    *
    .SUBCKT potentiometer 1 2 3
    .param w=limit(wiper,1m,.999)
    R0 1 3 {R*(1-w)}
    R1 3 2 {R*(w)}
    .ENDS
¡Bienvenido a EE.SE!

Potenciómetro Google LTSpice, hay muchos ejemplos con diferentes grados de complejidad. La mayoría usa un subcircuito a lo largo de estas líneas:

* This is the potentiometer
*      _____
*  1--|_____|--2
*        |
*        3
*
.SUBCKT potentiometer 1 2 3
.param w=limit(wiper,1m,.999)
R0 1 3 {Rtot*(1-w)}
R1 3 2 {Rtot*(w)}
.ENDS

Para variar un parámetro (como el valor de un componente), puede usar el comando .step para realizar un barrido de parámetros. Si todo lo que desea es una resistencia variable de dos terminales, puede usar una resistencia normal para esto. Si necesita tres terminales, la respuesta de Steve parece buena.

En "Funciones especiales" hay un varistor controlado por voltaje que podría usar en su lugar.