Interferencia entre muestras de ADC con XBee y fotoresistor

2

Estoy usando un módulo XBee serie 2 para muestrear los valores de tres sensores, un fotoresistor (LDR), un sensor de humedad y un sensor de temperatura (LM35). Cuando no hay brillo, el fotoresistor tiene el valor máximo (1023), pero si el ambiente es muy oscuro, el valor es el mismo 1023, pero los otros sensores comienzan a ser inestables y dan valores más altos que lo normal. Tal vez un problema de muestreo XBee ADC? ¿O podría ser un problema de circuito?

El módulo XBee que estoy usando para muestrear, usa un modo de suspensión cíclica: se despierta durante 100 ms y permanece en reposo durante 3 minutos. Intenté usar una mayor hora de despertar como 1 s, pero el problema siempre está ahí.

Este es el esquema:

simular este circuito : esquema creado usando CircuitLab

Esta es una foto: enlace

Creo que es un problema de energía, porque si coloco una resistencia de 1Kohm cerca de R2, el sensor de humedad está bien y la temperatura varía muy poco para variar el brillo

    
pregunta Nicola

1 respuesta

2

Verifique la hoja de datos del ATmega que se encuentra en su Arduino para el "Modo de reducción de ruido ADC".

  

Para ingresar a cualquiera de los seis modos de suspensión, el bit SE en SMCR debe escribirse en la lógica uno y una instrucción SLEEP debe   ser ejecutado. Los bits SM2, SM1 y SM0 en el SMCR   Registro seleccione qué modo de reposo (inactivo, ruido ADC)   La instrucción SLEEP activará la reducción, el apagado, el ahorro de energía, el modo de espera o el modo de espera extendido.

Desafortunadamente, por lo que puedo ver, tendrá que escribir su propia alternativa para analogRead(); , ya que la biblioteca estándar parece no admitir que el comando de suspensión.

Consulte este artículo en arduino.cc para obtener detalles sobre el sueño.

    
respondido por el jippie

Lea otras preguntas en las etiquetas