Tondeuse FX660 : Amélioration de la gestion des accus.

Posté le 08 avril 2024 dans Hardware

Il y a de nombreuses années, j'ai acheté une tondeuse à cheveux PRO. J'en avais assez des modèles d'entrée de gamme qui font mal leur boulot. J'ai donc acheté une FX660 de Babyliss.

Agréable d'utilisation, je me suis rendu compte assez rapidement qu'elle devenait "poussive". Le moteur manquait de pêche. Ajoutant à cela, l'absence d'indicateur de fin de charge, je me suis douté que le circuit de charge des accus était minimaliste. J'ai continué à l'utiliser telle quelle jusqu'à ce que cela devienne problématique.

Petit voyage dans le ventre de la bête :

Vue interne de la bête.

Vue interne de la bête.

Vue interne de la bête (autre face du circuit imprime).

Vue interne de la bête (autre face du circuit imprimé).

Comme on pouvait s'y attendre, il n'y a pas un grand nombre de composants. On notera la tension moteur : 2,4V.



Les schémas du circuit d'origine :

J'ai reconstitué les schémas de l'électronique interne. Vu le nombre de composants, ils sont simples.

Schémas complets

Le connecteur de gauche permet de brancher le bloc secteur (3V). Au centre, l'interrupteur permet de mettre le moteur sous tension.

Pour plus de clarté, j'ai recréé les schémas avec l'interrupteur en position OFF :

Schémas interrupteur en position OFF

Et en position ON :

Schémas interrupteur en position ON

Avec l'interrupteur en position OFF, le moteur n'est pas alimenté. Par contre, lorsque le bloc secteur est branché, la LED s'allume et les accus reçoivent de l'énergie. Le courant dans les accus est limité par les 2 résistances de 0.5Ω et 0.22Ω et la tension de fin de charge est égale à la tension du bloc secteur (3V) moins la chute de tension de la diode. C'est un système très rudimentaire qui stresse beaucoup les accus.

