lundi 2 septembre 2019

Chargeur de batterie NI-MH



Chargeur de batterie NI-MH


Contrairement à ce qui se passe avec les batteries LITHIUM-ION pour lesquelles on trouve une profusion de cartes chargeur allant du fameux TP4056 (1 batterie 18650) jusqu'aux cartes de protection + cartes d'équilibrage capables de contrôler la charge de montages de batteries en série ou série / parallèle, le monde des accumulateurs NI-MH est pauvre en solutions toutes faites.

On pourrait objecter : pourquoi utiliser des batteries NI-MH alors que l'on trouve sur le marché des LIPO ou LITHIUM-ION plus performantes ?
  • la batterie NI-MH est plus adaptée à un usage cyclique, c'est à dire qu'elle préfère être rechargée lorsqu'elle est vide
  • la batterie LIPO ou LITHIUM-ION préfère être rechargée plus souvent
  • la batterie NI-MH est très peu sujette aux risque d'explosion en cas de surchauffe ou de surcharge
Ce dossier décrit donc la réalisation d'un chargeur de batteries NI-MH.

Il ne s'agit pas de reproduire ce que l'on trouve facilement dans le commerce, c'est à dire un chargeur pour des batteries AA ou AAA :

L'excellent Voltcrarft IPC-1L
Certains chargeurs du commerce sont excellents et leur prix ne justifie pas une réalisation de ce type.

Non, nous allons plutôt nous intéresser à la réalisation d'un montage capable de recharger plusieurs cellules en série.

Par exemple, élaborer un chargeur pour une batterie de 3.6V c'est à dire 3 cellules de 1.2V, sera un exemple intéressant pour qui alimente comme moi des montages ATMEGA328P en basse consommation.
Mais cette étude ne se limitera pas à des batteries 3.6V 600mAH. Tous les calculs sont simples et permettront de réaliser un chargeur sur mesure :
  • jusqu'à 16 cellules : 19.2V
  • jusqu'à 10AH
Le circuit utilisé pour mener à bien cette réalisation sera le MAXIM MAX712.

On trouve peu de réalisations concrètes à base de ce circuit sur le WEB.
Quelques exemples :
https://www.qsl.net/eb4eqa/batt_charger/batt_charger.htm
http://www.on4rst.be/tech/nimh/RST_UBAhbc_NiMH_TH-D7.pdf

Quelques exemples de batterie 3.6V :
Boîtier pour 3 batteries AAA (53x38x13)
ACCU-170/3 170mAH (⌀26x20mm)
Cellavia ACCU-600/3NI-MH/C 600mAH (42.5x29x14.7mm)
GP T157H 600mAH (42.4x30.2x14.4mm)
GP T160 600mAH (44x50x15mm)
Un boîtier pour trois batteries AAA vous permettra de les démonter pour les recharger dans un chargeur du commerce. Les packs 3.6V à trois cellules soudées ne vous le permettront pas.

Lorsque l'on alimente un montage électronique à l'aide d'un pack de batteries deux solutions sont possibles :
  • laisser la batterie en place pour la recharger
  • débrancher la batterie pour la recharger
Dans le premier cas, on peut prévoir un connecteur de rechargement, un jack 5.5x2.1 par exemple. Le montage reste alimenté pendant la charge. Il doit pouvoir supporter la tension maximale de fin de charge, 1.5V par cellule, c'est à dire 4.5V.

Cas particulier : les batteries 9V ne se chargent pas en surveillant la chute de tension en fin de charge, mais avec un courant faible pendant un temps assez long, en fonction du modèle de batterie :
  • 17mA pendant 14H
  • 40mA pendant 7H
  • etc.
Le temps maximal de charge du MAX712 est de 264 minutes soit 4H24. Il ne convient donc pas pour ce type de batterie.

1. La batterie NI-MH

Quelques petits rappels concernant la batterie NI-MH :
  • chaque élément ne doit pas être déchargé en dessous de 1.0V à 1.1V (cette information figure normalement dans la datasheet)
  • chaque élément, en fin de charge, a une tension proche de 1.5V. Si le chargeur est débranché cette tension retombe à 1.4V
  • il est déconseillé de recharger ce type de batterie si elle n'est pas vide, à cause de l'effet mémoire
  • si une batterie est constituée de cellules séparées, ceux-ci doivent être du même modèle, avoir le même vécu (âge, utilisation) et être dans un même état de charge
  • le courant de décharge maximal est généralement de l'ordre de 0.5C à 1C (300mA à 600mA pour une batterie de 600mAH), mais certaines font mieux (voir la datasheet si disponible)
Quand on parle de courant de charge ou de décharge on utilise souvent un rapport 1C, C / 2, C / 3 ou C / 10, où C désigne la capacité de la batterie en mAH.

Ces petits conseils sont vitaux pour le maintien d'une durée de vie correcte de la batterie.

