#Test : Shield Battery LiPo pour Wemos D1 Mini (mesure tension et niveau de charge)

shield battery lipo wemos d1 mini resistor measure tension top

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.

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.

wemos battery shield circuit

 

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 !

Amélioration de la version 1.2.0 (2018)

La version 1.2.0 intègre maintenant un Jumper (J2) qu’il suffit de souder pour pouvoir mesurer la tension délivrée par la batterie à l’aide de l’entrée analogique A0 de la WeMos. La résistance (R6) vaut 130kΩ. Le connecteur JST XH2-2.54mm a été remplacé par un connecteur PH2-2.0mm. La recharge de la batterie peut toujours se faire simultanément via le connecteur micro USB. Le Shield est également équipé d’un fusible ré-armable de 1A.

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.

shield battery wemos d1 mini positionnement connecteur

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.

shield wemos d1 mini decoupe pattes broches trop longues

On obtient ainsi un empilage propre et compact.

shield battery empile sur wemos d1 mini

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.

shield battery lipo wemos d1 mini resistor measure tension shield battery lipo wemos d1 mini resistor measure tension top
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.

shield battery wemos d1 mini batterie lipo tension niveau convertisseur analogique a0

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.

    Print Friendly, PDF & Email

    Inscrivez-vous à la newsletter hebdomadaire

    Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous désinscrire à tout moment.

    Comparateur de prix

    Bons plans

    Les offres suivantes se terminent bientôt. Utilisez le coupon indiqué pour profiter du prix promo

    Domotique et objets connectés à faire soi-même