Mystère du capteur de temperature

Bonjour a tous,

J'ai comme projet d'utiliser un esp32 pour capter différents paramètre de l'environnement (température, humidité, lumière, co2, et peut-être d'autre chose par la suite) et envoyer les valeurs à mon système de domotique (home assistant), la partie firmware/programmation sera assez minime car je compte utiliser esphome pour construire le firmware (il supporte déjà tout ce dont j'ai besoin).

J'ai donc acheté quelques esp32 sur aliexpress (pas sûre de la qualité), ainsi que différent capteurs.
Voici les liens/description de ce que j'ai pu trouvé:

J'ai fait 2 breadboards :

  1. ESP32 (1) + DHT20 + TSL2561
  2. ESP32 (2) + DHT20

Je compare ensuite les valeurs données par les différents capteurs pour vérifier leurs fiabilité (J'ai 2 station météo qui me servent de référence).

  • La breadboard 1 me donne une température de +0.5°C en permanence (par rapport a la température de reference)
  • La breadboard 2 me donne une température de -0.5°C en permanence (par rapport a la température de reference)

Je me dit que ca vient des capteurs (précision de +-0.5°C d'après la datasheet). Pour m'en assurer je les inverse. Donc capteur de la breadboard 1 sur la breadboard 2 et vice versa (rien d'autre ne change, ni les branchements, ni les ESP32, ni quoi que ce soit d'autre)

Et la surprise... Aucun changement ! La breadboard 1 donne toujours une température trop haute de 0.5°C quant a la breadboard 2, elle donne toujours une température trop basse de 0.5°C.

C'est la que je bloque, qu'est-ce qui pourrait causer cette différence ?

  • Le capteur => Non car en les inversant, les valeurs devrait être inversée.
  • L'alimentation USB => Non car même résultat avec différentes alimentation.
  • Branchement => Non car mêmes branchement sur les 2 breadboards.
  • Breadboard => J'y crois pas.

Je chasse donc un fantôme, à votre avis, qui a tuer le colonel moutarde :sweat_smile: ?

J'aimerais bien faire un schema mais je n'ai trouvé aucun outil qui me permet de faire un carré avec des pins d'entrée sortie et un nom donc je vais le faire comme je peux...

Breadboard 1:

Breadboard 2:

Bonjour

La plaque d'essai donnant toujours , pour le capteur qui y est installé, le résutat le plus élevé serait-elle un peu plus proche d'une source de chaleur ? (régulateur de tension, ESP32 WiFI activé....)

Remarque : La précision typique des DHT20 est bien +- 0,5°C, ça représente le 'gros' de la production , mais l'erreur peut aller jusqu'à +-0,7°C

Malheureusement non. Les ESP32 sont tout a fait a droite de la breadboard et les capteurs sont tout a fait a gauche. Il n'y a rien entre les 2. et ce sont des breadboard longues

est-ce le capteur le plus proche des ESP32 qui donne la valeur la plus élevée ?

Les écarts à la 'référence' n'ont du sens que si ces références sont étalonnées , ou, à défaut si du moins si leur précision est meilleure que celle des DHT20

Le problème peut parfaitement provenir de toi-même.
Le corps humain est un radiateur, et j'ai déjà été confronté à des capteurs qui produisaient des résultats faux pour cause de proximité avec moi-même. 30cm suffisent pour faire la différence.

j'ai 2 breadboards différentes pour les 2 essais et avec les capteurs situés au même endroits sur les 2 breadboards.

Oui j'ai remarqué que ce type de capteur est très sensible. les 2 breadboards de test sont au situé au même endroit (il y a quelques cm entre les capteurs, elle sont situé l'une a coté de l'autre). Il n'y pas de présence proche de ces breadboards.

Il y a forcément une source de chaleur qui intervient. Si tu permute géographiquement les breadboards, que se passe t-il ?

je viens de les inverser, j'attends un peu pour voir si ca change quelque chose et je revient avec le résultat :slight_smile:

j'ai été un jour piégé par un capteur sous influence de l'extraction d'air chaud de l'ordi portable !

C'est aussi à cela que je pense, par exemple un PC sous le bureau.

Je viens de vérifier tous les branchements. J'ai donc du manipuler les capteurs, ce qui fausse les valeurs. Je les ai mis dehors quelques minutes pour qu'ils redescendent en température, je les rebranches dans quelques minutes pour qu'il ne pourrissent pas mon graphique qui me sert a les comparer avec des valeurs trop basses ^^

En attendant voici quelques photos de mes montage (j'ai peut-être fait des erreurs ?)

Breadboard 1:

Breadboard 2:

Emplacement:

Il n'y a pas d'autres appareils autours que ceux visible sur la photo.
Les 3 capteurs visible sur la photo + le capteur de la station météo sont d'accord sur la température actuelle. Je les utilisent donc comme référence. Si quelque chose chauffait autour, il sera aussi impacté en toute logique. Donc je crois qu'il n'y pas de source de chaleur externe.

-la valeur haute vient-elle toujours de la plaque d'essai située à l'avant ?

-en décâblant d'une des plaques d'essai le petit module avec la puce TSL2661 , ça réduit l'écart restant à expliquer ?

salut!

en météo, on prend la température de l'air à l'abri du vent et du soleil. Tu aurais 2 petits objets qui te permettraient de recouvrir les capteurs et limiter les effets immédiats de l'environnement (courants d'air, irradiation infra rouge...).

Pour le reste, comme dit plus haut, un écart autour de +/- 0,5°C c'est pas dégueu pour du module arduino. Ca pourrait convenir pour une station météo où l'intérêt est plutôt un tracé à la journée qu'à la minute.

1 Like

Oui.
L'important n'est pas la précision de la valeur absolue.
L'important dans un capteur, c'est sa sensibilité et surtout sa linéarité.

Sensibilité : c'est le plus petit écart détectable.
Linéarité : le capteur est linéaire si quand la température est multipliée par un rapport k le capteur donne une information aussi multipliée par k.

Si le capteur est linéaire et ne présente qu'un décalage de tension, il est facile de faire une calibration.

Remarques :

  1. Les mesures précises de température sont difficiles.
  2. Ta démarche de chercher à comprendre avec des comparaisons et inversion est très bonne.

Ta démarche de chercher à comprendre avec des comparaisons et inversion est très bonne.

oui..... tout en gardant à l'esprit que les capteurs Oregon et les 2 DHT20 sont 'dans un mouchoir de poche' avec des écarts insignifiants pour des stations metéo

C'est bon j'ai trouvé le problème. Il n'était pas du tout la ou je cherchais :stuck_out_tongue: Il y avait un filtre qui multipliait la valeur dans le code du firmware. J'aurais pu chercher longtemps ^^ Vraiment désolé, j'aurais du commencer par la. Voila une bonne leçon pour la prochaine chasse au fantôme :rofl:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.