¿Los sensores analógicos independientes tienen lecturas dependientes?

2

Estaba trabajando con un Nucleo f411re (STM32 MCU) para leer varios sensores analógicos.
Comencé a probar un solo sensor de temperatura (LM35) y todo estaba bien. Cuando agregué un potenciómetro lineal para leer su extensión, ocurrió un hecho extraño: la lectura de temperatura aumentó proporcionalmente a la extensión del potenciómetro. Aquí está el circuito:

simular este circuito : esquema creado usando CircuitLab

PA0 y PA1 son pines analógicos, conectados a stm32 ADC. Aquí puede encontrar la hoja de datos de ADC.

Así que medí la tensión de salida del LM35 con el multímetro y fue estable incluso cuando estaba extendiendo el potenciómetro; mientras que, si se leía de Nucleo, la temperatura estaba "siguiendo" a la lectura del potenciómetro.

Resolví este problema agregando un condensador de 1 µF entre la conexión a tierra y la V_out de LM35. Pero no estoy satisfecho, porque me gustaría saber la razón del extraño comportamiento de lectura de temperatura. ¿Alguna idea?

EDIT : He encontrado algo que podría explicar este problema en la sección 3.4.1 de la hoja de datos de ADC. Parece un problema conocido, debido al interruptor de muestreo en el circuito de muestreo interno del ADC. ¿Puedes confirmar esto?

    
pregunta Bernheart

1 respuesta

4

Hay muchas cosas que podrían estar causando este problema. vea aquí . Sin embargo, lo que parece ser el más obvio es un problema con el tiempo de muestreo.

Si consulta la página 35, menciona que el ADC es un convertidor de muestra y retención: tiene un condensador que se carga (o descarga) hasta que tiene el mismo voltaje que la fuente, luego lee ese valor. El tiempo para esto se establece por el tiempo en que SW1 está activado: el "tiempo de muestreo". Si no hay suficiente tiempo para que el condensador se descargue / cargue al voltaje correcto antes de apagar el interruptor y leer el valor (dependiendo de la resistencia de la fuente), entonces no obtendrá el valor correcto.

simular este circuito : esquema creado usando CircuitLab

Esto está en la sección sobre problemas con la lectura de fuentes de alta impedancia. El LM35 tiene una salida de baja impedancia si se está actualizando, aunque solo puede hundir 1µA de corriente, lo que la convierte en un sumidero de corriente de alta impedancia.

Si está configurando un voltaje más alto con el potenciómetro que el que está leyendo en el LM35, entonces la corriente del capacitor debe fluir desde C_sh a través del LM35: esto es muy lento (debido a esa capacidad de sumidero de corriente de 1µA) , y por lo tanto su tiempo de muestreo es demasiado corto.

Un condensador ayuda a suavizar esto, pero también reduce el tiempo de respuesta del LM35.

Una solución rápida es poner una resistencia > 1kΩ en paralelo con el LM35. Esto se hunde cuando es necesario, y proporciona una ruta actual a tierra para la corriente desde C_sh.

    
respondido por el Andrew Spott

Lea otras preguntas en las etiquetas