Mode deepsleep

Salut à tous, je cherche à comprendre depuis quelques jour pourquoi mon wemos D1 mini consomme 210 mA en fonctionnement normal ( wifi activé ) et 155mA en mode deepsleep. Ce qui me parait énorme. Je voudrais tester la température à intervalles régulier sur batterie.

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(REDLED, OUTPUT);
  pinMode(GREENLED, OUTPUT);

  digitalWrite(REDLED, LOW);   
  digitalWrite(GREENLED, HIGH);
  delay(5000);
  digitalWrite(REDLED, HIGH);   
  digitalWrite(GREENLED, LOW);
  ESP.deepSleep(10E6);
}[code]

Ah ok, tout simplement. Quelle est la solution alors ? changer de modèle , de marque ? ( il s'agit d'une carte chinoise )

Doutant de ma réponse issue d'une lecture en diagonale de ton message initial j'a supprimé rapidement le message auquel tu réponds , OK ce n'est pas une bonne pratique...mais je n'imaginais pas une réaction aussi rapide.

Je pense maintenant que la carte n'entre pas réellement en mode deepsleep, reste à comprendre pourquoi.

De mémoire mes cartes Wemos D1 Mini non modifiées , consomment une centaine de µA en deepsleep. la Led intégrée unique de mes cartes D1 Mini étant eteinte (LED sur GPIO2)