Les inconvénients sont :

  • Courant de charge mal maîtrisé.
  • Tension de fin de charge incertaine.
  • Gestion de fin de charge inexistante : Surcharge = Fort échauffement des accus = Dégradation des accus
  • Vitesse moteur non constante (dépend de l'état de charge des accus).
  • Décharge profonde des accus possible.

Avec l'interrupteur en position ON, le moteur est alimenté par les accus. Si le bloc secteur est branché, celui-ci apportera un complément d'énergie au moteur et aux accus, en fonction du niveau de charge de ces derniers.

Plus des accus NiCd/NiMh sont vieux, plus ils se comportent comme un court-circuit lors de la charge. Ils ne se chargent plus mais dissipent l'énergie qu'ils reçoivent en chaleur. Donc, avec l'architecture ci-dessus, plus les accus sont vieux, moins le moteur reçoit d'énergie, même avec le bloc secteur branché.

Une solution simple est de changer les accus lorsqu'ils sont trop usés. Mais l'absence de gestion de charge/décharge fait qu'ils vieillissent très vite.

Une nouvelle électronique :

Une meilleure solution est de changer les accus et l'électronique. C'est ce que j'ai décidé de faire. Avec comme cahier des charges :

  • Garder la mécanique intacte (sans modification)
  • Garder le bloc secteur d'origine
  • Gérer l'énergie au mieux
  • Vitesse moteur régulée

Des mesures rapides indiquent que le courant moteur est de :

  • à vide : 0,35A
  • avec la tête de coupe connectée : 1,1A
  • en freinant la tête de coupe avec les doigts : 1,5A

Pour avoir une marge de fonctionnement, le design devra permettre un courant moteur de 2A.

La place de l'électronique étant restreinte, le défi n'est pas si évident que cela à relever. Il y a des contraintes de surface mais aussi de hauteur. La chaleur dissipée peut également être problématique.

Voici le résultat.

Vue 3D côté accus.

Vue 3D côté accus.

Vue 3D côté composants.

Vue 3D côté composants.

Sur les vues 3D, Les 2 LEDs sont représentées droites et de la même couleur mais, bien évidemment, elles sont de différentes couleurs et soudées coudées, en direction du trou.
Les dimensions du circuit-imprimé sont exactement les mêmes que celui d'origine. Y compris le trou oblong et les découpes latérales.

Les schémas :

La première idée de blocs fonctionnels qui vient est la suivante :

Blocs fonctionnels - Première idée

Le premier convertisseur DC/DC permet de remonter la tension du bloc secteur à une tension utilisable par le chargeur de batterie. Le deuxième convertisseur DC/DC permet de générer la tension moteur. Celui-ci doit être du type Buck/Boost, car la tension batterie peut être inférieure, égale ou supérieure à la tension moteur. Bien sûr, si le bloc secteur était remplacé par un modèle fournissant une tension plus élevée, le premier convertisseur DC/DC ne serait pas nécessaire.

Ce schéma bloc est simple mais la place sur le circuit imprimé est très limitée et le premier convertisseur DC/DC assure une fonction commune avec le second. A savoir élever une tension. Mais il est possible d'utiliser un seul convertisseur Buck/Boost pour les 2 fonctions.

Les blocs fonctionnels deviennent donc les suivants :

Blocs fonctionnels

Lorsque l'interrupteur de mise sous tension est en position OFF et que le bloc secteur est branché, le convertisseur DC/DC génère une tension de 4,8V et les batteries sont chargées (si elles en ont besoin).

Blocs fonctionnels en mode OFF

Lorsque l'interrupteur de mise sous tension est en position ON, le convertisseur DC/DC génère une tension d'environ 2,4V et le moteur est alimenté. Le convertisseur DC/DC utilise alors l'énergie stockée dans les batteries. Lorsque le bloc secteur est également branché, l'énergie est puisée soit dans les batteries soit dans le bloc secteur soit dans les deux en fonction du niveau de charge des batteries.

Blocs fonctionnels en mode ON

Les schémas ne sont pas aussi complexes qu'ils peuvent le paraître. La complexité apparente est due aux relativement nombreux composants discrets.

Schémas

Les schémas.

Le convertisseur DC/DC :

Pour le convertisseur DC/DC (LTC3113), j'ai choisi un modèle qui commute automatiquement entre les modes Buck et Boost et qui gère très bien le passage d'un mode à l'autre. En mode charge de batterie, c'est le mode Boost qui est enclenché, la tension d'entrée (3V) étant inférieure à la tension de sortie (4.8V). En mode "moteur", c'est soit le mode Buck soit le mode Boost qui s'enclenche en fonction de l'état de charge des batteries. Un élément NiMH à une tension d'environ 1,5V lorsqu'il est chargé à fond et de 1V lorsqu'il est entièrement déchargé. Au cours de l'utilisation, la tension d'entrée du convertisseur DC/DC passe de supérieure (3V) à inférieure (2V) à la tension de sortie (2,4V). Un transistor (Q1) et une résistance (R14) permettent d'avoir une tension de sortie différente en mode "charge" (4,8V) et en mode "moteur" (2,4V). Paramètre important, ce composant accepte une tension d'entrée aussi basse que 1,8V. c'est important avec seulement 2 accus comme source d'énergie.

Le chargeur de batteries :

Pour le chargeur NiMH, j'ai choisi un composant qui fonctionne à découpage (LTC4010). L'intérêt principal étant bien sûr un meilleur rendement qu'un modèle linéaire et par conséquent un dégagement de chaleur bien plus faible. Le circuit imprimé étant très compact et le volume d'air faible dans la tondeuse, les problèmes thermiques sont critiques. Un autre gros avantage du LTC4010 est que lorsqu'il n'est pas alimenté, il se déconnecte des batteries. Cela veut dire que les accus ne sont pas déchargés par ce composant lorsque la tondeuse est stockée entre deux utilisations.

Le commutateur de puissance :

Le dernier composant (LTC4415) a plusieurs cordes à son arc. Il fait office d'interrupteur, de diode idéale, et de limiteur de courant.

  • Il est utilisé en interrupteur pour l'alimentation du moteur et du chargeur de batteries.
  • Il est utilisé en limiteur de courant moteur dans le cas où la tête de coupe serait bloquée (un moteur bloqué est un court-circuit).
  • Il est utilisé en diodes idéales entre l'entrée externe et les accus pour alimenter le convertisseur DC/DC. Coté accus, il est également utilisé en interrupteur.
  • Le bloc secteur est donné pour 3V sous 1A. On utilise la limitation de courant du LTC4415 pour être sûr de ne pas dépasser cette valeur.
  • Dernier atout, il fonctionne avec une tension d'entrée aussi basse que 1,7V environ. En dessous, il coupe. L'intérêt ici, c'est que cela protège les accus d'une décharge trop profonde : Un accu NiMH a une tension de 1V lorsqu'il est vide. En dessous, on passe en décharge profonde ce qui n'est pas bon pour sa santé. Avec 2 accus, la limite est donc à 2V. Le LTC4415 coupant à 1,7V, cela fait 0,85V par accu. C'est un peu bas mais cela protège quand même les accus.

Quelques calculs :

Le courant de charge des batteries doit être défini.

Le courant du bloc secteur étant spécifié à 1A, il ne faut pas dépasser cette valeur. Lors de la charge, le convertisseur DC/DC converti le 3V du bloc secteur en 4,8V avec un rendement d'environ 85% (d'après les courbes de la documentation). Le rendement du chargeur est d'environ 80% à Vbatt = 2.4V et 85% à Vbatt = 4V.