Dernier petit conseil : méfiez-vous des annonces de certains revendeurs chinois promettent des capacités de 3500mAH pour une batterie AA.
Les meilleurs batteries de marque ont des capacités de 2000mAH à 2500mAH.

Les batterie LITHIUM-ION sont également victimes des mêmes abus et les modèles 18650 de 6000mAH voire même 12000mAH sont courants.
Une MXJO IMR 18650, une des meilleurs batterie de vapoteuse capable de débiter 20A, a une capacité de 3500mAh.

2. Le schéma



Le schéma est réalisé à l'aide de KICAD.
Pour récupérer le projet voir plus bas :  5. Téléchargements.

Le schéma est inspiré de la datasheet du MAX712. Les améliorations sont les suivantes :
  • régulateur 9V en entrée
  • régulation 6V pour l'alimentation du MAX712
  • sélection du courant de charge entre 15mA et 1.5A
  • programmation du nombre de cellules par jumpers
  • programmation du temps de charge maximal par jumpers
Quelques connecteurs offrent la possibilité de raccorder le montage sur une carte de commande externe à microcontrôleur :
  • P1 : signal FASTCHG
  • P2 : mesure de la tension et du courant de charge
  • P5 : programmation
  • P6 : choix du courant de charge
  • P7 : alimentation 9V
Le montage vise à réduire le nombre de composants à adapter en fonction de la tension maximale des batteries à charger, et donc de la tension d'alimentation.

2.1. Le schéma en détails

2.1.1. L'alimentation du MAX712
Le MAX712 est alimenté, au travers de la résistance R1, par un régulateur shunt interne. Le courant traversant la résistance doit être d'au moins 5mA, au maximum 20mA.
Cette résistance est calculé comme ceci :

R1 = (U - 5V) / 10mA = (6 - 5) / 0.010 = 100Ω

Afin d'éviter de changer cette résistance si une autre tension d'alimentation est choisie, une régulation 6V est intercalée entre l'alimentation et R1.
Cette régulation est assurée par le transistor Q3 et la zener D5.

2.1.2. La programmation
Trois programmations sont nécessaires :
  • le nombre de cellules à charger
  • le temps maximal de charge
  • le courant de charge
4 broches de programmation permettent de fixer le nombre de cellules à charger et le temps maximal de charge : PGM0 à PGM3.
La sélection est faite par des jumpers placés sur le connecteur P5.

La résistance RSENSE permet au MAX712 de mesurer le courant de charge. Parmi les résistances R13 à R20 (0.5Ω, 1Ω, 1Ω, 2Ω, 3.9Ω, 8.2Ω, 16Ω et 330Ω) Plusieurs d'entre elles peuvent être mises en parallèle pour obtenir un courant précis. La résistance de 0.5Ω peut être constituée de 2 résistances de 1Ω en parallèle.
La sélection est faite en plaçant des jumpers sur le connecteur P6.

