Boot correct d'un Wemos au retour d'alim

Tags: #<Tag:0x00007fa7a6725b00>

Bonjour à tous,

J’ai un petit souci dans la conception d’un pluviomètre autonome…
J’ai mis un Wemos D1 Mini Pro sur batterie et panneau solaire, en utilisant un contrôleur de charge générique qui n’est pas spécifiquement conçu pour faire du 3.3V. En revanche, il gère une batterie LiFePO4 qui sort du 3.2V.

Mon problème est le suivant : quand ma batterie s’est vidée jusqu’à la limite admissible par le contrôleur (il coupe l’alimentation côté Wemos), et que le soleil revient, à partir d’une certaine tension sur la batterie, le contrôleur réalimente le Wemos. Sauf que ce dernier se met systématiquement dans une boucle de reboot où la led bleue clignote toutes les 10s environ. Même après plusieurs heures quand la batterie est bien chargée, il reste dans cette boucle infinie.
Le seul moyen d’en sortir c’est de pousser le bouton « reset » sur le Wemos… ce qui est dommage pour un objet censé être autonome :face_with_raised_eyebrow:
En me promenant dans divers forums sur le sujet il semble que ce soit l’appel de courant au démarrage qui mette en vrac l’appareil. Et il n’y a pas vraiment de solution proposée à ce problème par les « spécialistes »…

N’étant pas du tout électronicien, il y a peut-être un truc évident pour certains que je rate. Je voudrais donc savoir si ceux d’entre vous qui utilisent des Wemos / NodeMCU ou autres avec des panneaux ont eu et résolu ce problème. Et comment…
Sinon, s’il existe un montage électronique qui pourrait permettre d’alimenter le Wemos uniquement lorsque la batterie atteint un certain niveau de tension…

Voilà le matériel que j’utilise dans mon montage :

Le montage (sans trop tenir compte de l’aspect visuel des éléments) :
image

Bonjour,

as tu essayé d’ajouter qq capa (100nF10µF) pour stabiliser la tension au moment du démarrage entre le 3V3 et le gnd?

Autre question, as tu essayé avec un autre wemos (c’est un vrai Wemos ou du chinois ?) ? Car j’ai déjà eu un wemos chinois qui démarrait que sur PC mais impossible de démarrer sur power bank.

D’après le schéma du Wemos, il y a théoriquement déjà un condo entre VCC et GND… ceci dit, je peux essayer d’en ajouter un autre. Un électrolytique, ça ferait l’affaire ?

Quant au Wemos, oui c’est du chinois… mais le fait de pousser ‹ reset › le remet en route. Donc le problème n’est pas permanent, mais uniquement au rétablissement de l’alim.
J’ai un second mini Pro, mais il vient du même vendeur. Je peux en revanche tester facilement avec un nodeMCU ou un Wemos (non pro) d’une autre provenance.

Bonjour,
J’utilise un wemos en alim solaire depuis environ 3 ans et jamais eu de soucis, j’utilise un TP 4056 pour la régulation de charge et une batterie Li Ion 18650 et le régulateur brancher sur le 5v du wemos.
Mais je fais du deep sleep de 10min pour soulager la batterie.

OK, merci pour le retour. Néanmoins, as-tu des cas où la batterie se vide totalement ? Et que se passe-t’il au retour de l’alim ?

oui une électrolytique fera l’affaire.

En 3 ans j’ai jamais eu la batterie vide .

Déjà eu le cas en janvier lorsqu’il n’y a pas trop de soleil (tension batterie à 2.8V) avec un montage D1 mini Pro + TP4056 et c’est reparti tout seul. Par contre, il me semble que j’alimente la borne 5V de la D1 mini (vu que la tension batterie est de 4.2V chargée au maximum) mais je ne suis pas certain.

Il faudrait peut-être voir ce qui ressort sur le moniteur série même si c’est sûrement pas pratique.

Effectivement j’avais fait le choix d’une batterie LiFePO4 car il fait bien froid l’hiver par chez moi (520m d’altitude, dans les Alpes) et les batteries Li ion ne supportent pas bien de charger en sub zero. La contrepartie est d’alimenter sur le 3.3V. Je sais que c’est un peu borderline, d’où la raison probable de mes ennuis.

Le mode deep sleep ne me convient pas car l’appareil est censé mesurer en continu température, pression, humidité, présence d’eau sur un capteur et comptage du débit quand il pleut.

