La salida del ciclo de trabajo de 5V PWM 0-100% debe generar 0-100mV

El proyecto que estoy intentando es:

  1. Arduino UNO recibiendo un registro de datos de un registrador de datos de batería
  2. se extrae un valor particular (estado de carga)
  3. y enviado a una salida PWM
  4. pasando por un filtro RC de paso bajo
  5. en un OpAmp (LM324) para proporcionar una salida de CC limpia
  6. el voltaje de salida debe oscilar entre 0 y 100 mV

La frecuencia de PVM es ~480Hz (Arduino Uno); los 2 filtros RC son 330R/10uF

Necesito ayuda con el diseño del circuito más allá del segundo filtro RC.

Esto es con lo que comencé:

Filtro RC con LM324
(fuente: grenkowitz.net )

Que se transformó en esto (y me parece defectuoso/sospechoso):

Filtro RC con LM324 y divisor de voltaje
(fuente: grenkowitz.net )

Pero no alcanzo los 100mV al 100%, y la salida es un poco irregular; asumiendo que debe haber otro tipo de filtro RC.

Filtro RC con LM324 y divisor de voltaje, salida de alcance
(fuente: grenkowitz.net )

No es necesario que el circuito responda, porque el ciclo de trabajo, por lo tanto, los mV de salida aumentan lentamente en pasos de 0,5 mV a lo largo de las horas y disminuyen a lo largo de las horas.

[Agregado 2016-07-10 0905Z]

Gracias por sus respuestas.

Parece que estoy un poco sobre mi cabeza... realmente no entiendo OpAmps... Ahora he tomado un enfoque ligeramente diferente, y he agregado un divisor de voltaje en la señal de entrada de %v para caer a .1V y desde la reacción el tiempo no importa, coloque un límite de 100uF ... luego los 2 filtros RC en el OpAmp; perdón por el Vcc por el OpAmp; ahora corregido a 5V.

La salida simulada es 33-98mV. Pero no estoy seguro de cómo configurar el OpAmp para obtener un voltaje (lo más preciso posible) que calcule el paso de 0-256, 8 bits, 0-100% del ciclo de trabajo de la entrada.

Aquí el último diseño: (fuente: grenkowitz.net )Filtro RC con LM324

¿Ha verificado los voltajes en los pines de entrada de su opamp, y de estos están dentro de las especificaciones?
El OpAmp en su segunda simulación no tiene un voltaje de funcionamiento adecuado en el pin '+'.
Como alternativa, puede usar un dispositivo diseñado para la tarea: linear.com/product/LTC2644 Consulte también linear.com/docs/46296
Considere colocar el divisor de voltaje 1:50 antes del amplificador operacional.
@JimmyB: lo hice ayer... :) De hecho, me deshice del amplificador operacional y ahora tengo un divisor en Vin, 1 RC y luego Vout. Funciona.

Respuestas (1)

Si va a utilizar un amplificador operacional, también podría implementar un filtro de paso bajo de segundo orden de clave sallen de ganancia unitaria: -

ingrese la descripción de la imagen aquí

Esto solucionará el problema de que el primer filtro de paso bajo se vea obstaculizado por la impedancia de entrada del segundo filtro de paso bajo.

Puede usar esta calculadora de Okawa Electronic Design para ingresar valores, pero yo elegiría dos resistencias de 1k con C1 a 10uF y C2 un poco más pequeñas, tal vez 2.2 uF.

No dice en su pregunta cuál es la amplitud de PWM, pero agregar una resistencia desde la unión de R1 y R2 a tierra puede producir la atenuación requerida, pero la combinación paralela de R1 y esa resistencia adicional es el valor de R1 que se utilizará en la calculadora.

En su segundo esquema, no tengo idea de por qué está conectando la potencia del amplificador operacional a la forma de onda del voltaje de entrada. La receta para la basura es mi forma de pensar. Puede parecer que está funcionando en un simulador, pero no funcionará en la práctica porque, en la práctica, necesita nominalmente un desacoplador de riel de potencia de amplificador operacional de 10 nF o 100 nF para evitar fallas en el funcionamiento del amplificador operacional.

Vin es 5V desde Arduino PWM (alrededor de 480Hz). segundo esquema; tampoco tengo idea... Estoy un poco sobre mi cabeza... sin embargo traté de mejorar el primer diseño.