Testeur de charge de batterie pour l’estimation du SoC

Testeur de charge: 

lipo-capacite-de-batterie-testeur-moniteur-12v-v

Sommaire :

 

Introduction 

Gestion de projet 

Cahier des Charges 

Contexte 

Conception 

Adaptation de la tension 

Câblage de l’afficheur LCD 

Réalisation du premier prototype 

Programmation du microcontrôleur Arduino 

Prochaine étapes à effectuer 

 

 Introduction :

Dans le cadre de notre DUT GEII, il nous a été proposé de réaliser un BMS (battery management system) .Vu la complexité d’un BMS nous avons accordé avec notre professeur de réaliser dans un premier temps un testeur de charge de batterie. Nos missions pour ce projet sont donc de mesurer la charge d’une batterie lithium polymère et de l’afficher sur un écran LCD.

Gestion de projet :

  • Luigi chargé de la programmation du microcontrôleur et des câblages.
  • Ayoub chargé de la réalisation du circuit imprimé sur kikad.

Cahier des Charges :

Préambule :

  • Pas à pas, petit à petit, découvrons ce formidable objet qu’est l’Arduino. Peu onéreux, c’est l’outil dont nous avons rêvé pour réaliser notre projet.
  • Programmer c’est indiquer au contrôleur ce qu’il doit faire… C’est aussi expliquer, dans le programme même, sous forme de commentaires, ce que l’on souhaite faire afin de pouvoir comprendre, plus tard, comment on y arrive. Ce genre de «détail» facilitera la mise au point et les futures améliorations.
  • Dons le cadre de notre projet on va utiliser l’arduino pour réaliser un testeur de charge batterie.

Présentation :

  • Il peut être utile de savoir comment tester une batterie. Ce test vous renseigne sur son état de marche, son état de charge et aussi sur l’état des ses cellules.
  • Tester une batterie est ainsi indispensable avant d’envisager son remplacement. En effet, si le problème vient d’autre composant, le remplacement de la batterie peut être inutile.

Critères généraux :

  • Capable de mesuré en temps réelle la charge de batterie ,donc si il peut nous renseigner sur l’état de la batterie.
  • Affiché le pourcentage de charge sur un afficheur LCD.

Critères de fonctionnement :

  • La tension doit être abaissée à 4.8v ce qui fait la nécessité d’un pont diviseur.
  • L’arduino doit être relié à l’aide d’un câble USB pour à la fois alimenter et connecte l’aduino au logiciel.
  • Un afficheur LCD et nécessaire pour affiché tous les informations sur la batterie.

Critères techniques :

  • Prise en main du logiciel qui va nous permettre de programmer l’arduino pour réaliser un testeur de charge.
  • Câblage de l’afficheur LCD.
  • Maitrise des bases de l’électronique pour réaliser un pont diviseur de tension.

 

Bête à cornes :

 

ESY (1)

Pieuvre :

 

JY

 

Contexte :

Pour réaliser notre projet nous nécessitions de certains éléments indispensables. Le plus important une batterie, l’IUT de Mulhouse nous a mis à disposition une batterie lithium polymère de 7.4V et 2200mAh composée de deux cellules, ensuite un microcontrôleur Arduino qui va nous permettre la mesure de la charge de la batterie, puis d’un écran LCD pour afficher la charge et pour finir quelques résistances pour adapter les tensions.

arduinoafficheur-lcd-2x16-i2c-pour-arduinobatterie

 

Conception :

Adaptation de la tension :

edd

La première chose que nous avons effectuée est l’adaptation de la tension de la batterie afin de mesurer sa charge à l’aide de l’arduino car en effet il ne peut pas recevoir des tensions supérieures à 5V en entrée. Comme on peut voir ci-dessus nous avons réalisé un pont diviseur de tension pour adapter les 8.4V délivrer par la batterie quand elle charger a 100% à une tension de 4.8V. Nous avons réalisé ce pont diviseur à l’aide 4 résistances une première de 10KOhms et trois autres de 4.7, 1.5, et 1.2 KOhms.

Câblage de l’afficheur LCD :

ghjvg

Dans un second temps nous avons réalisé le câblage de l’afficheur LCD sur l’arduino. Comme on peut voir sur la photo ci-dessus  avec ce montage on a la possibilité de régler la luminosité de écran à l’aide du potentiomètre en haut à droite

Réalisation du premier prototype :

tyiiuy

Comme on peut voir ci-dessus nous avons assemblé l’arduino avec l’afficheur LCD et la batterie avec son pont diviseur. On peut distinguer la sortie du pont diviseur qui va se raccorder sur l’arduino, sur l’entrée analogique A0 et la masse de l’arduino.

 

