Vacances aidant, je reprends mes investigations sur une sonde de température à base d'ESP8266 sur batterie.
Pour la longévité de la batterie, le nerf de la guerre est la durée totale d'exécution au sortir du deepSleep.
En l'état actuel, j'en suis rendu à :
la fonction setup() se lance à millis() = 45
la connexion au réseau WiFi domestique est terminée à millis() = 220
la connexion au broker mqtt (raspi/mosquitto sur mon réseau local) est terminée à millis() = 240
Et là c'est le drame : un ds18b20 me donne la température en plus de 750 millisecondes.
Il faudrait réduire la résolution à 10 bits pour acquérir la température en moins de 200 millisecondes.
Mais avec un capteur dont la précision est de +/- 0,5°C et une résolution à 0,25°C l'erreur cumulée peut grimper à 0,75°C, ce qui ne me plaît pas.
Pour l'instant, j'écarte l'idée d'utiliser un Attiny "pilote" qui lancerait la lecture 12 bits du ds18b20 en 750ms et réveillerait l'ESP8266 peu avant la récupération de la mesure.
Je cherche donc un capteur de température qui pourrait me donner un relevé digne de ce nom en 200 ms à partir du lancement de la fonction setup() de l'ESP8266.
Le capteur cherché :
doit pouvoir être interrogé quasiment dès la mise sous tension = pas de délai initial de stabilisation.
doit permettre une lecture en 200ms, avec une bonne précision (idéalement +/-0,2°C)
doit être peu gourmand en énergie
Cela me permettrait d'avoir tout fini et d'entrer en deepSleep vers millis() = 250.
Après m'être plongé dans l'article de hbachetti et avoir parcouru quelques datasheets, je pense partir vers un MCP9808.
Je pense que ç’est un bon candidat pour les tests.
Pour ma part, dans une application identique je me suis contenté à ce jour des DS18B20 en résolution 10 bits avec comme résultat 0,7s du réveil à l’envoi des données vers ThingSpeak.
J’envisageais une mesure par thermistance pour améliorer la longévité
bricoleau:
Après m'être plongé dans l'article de hbachetti et avoir parcouru quelques datasheets, je pense partir vers un MCP9808.
Qu'en pensez-vous?
Bonjour bricoleau
C'est un trés bon candidat et qui dispose de qq registres qui peuvent etre bien pratique.
seul bémol en compo unitaire pour du DIY , c'est du CMS il faut donc etre un peu à l'aise avec çà , mais çà existe en module plus simple d'usage.
si vous lisez la température d’une surface, un capteur infra rouge est rapide (mais assez cher). Si vous le mettez aussi en sleep cependant il peut être un peu long à se réveiller)
oui mais ce type de capteur ne donne qu'une valeur de température apparente d'une surface, la lecture fortement dépendante de l'émissivité de la surface à tester.
la précision souhaitée par Bricoleau (idéalement +/-0,2°C) est hors de portée et son messsage évoque plutôt une température d'air ambiant
bonjour
attention aussi avec les specs des capteurs thermiques , le temps de reponse thermique peut etre important
I.e il est > à la seconde par exemple pour le candidat evoqué
À quelle vitesse varie la température à mesurer de cet air ambiant ? Il faut que le point de mesure n’ait pas d’inertie forte par rapport aux variations.
Les DS18B20 dits étanches dans leur coque en ferraille sont souvent mal fichus et il y a de l’air sous la protection ce qui fait que le métal, l’air emprisonné et le capteur ont tous une température différente si les variations sont rapides