pines analógicos AT-Mega 2560

0

Estoy tratando de medir la temperatura de cuatro sensores de temperatura MCP9700AE ( enlace ) utilizando un microcontrolador ATMega 2560. Sin embargo, obtengo lecturas de temperatura diferentes según la entrada de 5 V en la placa y la conexión a tierra en la placa que utilizo. Medí la diferencia de potencial entre las entradas de 5 V y los terrenos utilizando un multímetro y todos son iguales. Así que no entiendo por qué las temperaturas son diferentes. ¿Alguien tiene alguna idea?

Por cierto, probé esto utilizando dos AT Mega 2560 diferentes y los resultados fueron los mismos.

Así que conecté un sensor 10 DOF que también tiene un sensor de temperatura al ATMega. ( enlace )

Este chip requiere una conexión SDA y SCL. Ahora todos los sensores de temperatura dan 21 C de lectura de temperatura. No estoy seguro de lo que hace esta modificación, ya que no cambié nada para el MCP9700A.

    
pregunta user3897744

2 respuestas

3
  

Así que conecté un sensor de 10 DOF [...] Ahora todos los sensores de temperatura dan una lectura de temperatura de 21 ° C. No estoy seguro de lo que hace esta modificación, ya que no cambié nada para el MCP9700A.
  [...]
  cuando elimino Vin en el chip 10DOF, el problema comienza de nuevo [...]

A partir de estas actualizaciones en la pregunta y los comentarios posteriores, este comportamiento se ajusta al desacoplamiento insuficiente de la fuente de alimentación de 5 V a los dispositivos MCP9700A.

La razón por la que agregar el Adafruit 10 DOF module hace que las lecturas de MCP9700AE sean correctas, podría deberse a que ese módulo de Adafruit incluye en al menos un condensador en el riel de 5 V, como el condensador de entrada a su regulador LDO integrado (vea la flecha roja a continuación). Por lo tanto, un efecto secundario de conectar este módulo Adafruit a la fuente de 5 V del Arduino (que también alimenta a los dispositivos MCP9700A) es que agrega esta capacidad adicional a ese riel de fuente de alimentación.


fuente de imagen original

Por lo tanto, en base a los resultados vistos, sospecho que el ruido en la fuente de alimentación de 5 V a los dispositivos MCP9700A podría ser la causa de las lecturas erráticas. Y la conexión del módulo Adafruit agrega suficiente capacidad a ese suministro de 5 V para reducir el ruido y evitar las lecturas erráticas de esos dispositivos MCP96700A.

Sería posible una confirmación adicional, agregando solo condensadores de desacoplamiento al riel de alimentación de 5 V en lugar de conectar ese módulo de Adafruit y viendo las mismas lecturas estables del MCP9700A.

    
respondido por el SamGibson
1

Desdela hoja de datos podemos calcular el voltaje de salida esperado.

Las características eléctricas de CC muestran que para el MCP9700A

  • \ $ T_C = 10 ~ mV / ° C \ $.
  • \ $ V_ {0 ° C} = 500 ~ mV \ $.

A partir de esto, podemos calcular que a una temperatura ambiente de 22.3 ° C, el voltaje que mide entre \ $ V_ {OUT} \ $ y \ $ V_ {SS} \ $ debe ser el siguiente:

$$ V_ {OUT} = 10m \ cdot 22.3 + 500m = 223m + 500m = 723 ~ mV $$.

  • Revise sus voltajes en los pines de los chips. Todos deberían dar la misma salida. Tenga en cuenta que el MCP9701 tiene un coeficiente de salida diferente y un voltaje de 0 ° C.
  • Mientras esté en ello, verifique el voltaje de suministro que llega a los chips. Debe estar entre 2.3 y 5.5 V.

Estas pruebas le mostrarán si tiene un problema analógico con los sensores o un problema digital con su micro.

Informe de vuelta.

    
respondido por el Transistor

Lea otras preguntas en las etiquetas