[Résolu]Mesure tension elements batterie Lipo

Bonjour la communauté,

Mon projet actuel utilise une batterie Li-po de 3 éléments en serie qui par le biais d'un régulateur de tension alimente une Nano.

La technologie de ces batteries "impose" de devoir surveiller la tension de chaque éléments afin de ne pas passer sous un seuil de charge qui peut être fatal pour l'accumulateur.

Ma batterie correspond au schéma ci dessous avec ce qu'on nomme la prise d'équilibrage ou de balance

La tension nominale étant de 3,7V (avec un mini de 3,0v et maxi de 4,2v), je me suis dit chouette, un élément pour un pin analogique (via la prise d’équilibrage) et je suis dans les clous et j'applique le procédé de mesure suivant:

Sauf qu'a la réflexion ce n'est pas possible puisque le pole négatif de la batterie est aussi au GND de ma Nano et que je ne peux pas avoir 2 GND à des potentiels différents.

Il me reste alors comme dernière alternative: le pont diviseur de tension. Mais, parce qu'il y a toujours un mais: Étant novice en la matière et en comportement électrique, Je n'ai encore jamais implémenté de pont diviseur

Je vois très bien comment calculer mes valeurs de résistances, mais anticiper le comportement du système, je ne suis sur de rien, surtout du point de vue des ampérages en jeu et de la justesse des mesures par la suite

Des conseils avisés sont les bienvenus!

Merci d'avance

Le conver A/ D utilise une tension de référence qu'il divise par 1024.
Le 328p peut fonctionner avec 3 références de tensions

  1. le Vcc
  2. une tension extérieure
  3. une référence interne : stable mais dont la valeur est comprise entre 1V et 1,2 V

