¿Cómo puedo hacer un comparador ideal en LTspice?

1

Para simulaciones rápidas a veces necesito un comparador ideal. Supongo que no es un componente incorporado. ¿Cómo puede ser implementado por fuentes ideales o VCVS ect.?

    
pregunta user1234

3 respuestas

3

Primero crea una fuente B

Luego, establezca el valor de la fuente B en una expresión como la siguiente:

Ahora B1 es el comparador con salida de 1V / 0V.

Otra función de ejemplo puede ser algo como:

V {if (V (Vref) > 0.2, cos (12 * tiempo), cos (36 * tiempo))}

No sé cómo se puede hacer usando VCVS.

    
respondido por el user16307
1

Aunque no ignoro la respuesta del usuario 16307 ( es una válida), debo advertirle que las fuentes de comportamiento, si bien son versátiles en términos de expresiones matemáticas, tienden a sufrir un rango dinámico limitado y una simulación más lenta velocidad cuando se trata de números más altos. Si su aplicación no involucra grandes rangos dinámicos (en ambos ejes y y x ), o valores altos para procesar (por ejemplo, cientos, o kV, hacia arriba), entonces las fuentes de comportamiento están bien.

De lo contrario, debes saber que hay un dispositivo A (en [Digital] ): el disparador Schmitt. Se presenta en diferentes sabores, con entrada diferencial / única y salidas simples / complementarias. Recomiendo encarecidamente este sobre cualquier otra cosa, ya que los dispositivos A funcionan de forma nativa, son los más rápidos y precisos, además de que tienen control sobre sus tiempos de subida / caída y la convergencia se cuida detrás de la escena (es decir, no hay discontinuidades durante los cambios).

Si su referencia es un voltaje fijo, que no cambia durante la simulación, puede usar la entrada única con el parámetro interno vt establecido en el voltaje de referencia. vh es opcional, pero útil para establecer, a veces, tal vez para evitar posibles entradas ruidosas, o tal vez simplemente para hacer que el comportamiento se acerque más a la realidad. De lo contrario, utilice la entrada que desee o necesite para el voltaje de referencia variable.

Otra forma es utilizar la función table() con un VCVS o un VCCS, pero es preferible que sea lo último, ya que el manual recomienda que sea compatible con la convergencia, en comparación con su primo de voltaje.

Para ejemplificar los dos ejemplos propuestos, aquí hay una imagen:

vt puede tener cualquier valor, que representa el punto de activación, y vh es el voltaje de histéresis, puede ser nulo (para el VCCS, también puede ser negativo). ref es el voltaje de referencia fijo (si se usa como parámetro, encerrado entre llaves) o variable (para el resto), y el capacitor 10p está destinado a ayudar a la convergencia (evitar los cambios bruscos que pueden causar contratiempos) simulador, por ejemplo, paso de tiempo demasiado pequeño , o similar).

    
respondido por el a concerned citizen
0

Otra forma sería usar un amplificador operacional ideal como se muestra a continuación, pero voltear los terminales (y deshacerse de la ganancia):

    
respondido por el laptop2d

Lea otras preguntas en las etiquetas