Nous continuons notre série d’article de présentation des Shields (cartes d’extension) pour l’ESP8266 Wemos D1 Mini. Un Shield essentiel à la réalisation d’objets connectés, de modèles réduits ou de micro-robotique, c’est le Shield Battery.
Vendu moins de 3€ en direct de chine, il permet d’alimenter la Wemos D1 Mini à l’aide d’une batterie LiPo rechargeable et de gérer le rechargement de celle-ci.
Sommaire
Déballage du Shield Battery pour Wemos D1 Mini
Le Shield Battery LiPo est livré dans une pochette anti-statique avec un jeu de connecteurs (3 types différents). Le circuit de charge est construit autour du chargeur TP5410 adapté à la recharge des batteries LiPo. La carte est équipée de deux connecteurs. Le premier connecteur est de type micro-USB (OTG). Il permet de recharger la batterie à partir d’une alimentation 5 Volts. On pourra utiliser un chargeur ou la prise USB d’un ordinateur. L’autre connecteur est de type JST XH2-2.54mm. Il permet de brancher une batterie LiPo (de 3,3V à 4,2V) La carte est également équipée d’un convertisseur permettant d’augmenter la tension de 3,7V délivrée par la batterie jusqu’à 5 Volts.
Caractéristiques techniques :
- Tension de charge : nominale 5V (max. 10V)
- Courant de charge : 0,5A par défaut. Souder le jumper J1 pour augmenter à 1A (attention, vérifier la compatibilité avec la batterie avant toute modification)
- Batterie Lithium supportées : 3,3 à 4,2V
- Convertisseur de tension jusqu’à 5V (1A max.)
- Connecteur de batterie au format JST XH2-2.54mm
- Connecteur micro-USB (OTG) pour recharge (5V, max. 10V)
- Led verte : allumée lorsque la charge est terminée
- Led rouge : allumée durant la recharge
- Jumper J1 : permet d’augmenter le courant de charge de 0.5A à 1A
Toutes les caractéristiques techniques données à titre indicatif. Elles peuvent varier d’un fabricant à un autre. Vérifiez la compatibilité avec votre batterie et votre chargeur avant d’utiliser le Shield Battery. Ne dépassez jamais la tension maximale admissible par la batterie. Le non respect des consignes peut provoquer l’explosion de la batterie.
Attention. Le connecteur est différent du JST-PH habituellement employé pour les modules de recharge de batteries LiPo
Si la batterie LiPo que vous avez acheté n’est pas équipée du bon connecteur, il faudra le remplacer. On trouve assez facilement sur Aliexpress ou Amazon des lots de câbles avec le connecteur JST XH2-2.54mm.
Attention de ne pas inverser la polarité de la batterie au moment du montage. La batterie risque de prendre feu ou d’exploser !
Soudage et ajustement de la longueur des connecteurs
Libre à chacun d’optimiser l’empilage des shields sur la Wemos D1 Mini. Ici j’ai soudé un connecteur long permettant d’ajouter d’autres Shields par dessus le Shield Battery.
Avant de souder les connecteurs, assurez-vous de respecter la continuité des broches (TX en face de TX…) Dans le cas contraire, la Wemos ne fonctionnera pas.
Pour souder correctement les connecteurs, je vous conseille de positionnement les connecteurs sur une breadboard le temps de la soudure.
En fonction du fabricant (vendeur), les connecteurs peuvent vraiment être beaucoup trop long. Pour que les shields ne soient pas trop espacés (ce qui serait dommage), le mieux est de découper les pattes des connecteurs. Pour avoir une découpe précise, vous pouvez fabriquer un petit guide avec une feuille de papier. Marquez avec un stylo ineffaçable la partie à découper avant de couper avec une pince coupante chaque broche. Ici, les broches mesurent 8mm.
On obtient ainsi un empilage propre et compact.
Mesurer la tension et le niveau de charge de la batterie LiPo
Lorsqu’on développe des objets connectés fonctionnant sur batterie, il est pratique de connaître le niveau restant afin de prévoir le rechargement (ou le remplacement) de cette dernière. La Wemos D1 Mini étant basée sur un ESP8266 (modèle ESP-12x), elle dispose donc d’une entrée analogique qui peut nous servir à suivre le niveau de charge de la batterie. Dans le tutoriel précédent, nous avons vu comment calculer théoriquement la tension de la batterie à l’aide d’un pont diviseur. Ici, nous allons utiliser une méthode plus simple.
On va juste devoir diminuer la tension délivrée par la batterie pour ne pas dépasser le 3,3V admissible par le convertisseur A/N. Pour cela vous pouvez par exemple utiliser une résistance de 1,5MΩ. Soudez la résistance entre la broche positive du connecteur de batterie et la broche A0 du Shield Battery.
Attention à ne pas faire surchauffer les composant ou faire fuser de l’étain sur les pistes du Shield. Cette opération annule toute garantie
Faites ensuite plusieurs relevés de tension avec un multimètre en récupérant le niveau du convertisseur A/N. Voici par exemple le relevé que j’ai fait pour une batterie LiPo 3.7V ayant une capacité de 1100 mAh.
En général, une batterie va se décharger de manière linéaire dans des conditions normales de température et d’utilisation. Le plus facile est donc d’utiliser la fonction map qui permet de relier le niveau du convertisseur A/N à la grandeur physique associée. Petit point de détail, la fonction map ne prend pas en charge les nombres décimaux. On va contourner le problème très facilement en multipliant les tensions par 100, puis en divisant par 100 la tension retournée par la fonction map.
float getVoltage(){ float raw = analogRead(A0); float volt = map(raw, 140, 227, 338, 511); // Avec une résistance 1M5 - With a 1M5 resistor volt = volt / 100; Serial.print("A0 "); Serial.println(raw); Serial.print("Voltage "); Serial.println(volt); return volt; }
Il est tout aussi simple de déterminer le niveau de charge de la batterie. Vous pouvez très facilement déterminer le seuil de batterie qui correspond à une charge de 100% en fonction de la batterie utilisée. Vous remarquerez certainement une hausse de la tension durant la recharge la recharge. Il faut donc faire un peu de nettoyage si le niveau dépasse 100%.
float getLevel(){ float raw = analogRead(A0); int level = map(raw, 140, 227, 0, 100); // Avec une résistance 1M5 - With a 1M5 resistor if ( level < 0 ) { level = 0; } if ( level > 100 ) { level = 100; } Serial.print("Level: "); Serial.println(level); return level; }
Cette méthode vous donnera une assez bonne idée du niveau de charge de la batterie. Attention, ça reste plus un indicateur qu’une mesure précise.
Deux remarques judicieuses publiées par Rob sur la version anglaise de l’article 🙂
- La tension maximale absolue d’une cellule de batterie LiPo est de 4,20 volts. N’allez pas plus haut que ça. Assurez-vous que vous pouvez mesurer avec une précision de 1%. L’espérance de vie de la batterie sera réduite si vous dépassez la limite.
- La tension de décharge d’une batterie n’est pas du tout linéaire par rapport à son état de charge. Mais si vous ne vous intéressez qu’aux états «plein» et «presque vide», l’approche suffira.
Avez-vous aimé cet article ?