Inconvénients :

  1. Vcc
    Si le Vcc varie (c'est pour cela que tu veux le mesurer) la mesure sera fausse.

  2. Vref externe
    Aref n'est pas sortie sur la nano. Il faut souder un fil entre la référence externe et le condensateur de filtrage de la pin aref du boîtier du micro.

  3. Vref interne
    Pour un lot donné cette tension est fixe et stable. Il est possible de la mesurer : quand Vref interne est sélectionnée cette tension est présente sur aref. Il suffit d'appliquer une pointe de touche de voltmètre sur le condensateur de filtrage pour la mesurer.

En conclusion seules les solutions 2 et 3 sont acceptables.

Calcul du pont :
Le convertisseur A/D fonctionne sur le principe de charge de capacité (internes à la puce).
Tout naturellement, pour ne pas perturber la mesure, la source de tension à mesurer ne doit pas avoir une impédance trop élevée : avec les avr cette limite est de 100 kohms.

Impédance de source d'un pont :
Un pont est formé de 2 résistances R2 et R1 connectées d'une part à la masse et d'autre part à Vcc.
Ce pont constitue une source de tension qui a les caractéristiques suivantes :
On applique le schéma équivalent de Thévenin.

Dessin source Wikipédia.fr

Vth = Vcc * R2/ (R1 + R2)
ET
une impédance de source
Rth = R1 // R2

Pour être sur de bien se comprendre :
Vcc = 3,3 V
R1 = 20 k
R2 = 10 k
Source de tension : Vth =1,1V
Impédance de source Rth = 10k // 20 k = 6,666 k

Ton boulot pour le calcul du pont :

  1. choisir la référence de tension
  2. calculer les valeurs de résistance en vérifiant que la résistance de Thévenin ne dépasse pas 100 kohms. Si tu reste dans des valeurs de résistances autour de 10k ou 30 kohms tu ne cours aucun risque.

Merci beaucoup pour cet exposé détaillé, cependant il y a un point sur lequel je ne te suis pas.

Quand tu dit que Vcc varie:

68tjs:
[...]
Inconvénients :

  1. Vcc
    Si le Vcc varie (c'est pour cela que tu veux le mesurer) la mesure sera fausse.
    [...]

Ma nano étant sur une source régulée (depuis cette batterie certes), le Vcc de la Nano ne varie pas lui?
Si? Je peux garde le 5V de la carte comme tension de reférence?

Si je continue dans ce sens:

Pour mesurer l'element 1, pas de soucis, sa tension sera entre 3 et 4,2V donc en direct sur une broche analogique.

Pour mesurer l'élément 2, tension entre 3 et 4,2V + l'élément 1 => de 6v a 8,4v
8,4v/5v = 1,68 donc partir sur un pont d'un rapport de 1,68 entre les 2 résistances? Vrai?
R1 vaudrai 16,8kOhms et R2 vaudrait 10kOhms?

Puis mesure analogique sur laquelle je retranche la valeur de mon élément 1

Pour mesurer l'élément 3, tension entre 3 et 4,2v + élément 2 + élément 1 = tension comprise entre 9v et 12,6v

12,6v / 5v = 2,52 donc partir sur un pont d'un rapport de 2,52 entre les 2 résistances? toujours vrai?
donc R1 vaudrai 25,2KOhms et R2 vaudrait 10kOhms?
Puis mesure analogique sur laquelle je retranche la valeur de mon élément 1 + élément 2

Suis je dans le bon?

Ma nano étant sur une source régulée (depuis cette batterie certes), le Vcc de la Nano ne varie pas lui?

Ben j'avais pas vu....et lu en diagonale.
Donc c'est bon avec Vcc.

donc partir sur un pont d'un rapport de 1,68 entre les 2 résistances? Vrai?

Là ce n'est pas bon.
Ce qui serait bon c'est que pour l'élément 2 le rapport de 1,68 soit égal au rapport de la résistance de pied à la somme des résistances.

Démonstration (elle est si simple que c'est la preuve que c'est dangeureux d'apprendre des formules par cœur).
Je ne vais utiliser que la loi d'Ohm.
Je connais la tension : Vcc.
Le courant qui passe dans le pont ne dépend que dela somme des résistances du pont R1 et R2.
Je calcule le courant qui passe dans le pont : U=RI donc I = U/(R1+R2)
Maintenant que je connais le courant qui traverse le pont je peux calculer la tension aux bornes de la résistance de pied (R2) toujours en appliquant la loi d'Ohm.
Vi = R
I = R2 * Vcc / (R1+R2)
Soit en ordonnant pour faire plus lisible Vi = Vcc * R2 / (R1+R2)

Tu peux recalculer les résistances.

Si j'avais à faire cette réalisation je m'assurerais d'avoir une marge pour la mesure des tensions pour le cas où la théorie serait déficiente : pour ne pas risquer d'avoir une tension de sortie de pont supérieure à Vcc je me prendrais une marge de 0,5V dans le calcul des ponts.
Pour améliorer la précision des calculs je mènerais les calculs le plus longtemps possible avec les résultats de lecture qui sont des entiers compris entre 0 et 1023. Je passerais à la conversion en volts le plus tard possible pour éviter d'accumuler les erreurs d’arrondi. Tu n'échapera au type "float" pour les rapports des ponts mais ce qui peut être éviter est toujours bon à prendre.
C'est une règle en mesures physique que de retarder le plus tard possible les calculs fractionnaires.

Ou sinon il y a le Maxim 17043.

Mais c'est bien sûr, j'y suis maintenant.

Donc pour mon élément 2 j'applique
Vi = Vcc * R2 /(R1 + R2)
Je fixe donc Vi à 5volts, Vcc à 8,4v et mon pied de pont à 10kOhms

Soit
5 = 8,4 * 10 / ( R1 + 10)
(quelque ligne d'équation plus bas)
et je trouve un R1 de 6,8kOhms

Et si je fais pareil pour l'élément 3

5 = 12,6 * 10 / ( R1 + 10)
Ce qui me donne un R1 de 15,2kOhms

Je n'aurai plus qu'a adapter mon pont selon les valeurs courantes de résistance du commerce.

Merci 68tjs pour les explications!

-Standby:
Ou sinon il y a le Maxim 17043.

je viens de jeter un oeil de ce coté, le 17043 et 17044 sont fait pour des lipo de 1 ou 2 éléments, je suis à 3

Merci pepe pour ce schéma

Deux/trois choses à éclaircir du coup:

-L'avantage par rapport au pont diviseur c'est que je suis capable de connaître la valeur de chaque cellule directement. J'économise des lignes de codes

-il y a 2 aop dans un LM358, donc un boîtier suffit.

  • A quoi sert R5? Je ne comptais pas mettre de resistance à ce niveau là entre l'élément 1 et ma broche analogique (sur un montage à base de pont diviseur), c'est une erreur de ma part?

Merci encore pour ces explications.

Donc protection de la broche analogique avec R5

Du coup dernière question avant clôture du sujet:

Dois je aussi mettre une resistance après les ponts diviseurs (dans le cas de mesure sans AOP)?

Je ferai un schéma sous peu pour validation.

Bonjour,

et pourquoi ne pas faire simple, en suivant l'idée de départ de Jambe ???

1er élément : lecture directe v1
2ème élément : division de tension par 2 (v2, 10k, mesure, 10k, gnd)
3ème élement : division de tension par 3 (v3, 10k + 10k, mesure, 10k, gnd)

après on fait le calcul :
v élément 1 = v1
v élément 2 = 2v2 - v1
v élément 3 = 3
v3 - v2

... ... ... ... ... ... ... ... ...

pepe:
Il me semble que Jambe est parti sur ce principe (voir sa dernière réponse).

C'est effectivement la solution que je retiens car j'ai pas de LM358 sous la main (mais des résistances à la pelle), mais je suis pas fermé aux autres options.

Lors de ma prochaine appro, je prendrai du LM358 et j'essayerai

EDIT: schéma montage:

Jambe, pourquoi ne pas utiliser ?
2*10k en série à la place de la 7k5
10k à la place de la 4k7
10k à la place de la 6k8
cela me parait plus évident, tes calculs ne vont-ils pas en ce sens ?

pepe, tu as raison comme d'hab :confused:
je pense notamment à l'alim d'un moteur en pwm, qui peut effectivement poser problème même si les mesures sont enchaînées prestement
mettre une petit capa entre entrées analogiques et gnd pourrait-il pallier le problème ?

trimarco232:
Jambe, pourquoi ne pas utiliser ?
2*10k en série à la place de la 7k5
10k à la place de la 4k7
10k à la place de la 6k8
cela me parait plus évident, tes calculs ne vont-ils pas en ce sens ?

Je trouve une meilleure résolution avec des résistances calculées au plus juste, après oui je pourrais faire un pont a 20kOhms/10kOhms et 10kOhms/10kOhms

Je ne m’embêterais pas.
Je prendrais deux potentiomètres 10 tours de 22k, (10k iront aussi).
Je ferais le réglage avec un voltmètre (HORS connexion à l'arduino bien sûr).
Une fois réglé je colle la vis de réglage à la cyano et cela ne bougera plus.
La cyano ça colle fort et tout de suite et malgré tout, comme la cyano résiste mal au cisaillement, il sera toujours possible de forcer d'un coup sec pour refaire les réglages si besoin.

Tu aura le rapport d'atténuation que tu veux. Il faudra juste faire l'étalonnage au voltmètre et reporter la valeur dans le programme.

NB : le grand luxe "ceinture plus bretelle" c'est de prendre un potentiomètre de 1 k que l'on place entre deux résistances talons. Exemple pour le pont "Elément 3" remplacer les (7,5k + 4,7 k) par 7,15 k + potar 1k + 4,22 k.
Là question précision et sécurité c'est du grandiose.