Filtro de paso bajo RC entre el amplificador y la entrada ADC

Tengo sensores (piranómetros que consisten en termopilas y miden la radiación solar) que emiten una señal de bajo voltaje, por lo que necesito amplificarlos usando un amplificador de instrumentación.

He elegido el AD8237 para esta tarea: Ficha técnica

Estoy usando una ganancia de 100 para amplificar la señal inicial de bajo voltaje (rango de 0 a 20 mV) a un rango de 0 a 2 V.

Luego estoy alimentando la señal amplificada al ADC (MCP3422): Hoja de datos

Los valores de mi sensor cambian muy lentamente y leeré los valores ADC digitalizados solo una vez por segundo, por lo que la velocidad no es importante en mi caso.

Ahora, como se señaló en la respuesta aceptada en esta pregunta, necesito un filtro entre IN-Amp y ADC para filtrar el ruido. En muchas hojas de datos de ADC se sugiere un filtro RC pasivo simple entre el INA y el ADC. Investigué bastante y todavía tengo algunas preguntas que me confunden y espero que me puedan ayudar con:

Me di cuenta de que un filtro RC de primer orden no cumple con mis requisitos, así que conecté varias etapas RC en cascada:

esquemático

simular este circuito : esquema creado con CircuitLab

Y esta es la respuesta del filtro simulado en LTSpice:rc_filtro

Preguntas:

  • ¿Puedo hacer eso?
  • ¿Cuáles serían las desventajas de utilizar el filtro propuesto?
  • Los valores de condensador como 47 µF o incluso 100 µF me dan una respuesta aún mejor (atenuación más fuerte), ¿tendría eso un impacto negativo en mi señal o en el ADC?

Supongo que los valores de resistencia no deberían aumentarse más para evitar una caída de voltaje en mi señal.

La respuesta del filtro parece muy prometedora:

Señales a 10Hz ya atenuadas en ~50% ya 25Hz ya en ~90%. Como solo me importa la señal de CC, supongo que la respuesta debería estar bien (el filtro también cubre fuertemente el rango de 50-60Hz).

Las resistencias crean caídas de voltaje, entonces, ¿cómo afectarían estas tres resistencias en cascada a mi señal amplificada (por lo tanto, mi valor digitalizado calculado por el ADC?)

Debería aplicarse la ley de Ohm, pero no conozco la corriente... Cualquier aclaración sobre esto es muy apreciada.

Con respecto a las constantes de velocidad/tiempo:

Como mi adquisición de datos (lectura ADC una vez por segundo) y el cambio en el valor del sensor es muy lento, ¿debo vigilar la constante de velocidad/tiempo de este filtro?

Como muchas hojas de datos sugieren una etapa de filtro RC, este enfoque no debería estar demasiado lejos.

¿Por qué no usar filtros LC?
principalmente porque tuve que elegir valores muy grandes para L para obtener la misma atenuación en la región de bajos Hz. Siéntase libre de sugerir una configuración, ¡agradezco cualquier ayuda que pueda obtener! :)

Respuestas (7)

Este RC de 3 secciones debería proporcionar una mejor atenuación en frecuencias altas. El ruido aleatorio está dominado por esa resistencia de 3 000 000 ohmios con un ancho de banda de 5 Hz, menos de 1 uV RMS.

esquemático

simular este circuito : esquema creado con CircuitLab

Esto es lo que muestra Signal Chain Explorer (usamos eso para predecir los niveles de interferencia de Gargoyles) como la atenuación de 3 polos. Con una entrada de PP de 2 voltios, la ENOB es 19,7

ingrese la descripción de la imagen aquí

Tenga en cuenta que NO estamos incluyendo NINGUNA contribución de ruido ADC.

