LTspice: varía el valor de una resistencia a lo largo del tiempo


24

Quiero simular la regulación de carga de una fuente de alimentación. Estoy seguro de que recuerdo haber podido variar el valor de una resistencia en el transcurso de una simulación en LTspice, pero no recuerdo cómo. ¿Nadie?

Respuestas:


12

Utilice el componente SpecialFunctions / Varistor.asy con una fuente de voltaje variable en el tiempo

Captura de pantalla


+1 Gracias, no es como recuerdo haberlo hecho, pero debería funcionar. Todavía no marcaré esto como aprobado. Me gusta ver si alguien tiene alguna alternativa ... (aunque no parece probable ...)
volting

2
Hay muchas alternativas: puede usar un transistor con una característica Rds conocida y cambiar el voltaje de la compuerta de 0 a saturación, o simplemente colocar una fuente de voltaje o corriente y pasar por el rango de voltaje o corriente que desea establecer. tu resistencia Sin embargo, el varistor es la resistencia controlable que solicitó.
Kevin Vermeer

Claro ... pero si mi memoria me sirve correctamente (lo cual probablemente no), es posible hacerlo con una resistencia regular + algún comando de simulación, que sería más intuitivo y directo. De todos modos, gracias de nuevo por las sugerencias
volting

¡Usa la fuente, Luke! Abra la definición del modelo de varistor y el subcircuito, y descubra lo que hace: los comandos SPICE deberían estar allí en algún lugar. Este documento: ltspice.linear.com/software/scad3.pdf debería ayudarlo.
Kevin Vermeer

¡Punto a favor! Se me ocurrió ... lo que usé antes fue un barrido paramétrico
volting

28

Desafortunadamente, usar un varistor no funcionará, ya que el varistor en sí depende del voltaje que lo atraviesa. Mucho más simple es hacer clic derecho en una resistencia existente e ingresar una fórmula. P.ej

R=11-100*time

reducirá linealmente la resistencia de 11Ohm a 1Ohm en el tiempo de 100ms. Puede utilizar casi todas las funciones disponibles para las fuentes de voltaje b (fuente de voltaje de comportamiento arbitrario), así como todo tipo de mediciones, por ejemplo, de voltajes de otros nodos.


18

Hay otra manera Configure una fuente de voltaje y elija la salida que desee. Etiquete la salida VResistance neta. Los voltios en la fuente serán exactamente la resistencia. Es decir, 10KV será lo mismo que 10K ohm. Luego use la resistencia estándar con la asignación R = V (Vresistance). A medida que cambia la fuente de voltaje, la resistencia cambia con ella. Lo bueno de esto es que el archivo PWL ahora se puede usar para controlar la resistencia. Especialmente agradable cuando se ejecutan cosas desde Mathematica o Matlab.


Buen Paul, eso era exactamente lo que estaba buscando. Incluso probé "R = PWL (...)" como el valor.
rdtsc

Tuve que buscar en Google "archivo PWL" , pero ahora veo una ventaja potencial de este método al interactuar con programas externos. Por cierto, creo que esto funciona también como comportamiento (expresión) para la resistencia.
Fizz

Esta fue mi solución favorita. Escritura completa aquí: electronicspoint.com/resources/…
Frederick

1

Utilizando la sugerencia de McHale, produje un Current Dummy xLoad para probar las fuentes de alimentación y los circuitos de alimentación. Basado en una secuencia PWL, la carga absorbe corriente de la fuente de alimentación, sin importar el voltaje en la fuente.

La secuencia PWL especifica un perfil de rampa y sacudida que ejercita el suministro, por lo que se podría analizar el comportamiento de dicho suministro, si rebota, oscila, suena, el tiempo de recuperación de voltaje, etc.

El archivo xLoad .asy puede ser cualquier cosa con dos conexiones, ya que se comporta como una resistencia dinámica que cambia su valor en función de los valores PWL Y el voltaje aplicado en las entradas de carga. Puede aplicar un 10Vdc con una ondulación de 9V y la carga adaptará su resistencia dinámica para que siga el perfil actual del PWL.

El xLoad tiene un solo parámetro, "mult". Este parámetro permite al usuario cambiar la corriente máxima del perfil PWL, por lo que mult = 1 utilizará un perfil que absorberá un máximo de 1A del suministro, mult = 4.2 absorberá un máximo de 4.2A. Su xload.asy debe tener un atributo visible "mult = 1", por lo que xLoad funcionará y podrá cambiar el atributo en cualquier momento.

El xLoad utiliza un pequeño condensador para redondear bordes muy afilados que pueden simular frecuencias y anillos muy altos, lo que no sucede en la vida real, por lo que todas las esquinas están un poco redondeadas. Si desea cambiar o eliminar esta función, simplemente cambie el valor de C1 de 10n o incluso elimine esa línea. La característica es solo un filtro RC, R2 y C1, otra forma de cambiar el filtro es cambiar el valor o R2, simplemente no elimine dicha línea, xLoad no funcionará sin R2, puede cambiar su valor a cero ohmios para eliminar completamente el filtro, aun así no sé por qué querrás tener esquinas afiladas MegaHertz.

Cree un nombre de archivo de texto XLOAD.SUB en su directorio LTSPICE / LIB / SUB, con el siguiente contenido (la línea "v1" es larga, no está rota):

    * xLOAD
    * PWL Current Profile
    * By Wagner Lipnharski Nov/2015
    *
    *              Positive (Input)
    *              |  Negative (Output)
    *              |  |
    .SUBCKT XLOAD  1  2

    V1 3 2 PWL(0 0 +100m 0 +0.1m 0.2 +5m 0.2 +.1m 0.5 +5m 0.5 +.1m 1 +5m 1 +.1m 1.5 +5m 1.5 +.1m 2 +5m 2 +.1m 2.5 +5m 2.5 +.1m 3 +5m 3 +.1m 3.5 +5m 3.5 +.1m 4 +10m 4 +1m 3.5 +8m 3.5 +1m 4 +10m 4 +2m 2.5 +8m 2.5 +2m 4 +10m 4 +2m 1.5 +8m 1.5 +2m 4 +3m 4 +2m 0.2 +3m 0.2 +2m 4 +10m 4 +3m 0.2 +8m 0)

    R1 1 2 R=V(1,2)*4/(mult*V(4,2)+1n)

    R2 3 4 1k

    C1 4 2 10n

    .ENDS XLOAD

La simple simulación .asc con el símbolo que hice, y los planos de la trama que muestran la corriente y el voltaje ondulado de suministro a continuación. Tenga en cuenta que, en función de los tiempos PWL, xLoad comienza a ejecutarse a 100 ms y finaliza a 235 ms. Puede cambiar esos tiempos en los valores PWL dentro del SUB.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


0

Si desea recorrer los valores de los valores de resistencia (ejemplo R):

  1. Establezca el valor de resistencia que desea que sea variable, que sea {R}(¡no se olvide de las llaves!)
  2. Haga clic en .op(en el extremo derecho de la barra de herramientas)
  3. Tipo: .step param R 1 10k 1k(pasos de 1 a 10K en incrementos de 1k)

Si desea barrer el valor de R a tiempo, ¡entonces no es posible ya que los simuladores tendrán problemas de convergencia!


Sin embargo, no creo que esto sea lo que está buscando el OP, y otras respuestas sugieren que es posible.
Nulo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.