L'élévation de la tension de sortie implique une élévation du courant d'entrée comme suit :

Ichargeur = Ibatt * Vbatt / 4,8V / n (où n est le rendement)
Iin = Ichargeur * 4,8V / 3V / 0,85

🠞 Iin = (Ibatt * Vbatt / 4,8V / n) * 4,8V / 3V / 0,85
🠞 Iin = IBatt * Vbatt / 3V / n / 0,85

En fin de charge, Vbatt vaut 3,95V max (voir la datasheet du LTC4010). A cette tension, le rendement du chargeur est de 85%.
🠞 Iin = IBatt * 3,95V / 3V / 0,85 / 0,85
🠞 Ibatt = Iin / 1,82

Donc pour un courant de 1A consommé sur le bloc secteur, le chargeur NiMH ne pourra pas consommer plus de 0,55A. Nous utiliserons donc un courant de charge de 0,5A. Les accus utilisés ayant une capacité de 900mAH, la charge se fait à environ C/2. C'est une charge semi-rapide qui ne stresse pas trop les éléments et qui n'est pas trop longue (environ 2 heures).

Le courant de charge n'étant pas très élevé, le contrôle de la température des éléments est désactivé.

Les commutateurs de puissance permettent de limiter le courant les traversant.

  • Celui qui contrôle l'énergie venant du bloc secteur est limité à 1A.
  • Celui qui alimente le chargeur de batterie est limité à 1A. Cela laisse une grosse marge de fonctionnement (0,5A) et permet de limiter la casse en cas de problème sur le chargeur ou les accus.
  • Celui qui alimente le moteur est limité à 2A.
  • Celui qui relie les accus au convertisseur DC/DC est limité à 4A. Si l'on considère que le moteur consomme 2A, que les accus sont au plus bas (1V chacun) on a : 2A * 2.4V / (2 * 1V) / 0.85 = 2.8A. Avec 4A, on a une bonne marge tout en protégeant les accus de courants trop forts.

Deux LEDs, une rouge et une verte, permettent de connaître l'état de charge/décharge des accus et d'éventuels défauts de fonctionnement. La combinaison des deux LEDs permet d'avoir 3 couleurs visibles dans le voyant de la tondeuse : rouge, vert et jaune/orange. Lors de la charge des accus, le voyant est jaune/orange. En fin de charge, il est vert. En cas de problème lors de la charge, le voyant passe au rouge. Le voyant est également vert lorsque le moteur est en marche et passe au jaune/orange en cas de surconsommation du moteur.

Le circuit imprimé :