¡Muchas gracias! :) Para asegurarme: supongo que la caja (incluida la tapa de 3pF y FET y R4) está modelando el ADC. La simulación de su filtro en LTSpice es muy prometedora, me pregunto cómo se le ocurrieron los valores iniciales. Espero que compartas tu enfoque. ¿Veo bien que este filtrado no tendrá ningún impacto negativo/caída de voltaje en mi señal de CC deseada?
El valor más a la izquierda se elige para ser una carga ligera en el INA. Otras resistencias simplemente se escalan 10X y 100X, para que sean cargas ligeras en la sección RC anterior, por lo que la atenuación extrema es de hecho 60dB/década. El ADC debe sacar algo de carga. El rumor nos dice que habrá una caída de voltaje de CC en las resistencias. 3pF y 3 voltios y 1000 muestras/segundo tienen I = F * C * V = 9 nanoamperios de corriente promedio ; a través de esa resistencia final de 3MegOhm, la compensación de CC promedio será de 27 microvoltios. Para reducir, use 10Kohm, 47Kohm, 270Kohm.
Gran explicación, gracias! ¿Podría decirme si Dmitry Grigoryev en su respuesta es correcta y tengo que usar al menos 10-100 kOhm en el filtro RC? ¿Sería un problema usar solo una etapa de un filtro RC de un solo polo con 1 kOhm y 10 µF para la prueba? ¿Podría dañar mi amplificador de instrumentación con eso?
Una pregunta más: ¿cuáles son las consecuencias más graves de no aumentar el valor de los resitores RC en cascada? Me encantaría saber tu conocimiento sobre eso :)

Si está leyendo el ADC solo una vez por segundo, debe eliminar las frecuencias superiores a 0,5 Hz para evitar el alias. Si cree que su sistema tendrá ruido, digamos 10 Hz, ese ruido contaminará sus lecturas. Recomiendo que muestree a una tasa mucho más alta, tal vez un múltiplo de la frecuencia de la red eléctrica, y realice un filtrado de paso bajo en el software. Incluso un simple filtro de promedio móvil funcionaría y no requeriría mucho procesamiento.

Entonces, ¿podría usar el filtro propuesto en caso de que lea, por ejemplo, 10 veces por segundo y realice un promedio de estos 10 valores que obtuve del ADC en el software?
Si muestrea 10 veces por segundo, todas las frecuencias por encima de 5 Hz en su señal de entrada tendrán un alias. ¿El contenido de ruido en su señal por encima de 5 Hz es lo suficientemente bajo como para que pueda vivir con el error debido al aliasing? Sólo usted puede contestar a esa pregunta.
Para usar el modo de resolución de 18 bits, uno tiene que configurar el ADC en 3.75 SPS (y leería una vez por segundo, pero supongo que solo la tasa de 3.75 muestras por segundo es importante aquí. ¿Hace alguna diferencia que estoy tratando con un ADC delta sigma aquí?). Estoy un poco confundido porque solo necesito la señal de CC (¿y eso no tiene frecuencia?), ¿Entonces este problema de alias todavía se aplica a mí? Si uso una versión modificada del filtro propuesto anteriormente, con valores de resistencia de 1k y valores para las tapas de 47 µF, obtengo una atenuación de ~-15dB a 3 Hz, ¿debería estar bien en ese caso?
Sus declaraciones son inconsistentes. Si solo necesita la señal de CC, solo necesita muestrear la señal una vez y nunca más. Si muestrea cada segundo, debe ser porque la señal está cambiando , por lo tanto, no es una señal de CC. Además, su señal será ruidosa y este ruido es una señal de CA. Entonces, su señal es una señal de CA, no una señal de CC. Por lo tanto, debe pensar en crear alias. El ADC tiene un filtro interno (ver 4.7 en la hoja de datos) pero puede que no sea suficiente...
Pero solo usted sabe realmente cómo se ve su señal y solo usted sabe qué precisión requiere su sistema... por alguna razón, no ha compartido esta información con nosotros. En consecuencia, nadie más puede decirle qué tipo de filtro sería "suficientemente bueno".
Gracias por la respuesta. Los sensores son piranómetros que consisten en termopilas y miden la radiación solar. Emiten una señal de bajo voltaje (entre 0-20mV) dependiendo de la radiación solar presente. Entonces, este valor realmente cambia muy, muy lentamente, como puedes imaginar. Tomo muestras cada segundo más o menos solo para obtener una serie temporal (pero no porque la salida del sensor cambie tan rápido). ¿Puede hacer más declaraciones o darme comentarios más precisos con esa información? ¡Aprecio tu ayuda!
Cualquier componente de frecuencia en su señal, ya sea por ruido en el sistema o pájaros que vuelan frente a su sensor, que tenga una frecuencia de 0,5 Hz o más, provocará errores en sus datos. Es tan simple como eso. ¿Cuánto ruido tendrá? Solo tu sabes. ¿Cuánto error puede tolerar? Solo tu sabes.
Los sensores proporcionan una señal de CC. Pero se espera ruido del amplificador de instrumentación, así que quiero deshacerme de eso antes de enviarlo al ADC. Se deben filtrar especialmente 10-100 kHz para eliminar el ruido de conmutación. No puedo decir exactamente cuánto ruido habrá sin crear un prototipo primero, así que quiero asegurarme de tener todos los componentes que necesito en caso de que se requiera un filtro frente a la entrada del ADC. Quiero filtrar la mayor cantidad de ruido posible con la configuración propuesta. Pero, ¿sabe si la configuración propuesta funcionaría o ve problemas con ella? ¡gracias!
@ElliotAlderson, ¿entonces cuanto mayor sea la velocidad de datos, mejor cuando se muestrea una señal de CC?
@bardulia Al muestrear una señal de CC, solo necesita muestrear una vez. Si la señal es CC, no cambiará, por lo que nunca será necesario volver a muestrearla.