Pourquoi des jumpers et pas des micro-switches, plus pratiques ?
  • la carte peut être logée dans un boîtier, et les micros-switches situés sur le PCB seraient inaccessibles
  • les connecteurs P5 et P6 peuvent être raccordés à une carte de contrôle située en façade du boîtier
    2.1.3. Le transistor de puissance
    Un transistor de puissance PNP TIP42 est utilisé pour augmenter le courant disponible. On peut aussi utiliser le 2N6109 préconisé par MAXIM.

    2.1.4. Le signal FASTCHG
    Le signal FASTCHG indique si la charge est en cours ou non. Il est ressorti sur le connecteur P1, dans l'optique d'être lu par un microcontrôleur.

    La LED rouge D2 est allumée grâce à un transistor 2N5087 à gain élevé, ce qui permet d'utiliser une résistance de base de valeur élevée, et de ne pas perturber le signal logique FASTCHG.
    Une zener fixe la tension collecteur à 4.7V, sinon la LED s'allumerait dans tous les cas.

    2.1.5. La batterie
    Le connecteur P3 du type NS25 permet le raccordement direct de certaines batterie courantes. Il faudra éventuellement prévoir des adaptateurs pour d'autres batteries.

    2.1.6. Le connecteur de test
    Le connecteur P2 permet de mesurer la tension et le courant de charge.

    Je compte utiliser ce module analog-digital-logger pour surveiller la tension et le courant de charge, ainsi que le signal logique de fin de charge qui sera utilisé pour activer un buzzer :


    https://riton-duino.blogspot.com/2019/08/un-logger-analogique-et-digital.html

    2.1.7. La tension d'alimentation
    Pourquoi avoir ajouté un régulateur à l'entrée du montage alors qu'il suffirait d'alimenter le tout avec une alimentation régulée linéaire ou à découpage ?

    Je n'aime pas trop confier un montage analogique sensible à une alimentation à découpage. Un MAX712 est un circuit qui mesure des écarts de tension de quelques millivolts. Il serait néfaste de le perturber avec une ondulation ou un bruit trop important.

    La régulation d'une alimentation à découpage serait nettement inférieure à celle d'un LM317T ou d'un LD1085.

    Alimentation à découpage :
    • régulation ligne : 0.5% soit 3.6mV
    • régulation en charge : 0.5% soit 3.6mV
    • bruit en sortie : 150mV.
    Avec un LM317T :
    • régulation ligne : 0.01%/V soit 0.9mV
    • régulation en charge : 5mV
    • bruit en sortie : 0.003%/V soit 270µV
    Avec un LD1085 :
    • régulation ligne : 0.2mV
    • régulation en charge : 2mV
    • bruit en sortie : 360µV
    Si l'on utilise une alimentation à transformateur, une simple alimentation filtrée non régulée suffira.

    Comme j'ai l'intention, de base, de pouvoir charger des batteries de 4.8V (6V à pleine charge), la tension d'alimentation doit être au minimum de :

    VCEsat = 1.5V pour le transistor TIP42
    Vfd3 = 1V pour la diode 1N4001
    Valim = + VCEsat + Vfd3 = 6V + 1.5 + 1 = 8.5V

    J'ai donc choisi 9V à 9.5V d'alimentation.

    Cette tension est fournie par un régulateur LM317T 1.5A ayant une tension de drop-out de 2V pour un courant de 1.5A.
    On peut choisir un autre régulateur ayant le même brochage : un LD1085 3A par exemple. Celui-ci a une tension de drop-out moins élevée : 1.25V.

    Le LD1085 se contentera de 10.25V en entrée. Le LM317T imposera une tension d'entrée plus élevée : au moins 11V.

    Nous choisirons une tension plus courante de 12V afin de pouvoir utiliser une alimentation standard facile à trouver.

    La tension de sortie du régulateur est calculée comme ceci :

    Valim = Vref * (1+ R23 / R24) = 1.25 * (1 + 750 / 120) = 9.06V

    Une tension d'alimentation plus ou moins élevée peut être choisie en fonction de l'éventail de batteries que l'on désire charger.

    Le connecteur P7 permet de ressortir la tension de 9V pour alimenter une carte de contrôle.

    2.1.7.1. Tension minimale
    Si l'on se limite à la charge de batteries 3.6V (4.2V à pleine charge) on pourra régler le régulateur sur une tension inférieure à 9V :

    Valim = + VCEsat + Vfd3 = 4.2V + 1.5 + 1 = 6.7V

    Mais cela pose un problème : en dessous de 7.5V la zener D5 ne serait plus polarisée correctement.
    On adoptera donc une tension minimale de 7.5V.

    En éliminant la régulation 6V, on pourrait alimenter directement l'ensemble en 6V si l'on envisage de charger uniquement des batteries de 1.2V et 2.4V (3V à pleine charge) :

    Valim = 3V + 1.5 + 1 = 5.5V

    Je ne vois pas trop l'intéret de se limiter à ce point.

    2.1.7.2. Tension maximale

    Le MAX712 peut charger jusqu'à 16 cellules en série. Pour charger des batteries de 19.2V 16 cellules (24V à pleine charge) il faudra donc au moins 27V d'alimentation :

    Valim = 24V + 1.5 + 1 = 26.5V

    2.2. Les calculs

    2.2.1. Le courant de charge
    Le courant de charge est fixé par une valeur dépendant de la capacité de la batterie :

    Couramment, pour une batterie NI-CD le courant de charge est fixé à C / 10 c'est à dire 100mA pour une batterie de 1000mAH.

    Pour une batterie NI-MH le courant de charge est critique. Il est plus difficile de détecter le variation de courant de fin de charge que pour une batterie NI-CD :
     

    Alors qu'il est possible de détecter la fin de charge pour une batterie NI-CD même pour un courant de charge de C / 10, avec une NI-MH c'est impossible.
    Il faut donc charger la batterie avec un courant supérieur : C / 2 ou 1C.

    Nous allons nous fixer comme objectif, afin de préserver la durée de vie de nos batteries, un courant de charge de C / 2, soit 300mA pour une batterie de 600mAH.

    Tous les calculs seront réalisés pour pouvoir fournir un courant de C / 2.

    Rappel : chaque élément d'une batterie NI-MH, en fin de charge, a une tension proche de 1.5V.

    2.2.2. La résistance RSENSE
    La résistance de mesure du courant de charge est calculée comme ceci :

    Rsense = 0.25V / I

    I : courant de charge 200mA

    Rsense = 0.25 / 0.3 = 1.25Ω

    Bien entendu, si le courant de charge choisi est de 300mA la valeur cette résistance sera différente :

    Rsense = 0.25 / 0.3 = 0.83Ω

    Avec le choix de résistances R13 à R20 suivant (0.5Ω, 1Ω, 1Ω, 1Ω, 2Ω, 3.9Ω, 8.2Ω, 16Ω) on peut combiner deux ou trois résistances pour obtenir une valeur précise.

    Il est facile de calculer la résistance équivalente à plusieurs résistances en parallèle :

    1 / R =  1/R1 + 1 / R2  + 1 / R3 + etc.

    Exemples :


    Je me suis aidé d'un feuille de calcul. Elle se trouve dans la repository (rsense.ods). Voir paragraphe 5. Téléchargements.

    Chaque résistance devra supporter une puissance de :

    P = U² / R = 0.25V * 0.25V / R

    Donc celle qui devra dissiper le plus de calories est la résistance de 0.5Ω : 125mW.
    8 résistances de 1/4W suffiront donc.

    Comme dit plus haut, la résistance de 0.5Ω peut être constituée de 2 résistances de 1Ω en parallèle.

    Avec ce jeu de résistances, on ne pourra pas dépasser 1.5A de courant de charge ce qui correspond à une batterie de 3000mAH chargée à C / 2, ou et on ne pourra descendre en dessous de 15mA, ce qui correspond à une batterie de 30mAH.

    La majeure partie des batteries NI-MH du commerce ont des capacités comprises entre 6mAH et 12000mAH.

    Le jeu de résistances peut être modifié pour correspondre aux besoins.

    2.2.3. Le transistor de puissance
    Le transistor TIP42 supportera je pense toutes les situations jusqu'à un courant de charge de 1.5A. Il supporte jusqu'à 6A en continu.
    Pour de petits chargeurs, même un TIP30 (1A), BD136 (1.5A), BD236 (2A) TIP32 (3A) ou BD436 (4A) suffira.

    Le courant maximal supporté par le MAX712 sur sa broche DRV (la base du transistor) est de 100mA. En conséquence, avec un TIP42 ayant un gain de 15, nous serons théoriquement limités à un courant de charge de 1.5A avec ce transistor.
    Au delà, il faudra choisir un transistor ayant un gain supérieur, par exemple le 2N6109 préconisé par MAXIM, qui a un gain de 30. Le brochage est identique à celui du TIP42.

    Il faudra monter le transistor sur un dissipateur adapté.
    Pour calculer la puissance dissipée, on utilisera la formule suivante :

    Vfd3 = 1V pour la diode 1N4001 
    P = (Valim - Vbatt - Vfd3) * I

    Pour notre exemple de batterie 3.6V 600mAH, la tension minimale de la batterie en début de charge sera de 1V par élément, soit 3V :

    P = (9V - 3V - 1V) * 0.3A = 1.5W

    A noter : la tension batterie va monter rapidement et le transistor devra dissiper cette puissance très peu de temps. Au bout de quelques secondes il dissipera moins :

    P = (9V - 3.6V - 1V) * 0.3A = 1.3W

    Ce dissipateur sera suffisant :
    Dissipateur 33x25x13mm
    Pour une batterie de 7.2V 1200mAH (9V à pleine charge), la tension d'alimentation devra être supérieure :

    VCEsat = 1.5V pour le transistor TIP42
    Vfd3 = 1V pour la diode 1N4001
    Valim = 9V + 1.5 + 1 = 11.5V

    La tension minimale de la batterie en début de charge sera de 6V :

    P = (11.5V - 6V - 1V) * 0.6A = 2.7W

    Le dissipateur sera plus imposant :
    Dissipateur 30x30x15mm à ailettes
    Reportez-vous à cet article si vous désirez calculer par vous-même la résistance thermique d'un dissipateur :
    https://riton-duino.blogspot.com/2019/01/alimentation-transformateur.html

    En résumé :

    Tj : température maximale
    Ta : température ambiante
    P : puissance à dissiper
    Rj : résistance thermique totale jonction / boîtier + boîtier / dissipateur.
    Rd = ((Tj - Ta) / P) - Rj

    Un exemple de calcul est présenté plus bas au paragraphe 4.1. Le TIP42.

    2.2.4. Les autres composants
    Le résistance R13 laissera passer 1mA dans la LED D4 : 6.8KΩ pour 9V d'alimentation.
    Avec 24V d'alimentation, le courant sera de 3mA, supportable par la LED.

    Le résistance R3 laisse passer 2mA dans la zener D1 : 620Ω pour 6V d'alimentation.

    Le condensateur C5 devra supporter la tension batterie : 6.3V pour une batterie jusqu'à 4.8V, 10V pour une batterie de 7.2V, etc.
      Enfin, la diode D3 devra supporter le courant de charge :
      • 1N4001 : maxi 1A
      • FR201, HER201 : maxi 2A
      • 1N5400, FR301 : maxi 3A
      • etc.
      Choisir de préférence une diode de redressement, éviter les schottky, qui ont un courant de fuite inverse important (les schottky ayant un faible courant de fuite inverse sont très chères).

      Afin d'assurer une bonne dissipation, ne pas monter une diode dissipant une puissance importante trop près du PCB. Laisser un espace de 5mm ou 1cm entre la diode et le PCB.

      2.2.5. La programmation du MAX712
      Il ne nous reste plus qu'à programmer le MAX712. Il suffit de relier certaines pattes : PGM0 à PGM3. Il suffit de se référer à la datasheet du MAX712 : tables 2 et 3.
      Le connecteur P5 permet de faciliter les choses.

      Choix du nombre de cellules :

      Cellules Tension P5


      1-2 3-4 5-6 7-8 9-10 11-12
      1 1.2V

      X

      X
      2 2.4V

      X


      3 3.6V

      X X

      4 4.8V

      X
      X
      5 6V




      X
      6 7.2V





      7 8.4V


      X

      8 9.6V



      X
      9 10.8V X



      X
      10 12V X




      11 13.2V X

      X

      12 14.4V X


      X
      13 15.6V
      X


      X
      14 16.8V
      X



      15 18V
      X
      X

      16 19.2V
      X

      X

      Choix du temps maximal de charge :

      Temps
      maximal
      Détection
      fin de charge
      Sensibilité P5



      13-14 15-16 17-18 19-20 21-22 23-24
      22 Non 4mV




      X
      22 Oui 4mV X



      X
      33 Non 4mV

      X

      X
      33 Oui 4mV
      X


      X
      45 Non 8mV





      45 Oui 8mV X




      66 Non 8mV

      X


      66 Oui 8mV
      X



      90 Non 16mV


      X

      90 Oui 16mV X

      X

      132 Non 16mV

      X X

      132 Oui 16mV
      X
      X

      180 Non 32mV



      X
      180 Oui 32mV X


      X
      264 Non 32mV

      X
      X
      264 Oui 32mV
      X

      X

      Le temps maximal de charge dépendra de la capacité de la batterie et du courant de charge c.

      T = C / Ic * 60

      Ce temps de charge idéal ne tient pas compte du rendement en charge de la batterie. Le temps de charge réel sera supérieur d'environ 10% :

      T = C / Ic * 1.1 * 60

      Pour notre exemple de batterie 3.6V 600mAH chargée à C / 2 :

      T = 600 / 300 * 1.1 = 2.2H -> 132 minutes

      P5 sera programmé comme ceci :

      P5 = 5-6 + 7-8 + 15-16 + 19-20

      Pour une de batterie 7.2V 600mAH chargée à 1C :

      T = 600 / 600 * 1.1 = 1.1H -> 66 minutes

      P5 =15-16

      3. L'alimentation

      En fonction du nombre de cellules et de la capacité l'alimentation sera très différente. Cela peut aller de la petite alimentation 12V à transformateur de quelques watts à l'alimentation à découpage 24V 40W.

      3.4.1.1. Tensions de batterie faibles
      Comme vu plus haut, pour une batterie de 4.8V maximum une tension d'alimentation de 12V sera nécessaire.

      3.4.1.2. Tensions de batterie plus élevées
      La tension régulée minimale sera de :

      Vbatt = tension batterie
      VCEsat = 1.5V pour le transistor TIP42
      Vfd3 = 1V pour la diode 1N4001 
      Vin = Vbatt + VCEsat + Vfd3

      C'est un minimum. On ajoutera 1V à 2V par sécurité.

      Il faudra bien entendu changer la résistance R23 du LD1085 ou du LM317T.

      Valim = Vref * (1+ R23 / R24)

      La tension en entrée minimale sera de :

      Vdrop = 1.25V pour le LD1085
      Vdrop = 2V pour le LM317T
      Vin = Valim + Vdrop

      C'est aussi un minimum. On ajoutera également 1V à 2V par sécurité.

      3.4.1.3. La puissance
      La puissance devra être suffisante, de préférence 20% supérieure aux besoins :

      Vin = tension nécessaire
      Icharge = courant de charge
      Palim = (Vin * Icharge) * 1.2

      3.3. Quelle alimentation choisir
      Pour une puissance faible il n'y a guère le choix, un bloc secteur :


      Pour une puissance plus élevée, on peut envisager une alimentation à encastrer, qui offrira de plus la possibilité d'ajuster sa tension de sortie :

      3.4. Alimentation à transformateur

      L'alimentation à transformateur, pour un chargeur de puissance faible, sera le moyen idéal de l'intégrer à celui-ci, sans avoir de bloc secteur qui traîne.

      Voici un exemple de ce que l'on peut réaliser :

      Le montage est classique :
      • transformateur
      • pont redresseur
      • condensateur de filtrage
      Cet article permettra de calculer l'alimentation :
      https://riton-duino.blogspot.com/2019/01/alimentation-transformateur.html

      3.4.1. Le transformateur
      La tension du secondaire devra être supérieure de 10% aux besoins réels. Sa puissance devra être supérieures de 20%  :

      Icharge = courant de charge
      Vtransfo = (Vin / √2) * 1.1
      Ptransfo = (Vin * Icharge) * 1.2

      3.4.2. Le pont de diodes
      Le pont de diodes sera dimensionné en fonction du courant de charge, avec une marge. Un pont de 1A conviendra dans la majeure partie des cas.
      Pour une batterie de grande capacité, 10000mAH par exemple, le courant de charge sera de C / 2 au maximum, donc 5A. Il faudra prévoir un pont de diodes supportant au moins cette valeur.

      Les redresseurs supportant moins de 50V sont rares. On aura donc peu de problème de choix du côté tension.

      Dans le cas d'une alimentation de 12V, si l'on veut utiliser un transformateur de 9V (13V crête) 4 diodes schottky SR540 40V 5A nous offriront 0.30V de chute de tension à 1.5A, donc 0.6V si nous les montons en pont.
      Cela laisse de la marge, ce qui ne serait pas le cas avec les 1.5V d'un pont classique.

      3.4.3. Le condensateur de filtrage
      Le condensateur de filtrage C1 filtre la tension en amont du régulateur.
      Sa valeur dépend du courant demandé, mais dépend aussi de l'ondulation admise par le condensateur.

      Dans le tableau précédent la tension filtrée est de 11.5V. La tension supportée par le condensateur sera d'au moins 20% supérieure. Nous choisirons une valeur standard de 16V.

      Pour une batterie de 7.2V nous choisirons une valeur standard de 25V, pour une batterie de 12V plutôt 35V.

       3.4.4. Récapitulatif
      Voici un petit tableau récapitulatif pour un courant de charge de 300mA et 600mA :

      Batterie Courant Vtransfo Ptransfo Dissipateur C1
      1.2V à 4.8V 300mA 9V 6VA 33x25x13mm 4700µF
      1.2V à 4.8V 600mA 9V 12VA 30x30x15mm à ailettes 10000µF
      7.2V 300mA 12V 6VA 33x25x13mm 4700µF
      7.2V 600mA 12V 12VA 30x30x15mm à ailettes 10000µF

      Il est facile d'extrapoler pour des tensions et courants différents.

      4. Les tests

      J'ai donc fait le montage conformément au schéma pour obtenir, pour commencer,  un chargeur 3.6V C / 2 :
      Résistance R12 (RSENSE) : 0.8Ω
      Le prototype est réalisé en wrapping :


      Il s'agit d'un prototype qui ne comporte ni régulateur 9V ni régulation 6V.

      La résistance de 0.8Ω est composée de deux résistances de 1.6Ω en parallèle soudées sur deux broches lyre pour être changées facilement.

      6 micro-switchs permettent de choisir le nombre de cellules.
      Le temps de charge est fixé en dur par câblage direct : 180 minutes
      Pourquoi 180 minutes ? Parce que la charge va durer environ 130 minutes. Si je veux pouvoir constater que la détection de fin de charge fonctionne, je dois choisir un temps maximal de charge largement supérieur.

      J'ai également monté après coup le transistor de puissance sur un support à 3 broches, ce qui permet de le changer facilement pour faire des tests avec différents transistors.

      Le montage est alimenté en 7.5V par une alimentation de labo 3A stabilisée.
      La mesure de la tension d'alimentation du MAX712 (broche 15) donne 5.2V.

      Je décharge la batterie à travers une résistance de 10Ω jusqu'à atteindre 3.0V, ce qui prend environ 1H40 si elle est chargée à bloc.

      Plutôt que de brancher une résistance sur la batterie et de surveiller bêtement un voltmètre, j'automatise cette opération avec mon module analog-digital-logger :
      https://riton-duino.blogspot.com/2019/08/un-logger-analogique-et-digital.html
      Voir : 4.3.2. Décharge de batterie

      J'utilise également ce petit montage, rapide à construire et moins sujet à faux contacts qu'une breadboard :


      La décharge en image :

      Une fois la batterie déchargée, branchons-la sur le chargeur. La LED rouge s'allume. La tension aux bornes de R12 est de 0.26V, ce qui donne un courant de 300mA, comme prévu (C / 2).

      J'utilise également le module analog-digital-logger précédent pour surveiller la tension et le courant de charge, avec un sketch différent.
      https://riton-duino.blogspot.com/2019/08/un-logger-analogique-et-digital.html
      Voir : 4.3.3. Charge de batterie

      Début de charge : 9H35

      Au début de la charge le courant n'est pas très constant et dépasse parfois 2A pendant un court instant sur l'ampèremètre de l'alimentation. Je suppose que celle-ci doit afficher les pointes de courant, car le multimètre voit seulement 320mA.

      Apparemment, l'alimentation de laboratoire se met en sécurité à cause de pointes dépassant 3A, ce qui provoque l'arrêt du test.
      C'est risqué avec un TIP30, étant donné qu'il supporte des pointes de 3A maximum.
      Après examen de la carte, la cause du problème est un fil mal wrappé sur la broche 12 (BATT-) du MAX712. On remplace le fil et on recommence tout ...

      Début de charge : 15H23

      Cette fois-ci le courant de charge est constant : 320mA.
      15H45 : la tension aux bornes de la batterie atteint 4.2V.
      16H25 : la tension atteint 4.3V.
      17H13 : la tension atteint 4.4V.
      17H40 : fin de charge

      La charge a duré 2:16:20.

      Le temps de charge maximal était fixé à 180 minutes. Cela veut dire que le MAX712 a bien détecté la légère chute de tension en fin de charge (voltage slope).

      La courbe de charge :
      On peut exploiter le fichier CSV avec OpenOffice pour produire un graphe de la fin de charge :


      On voit bien la retombée de la tension en fin de charge. Elle est seulement de 4mV. On comprend pourquoi, sans circuit intelligent spécialisé, charger une batterie NI-MH est impossible.

      4. La réalisation

      Le chargeur que j'ai choisi sera capable de charger des batteries entre 1.2V et 4.8V jusqu'à 3000mAH.

      La tension de sortie du LM317T sera donc de 9V, et son entrée recevra 12V.

      Le courant de charge maxi sera de C / 2 = 3000mA / 2 = 1500mA

      Le choix des composants est le suivant :
      • transistor Q2 : TIP42
      • régulateur : LD1085 3A ou LM317T 1.5A
      • diode D3 : 1N5400 3A
      L'alimentation devra être capable de délivrer :

      P = 9V * 1.5A = 13.5W.

      Il faut recalculer certains éléments :

      4.1. Le TIP42

      Calculons le dissipateur du TIP42. Le cas le plus défavorable est la charge de batteries de 1.2V, donc 1V en début de charge :

      Vfd3 = 0.8V pour la diode 1N5400 à 1.5A
      P = (Valim - Vbatt - Vfd3) * I = (9V - 1V - 0.8V) * 1.5A = 10.8W

      N'ayant pas de données thermiques pour le TIP42, j'estime à 2°C/W sa résistance thermique jonction / boîtier (valeur classique pour un boîtier TO220) :

      Rd = ((Tj - Ta) / P) - Rj = ((125° - 35°) / 10;8W) - 2°C/W = 6.3°C/W

      Le régulateur aura une dissipation de :
      P = (12V - 9V) * 1.5A = 4.5W
      Rd = ((Tj - Ta) / P) - Rj = ((125° - 35°) / 4.5W) - 2°C/W = 18°C/W

      On pourra placer le TIP42 et le régulateur sur le même dissipateur. Il faudra impérativement isoler les deux composants du dissipateur avec du matériel adapté (isolant + canon) :


      On appliquera de la pâte thermique sur les deux isolants.

      Voici le modèle de dissipateur de récupération que j'ai choisi (tant pis s'il est surdimensionné) :

      Dissipateur 80x125x15mm 2.5°C/W

      Pour que la même carte puisse servir à la réalisation d'un chargeur de 300mA ou 600mA maximum, on pourra remplacer ce dissipateur par une simple plaque d'aluminium (le fond d'un boîtier métallique par exemple).

      4.2. L'Alimentation

      4.2.1. Alimentation à transformateur
      Un transfo de 9V nous permettra d'obtenir au moins 13V crête.

      Il sera nécessaire d'utiliser des diodes schottky SR540 afin de ne pas trop faire chuter la tension.

      Condensateur de filtrage :

      C1 = 1.5A / (1V * 50Hz * 2) * 1000000 = 15000µF

      Le coût de cette alimentation sera de :
      • transformateur  INDEL TSZZ30/003M/5 9V 30VA : 9€
      • condensateur 22000µF 16V : 2€
      • 4 x diode SR540 : 0.45€
      • divers : < 1€
      • soit un total de 12.50€ hors PCB
      L'utilisation d'un transformateur 9V courant permet de réduire nettement le coût, même si nous devons utiliser un pont de diodes (SR540) plus onéreux.

      Malgré tout le prix reste élevé, et sauf dans le cas où l'on dispose d'un transformateur 9V de récupération, je ne vois pas trop l'intérêt de tenter la chose.

      4.2.2. Alimentation à découpage
      Le choix en matière d'alimentation 12V est vaste :
      MeanWell IRM-20-12 : 9€
      MeanWell RS-25-12 : 9.60€

      MeanWell GE24I12-P1J : 14.50€
      Un alimentation de laboratoire réglée sur 12V

      Le choix n'est pas limité et dépendra de l'intégration choisie. Il y en a pour tous les goûts.
      Personnellement je compte utiliser un bloc secteur de récupération : un RS 188-769 12V 5A.

      4.3. Le matériel

      Pour réaliser ce chargeur, il faut réunir :
      • des résistances 1/4W
        • 100Ω 
        • 10KΩ 
        • 620Ω 
        • 5.6KΩ 
        • 470KΩ
        • 68KΩ
        • 22KΩ
        • 3 x 1KΩ
        • 150Ω 
        • 6.8KΩ 
        • 0.5Ω
        • 3 x 1Ω 
        • 3.9Ω
        • 8.2Ω
        • 16Ω 
        • 330Ω
        • 3.3KΩ
        • 750Ω
        • 120Ω 
      • condensateurs :
        • 2 x 1µF MLCC
        • 2 x 10nF polyester
        • 3 x 10µF / 16V
        • 100nF polyester
        • 10µF 25V
      • diodes
        • 1N5400 
        • zener 4.7V
        • zener 6.8V
        • LED bleue ou verte 3mm
        • LED rouge 3mm
      • transistors
        • TIP42
        • 2N5087
        • 2N2222 
      • 1 MAX712
      • 1 LM317T
      • connecteurs
        • 2 x 2 broches femelle au pas de 2.54 
        • 3 broches femelle au pas de 2.54
        • 16 broches femelle au pas de 2.54 (2x8 pins)
        • 24 broches femelle au pas de 2.54 (2x12 pins)
        • 2 broches femelle coudé au pas de 2.54 (NS25 ou KF2510)
        • 2 broches femelle coudé au pas de 3.96 (JST par exemple VH)
      • 1 dissipateur 80x125x15mm 2.5°C/W
      • 2 kits d'isolation(isolant + canon) pour boîtier TO220
      • 2 colonnettes M3 longueur 8mm
      P5 (24 broches) et P6 (16 broches) sont des connecteurs femelle, car je me réserve la possibilité d'ajouter une carte de contrôle enfichable
      Les LEDs bleue et rouge sont également remplacées par des connecteurs car elles seront implantées sur la carte de contrôle.

      Si le chargeur est destiné à être utilisé tel quel, P5 et P6 peuvent être des connecteurs mâles, avec des jumpers femelle, et P1, P2 et P7 peuvent être omis.

      4.4. Photos

      Ci-dessous une image du montage réalisé :


      Les deux trous de 5mm à gauche permettent de passer la lame d'un tournevis pour visser le TIP42 et le régulateur sur le dissipateur.

      7 jumpers jaunes sont en place sur les connecteurs P5 et P6 :
      • batterie 3.6V
      • temps maximal de charge 180 minutes 
      • courant de charge 300mA 
      Vues de côté :


      Ce montage est facilement réalisable sur une plaquette à pastilles :
      Le PCB a une surface de 100x60mm. Une plaquette de 120x80mm devrait suffire, ou 90x70mm en tassant un peu.

      4.5. Essais

      Les premiers essais sont très positifs. L'arrêt de la charge se fait parfaitement bien.
      Lors de la charge d'une batterie 3.6V 600mAH le dissipateur est à peine tiède, ce qui n'est pas étonnant vu sa taille.

      4.6. Évolutions futures

      Une carte de contrôle est prévue. Elle aura pour rôle principal de faciliter la sélection :
      • des commutateurs analogiques seront utilisés pour choisir le nombre de cellules et le temps maximal de charge
      • 8 MOSFETS seront chargés de la commutation des résistances RSENSE
      • la sélection sera faite à l'aide un encodeur rotatif
      • un écran OLED permettra d'afficher des informations :
        • sélection du nombre de cellules et du courant de charge
        • tension de la batterie
        • courant de charge
        • temps de charge
      Cette étude a déjà débuté.

      5. Téléchargements

      Pour télécharger le projet :
      https://bitbucket.org/henri_bachetti/max712-nimh-charger.git

      Cette page vous donne toutes les informations nécessaires :
      https://riton-duino.blogspot.com/p/migration-sous-bitbucket.html

      6. Conclusion

      Ce chargeur peut paraître complexe par rapport à un chargeur LITHIUM-ION (un TP4056 par exemple), mais il est malheureusement difficile de faire plus simple, sauf si l'on se contente de charger un seul modèle de batterie, auquel cas on pourra le simplifier pour le rendre moins universel.


      Cordialement
      Henri

      2 commentaires:

      1. Bonjour !
        J'utilise déjà deux chargeurs à base de Max712.
        Votre projet tombe à pic, pour réaliser le chargeur d'un pack de 4 éléments de 4000 mAh. Batterie d'un scope TekScope THS720A.
        Merci et bravo pour la clarté de votre exposé, c'est rare !

        RépondreSupprimer