Niveau batterie - Comment limiter la consommation du pont diviseur ?

Je ne cherche pas à m'orienter particulièrement vers un ESP-01 forcement, c'est juste que je n'ai pas les GPIO accessible sur ma boxe domotique pour rajouter un NRF24L01 et je voulais limiter le nombre de protocole aussi.

Si tu optes pour une solution WiFi ESP8266 autant partir d'un ESP-12 ou ESP-07 et lui ajouter le strict minimum pour modérer la consommation en Deep-Sleep. (tua uras une entrée analogique 1V , la fonctionnalité 'deep-sleep', et quelques GPIOs.

Bonjour, je me suis fait une série de thermomètres wifi avec ESP12 et DS18B20

Je les alimente avec 3 accus AAA 1000mAh il y a une mesure toutes les 2 minutes, le temps de réveil est de plus de 100 de mS (les mystères des libs toutes faites...) alors que je ne fais que lire la t° (moins d'une mS). La conversion est lancée avant le deep sleep , le résultat est dispo au réveil. Lorsque la température a changé de plus de 0,2° la connexion au wifi et au serveur a lieu (environ 5sec). Il y a au moins une communication au serveur toutes les heures.

Avec cette config j'ai plus de 3 mois d'autonomie et pas besoin de pont diviseur : j'alimente directement depuis les batteries (environ 4V quand elles sont pleines) et ça marche jusque vers 2,5V. Peut-être qu'en compliquant l'installation avec un timer TPL5110/5111 et un régulateur TPS 737 on peut gagner en autonomie... faut tester.

Bonsoir max777

Alimenter en 4V un ESP12 ? ça peut passer avec quelques ESP12, pas tous.
Espressif , fabricant des ESP8266 donne 3,6V comme valeur maximale, il ne s’engage pas au delà
4V , ça passe ou ça casse. Pour faire des montages reproductibles sans risque j’ai opté pour une alimentation directe (sans régulateur) sous 3,2V (accu LiFePo4) qui sont à 3,6V en sortie de charge. Je profite en plus de la très faible auto décharge des LiFePo4

Les 100mS de temps de réveil ne sont pas dus à une librairie particulière.
En ‘deepsleep’ presque tout est arrêté dans l’ESP8266 (seul le compteur de’ RTC’ et un petit bout de RAM restent alimentés. Au réveil il faut, entre autres, recharger en RAM le code stocké dans la mémoire flash SPI accompagnant toujours l’ESP8266. Les 100ms sont incontournables pour un redémarrage après deep-sleep quasiment identique à une mise sous tension.
(Pour un réveil plus rapide il faudrait se rabattre vers le ‘modem sleep’ et sa consommation nettement moins intéressante)

J’ai testé une alimentation via un TPL5110 (‘breakout’ Adafruit) , petit gain d’autonomie bien sûr puis que l’ESP12 n’est plus alimenté. Un inconvénient : imprécision de la durée de sommeil définie par une résistance.
J’ai finalement laissé tomber et reste en ‘deepsleep’

Dans mon cas les sessions (1 par heure) durent 0,9s en moyenne (réveil+mesure de T°,+connection à la box+ envoi d’une donnée vers ThingSpeak). L’autonomie est bien entendu fortement impactée par la conso ‘ESP réveillé’ et par la durée de ce réveil. C’est surtout sur les phases de réveil que j’ai cherché le gain d’autonomie.
duree session.jpg

Merci pour ces retours d'expérience. Je vais tester cela rapidement. Avez-vous un test de la batterie dans votre circuit ou vous attendez qu'elle tombe d'elle même ?

a 3volts je passe en 'deep-sleep sans réveil' De plus j'envoie en permanence la tension batterie sur ThingSpeak, je peux suivre l'évolution de la décharge, voire faire déclencher une notification 'batterie Basse'

Dans mon cas la batterie LiFePo4 n'a pas de protection intégrée, pour éviter une décharge excessive a 3V je passe en deepsleep permanent et comme j'observe l'évolution de la tension sur ThingSpeak je peux intervenir.

Merci pour ta double réponse. On va tester tout ça et je reviens vers vous !

Bonjour al1fch

J'ai plus d'une vingtaines d'ESP12 branchés en direct sur 3 AAA ... et tous fonctionnent bien ; la chance ?

Je n'ai jamais réussi des temps de connexion au wifi inférieurs à 2 ou 3 secondes. Pour avoir moins d'une seconde, peux-tu dire à quelle distance tu es de la box et de quel modèle il s'agit ? D'après ce qu'on m'a "expliqué", le 8266 monterait progressivement la puissance du modem jusqu'à réussir la connexion ce qui "expliquerait" la lenteur dans certains cas (j'ai 7 ou 8 secondes à certains endroits de ma maison et l'autonomie forcément la plus faible).

La stabilité d'une résistance carbone 1% dans le temps est mieux que 1% et la dérive en température sur +/- 10° aussi ; ça me semble très suffisant pour organiser les réveils d'une sonde, non ?

Finalement, tu as quelle autonomie avec ton montage et 1 sec d'activité par heure ?

Bonjour max777

De la chance , oui si on se base sur les données du constructeur qui restent pour moi LE repère. Dans une logique indsutrielle on ne lâcherait pas dans la nature un produit dans lequel des composants sont hors spécifications, pour ne pas exploser le nombre de retours.

En mode 'bricoleur', comme c'est maintenant le cas pour moi, on fait ce que l'on veut, de préférence en connaissance de cause. Je n'aime pas sur ce forum recommander des solutions 'hors limites', le fonctionnement n'étant pas garanti pour 100% des montages. SI je le fait je préfère insister sur le côté aléatoire.

On sait déjà par ailleurs que l'ESP8266 a la peau dure et supporte quelques excès, d'où l'impression de certains que ses entrées supporteraient 5V alors que le fabriquant ne s'y engage pas et dit 'entrées non tolérantes au 5V" (dernière FAQ sur le composant)

La Box est une Freebox.

Je suis en dessous de la seconde pour deux capteurs situés à moins de 10m de la box, sans mur à traverser. j'atteins 3 à 4 secondes pour des capteurs situés un peu plus loin avec un mur, sur le trajet. En limite de portée, j'ai oublié , il me semble que j'ai atteint 5s environ.

Je travaille en IP fixe (je n'ai pas encore essayé de fixer le canal, il y a içi un gain possible) Pour les capteurs proches je bride la puissance d'emission des ESP (TX Power) Mes capteurs DS18B20 sont configurés en résolution moyenne , la conversion et plus rapide.

Autonomie environ 7 mois.

NB Résultats encore mitigés pour les ESP32 : 5µA en veille !! (ESP32 sans regulateur ni USB) mais en contrepartie impossibilité pour moi, avec les librairies actuelles, de descendre en dessous de 5s pour chaque session. Quelque chose dans la négociation avec la box reste plus lent qu'avec l'ESP8266

La stabilité d'une résistance carbone 1% dans le temps est mieux que 1% et la dérive en température sur +/- 10° aussi ; ça me semble très suffisant pour organiser les réveils d'une sonde, non ?

Tu fais référence à la fixation par résistance de l'intervalle de temps de réveil d'un TPL5110 ? La stabilité sera là sans problème. Par contre il faudra accepter d'être plus ou moins près de la valeur théorique (124,85 kOhm pour 1 heure) Plus ou moi précis selon qu'in utilise une résistance ou 2 ..... qu'elles soient à 5% ou 1%.

al1fch: Tu fais référence à la fixation par résistance de l'intervalle de temps de réveil d'un TPL5110 ? La stabilité sera là sans problème. Par contre il faudra accepter d'être plus ou moins près de la valeur théorique (124,85 kOhm pour 1 heure) Plus ou moi prèse selon qu'in utilise une résistance ou 2 , qu'elles soient à 5% ou 1%.

Bonjour Al1 Un petit article en rapport aujourd'hui sur hackaday

Hello,

Je me permet de revenir vers vous suite à la réception de mon ESP12E. Alors je vous confirme que cette petite bête est top, car elle me permet de réduire drastiquement la consommation du montage. :slight_smile:
Je tourne à environ 70mAh lorsque que le module est réveillé et 27µAh quand il tombe en deep sleep.
J’attend de voir maintenant l’autonomie du montage, mais d’après mes premiers calcul, je devrais tenir au moins 14 jours (5 secondes en éveille et 395 secondes en mode deep sleep).

Il restera à optimiser la gestion du wifi, car même avec l’aide des tutos sur internet, impossible de fixer une IP au module. Voici la config que j’ajoute si quelqu’un peu m’apporter son aide :

IPAddress staticIP(192, 168, 1, 90);
IPAddress gateway(192, 168, 1, 254); 
IPAddress subnet(255, 255, 255, 0); 
IPAddress dns(192, 168, 1, 254);
...
void setup() {
WiFi.hostname("ESP-Weather");
  WiFi.config(staticIP, subnet, gateway, dns);
  WiFi.begin(ssid, password);
  WiFi.mode(WIFI_STA);
}

Quand je pousse cette conf, pas de message d’erreur (car il se connecte bien au wifi), mais mon module ne se connecte pas sur mon réseau.

Cela vous parle ?

Pour compléter mon post précédent, vous trouverez le schéma de mon montage. En regarde sur le GitHub du site ESP8266 (GitHub ESP8266), que l'ensemble des GPIO (0, 15 et CH_PD ou EN) était forcement connecté pour que l'ESP12E fonctionne.

Je suis étonné que cela ne sont pas fait (mis à part le GPIO0 qui permet de passer ou non en mode flash) directement dans le module ESP12E. Où je me trompe peut être ?

|500x284 Image

Bonjour

Voir la doc de WiFiConfig et les exemples fournis : gateway vient avant subnet

Pour les IP fixes voir comment c’est géré dans la box , toutes les box ne donneront pas forcément à l’ESP l’IP qu’il revendique !!

Des connections de GPIO sont à faire par l’utilsateur de l’ESP12, tout n’est pas fait dans le module.
J’ai lu qu’il y a eu des évolutiosns dans les ESP12 et que certains ‘pull-up’ seraient maintenant intégrés au module.
Pour mes ‘vieux’ ESP12 j’avais retenu le schéma suivant, il est sans doute simplifiable aujourd’hui.
montage ESP12_schéma.png

al1fch: Bonjour

voir la doc de WiFiConfig, gateway vient avant subnet

Autant pour moi à ce moment là. Edit : C'est bizarre, car le site suivant arduino esp8266 indique une autre configuration...

Sur la doc de Référence je lis bien gateway en second parametre et subnet en 3e (='gateway avant subnet' ... quand on lit de gauche à droite....) !! le code indiqué au message # 32 fait le contraire Votre ESP verra donc 255.255.255.0 comme gateway et aura du mal à s'y connecter !

Merci,

Donc des résultats proches des miens... je te dirais l'amélioration avec 5110 et 737 quand j'aurai un peu amélioré mes compétences de soudeur en petits smc... pour l'instant j'ai un peu trop de déchet.

Clair que je ne vendrais pas des ESP12 alimentés en 3,8V :) là ça a été rapide à mettre en oeuvre et les machines qui sont surveillées sont dans le périmètre de la box donc ça va.

Il n'y a pas de délai de conversion si tu lances la conversion avant de passer en deep sleep : elle se fait pendant le sommeil ; c'est autant de gagné sur le temps de conso du 8266.

L'IP fixe ne change pas grand chose ; de toute façon c'est à configurer sur la box et dans ce cas il n'y a plus besoin de fournir d'IP à la connexion au wifi : la box reconnait l'adresse mac.

Hello,

Pour vous donner un peu des nouvelles : Après avoir remis en fonctionnement le pont diviseur de tension, et ceux avec des résistances de 100k et 150k ( car si mes calculs sont bons, au plus la valeur de la résistance est importante, au moins le pont consomme) et modifié quelques paramètres cela fait maintenant 5 jours complets que je relève la température toutes les 5 minutes et envoyée par wifi à mon Jeedom et j'ai à peine perdu 0.1 Volt de tension aux bornes de mon accu.

Ça sent bon tout ça. En tout cas merci à tous. Je diffuserai le code et le schéma dès que c'est testé complètement.

Hello,

Après mon premier retour d'hier, et étant en attente de résultat, en parcourant le forum, je me suis intéressé au régulateur de tension. Vous me direz que cela fait parti de votre "quotidien", mais c'est une chose à laquelle je n'avais pas pensé dans le cadre de mon montage.

Aujourd'hui j'utilise la Shield Wemos 18650 qui me permet de recharger et sortir une tension de 5V ou 3.3V, mais cela fait encore un élément que je peux supprimer si j'utilise un régulateur de tension. Par contre, je n'ai pas réussi à avoir d'information concrète sur le comportement du régulateur si celui-ci passe en dessous d'une certaines tensions (3.3V j'imagine). Avez-vous une expérience la dessus en gardant mon accu 18650? Merci de votre retour.