dimanche 22 décembre 2019

3 - ÉCONOMISER L'ENERGIE

L'alimentation de notre module Lora se fait par le connecteur d'entrée LipO-LI-iON fourni




Les tests et les commentaires des forums sont unanimes, on peut utiliser la fonction DeepSleep de l'esp32 pour le mettre en veille , et dans tous les cas il faut une méthode de réveil et éviter de les mettre dans le coma difficilement réversible.

La meilleure performance en veille (serait) une consommation de 12 milli Ampères ce qui est très insuffisant pour ces Esp.

Je vous propose un montage un peu tiré par les cheveux mais qui fonctionne parfaitement.
Autre option, le solaire, il existe des montages simples à réaliser.

On va utiliser un autre modèle d'Arduino comme commande de relais d'alimentation de l'Esp, un ATTINY 45 ou 85 qui se programme comme un Arduino mais qui consomme en veille sur une alimentation de 3.3 V par plus de 7 micro Ampères et réveillé par un timer interne .




Le transistor 2N2222A en mode bloqué supporte jusqu'à 900 mA ce qui est largement suffisant dans notre cas.

************Modifcations au 01/05/2020*****************

Api_d nous propose une alternative en  changeant de transistor, ce qui est fort appréciable pour une puissance supérieure, en effet le montage que je vous propose ne fonctionnera pas avec une carte plus gourmande en énergie.



Pour plus de souplesse j'ai testé un système avec un transistor à effet de champ à grille isolée plus couramment nommé MOSFET modèle courant P16NF06 . Le schéma est un peu différent mais s'il est un peu plus cher , ll peut passer beaucoup plus de puissance. Alimenter des relais , des Esp plus gourmands en Wifi etc ...
Le code attiny ne change pas.





La résistance R1 limite le courant de sortie du attiny < 20 mA

La résistance R2 décharge le condensateur interne du Mosfet à la veille du attiny et coupe le circuit externe.


************FIN    Modifcations au 01/05/2020*****************

A vous d'améliorer ce montage, les batteries 18650 restent fragiles quand leur tension descend en dessous de 3 v (elles existent aussi en mode protégé) , rechargez les au moins avant 6 mois ou vous pouvez modifier le codes pour y mettre un témoin de charge batterie en entrée analogique, ou mettre une Zener pour bloquer le courant en dessous d'une certaine valeur, ou utiliser une carte BMS etc ...

Le Attiny consomme vraiment très peu , sa batterie peut tenir plus d'un an .

Je suis preneur des améliorations.




cablage et programmation d'un AtTiny






Installation de la carte ATTINY



Installation de la bibliothèque tinysnore ( deep sleep )





Choix de la carte et du programmateur , mettez bien la clock à 8Mhz
et choisissez votre modèle d'Attiny, la différence entre le at45 et le at85 c'est la taille de la mémoire 



Première programmation du microcontrôleur ATtiny : si la puce est programmée pour la première fois, allez dans Outils et faites « Graver la séquence d’initialisation ». Ceci n’est pas à refaire pour une reprogrammation de la puce.


Chargez le code "sleepy_blink_at45_20sU-30mnL.ino"  , branchez votre programmateur, vérifiez le port com et téléversez.

Vous pouvez au préalable modifier ce code pour faire des tests 

20sU correspond à 20 sec en fonctionnement
30mnL correspond à 30 mn en veille

Sachant que le sketch pour l'Esp, on envoie les valeurs de charge toutes les 7 sec (paramétrable), temps de démarrage du module compris on recevra toutes les 30 mn 2 valeurs séparées de 7 sec 

 digitalWrite(led, HIGH);
  delay(20000); // 20 seconds, using full power
  digitalWrite(led, LOW);
  snore(1780000); // Deep sleeps for 30 mn 



Vous pouvez utiliser ce module: https://fr.aliexpress.com/item/32647690484.html
très performant en wifi sur lequel vous installez EspEasy et des sondes de températures et autres sans programmation et compatibles avec la VM présentée dans ce tuto -->mqtt

Source principale à l'origine de ce projet: https://projetsdiy.fr un grand Merci !

Et bien que le sujet soit différent, une excellentissime source de développement Arduino, je cite : https://www.locoduino.org

Et bien sûr le forum Arduino Francophone.






Voilà c'est fini pour ce projet, amis apiculteurs, mes respects .