Le circuit imprimé comporte 4 couches : Les 2 couches externes, une couche pour le plan de masse et une couche pour les plans d'alimentations. Les circuit-intégrés ont tous des thermal pads. Je ne suis pas équipé pour souder ce genre de composants. J'ai donc positionné plusieurs vias d'assez grosse taille dans les thermal pads pour pouvoir y injecter de la soudure par le côté opposé aux composants. La soudure remonte les vias par capillarité et soude le composant sur la zone de cuivre.

Routage 4 couches.

Routage des 4 couches.
(les plans de masse et d'alimentation sont détourés)

Les tests :

Lorsque l'on met une nouvelle carte électronique en route, il faut bien sûr vérifier que tout fonctionne correctement en faisant quelques mesures. Evidemment, j'ai fait quelques charges et décharges sans aucun test ;) Et tout s'est bien passé... en apparence.

Premier problème :

Le premier problème, je l'ai découvert par hasard, en visualisant divers signaux à l'oscilloscope, juste pour voir à quoi ils ressemblent.

La tension aux bornes de R16 est l'image du courant traversant U3A (le courant du chargeur de batteries). En visualisant ce signal, j'ai vu ça :

courant chargeur.

Image du courant du chargeur de batteries.

On y voit un signal caractéristique du courant traversant une inductance lors d'un découpage. Mais, on y voit aussi un très gros pic de courant à chaque point haut. Après un peu de réflexion, de relecture de la documentation du LTC4010, de réflexion encore... Horreur, j'ai oublié la capa de découplage de 1µF associée au LTC4010 ! Après ajout (en l'air entre 2 pattes du composant), on obtient ceci :

courant chargeur avec capa 1uf.

Image du courant du chargeur avec capa de découplage de 1µF bien placée.

C'est beaucoup mieux :) Le gros pic de courant a disparu. Comme quoi les documentations de composants ne disent pas n'importe quoi ;)

J'ai eu envie d'aller encore plus loin. J'ai donc ajouté une seconde capa de 10µF à la sortie du switch de puissance U3A.

courant chargeur avec capa 10uf.

Image du courant du chargeur avec capa de découplage de 1µF bien placée et une de 10µF supplémentaire.

Comme prévu, le courant est lissé. Il reste quelques pics sur la forme d'onde mais ceux-ci sont dus à des perturbations électromagnétiques captées par les sondes de l'oscilloscope.

Deuxième problème :

Le deuxième problème m'a demandé beaucoup plus de réflexion pour le comprendre.

Lors de mes premiers tests de charge et décharge, j'avais remarqué l'apparition d'un sifflement nasillard après un certain temps de charge. Pour en savoir plus, j'ai surveillé plusieurs signaux lors d'une charge. Après un certain temps de charge, j'ai vu ça :

probleme de decrochage.

Mise en évidence du problème de sifflement.

Le signal en bleu est la tension d'entrée après le switch de puissance, Vreg_in.
Le signal en rose est la tension de sortie du régulateur à découpage, Vreg_out.
Le signal en vert est une image du courant de la tension d'entrée (bloc secteur).

Sur la capture d'écran, la périodicité est d'environ 300µs. En fait, elle varie dans le temps. Apparemment, plus la charge des batteries est avancée, plus la période du phénomène se raccourcit. En regardant le courant du chargeur, on retrouve également des pics périodiques. Les découpages du chargeur et du régulateur à découpage subissent également des perturbations avec la même périodicité, ce qui est logique.

J'ai fait mes essais avec une alimentation de laboratoire réglée à 3V. Cela me permet de maitriser les conditions d'expérimentation. Chose surprenante, lorsque le problème apparait, augmenter la tension de l'alimentation de 100mV permet de le faire disparaitre... jusqu'à ce qu'il réapparaisse un peu plus tard. En augmentant à nouveau la tension de 100mV, le problème disparait à nouveau... jusqu'à ce qu'il réapparaisse à nouveau un peu plus tard. Et ainsi de suite.

Mais que se passe-t-il ?