Nous allons mesurer la charge de la batterie en fonction de la tension qu’elle délivre, en effet on peut facilement trouver la courbe de décharge en fonction de sa tension d’une batterie lithium polymère :

azezrcvbcb

Programmation du microcontrôleur Arduino :

 

c vbcv

Comme on peut voir la première chose qu’on fait est d’intégrer la bibliothèque liquidCrystal pour pouvoir utiliser l’afficheur LCD. Grosso modo notre programme consiste à tester à plusieurs reprises la valeur qui rentre dans A0. On a peu déterminé les valeurs à tester d’une manière très simple, comme on sait que l’arduino travail sur 10 bits et la tension maximale qu’il peut recevoir est de 5V donc on peut en déduire que si l’entré analogique A0 reçois 5V elle correspondra à 1023 dans l’arduino. On peut alors déduire les valeurs en bits qui correspondent aux différentes tensions à l’aide de la courbe de décharge présentée précédemment.

 

azrezt

On peut voir ci-dessus que notre premier programme fonctionne très bien et affiche la charge de la batterie en pourcentage à l’aide de tension en entrée sur A0.

Réalisation du circuit imprimé : 

Nous avons décider de réaliser un circuit imprimé pour éliminer tous les câbles et avoir un rendu beaucoup plus beau et professionnel. La realisation circuit imprimé c’est effectué a l’aide du logiciel Kicad.

fgh

Ci-dessus vous pouvez voir une capture d’écran d’un des premier prototype fait sur kicad, le fichier que vous voyez ci-dessus est un .pcb en effet lors de la réalisation d’un circuit imprimé sur kicad nous devons éditer plusieurs fichier comme par exemple le .ch ou encore la net liste.

Au final la réalisation de ce circuit  nous a permis d’éliminer tous les câbles pour l’afficheur LCD ainsi que le câblage du pont diviseur.

 20170329_201802-min20170329_201742 (1)-min

Comme vous pouvez ci-dessus le résultat final est très propre et bien plus professionnel.

 

Modification du programme :

Capture

Nous avons modifier le programme de manière a le rendre le plus simple et plus précis, maintenant on ne test plus la valeur en entrée sur la borne A0 de l’arduino mais on fait un simple calcul pour déterminer le pourcentage de charge de la batterie en fonction de la tension quel délivre. On peut faire ce calcul  a l’aide de certaines valeurs qu’on connait. On connait la tension maximale en entrée dans l’arduino donc on peux déterminer sa valeur en bite et dire quel correspond a la valeur de 100% de charge de la batterie, et donc réaliser un produit en croix pour déterminer  le pourcentage correspondant a la tension délivrer par la batterie.

 

Problème rencontré :

Tout d’abord nous avons eu un problème avec la batterie car ce model de batterie est défectueux. Du jour au lendemain la batterie ne fonctionnait plus elle délivrait plus aucune tension, donc dans un premier temps on pensait qu’elle était casser et que on devait adapter notre pont diviseur ainsi que le programme a une autre batterie,mais quand nous en avons parlé a un de nos professeur il nous a dit que ce problème est récurrent sur ce type de batterie, quand on l’utilise longtemps et de marnière intensive. En effet a l’intérieur il y a circuit de protection qui parfois ne fonctionne pas très bien et bloque la batterie et la rend donc inutilisable, mais qu’il suffit d’envoyer dans la batterie un signal de la bonne tension et du bon courant pour débloquer ce circuit.

20170329_214011-min

Ensuite nous avons eu un problème avec le chargeur car a chaque fois que on essayait de charger la batterie, le fameux circuit de protection intervenait et bloquait tout. En faite on ne c’était pas  rendu compte que les bornes + et – était inverser sur notre chargeur, ce qui est atypique pour ce type de chargeur. Donc nous avons couper et dénuder les fils pour les souder de manière a avoir les bornes comme on le désirait.

20170329_212326-min

Pour finir le dernier problème était un simple faux contact sur notre circuit imprimer qui nous a fait perdre pas mal de temps car on a du vérifier toutes les pistes par peur d’avoir commis une erreurs lors de la conception de celle-ci.

Bilan :

Donc ce projet nous a beaucoup plus car il regroupais plusieurs domaines, l’informatique et l’électronique. Il nous a permis de revoir nous formule et nos TP d’électronique avec le câblage de l’écran LCD  et la détermination des résistances dans le pont diviseurs. Il nous a aussi permis de découvrir l’arduino et son logiciel pour le programmer.

Idéalement on pourrait continuer ce projet pour mesurer la charge de plusieurs batterie en simultanée pour finalement gérée l’utilisation de chacune lorsque elle alimente quelque chose et donc réaliser un BMC.