prec home dir suiv

CHOUR - Chargeur de batterie au plomb

img

Appareil : Chargeur de batterie piloté par microprocesseurr
Date : 2017
Type : PC-BAT1
Marque : Chour
Principaux constituants : Abaisseur de tension à découpage, Arduino Pro Micro pour le pilotage
Principale caractéristique : Deux modes de charge : courant fort et courant de maintien piloté par le microprocesseur. Protégé contre l'inversions de tension de la batterie et contre les court-circuits.

Chargement Logiciel

Introduction

Mon chargeur de batterie au plomb composé d’un transformateur, d’un redresseur sélénium et d’un disjoncteur thermique ayant rendu l’âme (je l’ai un peu aidé), je me suis dit que ce serait l’occasion de mettre en œuvre les modules abaisseurs de tension et autre Arduino que l’on trouve pour quelques euros sur le net. Ca donne le montage et le programme décrit ci-après, pour un coût qui n’est pas disproportionné (voir plus loin) par rapport à l’achat d’un chargeur neuf piloté par microprocesseur. Et au moins, je sais comment il est fait.

Et si vous avez quelques composants de récupération, il ne vous reviendra finalement pas si cher que cela.

Ses caractéristiques sont les suivantes :

Limitation : par programme, le chargeur refuse de charger une batterie dont la tension est inférieure à 7V. De toute façon, si c’est le cas, la batterie est morte (en général, tension inférieure à 12V).

Schéma de principe

Chargeur

L’alimentation secteur passe par une alimentation à découpage qui produit une tension de 24V sous 10A. Vous pouvez bien sur utiliser un transformateur classique plus redresseur et filtrage si vous avez ça en stock. Vous ferez une économie substantielle (environ 15€).

La tension de sortie de cette alimentation est envoyée sur trois convertisseurs abaisseurs C1, C2 et C3.

Chaque sortie de C1 et C2 est reliée à un relai. Chaque relai est commandé par le processeur (Cmd1 et Cmd2).

Les sorties de chaque relai sont reliées ensembles pour former la sortie positive de charge de la batterie.

Au repos, les deux relais sont ouverts.

Un diviseur de tension permet de disposer d’une tension acceptable pour une entrée analogique du processeur afin de mesurer la tension de la batterie. Ce point est expliqué plus loin.

Interface

Le chargeur dispose de 5 diodes permettant de connaitre l’état courant du processus de charge :

Fonctionnement du chargeur

La mesure de la tension de la batterie se fait en la déconnectant du chargeur. Elle est faite toutes les 10mn.

Quelques particularités du programme :

Les mesures de tension par le processeur sont faites selon deux modes :

Le premier mode permet d’éviter de détruire le processeur si l’on branche par mégarde un générateur (batterie) dont la tension est élevée (par exemple, 24V). Le montage est protégé jusqu’à une tension d’environ 30V.

Le second mode permet une mesure plus précise de la tension. Par contre, cette tension NE DOIT PAS dépasser 15V. Au-delà, on détruit l’entrée analogique. Ce mode n’est activé que si la mesure grossière est inférieure à 15V.

À noter que la bibliothèque Arduino (2017) semble être erronée pour le processeur utilisé (32U4). J’ai été obligé de réécrire les fonctions d’initialisation du convertisseur analogique numérique ainsi que la fonction de lecture.

Le programme est conçu pour proposer des fonctions minimisant le risque d’erreur de programmation pouvant entrainer un risque pour le chargeur. Par exemple, si on décide de passer en charge à courant faible, une fonction est disponible qui coupe la charge à courant fort et laisse le temps au relai de commuter.

Si vous modifiez le programme, il est déconseillé de manipuler directement les commandes de relais en dehors de ces fonctions.

Réglage du montage

Réglage du programme

Le programme est disponible ici. Il y a deux constantes à renseigner :

Sur votre montage en fonctionnement depuis quelques minutes, mesurez la tension réelle d’alimentation de l’Ardiuno et mettez la valeur en millivolt dans la constante VAlimArduino (par exemple, 4800mV qui est la valeur par défaut du programme et qui correspond à Vcc).

