El convertidor de onda cuadrada a onda triangular del amplificador operacional no funciona como se esperaba

Un seguimiento de una pregunta similar de ayer , ya que el problema con el que me encontré ha diferido lo suficiente como para justificar algo más que una edición.

He construido un integrador para actuar como un convertidor de onda cuadrada a onda triangular de 5V 32Hz.

ingrese la descripción de la imagen aquí

Esta es mi salida.

ingrese la descripción de la imagen aquí

Podemos ver que la compensación de voltaje es demasiado alta, lo cual es extraño porque según mi comprensión de los integradores, la compensación de voltaje debe ser igual al voltaje de "tierra", que es de 2,5 V.

Una forma de cambiar este comportamiento es modificando la resistencia de retroalimentación de alto valor. Este es un ejemplo de la resistencia (R2) con una resistencia reducida (200k). Cuanto más cerca esté la resistencia de realimentación de 0, menor será el desplazamiento.

ingrese la descripción de la imagen aquí

No estoy seguro de por qué esto tiene tal efecto en el voltaje de compensación. Dado que la reducción de la resistencia de retroalimentación de alto valor da como resultado una onda triangular más redondeada y no quiero eso (estoy usando el triángulo para la modulación en un chip VCO CD4046), estoy tratando de encontrar una manera de reducir el voltaje de compensación sin distorsionar la onda triangular.

El modelo LTspice si alguien lo necesita. Si necesita más información sobre este problema, hágamelo saber.

Editar: un primer plano de la onda cuadrada.

ingrese la descripción de la imagen aquí

Anteriormente, le pedí que esperara 20 segundos para que se estableciera la salida. ¿Lo ha hecho?
Esperé 20 segundos. los resultados no se cambiaron.
¿Es esa una entrada de onda cuadrada con una marca igual al espacio o una onda rectangular?
Si su entrada cuadrada no es "perfecta" (ciclo de trabajo = 0.5...), necesita otro integrador para una corrección de retroalimentación al primer compensador del integrador... Sin esto, siempre se desviará... y finalmente se "saturará" alto o bajo.
Una forma de onda de entrada con un ciclo de trabajo que no sea del 50 % hará que la salida del integrador tenga una compensación en la que el ciclo de trabajo se equilibre con el efecto de descarga que tiene la resistencia de retroalimentación en el capacitor.
Es probable que mi entrada cuadrada no sea perfecta. ¿Cómo haría para agregar este otro integrador?
@HFOrangefish espera señor orangefish; ¿Cómo estima que su señal de entrada es likely to be not perfect? Por lo que puedo decir de los números en el circuito sim, es perfecto. Tal vez reemplácelo con una fuente de CC de 2,5 voltios y verifique que la salida del amplificador operacional permanezca cerca de 2,5 voltios. Si esto no sucede, es posible que haya algún problema con su modelo AD822. Sin embargo, no estoy seguro de para qué sirve el "1000" al final de la línea de definición de pulso (mi sim no tiene eso).
Por no perfecto, quiero decir que el tiempo de subida y bajada influye en el ciclo de trabajo. En LTSpice, el 1000 es el número de ciclos que genera el generador de onda cuadrada. Y estoy planeando construir este circuito de verdad, con un PWM de MCU actuando como onda cuadrada de todos modos. He probado el circuito con una fuente de 2,5 CC y la salida del amplificador operacional permanece cerca de los 2,5 voltios.
Entonces tienes una onda cuadrada imprecisa. Te insto a que investigues esto y lo corrijas. Tal vez use tiempos de ciclo de 0.032 segundos y un período de 0.016 segundos para descartar anomalías fraccionarias. Establecer subir y bajar a cero. También puede reinstalar la fuente de pulsos de voltaje pero establecer las amplitudes superior e inferior en 2,5 voltios y ver qué sucede. Si eso se ve bien, configure el voltaje superior en 3 voltios y el voltaje inferior en 2 voltios. Paso y repetir y observar.
Un CD4047 IC tiene un oscilador RC que impulsa una división digital por dos que produce una onda cuadrada absolutamente perfecta incluso con tiempos altos y bajos.

Respuestas (3)

En una simulación LTSpice, pude mejorar la forma de onda de salida (V_triangle) especificando Tr (tiempo de subida) y Tf (tiempo de caída) como 1n, en lugar de 0.

Verifiqué la relación marca-espacio de V_cuadrado con 0 para Tr y Tf: la forma de onda estaba visiblemente sesgada a más de 0 V que 5 V. Cuando cambié Tr y Tf a 1n, la forma de onda de entrada (V_cuadrado) cambió a 50-50 marca-espacio. El voltaje de salida luego se asentó como un triángulo centrado en 2.5 V.

EDITAR

Aquí está mi resultado, a partir de alrededor de 4 seg. (Tenga en cuenta que la constante de tiempo de R2*C1 es 1 seg.)ingrese la descripción de la imagen aquí

No es necesario que te impongas más tr/tfsi lo único que quieres es ver un triángulo. Es suficiente para hacer Tonque el resultado Ton+tr=T/2. Dado que tr=min(Ton,T-Ton)/10puede resolver esto con x+x/10=1/2, resultando en Ton={5/11}. Efectivamente, funciona , aunque con esquinas suaves (debido a la time**2/2integración de las rampas).

Un par de puntos sobre LTspice: si desea pulsos continuos, no necesita establecer la cantidad de ciclos, puede dejarlo en blanco y seguirá funcionando. Debe establecer los tiempos de subida y bajada, de lo contrario, LTspice lo hace por usted, y probablemente no serán lo que desea. Si desea que sean casi verticales, utilice un valor muy pequeño, 1n, 1u o incluso 1p en algunos casos.

PULSE(5 0 0 1n 1n 0.015625 0.03125)

Si conoce los tiempos reales de subida y bajada que espera de su circuito, utilícelos en su lugar, cuanto mejores sean los datos que ingresen, mejores serán los resultados.

Puede mejorar la precisión de la simulación cambiando una serie de configuraciones y opciones, la forma más común es agregar estos comandos

.OPTIONS plotwinsize=0
.OPTIONS numdgt=7

Si no especifica un paso de tiempo en su comando de simulación transitoria, LTspice creará el suyo propio, que nuevamente probablemente no será lo que desea. También puede retrasar el inicio de la grabación de datos para permitir que el circuito se estabilice. Esta declaración espera 3,5 segundos y luego traza los siguientes 0,5 segundos, con un paso de tiempo de 100 uS. Esto dará una mejor resolución pero funcionará más lento.

.tran 0 4 3.5 100u

Pruebe estas técnicas y vea si no mejoran sus simulaciones.

Especificar tr/tfque sea tan ridículamente bajo es una exageración innecesaria. Si el propósito es lograr un integrador ideal, entonces un software de Mathematica es más adecuado. De lo contrario, un valor 1000 veces menor que el período suele ser suficiente, sin correr el riesgo de tener problemas numéricos con el solucionador debido al enorme rango dinámico impuesto al paso de tiempo para los puntos de ruptura. Además, numdgtsolo plotwinsizeson necesarios cuando floatse requiere una precisión mayor que la numérica de los gráficos.

Aquí hay un ejemplo de "fuerza bruta" de "supresión" de deriva en algunas aplicaciones.
Se utiliza en algunos amplificadores "opamp".
Usado solo en una forma de onda de ciclo de trabajo del 50%, y quizás (?) algunas otras restricciones...

ingrese la descripción de la imagen aquí