Arduino LM35DZ dando voltaje incorrecto

2

Tengo un LM35DZ que es un sensor de temperatura, conectado correctamente y leyendo valores extraños ... como 1023.

He intentado casi cualquier código que pude encontrar con respecto a LM35DZ y Arduino, con los mismos resultados cada vez.

Después de varios intentos, traté de medir el voltaje con un multímetro en el segundo pin (Vout) y tenía 4.16V. Usando este código también obtuve 4.16V precisamente:

float voltage0 =   analogRead(A0) * (5.0 / 1023.0);
Serial.print(voltage0);

Por error, ordené 5 piezas en lugar de una, así que las probé con todas y todas me dieron el mismo resultado (tanto en Arduino como en el voltaje medido).

Ahora estoy confundido, ¿qué sucede y por qué todos devuelven el mismo valor?

Aquí hay fotos:

Esquema utilizado http://blog.rastating.com/content/images/2014/Feb/lm35_schem_1_.jpg Actualizar: Lo siento por mi mal inglés, intentaré explicar aún más lo que he hecho. Como dijo Ricardo, he tratado de eliminar a Arduino de la imagen y aún tengo 4.16 V, en los 5 de ellos. (Los compré en Ebay, ¿tal vez los defectuosos / mal calibrados?) Comprará uno en la tienda de electrónica local y probará con él. Imagen esquemática adjunta.

    
pregunta nordashi

2 respuestas

3

No tengo una respuesta para tu pregunta, pero anotaré lo que pude ver en tu configuración.

A pesar de la baja calidad de tu segunda imagen, con un poco de trabajo duro (y quizás algo de fe), puedo decir que tus conexiones son correctas:

  • El cable gris / naranja / marrón va de \ $ 5V \ $ a \ $ + V_S \ $;
  • El cable gris / azul va de \ $ A0 \ $ a \ $ V_ {OUT} \ $;
  • El cable gris con grandes franjas negras va de \ $ GND \ $ a \ $ GND \ $.

LasalidaLM35DZ( hoja de datos ) sigue la siguiente fórmula:

$$ V_ {out} = 0 mV + 10.0 mV / ° C $$

Eso significa que obtendrás los siguientes resultados, aproximadamente:

 Temp |  Vout
  0°C |    0mV
 10°C |  100mV
 50°C |  500mV
100°C | 1000mV

Entonces, justo ahí, parece que hay un problema con tu configuración. No puedo explicar por qué está obteniendo voltajes de salida LM35DZ por encima de 1V (100 ° C). Tiene que haber algo en su hardware, pero no sé qué es.

Solo para verificar: ¿configuró su \ $ A0 \ $ pin para ingresar? Es una posibilidad muy remota porque puede que ya sea la opción predeterminada, y también porque la llamada analogRead() probablemente lo haga por usted.

Otra cosa que debe intentar: si calienta el sensor unos pocos grados sosteniendo la caja del TO92 con los dedos durante unos segundos, ¿obtiene un pequeño aumento en el voltaje \ $ V_ {OUT} \ $? Si es así, tal vez eso signifique que el lote de LM35 que tienes está mal calibrado. Si ese es el caso, puede compensarlo y calibrarlo usted mismo, ajustando la fórmula de temperatura en su código. Hay información sobre cómo hacerlo en la pregunta relacionada, Cómo calibrar una temperatura sensor .

Es un engaño, es cierto, pero ¿a quién le importa mientras funcione? Somos ingenieros, no científicos: D

Finalmente, le sugiero que aísle las variables: retire la placa Arduino de la configuración y encienda el LM35DZ por separado en la placa base. Tenga cuidado con el máximo absoluto de $ 35 $ V_S / $. Luego mida \ $ V_ {OUT} \ $ nuevamente. Si obtiene el mismo 4,16 V, entonces el problema está en el sensor. Si obtiene algo alrededor de 300 mV, entonces el problema está relacionado con su placa Arduino.

    
respondido por el Ricardo
1

Como Ricardo sugirió que era un problema con LM35DZ, no están calibrados. Compré LM35DZ en una tienda de electrónica local y todo funciona como debería.

Es gracioso, son iguales, todas las marcas y todo. Gracias por su ayuda, chicos!

    
respondido por el nordashi

Lea otras preguntas en las etiquetas