Lectura erronea con LM35 en intervalos largos de tiempo.

Buen día,

Estoy tratando de realizar un sistema de monitoreo de temperatura con un LM35. Cuando realizo mi programación para tomar la lectura en intervalos cortos de tiempo (de 1 a 20 segundos) no tengo ningún problema, el problema viene cuando intento que los intervalos sean más grandes (un minuto para se exactos), ya que me toma lecturas erroneas (mayores a 60°C, en una habitación a 21°C).

Cuando los intervalos eran pequeños, la primer lectura era también erronea pero se estabilizaba a partir de la segunda (pensé que solo era un probema de estabilización), pero ahora que quiero que la lectura sea por periodos largos no logro que me de lecturas correctas.

Debo agregar que no estoy segura de que sea problema del sensor, ya que medí con el multímetro su salida mientras me daba los datos erroneos y obtenía el voltaje correcto (218mV = 21.8°C), sin embargo, tampoco creo que sea la programación ya que es algo muy básico, pero por las dudas utilicé los clásicos ejemplos de Internet (entre ellos los de la página de Arduino).

Por favor, si alguien ha tenido este problema y logró solucionarlo o tiene idea de lo que podría estar pasando, sería de mucha ayuda si pudiera orientarme.

De antemano, gracias
-Marisol Carmona ...
 
Como mencioné, lo estoy utilizando en su forma más básica con Arduino. El código es el siguiente y en la imagen adjunta está el diagrama de conexión (en mi conexión agregué una resistencia de 10KΩ del pin de salida del sensor a tierra).

Código:
int LM35_PIN = 0;

void setup() {
   Serial.begin(9600); 
}

void loop() {
  int input = analogRead(LM35_PIN);    // Obtengo el valor sensado por el LM35
  float mv  = (5000 / 1024.0) * input; // Convierto el valor leido a mV
  float cel = mv / 10;                 // Convierto los mV leidos a grados celsius
   
  Serial.println(cel);
  delay(60000); 
}
 

Adjuntos

  • ArduinoLM35_bb-777x1024.jpg
    ArduinoLM35_bb-777x1024.jpg
    93.2 KB · Visitas: 10
¿ Agregaste un filtro Pasa-Bajos entre el LM35 y ADC del Arduino ? :unsure:



Cuando yo arme un termómetro con LM35 actualizaba cada 500ms la temperatura en un display 7 seg. Y cada 7 u 8 lecturas se alteraba un poco una de ellas, y a la siguiente se normalizaba. Tenía un op amp a la salida del sensor. El pasabajos es para evitar ruidos o qué función tiene?
 
Cuando yo arme un termómetro con LM35 actualizaba cada 500ms la temperatura en un display 7 seg. Y cada 7 u 8 lecturas se alteraba un poco una de ellas, y a la siguiente se normalizaba. Tenía un op amp a la salida del sensor. El pasabajos es para evitar ruidos o qué función tiene?

Evitar ruidos que pudieran entrar en la línea de la señal del LM35
 
Que tal, aprovecho el tema para hacer una consulta relacionada al tema.
Estoy en proceso de un proyecto, todavía en etapa de pruebas, simulaciones y prototipos. En la parte de control utilizo un Lm35 alimentado a 5v (En la imagen usaba un zener en inversa para dar los 5v, pero en realidad pienso utilizar un lm7805) luego la salida del sensor va a un operacional configurado como amplificador no inversor, dicho sensor estaría a una distancia de 1 metro a 1,5 metros conectado a la placa, leí que algunos recomiendan utilizar dos capacitores electrolíticos en la entrada y salida del sensor conectados a gnd para eliminar ruido, es recomendable eso?, que valores deberían tener en todo caso dichos capacitores? Adjunto la imagen de la simulación y agradezco de antemano, saludos!
 

Adjuntos

  • Sin título.jpg
    Sin título.jpg
    111.8 KB · Visitas: 9
Atrás
Arriba