Bon j’ai rajouté un régulateur Polulu S7V8F3 (https://www.pololu.com/product/2122) à la sortie du contrôleur… ça boote quand je branche et débranche mais la batterie a encore 3.1V. Faut que je la laisse se vider et que je remette au soleil.
Mais bon… le régulateur m’a encore augmenté la conso du coup… 100mA en continu, maintenant (cependant il faudra voir à combien ça descend avec le mode ECO d’ESPEasy quand il se déclenchera).

Sur batterie en continu avec un esp8266, ça risque d’être compliqué quand même. Le wifi consomme beaucoup.

A voir s’il n’est pas possible de réveiller que de temps en temps pour les paramètres température / pression / humidité.

Pour la présence d’eau, il est possible d’aller plus loin en réveillant que lorsqu’il y a besoin : Battery Powered ESP8266 IoT et en utilisant une attiny. Ou alors passer sur un capteur Zigbee type capteur d’eau de Xiaomi.

Pour le comptage de débit, sur batterie pas évident, surtout si c’est quand il pleut. Avec une Attiny85, j’ai fait un script qui compte le nombre d’ouvertures et fermetures de la boîte à lettres. Mais ça envoie en 433 MHz. Et y’a le TIC Pulses de Cartelectronic. Mais encore une fois, autre protocole…

Je ne connaissait pas ce composant. Ça m’intéresserait de voir le détail du montage et le code si c’est possible… parce que c’est similaire à un pluviomètre dans le principe. A la limite tant pis pour la température, pression etc que je peux avoir autrement. Pour le 433 j’ai un RFXCom, donc si c’est compatible ça pourrait convenir.

Edit : et merci pour le TIC pulse… je ne connaissais pas non plus et je garde ça dans un coin (même si c’est trop cher pour un pluviomètre).

Voici le code, qui est un mix de plusieurs scripts trouvés sur internet et adaptés :

attiny85_BAL-20200422.txt (18,1 Ko)

Quelques commentaires :

  • J’envoie la valeur à chaque changement d’état du contact. Pas gênant pour une BàL, mais pour un pluviomètre il faut désactiver cela et laisser que l’envoi qui se fait régulièrement.
  • J’avais pas trouvé comment générer un signal qui soit interprété comme un total. Du coup, je simule une sonde de température et je fais varier de 0 à 100. Là encore ça va être pénible pour un pluviomètre.
  • Le code est pas évident à appréhender, avec la mise en veille et tout.
  • Le debug est super pénible sur Attiny parce qu’on ne peut pas afficher sur un port série.
  • Il faut programmer l’attiny en ISP. On peut le faire avec une D1 mini et un port virtuel. C’est quand même pas pratique. Voici mes notes sur le sujet :
    Note.txt (356 Octets)

A choisir, je referais avec une Arduino Pro Mini qui a de bonnes capacités en basse consommation. Une option pouvant être qu’elle fait juste le comptage sans la partie 433 Mhz, et que la D1 mini vient l’interroger par port série de temps en temps par exemple. Pour ma BàL, c’était trop loin pour le wifi d’où le 433 Mhz.

Si c’est pour un pluviomètre, je suis parti sur celui de Misol, que je reçois sous RFLink au format Alecto V5 (et il envoie aussi la température). L’indication semble correcte. Et franchement, le déjà tout fait c’est bien aussi parfois :slight_smile:

Hello,

Merci pour toutes ces réponses ! Il me reste encore deux questions (pour l’instant) :

  • qu’est-ce que tu utilises au niveau hardware pour envoyer en 433MHz ?
  • est-ce que la trame est basée sur un format connu d’un RFX433 ?

J’ai laissé mon montage tourner jusqu’à épuisement de la charge de la batterie et ça donne ça côté courant :
image

Le mode éco est assez étrange… plus il y a de temps qui s’écoule et plus on tend vers une conso réduite de l’ESP.
Sinon j’ai regardé une vidéo sur Youtube où le gars préconise de couper une piste (sur un D1 mini non pro) ce qui évite que le régulateur bouffe du courant lorsqu’on alimente en 3.3V. Inconvénient, il faut brancher une batterie lors du flash.
https://www.youtube.com/watch?v=rfPwOtoGO4E
Voir vers 3:47.