Files
CSH/TP1.md

7.3 KiB

TP1 Chargeur de batterie LI-ION

Dans ce tp, le but est de faire notre premier PCB. Ce PCB doit servir à charger et utiliser une batterie type LI-ION à travers un port USB-C.

Contraintes

  • Dimension du PCB : max 2.5cmx3.5cm
  • Courant de charge 500mA depuis une alim 5V (ex USB 2.0)
  • Courant à 5V et 3.3V de 500mA
  • Composants SMD avec pas min 0.4 voire 0.5 recommandé

Recherche composants

Controlleur de charge

Je suis allé sur Digikey pour chercher mes composants pour eviter d'avoir les mêmes que mes collegues.

Je suis tombé sur le controlleur le EVO TP4057 qui me semblait pas mal car il n'avait pas beaucoup de pattes et qu'il faisait les bonnes dimension avec le courant de charge prévu et de bonnes features.

Il dispose de 6 pin

  • VCC (input de 5V)
  • GND
  • BAT (Sortie batterie)
  • PROG (Pin qui permet de programmer avec des resistances la tension de charge)
  • CHRG (Indication de charge)
  • STDBY (Indication de fin de la charge)

Rien que en regardant les PINS je suis plutôt content par ce que ca parait relativement simple et en plus on a des outputs qui pourraient être cool pour donner des infos avec des LED

SPECS

En input : entre 4 et 6.5V => C'est nikel on a prévu d'utiliser du 5V Le courant de charge : 100mA avec une resistance de 10K et 500mA avec une resistance de 2K => C'est nikel on peut programmer pour une sortie à 500mA

PACKAGE

C'est un composant SMD plutôt baleze donc ca devrait être facile à souder. Les pattes ont 0.950 d'espacement ce qui est plus de deux fois supérieur aux 0.4 demandés dans les contraintes donc on est good.

FONCTIONNEMENT

C'est un composant de charge à tension et courant constant. Il peut atteindre 500mA de courant de charge. Quand le chip dépasse 135 degrés le courant de charge est automatiquement réduit pour empêcher une surchauffe.

SPECIFICITES

Quand la batterie est en dessous de 2.9V la charge commence avec un courant plus faible.

Le courant de charge est determiné en fonction de la resistance entre la broche PROG et la broche GND. Ex : une resistance de 10K donne 100mA et 2K donne 500mA

Quand la batterie s'approche des 4.2V, le courant diminue graduellement et la charge finit par s'arrêter arrivée à un certain threshold.

La precision de la lecture de la tension de la batterie est autour de 1%.

Quand l'input est plus bas que la tension de la batterie, le module se met en shutdown mode.

Le mode Standby est actif quand la charge de la batterie est complète. Le mode shutdown est actif quand l'alimentation est déconnectée ou trop faible en tension.

Quand le module est en mode charge la broche CHRG est tirée vers le GND et quand le module est en standby la broche STDBY est tirée vers le bas. Ca peut être intéressant de mettre des leds sur ces infos (Wink wink)

Si le chargeur est connecté mais sans batterie, la broche de charge clignotte à 20HZ et la broche de STDBY est allumée.

PRIX

Le prix unitaire sur digikey https://www.digikey.ch/fr/products/detail/evvo/TP4057/22482076

Est de 14 centimes au 17 septembre 2025 et en grande qtt > 1000 on est à 0.05cts donc on est pas sur un composant cher.

Je pense que ce chip est parfait pour notre use case.

Schematic

Diagramme

Pour les valeurs de capacitées, j'ai du aller chercher sur la datasheet d'un autre constructeur qui propose exactement le même composant. (En l'occurence UMW)

On peut y voir différents composants à utiliser.

Pour les leds et resistances associées on reviendra dessus plus tard car ca n'est pas dépendant de ce composant.

Pour la resistance entre PROG et GND on veut utiliser une de 2Kohm car c'est ce qui nous permet de tirer 500mA. Dans mes deux datasheets je n'ai pas la formule exacte mais ils proposent ces deux valeurs specifiquement

Ensuite pour les deux condensateurs, on peut utiliser entre 1 et 10uF je vais prendre 1uF car ca me donne 20hz de clignottement quand on branche sans batterie. Pour le premier entre VIN et GND je vais prendre 4.7uf. Sur la doc on a la possibilité de prendr entre 4.7 et 10uF mais pas d'info de pourquoi ou comment choisir.

Je suis donc allé voir les autres datasheets de composants similaires et j'ai trouvé que pour 500mA c'est en general 4.7uF qui sont proposés donc je choisierais ca.

Et sinon on est bon je pense.

Alimentation à découpage

Note RTHja pour la resistance à la chaleur

Step Down (Buck)

Dans mes recherches je suis tombé sur le controlleur de tension à découpage buck : MCP1603/B/L

C'est un controlleur avec une efficience de plus de 90%

On peut ajuster l'output entre 0.8 et 4.5V mais dans notre modele 330-i le voltag est fixe

L'input peut-être entre 2.7 et 5.5V

Il a un duty cycle possible de 100% ce qui veut dire qu'il peut ouvrir complètement les vannes quand on est trop proches de 3.3v ce qui évite d'avoir le moindre drop ce qui est trop cool.

Diagramme

Dans notre cas le composant que l'on veut c'est le : MCP1603BT-330I/OS

Pour l'indutance, on nous propose 4.7uHenry pour une bonne balance. Je vais leur faire confiance mais au cas ou le calcul est le suivant :

Calcul

Step Up (Boost)

Cette fois je suis allé sur Mouser et j'ai trouvé ce composant de la famille XC9141/XC9142.

C'est un Boost converter Qui peut ajuster sa tension de sortie entre 1.8V et 5.5V et qui prend en entrée 0.65V à 6V et il peut atteindre 500ma à 5V donc c'est nikel.

Diagramme

Dans notre cas le composant que l'on veut c'est le : XC9141B50DMR-G (en fait non)

Pour decoder le nom du composant :

XC9141 NOM du composant B : Type du composant (Bypass Mode) 50 : 5V C : Frequence d'oscillation (ici 1.2MHz) MR-g : SOT-25 (format du composant)

ATTENTION Finalement après plus de recherches je me suis rendu compte que la version Bypass Mode (type B) etait une mauvaise idée. En fait elle veut dire que quand le composant est arrêté, la sortie est egale à l'entrée ce qui n'est clairement pas une bonne idée

Il a donc fallu plutôt se tourner vers une autre option trouvable sur DigiKey : XC9141A50DMR-G

Si on refait la decomposition

XC9141 : Nom du composant general A: Type du composant (Load Disconnect. quand le chip n'est plus alimenté il ne laisse plus rien passer) 50: 5V D: Frequence d'oscillation (Ici 3MHz) MR-G : SOT-25 (format du composant)

Ensuite pour dimensionner les capacités et les self

On a besoin d'une inductance de 2.2uH et des capa de 10uF (6.3V). Mais comme on va tirer plus que 500mah on a besoin d'en mettre deux en paralèle.

Superviseur de batterie

Pour ca j'ai trouvé sur Mouser un modèle le MCP10X-315 qui "trip" vers 3.075V il n'a que trois pins du coup c'est pas mal

Il nous faut la version MCP100T-315I/TT Mais je pense que on va prendre les deux au cas ou. Les polarités de mes buck et boost sont de la sorte : 1 = enable et si j'ai bien compris le MCP100 est à 1 quand on est au dessus du treshold.

Diagramme

Un capa de 100nF pour eviter les problèmes (valeur arbitraire car non representée dans la doc et en principe pas besoin de plus)

Schematic

Voici la V1 du schematic sur kiCad

Schematic