LM35 Problemas con valores incorrientes [cerrado]

0

He estado trabajando en mi proyecto para detectar valores de temperatura usando el sensor de temperatura LM35 usando un Arduino UNO. He usado los tiempos de servicio de este sensor sin problemas. Pero recientemente, ninguno de mis LM35 funciona correctamente con todos los códigos que he probado. Estoy desconcertado con lo que ha pasado con ellos. Mis conexiones también son correctas. He intentado volver a cablearlos pero todo es en vano. ¿Alguien puede ayudarme, por favor?

Yporotrodemisensordetemperatura,daalrededorde40a55gradosCelsiusatemperaturaambientede26ºC.

LasconexionessonVCCa5V,GNDaGNDySignalaA0pindeArduino.

Códigosqueheprobado .

    
pregunta ahmed Hussain

2 respuestas

4

Divida su problema en tres partes:

  1. Verifique que su voltaje de +5 V CC sea correcto y estable.
  2. Mida la salida de voltios de CC del sensor y compárelo con el valor esperado utilizando la fórmula en las hojas de datos.
  3. Use un potenciómetro o un par de resistencias para generar un voltaje en su ADC y vea si obtiene una lectura correcta y estable.

    • Si (1) falla, entonces necesita averiguar qué está mal con su fuente de alimentación.

    • Si (1) está bien y (2) falla, entonces tiene sensores defectuosos.

    • Si (3) falla, tienes un código Arduino o un código defectuoso.

Informe de vuelta.

    
respondido por el Transistor
0

El lm35 puede ser un sensor difícil de trabajar, a veces, especialmente si necesita cierta precisión. Resaltaré algunos problemas posibles y las soluciones que puede utilizar.

El lm35 puede ser muy inestable a veces especialmente porque es solo de 10mv /. Asegúrese de que está utilizando el regulador a bordo en el arduino. pero nunca cambió el modo de suministro.

Para aumentar la precisión de su lectura, es mejor incluir esta línea

analogReference( INTERNAL );

en su configuración (). El arduino utilizará automáticamente la referencia 1.1v para su ADC. Eso aumentará su precisión y reducirá muchas lecturas erróneas. Aunque, si cambia la referencia analógica, debe usar este código para obtener su valor final:

result1 = map( sensorValue1, 0, 1023, 0, 110 );

Otra cosa que podría estar dispuesto a intentar es reducir la tasa a la que llama analogRead o la tasa a la que imprime su resultado. Esto puede servir como una forma de amortiguar las "fallas".

Hay algo que leí en alguna parte sobre el uso de un metal que conduce el calor muy bien y le ata el sensor. Esto puede reducir las fluctuaciones debido a perturbaciones ambientales transitorias.

Por supuesto, también podría considerar comprar otros módulos mejores como DHT11 o DHT22. Estos sensores tienen una precisión de hasta 0,5 grados con valores digitales. Las bibliotecas y los códigos de ejemplo sobre cómo usarlos están en línea.

    
respondido por el funaquarius24

Lea otras preguntas en las etiquetas