TMP04 Sensor de temperatura con Arduino No va ALTO

0

Tengo un TMP04 sensor de temperatura (paquete de 3 pines). Produce una onda cuadrada a aproximadamente 35Hz y el ciclo de trabajo se puede convertir en una lectura de temperatura (ver hoja de datos).

Tiene un voltaje operativo de 4.5V-7V y lo tengo conectado al suministro de 5V de un Arduino Uno. El uso de un multímetro entre los pines de alimentación confirma que el voltaje es ~ 4.96V, lo que debería ser adecuado.

Estaba usando la función pulseIn () para leer la hora en que el pin estaba alto, pero la función fallar y siempre fuera de tiempo.

Para verificar la salida del sensor, lo conecté a la entrada analógica de Arduinos (ADC) y tomé lecturas del pin cada milisegundo.

Hubo un claro patrón ALTO / BAJO, PERO hubo un problema. La señal LOW estaba leyendo aproximadamente ~ 15 (fino), pero la señal HIGH estaba leyendo ~ 145. Este es un voltaje muy bajo, ya que el ADC produce un número entre 0-1024.

Por lo tanto, una lectura de ~ 145 corresponde a un ALTO voltaje de ~ 0.7V, que por supuesto no se espera y es incorrecto. La hoja de datos sugiere que el voltaje ALTO nunca debe caer por debajo de \ $ V_ {DD} -0.4 \ $.

Pensé que podría haber sido un sensor de fallas, pero después de probar con otro, obtengo los mismos resultados.

Solo estoy haciendo prototipos en una placa de pruebas, y no tengo condensadores de desacoplamiento ya que los estaba probando.

Mi circuito es literalmente:

  • Sensor V + a Arduino 5V

  • El sensor conecta a tierra el suelo Arduino

  • Salida del sensor en Arduino (probé los pines 5 y A1)

No tengo otras resistencias o componentes en mi circuito. ¿Estoy haciendo algo mal? ¿He entendido mal cómo se supone que debo usar el sensor?

Aquí hay una salida de muestra del ADC, con una lectura cada milisegundo:

145
149
14
12
13
12
15
13
16
18
14
18
18
18
20
14
150
146
149
148
149
149
146
148
14
18
17
18
14
21
14
15
18
14
17
17
19
19
150
149
    
pregunta Rohan

2 respuestas

2

El problema fue un error tonto de mi parte. La hoja de datos indica el pinout como una "vista inferior", mientras que yo lo interpretaba como una "vista superior". Por lo tanto, mis pines DATOS y TERRENO fueron intercambiados.

Los datos casi correctos que estaba observando, eran un tanto confusos al problema real.

    
respondido por el Rohan
1

El motivo de esto es que probablemente tenga el TMP03 y no el TMP04. El TMP03 tiene una salida de colector abierto. Esto significa que solo puede tomar corriente, no fuente. Si coloca una resistencia de 10k entre la unión del pin de entrada Arduino / pin de salida TMP03 y 5V, todo debería resolverse.

    
respondido por el stefandz

Lea otras preguntas en las etiquetas