Injectez 15V en A et réglez le potentiomètre ajustable pour obtenir 2.56V en B. Par précaution, l’entrée de mesure du microcontrôleur ne doit pas être connectée en B lors du réglage.

Injectez une tension de, par exemple, 13000mV en A (13V). Faites en sorte que la mesure de cette tension au multimètre soit la plus précise possible. En pratique, cette tension peut être quelconque entre environ 8000mV et 15000mV.

Connectez l’entrée de mesure (ici, ADC4, Pin 10 de l’Arduino) en B. Exécutez le programme en mode « test » (voir #define TEST true) et observez les tensions calculées par rapport à Vcc (tension d’alimentation de l’Arduino) et par rapport à ARef (référence de tension interne du processeur). L’affichage dans le moniteur série de l’environnement de développement se présente comme suit (les valeurs sont fictives) :

TVcc 13800 – Vlu 409 –Tension Lue 2010 – TVaref 14100 – Vlu 800 – Tension Lue 2000

La première série (13200, 409, 2000) donne respectivement, la tension calculée au point A (13,8V), la valeur rendue par le convertisseur (409) et la tension calculée au point B (2,01V), le tout étant mesuré par rapport à la référence qui est la tension d’alimentation (Vcc = 4800mV dans cet exemple).

Idem pour la deuxième série mais mesurée par rapport à la tension de référence interne ARef du processeur (2560 mV dans le cas présent).

Note : si TVcc est inférieure à 7000mV ou supérieure à 15000 mV, la deuxième série n’apparaitra pas. Réglez la tension en A pour que TVcc soit dans les bornes [7000, 15000[.

Ce que l’on souhaite est que TVaref affiche la tension injectée, ici 13000 mV (et si possible, TVcc mais la précision est moins importante pour cette mesure).

L’objectif est de calculer le facteur multiplicateur « Facteur » pour passer de la tension mesurée en B à la tension mesurée en A (valeur du diviseur plus de la diode en série). Il est préférable de calculer ce facteur sur les tensions mesurées par rapport à la tension de référence interne du processeur. Sa valeur par défaut est 585.

Facteur = (Tension Injectée * 102300) / (Vlu * ARef)

Soit ici

Facteur = (13000 * 102300) (800 * 2560) = 649

Mettre à jour la constante Facteur du programme avec cette valeur, recompilez et vérifier que TVAref affiche désormais 13000 (la précision du convertisseur fait que vous n’obtiendrez pas exactement à cette valeur. Faites au mieux en privilégiant les valeurs par excès (il vaut mieux 13100 que 12800 par exemple).

Ceci fait, mettez en commentaire le « #define TEST true », recompilez et recharger. Le programme est prêt à fonctionner.

Réglage des générateurs

Régler la tension de chaque générateur à 13.8V.

Pour le courant, prendre une charge adaptée et régler le générateur de courant fort pour qu’il débite 5A (charge d’environ 2 ohms) et le générateur de courant faible pour qu’il débite 200mA (mettre une charge d’environ 50 ohms).

Il est préférable de faire ce réglage avant de finaliser le montage. Si comme moi, vous le faite après coup, il faut forcer la fermeture des relais correspondants au module à régler. Pour ce faire, déconnectez les commandes Cmd1 et Cmd2 de l'Arduino. Forcez Cmd1 (respectivement Cmd2) à 0V, mettez la charge correspondante et réglez l'intensité maximum. Ceci fait, reconnectez Cmd1 et Cmd2 à l'Arduino.

Limitations

Le réglage du courant minimum dépend de la résistance interne de la batterie vue du générateur. Le montage proposé ici ne prend pas cette donnée en compte.

Une amélioration consisterait à remplacer l'ajustable de réglage du courant par une résistance électronique et de gérer cette résistance par l'Arduino. Cela implique une mesure du courant en plus de la mesure de la tension. Une suggestion serait de mettre une résistance de 0.1 ohms 4W dans la ligne d'alimentation (sur la masse) et de mesurer la chute de tension à ses bornes. Pour 200mA, on doit mesurer 0.02V. Pour 5A, on doit mesurer 0.5V.

Le prix

Si vous n’êtes pas électronicien amateur, alors, ce chargeur vous coûtera plus cher qu’un du commerce :

Chargeur
Hors taxes en 2021. Courant charge 8A, différents modes de charge et régénération.

Dans le cas contraire, vous avez probablement tout un stock de composants qui vous permettront de réaliser ce chargeur à peu de frais. Les seuls éléments spécifiques et modernes sont :

Le reste, c’est du câble et des composants standards, sauf l’alimentation 24V. Comme dit plus haut, si vous avez un gros transfo qui sort du 12V à 15V alternatif, il vous suffit d’ajouter un gros pont de diode (par exemple, un 25A que vous avez sûrement en stock). Sinon, le prix de l'alimentation à découpage que j'ai utilisée est d'environ 15€.

Améliorations / variantes

Ce montage est « brut de fonderie ». Plusieurs améliorations ou variantes sont envisageables :

Commentaire d’un internaute (zibuth27)

À propos des diodes anti-retour (D8 et D9) : « […] elles affectent la tension de sortie, car utilisées à plusieurs ampères lors de la pleine charge, la chute de tension est de 0.9V pour une Si et 0.4A pour une Schtooky En fin de charge, la tension remonte pratiquement d'autant (+0.9V ou +0.4V), la chute de tension devenant presque nulle. Cela devrait AMHA être pris en compte dans un chargeur idéal. »

À propos du module voltmètre-ampèremetre : « […]s'il s'agit de la fonction voltmètre seule, je préfère utiliser l'étalonnage déjà effectué une fois par ValimArduino et sortir sur un affichage analogique à galva sur sortie PWM (<5$, tels que dans le « ignition pulse generator » ou digital en pseudo-I2C avec des TM1637 livré avec des afficheurs LED bon marché.

J'ai déjà utilisé des modules voltmètre, mais je n’ai pas eu de problème de masse, les modules ampèremètre sont eux, déjà en hi-side. Ces modules ont un potentiomètre d'étalonnage, et donc une dérive indépendante, c'est pourquoi je préfère l'étalonnage unique ValimArduino. »

Certains modules voltemètres nécessitent une masse indépendante, d'autres non. Celui utilisé n'en nécessite pas. Il est alimenté par le module 5V (mais il peut aussi être alimenté par le 24V). Pour les modules à masse indépendante, vous devrez ajouter une alimentation secteur supplémentaire.

À propos de la température de la batterie : « […] Le montage témoigne d'un développement soigné, je m'étonne de la non-prise en compte de la température qui change fortement la tension de batterie (-3mV/°C x nombre d'éléments : 6) on passe de 12.99 (@+40°C) à 14.61 (@-20°C) pour la tension dite de floating 13.8V@25°. »

et

« […] On a commencé à prendre en compte leur température en moto où, dès que le trajet dépasse 10 minutes, la batterie n'est qu'à la température extérieure. Lucas, fort décrié (par habitude et snobisme, le produit était pourtant très bien fabriqué, sauf le connecteur de sortie), a pourtant produit dans les fifties des régulateurs électromécaniques à compensation en température. Depuis, on a mis la batterie dans le capot moteur, à haute température, et la compensation thermique a parfois ironiquement existé à l'intérieur de l'alternateur !
Il y a une dizaine d'années les militaires US ont imposé la compensation thermique de la régulation de charge batterie sur les véhicules terrestres.
Depuis, le cartel BMaudiMerco a placé les batteries hors du capot moteur dans les Grossberlines avec un câble torsadé sortant d'une ou des électrodes de la batterie.
Depuis quelques années, je vois ce câble, même dans les petites voitures et je finis par penser qu'il s'agit maintenant d'une imposition, ou de sa conséquence, des organismes homologateurs.
Le placement d'une sonde dans l'électrode, même en plomb, est bien plus représentatif de la température interne qu'une sonde plaquée à l'extérieur de la batterie. »

Chargeur
Chargeur en cours de réalisation

sommaire