7 commentaires:

  1. Bonsoir Gilles
    De nouveau besoin de tes lumières!J'avance tout doucement, mais je me trouve devant une question.
    J'ai donc reçu mes TTGO lora, testé la distance avec un sketch pour mesurer les portées. J'ai programmé les deux modules en envoyant des valeurs de teste aléatoires, tout est reçu sans problème, j'ai donc attaqué ta partie économie d’énergie, j'ai câblé la deuxième montage que tu proposes avec un MOSFET P16NF06, ça fonctionne également sur platine d'essai, mais ou je cale c'est pour la partie alimentation. Tu indiques le + au Vin et le - au GND...ma question est ou je branche physiquement mes deux batteries en séries, j'ai essayé sur le 5 volts...mais 8 volts sur du 5volts?!! J'ai peur de tout griller!
    Je te remercie pour tes réponses.
    Jean Claude

    RépondreSupprimer
    Réponses
    1. Bonjour Jean-Claude, la doc de mon TTGO indiquait une tension d'entrée sur le connecteur LipO - Li-Ion entre 5 et 7v nominaux, pour ma part ça a bien fonctionné longtemps sur le connecteur d'alim externe, de plus ça fonctionne très peu de temps.
      Reprends la doc technique de ton module et regarde , les nouveaux modèles semblent fonctionner sur une plage 3.3 / 7 V.Du coup tu mets tes batteries en // et tu gagnes en autonomie. En espérant que ça n'impacte pas la distance d’émission.
      Amicalement, Gilles.
      Rien ne t’empêche de voir si ça fonctionne avec une seule batterie pour tester...

      Supprimer
  2. Bonsoir Gilles,
    Je te remercie pour ta réponse rapide.
    Oui c'est bien ça! j'ai du griller quelque chose le + de la batterie au 5v direct et reprise du 5v pour la balance...Le pire c'est qu'avec un essai a blanc avec la passerelle et des envoies de paquets ça fonctionnait
    Mais quand j'ai branché la balance, elle communiquait plus. J'ai changé les ports slck et data, là javais de nouveau des mesures, mais incohérentes.
    Bon je vais revoir tout ça différemment.
    Encore merci Gilles pour ton aide.
    Jean Claude

    RépondreSupprimer
    Réponses
    1. Bonsoir ou Bonjour Jean-Claude,
      Pour finaliser mon montage Sigfox sur le même principe, j'ai recontacté mon frère pour bien définir le transistor.
      Il me rappelle que je lui avait déjà posé la question et pour lui un NPN est le mieux adapté, le 2N2222A en l'occurrence, mais de qualité. A l'époque, il m'avait proposé d'autres montages ou il n'y avait que 2 accus 18650 en série avec une diode Zener comme régulateur de tension pour l'Attiny, mais avait limité la consommation ou forcé une alimentation minimum pour celui-ci.
      Donne-moi l'intensité nécessaire pour les microcontrôleurs, la tension est aux environs de 5 volts, je suppose.
      Je vais lui demander s'il a une solution, mais il n'est pas souvent disponible.
      Apicalement,

      Supprimer
    2. Une autre piste peut-être, le TP4056 de mon montage Sigfox, certains admettent 8 volts en entrée, d'autres les supportent et fournissent 4,2 volts en sortie ?
      Apicalement,

      Supprimer
    3. jamais deux sans trois,...
      https://www.amazon.fr/dp/B00WSV8U10/?coliid=I3FMEZMVJ45D00&colid=2FMIOADD05F36&psc=0&ref_=lv_ov_lig_dp_it
      Un petit module "miraculeux" que je viens de découvrir et qui est déjà indisponible!
      Apicalement,

      Supprimer
  3. Bonsoir Api
    Oui,je te remercie pour tes pistes. Je n'avais pas donné de nouvelles de mes déboires de branchement, au final, j'ai fait le montage de Gilles a base de P16NF06, ça fonctionne parfaitement, j'avais juste un questionnement sur l’endroit du branchement sur l'ESP ttgo, une question que je trouve maintenant enfantine.
    J'ai même fait tirer en Chine quelques PCB pour simplifier la fabrication de mes montage. Pour moins de 2euros les 5 ça serait bête de s'en passer.
    Encore merci pour tes tuyaux !

    RépondreSupprimer