Las entradas de ADC suelen tener una impedancia bastante alta. A menudo he usado 100K en serie con una entrada sin pérdida de CC. (y un condensador a tierra para filtrar) Si está satisfecho con la atenuación con ese circuito, le sugiero que aumente la escala de las resistencias y reduzca los condensadores. No usaría capacitores electrolíticos ya que tienden a tener más fugas en comparación con otros tipos. Probablemente usaría una tapa de cerámica.

Editar:

Acabo de mirar la hoja de datos de la pieza. Vaya a echar un vistazo a la página 3, Impedancia de entrada. La carga ciertamente no será un problema.

Ok, ¿sugieres que podría aumentar los valores de las resistencias pero, en general, no debería haber ningún problema al usar este filtro en mi configuración? Estoy un poco confundido ya que las respuestas de Dmitry Grigoryev y Elliot Alderson indican problemas con la configuración actual del filtro. ¿Podría por favor hacer un comentario sobre eso? (¿Ves los mismos problemas que las dos respuestas que mencioné?). ¡Gracias!

La entrada ADC se verá como un CORTO, durante 5 o 10 nanosegundos, al comienzo del tiempo de muestra. Ese "corto" interrumpirá cualquier opamp conectado directamente al ADC Vin o al ADC VREF.

Para evitar esta "interrupción" (que aparece como un timbre y quizás errores de cuantificación dependientes del voltaje de entrada), podemos colocar condensadores GRANDES en los pines Vin y VREF.

Suponga que el ADC tiene capacitores de 10pF en sus pines Vin y VREF, y suponga que se consumió la carga de estos capacitores durante la operación anterior del ADC.

A medida que el ADC toma algo de carga una vez más, se exigirán sobrecorrientes de las fuentes de voltaje externas (Vin y/o VREF).

Para minimizar la alteración del voltaje, use capacitores externos GRANDES: 100X o 1,000X o 10,000X más grandes que los capacitores de muestra ADC (10pF).

