Question:
Pourquoi mon TMP35 me donne-t-il des valeurs étranges?
MICROexchange6
2015-11-05 04:27:16 UTC
view on stackexchange narkive permalink

Un TMP35 / 36/37 donne des lectures de très haute tension, ce qui entraîne des lectures de température élevée. Le moniteur série ressemble à ceci: enter image description here

Comme vous pouvez le voir, la valeur du capteur est dans les 900, la tension est presque 5 et la température est dans les 400. Le circuit est très simple, juste un TMP connecté à 5V et à la masse et à la broche A0. Voici mon code:

  const int sensorPin = A0; const float baselineTemp = 20.0; void setup () {Serial.begin (9600);} boucle vide () {int sensorVal = analogRead (sensorPin); Serial.print ("Valeur du capteur:"); Serial.print (sensorVal); tension flottante = (sensorVal / 1024.0) * 5.0; Serial.print (", volts:"); Serial.print (tension); Serial.print (", degrés C:"); température du flotteur = (tension - .5) * 100; Serial.println (température); delay (1000);}  

C'est un programme très simple et un circuit très simple, donc je ne suis pas sûr de ce qui se passe. Le problème vient peut-être du capteur lui-même. J'ai également essayé ce capteur avec plusieurs autres circuits et programmes et la même chose se produit.

Si quelqu'un sait quelque chose à ce sujet, l'aide serait formidable.

Pouvez-vous brancher un voltmètre sur le Vout du TMP? Si la tension est réellement aussi élevée, alors oui, vous avez une pièce cassée. Essayez un autre capteur TMP. Il s'agit simplement d'exclure l'arduino.
Quand je connecte un voltmètre au TMP, il dit 5V. Donc ça doit être la partie.
Ouais, ça a dû être endommagé d'une manière ou d'une autre. Juste pour être minutieux, vous pouvez: 1. vérifier votre circuit, 2. vérifier l'orientation du TMP (je les ai branchés à l'envers auparavant), 3. vérifier la tension d'alimentation et vous assurer qu'elle est entre 2,7 v et 5.5v (selon la fiche technique). Mais vous avez probablement déjà fait ces choses. J'ai juste pensé que je devrais les mentionner au cas où.
Merci pour le commentaire mais oui, j'ai vérifié toutes ces plusieurs fois. Dommage qu'ils ne vous donnent qu'un seul TMP dans le kit de démarrage.
Juste curieux: d'où vient le `- .5`, dans` float temperature = (voltage - .5) * 100; `? TMP35 sorties 10mv / degC, avec 0v à 0degC. (Non pas que cela aiderait s'il s'agit d'une erreur de codage; cela rendrait vos résultats plus élevés de 50 ° C.)
Deux réponses:
SDsolar
2018-05-04 07:21:21 UTC
view on stackexchange narkive permalink

J'utilise beaucoup des diviseurs de tension et j'ai déjà vu cela.

Dans tous les cas où TOUTES mes lectures sont élevées, mais elles varient de manière prévisible (comme sur mes panneaux solaires - elles montent pendant le jour et descendent la nuit), il a toujours été prouvé que cause simple, unique.

Résistance dans le fil de terre.

Par exemple, s'il était branché dans un trou de planche à pain qui ne le tient pas bien si je l'ai étendu et ai des connexions en cours de route.

Ce serait donc la première chose que je chercherais.


Cela dit, si les lectures sont très élevées et ne varient PAS de manière prévisible, alors je chercherais un fil de terre déconnecté.


Si toutes les connexions sont bonnes mais elles se comportent toujours mal, alors je l'échangerais avec une autre pour m'assurer que la pièce elle-même n'est pas le problème.

MICROexchange6
2015-11-08 08:55:59 UTC
view on stackexchange narkive permalink

La partie semble être cassée; la tension est anormalement élevée.

Avant de le lancer, cela vaut la peine d'essayer une autre broche ADC. Faites également un diviseur avec des résistances et vérifiez que vous pouvez obtenir une plage de valeurs du CAN. Et assurez-vous que vous avez le capteur, pas un transistor aléatoire, et que vous avez le câblage correct, y compris sa masse connectée.
Merci, essayé différentes broches ADC, tous les mêmes résultats. C'est définitivement un capteur de température et les fils sont corrects. Je vais essayer de faire un diviseur pour tester l'ADC, mais les autres broches me donnaient les mêmes résultats.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...