'carte chinoise' ? Y'à pas mieux pour une D1 MIni !
Wemos est la société chinoise qui a concu et produit les D1 Mini
Je n'ai que ça (en nombreux exemplaires) et ne voit pas l'intérêt de chercher ailleurs un clone
(pour info je prend mes cartes D1 Mini sur la boutique Wemos d'Aliexpress)

peux-tu donner le lien de la carte achetée ?

Merci pour les infos, mes cartes viennent d'ali, elles m'ont toujours donné satisfaction. Même si j'ai un moment pensé qu'il pouvait s'agir d'un mauvais clone chinois d'une marque chinoise donc.

J'ai peu voire pas d'expérience avec cette carte, mais j'ai des questions :

  • '10E6', est-ce valide ? Ne faut-il pas 1e6 ou 1000000 plutôt ?
  • Avez-vous vu ce qui est écrit ici ?

On active le mode Deep-sleep en reliant la broche RST à la broche D0.

ESP.deepsleep(0), met en veille le module jusqu’à ce qu’il soit réveillé par un pic sur la broche RST
ESP.deepsleep(5 * 1000000), réveille le module toutes les 5 secondes
ESP.deepsleep(5000000, RF_DISABLED), réveille le module toutes les 5 secondes sans ré-activer le modem WiFi

La dernière ligne semble indiquer que le deepsleep ne coupe pas le wifi, ce qui pourrait être une source de consommation excessive.

On peut mettre en deepsleep sans la liaison que tu montres , le sept, mais sans elle pas de revéil automatique au bout d'un temps défini.
Sans cette liaison on réveille par une petite impulsion à 0 sur l'entrée Reset

J'avais compris que le second paramètre concerne le redémarrage (éventuel) du WiFi au réveil et que par principe le passage en deepsleep coupait le WiFien eteignat presque tous les éléments de l'ESP8266

10E6 correspond à 10 secondes, je vois bien que pendant ce temps, la consommation baisse un peu mais vraiment pas au niveau du micro ampère. Je suis donc coincé pour l'instant dans mon projet.

Le lien ou j'ai acheté mon dernier lot de cartes.

la carte ressemble à un clone des premières versions des cartes Wemos D1 Mini , je ne vois rien de suspect

Les cartes WEMOS/LOLIN D1 Mini authenthiques ont maintenant cet aspect
https://docs.wemos.cc/en/latest/d1/d1_mini.html

Sur quels GPIO et comment ont été branchées les leds vertes et rouges qu'on voit apparaître dans le code ?
Je reste sur l'idée que quelque chose dans la câblage provoque la consommation anormale pour un deepsleep()

EDIT : Je viens de tester le code suivant sur une D1 Mini , j'ai relié RST et D0 pour profiter du réveil automatique.
-Pendant les 3 secondes d'éveil la carte consomme 15mA en moyenne (WiFi non activé aux réveils )
-Pendant les 10 secondes de sommeil elle consomme 61µA sur l'entrée 5V
Rien à part le fil de liaison RST-D0, et l'alimentation n'est raccordé à la carte

void setup() {
Serial.begin(115200);
Serial.println("on dort dans 3 secondes ");
delay(3000);
ESP.deepSleep(10E6, WAKE_RF_DISABLED);
}

void loop() {
}

Remarque : un ESP8266 insuffisemment alimenté (qui n'a pas tout le courant appelé) par en vrille
son courant peut alors être 'non négligeable'

J'avais branché les leds par la suite, pour observer la mise en veille même si la led verte ne s'allumait quand même pas - le wemos étant en veille.
J'ai tout décâblé sauf l'alim en 3.3V et le pont entre D0 et rst.
Toujours une conso importante, 180mA et 133mA en veille.

J'ai testé un nodeMcu, avec le même code, j'obtient 78mA en mode normal, et 9 mA en mode deepsleep.

Les consommations d'après la doc sont:
NodeMCU ESP12e:
80 mA en fonctionnement standard (avec des pics allant jusqu'a 150mA lors de la connexion au wifi d'une durée allant de 2 secondes à 8 secondes).
0,2 mA en mode deep sleep.

C'est donc ok pour le mode standard mais encore trop élevé pour le mode sleep.

Je commence à me demander si c'est pas ma mesure qui est mauvaise.

image1
image2

Bonjour

faire également l'essai en alimentant en 5V la carte D1 Mini et donc en utilisant son régulateur 3,3V et une bonne tension 3,3V

133mA : l'ESP8266 n'est pas en deepsleep ,comme demandé dans le code !!

Probablement par défaut d'alimentation dû au multimetre inséra entre la sortie d'alimentation 3,3V et l'entre 3,3V de la carte D1 Mini

Attention : le multimetre en mode 'mesure de courant' présente une résistance série non négligeable qui a pour conséquence une perte de tension et donc une sous alimentation de l'ESP8266 pouvant engendrer une anomalie de fonctionnement empêchant d'atteindre le deepsleep()

N.B Le bouton Range du mulimètre permet peut être de passer à un calibre voisin impliquant une résistance interne plus faible ...... et donc l'alimentation de l'ESP8266 à une tension plus proche de 3,3V à chaque instant de son fonctionnement

Je confirme.

Surtout en calibre µA. En général pour mesurer le courant consommé par une PRO MINI je démarre sur le calibre mA, ensuite je commute sur µA quand le mode veille est activé, sinon la carte ne démarre pas.
Avec un ESP8266 c'est encore pire.

J'ai alimenté le circuit avec une alim de labo, le courant affiché sur l'alim est le même: 0.2A et 0.15A.

Bonsoir

Carte alimentée en 3,3V ou en 5V pour bénéficier de son régulateur ?

N.B Les alims de labo ne savent pas toujours répondre très rapidement aux brefs appels de courant !

j'en ai une qui n'arrive pas à bien alimenter mes ESP même en règlant à 500mA le courant de court-circuit, valeur qui en principe suffit.

En règlant à 2A ce même courant elle n'arrive pas à alimenter correctement mes SIM800.

Pour aider on peut mettre un condensateur (par exemple 1000µF) sur les bornes d'entrée d'alimentation de la carte.

Je l'ai alimenté en 5V avec un condo, ça tire 370 / 320 mA.

Bonjour

je commence à penser que la carte a un défaut et qu'un des composants entourant l'ESP8266 tire en permanence un courant élevé.

Oui c'est bien ca, carte défectueuse, j'ai essayé une autre : consommation normale 70mA et 0.13mA en veille. Comme quoi, une carte peut très bien fonctionner tout en présentant un défaut de consommation qui passe inaperçu tant qu'on la branche pas sur batterie. Merci à tous.