intercambio de recuento de ADC

0

Estoy trabajando en un microcontrolador atmega16l y mi proyecto es mostrar la humedad y la temperatura de la habitación en una pantalla LCD. Estoy tomando entrada de ADC de humedad (0-5) voltios CC y sensor de temperatura (0-0.5) voltios CC y, según eso, tengo que cambiar el calentador y el humidificador. Pero en la actualidad, mi controlador está mostrando un problema: está mostrando la humedad correcta todo el tiempo, pero aproximadamente 1 vez en seis repeticiones, la entrada de temperatura ADC se invierte con la entrada de humedad ADC, mientras que la entrada de humedad ADC permanece igual. Para deshacerme de este problema, he tratado de cambiar el puerto de ambos adc, pero el problema sigue siendo el mismo.

Por favor, dime cómo resolver este problema.

    
pregunta user28940

1 respuesta

1

Si no es un problema de software, creo que Ignacio tiene razón: probablemente sea un problema de tiempo de muestreo o MUX.

El ADC tiene un condensador de muestreo y retención (a tierra) de aproximadamente 10pF que tiene suficiente carga para una conversión de ADC. Este condensador se alimenta a través de una resistencia por medio del ADC MUX que conmuta desde los distintos pines de entrada. Este MUX también tiene un condensador de aproximadamente 4pF. (No recuerdo los valores exactos de las resistencias).

simular este circuito : esquema creado usando CircuitLab

Si la impedancia de salida de sus fuentes es lo suficientemente baja, los condensadores se cargan (más o menos) instantáneamente y todo esto se comporta como un interruptor a un ADC. Sin embargo, si la impedancia de salida de su sensor de temperatura es alta, la corriente que fluye desde / hacia su sensor de temperatura entre el momento en que cambia el MUX y el momento en que lee el ADC puede no ser suficiente para cargar correctamente los condensadores. lea el mismo valor que antes del cambio de MUX.

Puedes corregir esto mediante:

  • esperando lo suficiente después de cambiar la entrada, para que los capacitores hayan tenido tiempo de asentarse,

  • agregando un condensador entre su pin de entrada de alta impedancia y tierra. El valor tendría que ser mucho mayor que 14pF (en una relación determinada por la precisión deseada), pero lo suficientemente pequeño para que las variaciones de tiempo de la temperatura sean más lentas que la constante de tiempo RC de su capacitor & impedancia del sensor.

respondido por el Nicolas D

Lea otras preguntas en las etiquetas