En el filtro 3-cascaded_RC que le di, ese capacitor final es de 10nF (10,000 pF) y debería funcionar bien.

Nuevamente, si la corriente de entrada PROMEDIO es de 9 nanoamperios (Vin de 3 voltios, Cap es 3pF, siendo Fmuestra 1,000 por segundo), fluyendo a través de 3,000,000 ohmios, habrá un error de 27 milivoltios. Esto aparecerá como un error de ganancia lineal. [ERROR esto había sido 27 microVoltios]

Volví a este tema interesante y espero que me puedan ayudar una vez más: si uso un RC LPF de un solo polo frente a este ADC ( ww1.microchip.com/downloads/en/devicedoc/22088c.pdf ) con R=100kOhm y C = 4.7uF obtengo una mayor caída de voltaje (una caída de aproximadamente 60 mV para Vin = 1.5V). Hice mediciones y este error es lineal. ¿Podría darme algunas pistas sobre cómo calcularía la corriente de entrada promedio para este ADC en particular? Estoy confundido debido al ADC delta/sigma. Sé que sobremuestrea, así que no estoy seguro de qué tomar como frecuencia. Si uso la configuración de 18 bits con 3.75SPS, por ejemplo. Gracias.
Supongo que cometió un error, con la resistencia de 3M, la compensación de voltaje sería de 27 milivoltios , NO de 27 microvoltios.
Henry Gracias por encontrar ese error. Y con respecto a la frecuencia de muestreo (interna), las hojas de datos pueden informarle o no. Si no le indican la Fmuestra (no la Fconversión, que es de 3,75 Hz) y la Capacitancia de muestreo de entrada (la capacitancia ESD no forma parte de esto), la hoja de datos debe indicarle la resistencia de entrada equivalente.

Olvídate del filtro por completo. Es una pérdida de tiempo. Tiene un uC a su disposición, así que simplemente tome múltiples muestras (10x, 100x... tantas como sea posible) y promedie el resultado. Eso eliminará cualquier aire acondicionado y/o ruido.

Su filtro cortocircuitará efectivamente el amplificador si la señal tiene algún componente de CA significativo (incluso alrededor de la frecuencia de la red y el primer/segundo armónico). Consulte la hoja de datos: su amplificador tiene una corriente corta de 4 mA y las características de respuesta se miden con cargas de 10-100 kOhm. La resistencia equivalente de su filtro debe ser al menos así de grande.