Une surconsommation du chargeur ? Non, les courants ne sont pas assez forts pour écrouler Vreg_out de la sorte. Et pourquoi de façon périodique ?
Une limitation en courant sur un switch de puissance ? Non, les courants ne sont pas assez forts.
Une protection thermique ? Non, au toucher, il n'y a pas assez de dégagement de chaleur.
Le convertisseur DC/DC qui ne peut pas fournir l'énergie nécessaire ? Non, si c'était le cas, le problème serait présent dès le départ.

Mais alors qu'est-ce qui pourrait faire que Vreg_out s'effondre ?

La réponse se trouve dans le circuit de gestion du mode Burst/PWM du convertisseur DC/DC. R5 permet de mettre le convertisseur en Burst par défaut. D7, quant à elle, permet de forcer le mode PWM lorsque le moteur est activé (à l'aide de l'interrupteur) ou lorsque la charge des accus est en cours (à l'aide de la pin CHRG du LTC4010).

Le seuil de la pin BURST du LTC3113 est spécifié à 0,7V typique lorsque Vin vaut 3,3V. La valeur minimale étant de 0,3V. Lorsque la charge est active, la pin CHRG (open-drain) du LTC4010 tire la pin BURST du LTC3113 vers la masse à travers la diode D7. La tension de seuil de la diode étant de l'ordre de 0,2V, le mode PWM du LTC3113 est actif quelles que soient les conditions.

Alors, où est le problème ?

Le problème vient de la pin CHRG du LTC4010. La documentation indique que la tension de sortie de cette pin est de 300mV typiques lorsqu'un courant de 10mA la traverse. La tension maximum étant de 600mV. Or il se trouve que cette pin sert aussi à allumer la LED rouge (à travers D5). Cette charge suffit à faire monter la tension de la pin CHRG. La mesure de la tension sur la pin BURST du LTC3113 donne environ 0,7V. Exactement la valeur typique du seuil de cette pin.

Mon analyse : En fonctionnement normal, la tension sur la pin BURST est juste sous la tension de seuil. Le mode PWM est donc actif. En chauffant, le seuil de la pin BURST baisse légèrement. Le mode BURST s'enclenche alors. En mode BURST, le convertisseur DC/DC n'arrive pas à fournir assez d'énergie au chargeur ce qui fait baisser la tension de sortie. La tension de seuil de la pin BURST étant dépendante de la tension de sortie (supposition), lorsque cette dernière est suffisamment basse, le mode PWM s'enclenche à nouveau. Cela fait remonter la tension de sortie, ce qui fait baisser la tension de seuil de la pin BURST... et le cycle recommence. Lorsque la tension d'entrée, Vreg_in est augmentée, la tension de seuil de la pin BURST augmente également, ce qui fait disparaitre le problème. Jusqu'à ce que la température soit assez élevée pour que le seuil de la pin BURST baisse suffisamment pour faire réapparaitre le problème.

On peut donc en conclure que le seuil de la pin BURST est dépendant de :

  • La tension d'entrée du convertisseur DC/DC
  • La tension de sortie du convertisseur DC/DC
  • La température

Solution : Sans changer le schéma et refaire un circuit-imprimé, la seule solution est de mettre R5 à la place de R6. Heureusement, j'avais prévu ce cas lors de la création du schéma. La diode D7 devenant inutile, on peut la retirer. Le mode PWM est donc activé en permanence. La conséquence est un moins bon rendement lorsque le convertisseur DC/DC ne débite pas beaucoup de courant. C'est le cas en fin de charge des accus. Le rendement n'est pas bon mais le courant est très faible, il n'y a donc pas de risque de chauffe.

Maintenant que ces problèmes sont résolus, nous pouvons passer aux mesures de fonctionnement.

Courbe de charge :

J'ai enregistré les tensions de plusieurs signaux lors d'un cycle de charge.

Courbes de charge.

La tension VBatt est caractéristique de la charge d'accus NiMh. Lorsque la tension redescend légèrement, la charge est terminée.

Sur le graphique, on voit que la charge dure environ 80 000 échantillons. A 10 échantillons par seconde, cela fait environ 2h15mn de charge. On est dans les clous.

Courbes de décharge :

J'ai fait le premier test avec un courant moteur de 800mA. Pour la charge, j'ai utilisé des résistances de puissance. C'est plus simple que de charger le moteur avec un couple constant.

Courbes de décharge à 800mA.

L'ondulation présente sur certaines courbes est due à un faible taux d'échantillonnage (1 échantillon par seconde), ce qui ne permet pas un filtrage des données efficace.

Il est quasiment impossible de trouver les caractéristiques complètes des accus NiMh. Même les fabricants ne les donnent pas. Entre autres, la résistance interne des accus est très importante lors de décharges à des courants élevés. Ici, à presque 1C de décharge, on voit clairement que la tension des accus chute fortement dès la mise en route. Je n'ai pas mesuré la résistance interne des accus utilisés mais la forte chute de tension laisse penser qu'elle est assez élevée. Mauvaise nouvelle.

La forme "hachée" à droite du graphique révèle une instabilité des signaux en fin de décharge. Instabilité due à la résistance interne des accus : Le convertisseur DC/DC s'active, la tension Vreg_out augmente, la charge est connectée (U3B) et se met à consommer, la tension des accus chute (consommation + résistance interne), Vreg_in passe sous le seuil de fonctionnement, le régulateur DC/DC se désactive, la consommation des accus devient nulle, la tension des accus remonte (absence de charge), le cycle recommence.

Le temps de décharge est d'environ 2900 échantillons. A 1 échantillon par seconde, la décharge dure donc environ 48mn. En théorie, elle devrait durer 900/800 = 1,125h soit 1h7mn. En pratique, on a presque 20mn de moins qu'en théorie.

J'ai fait mon deuxième test à 1800mA.

Courbes de décharge à 1800mA.

Encore une fois, le faible taux d'échantillonnage (5 échantillons par seconde) ne permet pas un filtrage des données efficace, ce qui donne des courbes très bruitées.

Le courant de charge étant plus élevé, la chute de tension des accus est supérieure que dans le test précédent. On retrouve l'instabilité de fin de décharge sur la droite du graphique.

Je ne m'explique pas la non linéarité des courbes en milieu de décharge. En analysant les signaux en temps réel au moment de la transition, la réponse serait peut-être évidente (Il ne faut pas oublier que le graphique est créé à partir de signaux échantillonnés à basse fréquence puis filtrés).

Mais le vrai problème n'est pas là. Il est dans la durée de décharge. Le système devient instable au bout d'environ 200 échantillons. A 5 échantillons par secondes, cela fait 40s !!!

Nous sommes passés de 48 minutes à 40 secondes de temps de décharge en doublant (un peu plus) le courant moteur. Très mauvaise nouvelle.

Les LTC4415 introduisent une perte de tension. En les remplaçant par un système plus performant, on pourrait gagner en autonomie. Mais ce ne serait pas suffisant. Loin de là.

La vraie solution passe par des accus de meilleure qualité. J'ai passé des heures à chercher des caractéristiques d'accus sur Internet. J'ai envisagé de changer de chimie. Mais dans le facteur de forme AAA, il n'existe pas grand-chose d'autre que le NiMh et le NiCd (obsolète). J'ai fini par trouver une page WEB où des utilisateurs publient des tests complets réalisés par eux-mêmes. Il en ressort qu'actuellement, le meilleur choix serait les accus Eneloop pro AAA BK-4HCDE 930mAh (Black).

Y a plus qu'à !



Nouveaux Accus !!! :

Yes !!! Le temps de décharge est amélioré... de quelques dizaines de secondes. Mauvaise piste.


Conclusion :

Le principe de fonctionnement choisi est bon... en théorie. En pratique, la résistance interne des accus fait que cela ne fonctionne pas avec un courant moteur élevé. Le découpage du convertisseur DC/DC amplifie le problème.

C'est donc un échec. Mais en changeant les contraintes de départ, il serait peut-être possible d'arriver à un bon résultat. Je vais y réfléchir et cela fera l'objet d'un autre billet de blog si je trouve une solution.