Comment puis-je savoir combien de jus une batterie LiPo contient encore?

17

Supposons que j'ai un circuit qui tire son alimentation d'une batterie LiPo. Je voudrais savoir combien d'énergie la batterie contient encore. Idéalement, un circuit de niveau de puissance à tension sera le meilleur .. de cette façon, je peux connecter la sortie de ce circuit à une entrée ADC dans mon Arduino.

ppvi
la source

Réponses:

17

Pour être honnête, si vous parvenez à trouver un moyen de le faire de manière fiable, juste en mesurant la tension et en la brevetant, vous n'aurez plus jamais à travailler. L'énergie disponible laissée dans une batterie est vaguement liée à la tension aux bornes mais dépend également de la température de la batterie.

Une méthode courante pour déterminer l'état de charge de la batterie consiste à utiliser un compteur coulomb pour compter la charge entrant et sortant de la cellule. Cela donne une meilleure estimation de l'état de charge de la batterie, bien que l'énergie réelle disponible dépend toujours de la température. Aux basses températures, la capacité de la batterie peut être inférieure à 50% de la valeur nominale. Un exemple d'appareil est le ST STC3100 . Celui-ci utilise une interface I2C pour communiquer avec le processeur. Le comptage de coulomb est effectué en intégrant le courant entrant et sortant de la cellule sur le cycle de charge / décharge. Si vous savez quand la batterie est pleine, vous pouvez estimer la quantité de charge qui a été utilisée.

uɐɪ
la source
3
Je pense que Ian a cloué celui-ci. Si vous recherchez un hack plus simple mais moins précis, vous pouvez utiliser un shunt actuel. Il s'agit d'une résistance très basse et très précise (disons 0,1 ohms) que vous mettez en série avec votre batterie. Vous pouvez ensuite utiliser l'Arduino pour mesurer la tension de la batterie et la différence de tension à travers le shunt. Échantillonnez ceux à 10 Hz et vous pouvez calculer la puissance instantanée. Suivez cela au fil du temps, et je parie que vous pourriez obtenir à moins de 10% de la valeur réelle si votre charge et votre température sont assez constantes.
pingswept
2
Cette suggestion fait rouler efficacement votre propre version d'un compteur coulomb. Le problème est que vous devrez ajouter un décalage et une amplification du niveau du signal analogique à la tension de la résistance de shunt afin que le signal analogique soit dans la plage de tension d'entrée ADC et couvre une plage raisonnable de cette plage.
u
@Ian: faits réels. Probablement besoin d'un filtrage du bruit aussi.
pingswept
Le filtre de Kalman @pingswept serait génial
NickHalden
@JGord, il existe de nombreux estimateurs possibles (filtre de Kalman, filtre de Kalman étendu, techniques de pronostic, observateurs en mode glissant, et ainsi de suite). Tout dépend du modèle de circuit que vous utilisez pour estimer le comportement de la tension de la batterie, trouver les valeurs des paramètres du circuit et les suivre dans le temps. Le problème est que plus le modèle est précis, plus il résiste au bruit et plus vous essayez de prendre en compte les caractéristiques non modélisées, plus de puissance et de données CPU sont nécessaires.
Joshua
2

Le gros problème est que la tension de sortie reste assez plate la plupart du temps. Donc, à moins d'avoir un très bon A / N, vous ne pouvez pas le surveiller directement. C'est pourquoi les ordinateurs portables et autres utilisent généralement des horloges pour mesurer la puissance restante.

Il est assez facile de trouver les graphiques si vous recherchez «courbe de décharge de la batterie»

http://shdesigns.org/batts/battcyc.html

Ron
la source
1

Ce que je fais en ce moment sur une grosse batterie composée de beaucoup de cellules Lipo est la suivante. Je le charge d'abord (voir la fiche technique des cellules pour la tension maximale). Ensuite, je vais vider la batterie avec une grosse résistance tout en utilisant une pince de courant connectée à un oscilloscope et en mesurant la tension de la batterie. Il y a une alimentation en parallèle avec la batterie évaluée à la tension de coupure de la batterie, donc je peux laisser la configuration pour vider la batterie jusqu'au point où il n'est pas recommandé d'aller plus loin. Avec le scope (certains Fluke, je ne connais pas le modèle) je peux enregistrer le courant dans le temps, et ainsi déterminer la capacité. Lorsque la capacité est déterminée, je vais enregistrer le courant et la tension en permanence lorsqu'elle est utilisée, et ainsi je peux trouver plus précisément la charge restante.

Erik
la source
0

Ces réponses sont trop bonnes .

Je découvre que les solutions commerciales sont moins chères.

À votre laboratoire, si vous pouvez mesurer la charge de l'appareil, vous n'avez pas besoin de mettre de compteur de charge à l'intérieur.

Par exemple: un schéma de charge d'alimentation simple

state       load
--------------------
standy      0.1 A
full on     1 A

Si l'Arduino commande les deux états - ou peut les lire, des données numériques - bingo.

Arduino les chronomètre et ajoute à ces deux compteurs: temps en veille, temps plein.

Calculs faciles pour calculer la quantité de jus que votre appareil avait aspiré de la batterie.

Massimo
la source
Cela suppose que la charge de votre appareil est fixe et prévisible.
Connor Wolf
Il suppose que la charge moyenne est presque fixe, disons + - 5%. Habituellement, cela est acceptable, car il est plus simple et moins cher qu'un compteur de charge adc complet. S'il faut une mesure précise, investissez plus de temps et d'argent.
Massimo