Entonces, ¿la resistencia en serie de mi filtro (en este caso, la resistencia de las 3 resistencias en cascada) debe ser de al menos 10kOhm? Entonces, ¿la corriente extraída del amplificador de entrada es limitada y no aumenta demasiado? ¿Una resistencia tan alta no afectaría fuertemente mi señal?
¿Podría dar más detalles sobre este tema? ¿Qué efecto tendría en mi circuito en caso de utilizar el filtro propuesto? Gracias.
@Henry, estoy hablando de la resistencia de la salida del amplificador a tierra, no a la entrada del ADC. Incluso si consideramos solo R1 y C1, la resistencia es 200 + 100 (a 100 Hz) = 300 ohmios, que es demasiado baja.
No entiendo el problema para ser honesto. Quiero que la resistencia sea baja después de la salida IN-Amp (la entrada ADC tiene una alta impedancia de entrada) en el seguimiento de la señal, ¿no? Y también quiero hacer un cortocircuito de CA a tierra. ¿Qué cambiaría en dicha configuración, podría nombrar los valores que usaría? ¡Gracias!
¿Cuánta resistencia necesito al menos? ¿Cómo puedo determinar el valor?
@Henry Sí, desea que la resistencia sea lo más baja posible, pero está limitado por lo que su amplificador puede ofrecer. Consulte la hoja de datos de AD8237, específicamente las figuras 61 y 62. ¿Tienen sentido? 300 Ohm estaría completamente fuera de especificación, y 1kOhm le daría un cambio de voltaje muy pobre. Necesita al menos 10kOhm de resistencia de carga.
OK muchas gracias por señalar eso! Sin embargo, todavía estoy un poco confundido: la entrada ADC tiene una impedancia de entrada de más de 10kOhm. Entonces, ¿eso ya debería ser suficiente? Al agregar el filtro, incluso aumento la resistencia aquí. Entiendo que también agrego tapas que están conectadas a tierra, pero no dejarán pasar ningún voltaje de CC, por lo que no veo ningún problema aquí. Realmente apreciaría si pudieras tratar de explicarme esto una vez más (sería feliz si pudieras hacerlo editando tu respuesta para que otras personas también la vean fácilmente). Muchas gracias :)
La entrada ADC es de alta impedancia y no plantea ningún problema. El principal contribuyente a la baja resistencia es su filtro RC. Nuevamente: un capacitor de 22 µF tiene una resistencia equivalente de 100 Ohm a 100 Hz. Si su señal tiene un componente de CA significativo, sobrecargará el amplificador.
está bien, gracias. Pero creo que debería estar bien si mis sensores cambian muy lentamente (la respuesta al cambio es de al menos 18 segundos, pero la irradiación cambia mucho más lentamente que eso). Entonces, incluso si el amplificador introduce algo de ruido, la parte principal aún debería ser CC y no estar en cortocircuito a GND, ¿verdad? ¿Cómo definiría 'componente de CA significativo'? Si verifico la señal de salida de INA, ¿cómo puedo asegurarme de que todavía hay suficiente componente de CC?

Estoy de acuerdo con Elliot: un enfoque un poco diferente podría ser muestrear/mantener, una especie de filtro de Nyquist en el que eliges la mejor frecuencia de sobremuestreo para deshacerte del ruido más frecuente. Lo hice con RTD en un avión ruidoso y me dio buenos resultados. Estaba lidiando con cambios de milivoltios que tenían que ser muy precisos. Eso elimina esos grandes límites y la pérdida de inserción de las resistencias que le preocupan.

Acabo de juntar esto en LTspice para darte una idea... si quieres la fuente, te la enviaré. Hice la entrada de 2 voltios que incluiría el amplificador en su diseño. Agregué 50 Hz y algo de ruido HF aleatorio encima de eso.Simulación de filtro - LTspice

El filtro usa componentes activos, excepto el ajuste R/C con el filtro 3. La implementación depende del diseñador, pero esto se puede hacer con piezas pequeñas, de 2x2 a 4x4 mm para la mayoría de los activos y 0402 para el resto. Creo que es más pequeño que las partes pasivas, pero si RE es importante, es necesario un estudio de área. Solo muestro un interruptor (S/H) para el concepto. Una vez implementado, uno o dos cambios de valor ajustarán la frecuencia de muestreo.

Desde un punto de vista práctico, la entrada es casi CC con fluctuaciones tan lentas. El ruido es mucho más rápido y aleatorio con respecto a la frecuencia de muestreo fija, por lo que se promedia. La suposición es que las excursiones de ruido fluctúan alrededor de cero, típico del acoplamiento diferencial. Usé esto con RTD que son más lentos y en un entorno de avión que es ruidoso (calificó MIL-STD-461). Parece que también haría un buen trabajo para esta fuente, pero requerirá algunos retoques basados ​​en el mundo real.

Mostré los parámetros en el esquema para que pueda levantarlos si usa LTspice.

Suena bien, ¿puede dar más detalles sobre este enfoque o vincularme con un ejemplo (tal vez proporcione un pequeño circuito de ejemplo con una breve explicación) ya que todavía no entiendo bien su enfoque, gracias.
¡Gracias por su aporte! Interesante, la fuente sería buena para poder jugar un poco. ¿Pero también está utilizando componentes activos en los filtros? ¿O entiendo mal su enfoque aquí?