Bonjour tout le monde,
j'ai une petite question parce que je ne comprends pas le fonctionnement de la mesure du pourcentage restant dans une batterie si quelqu'un peut m'expliquer, parce que j'ai beau chercher sur internet je ne comprends pas la différence entre mesurer la tension de la batterie et sa capacité pour en déterminer le pourcentage.
Je ne demande pas de code pré-maché, je tiens à le préciser, je préfère largement le faire moi-même et venir ici si j'ai un problème.
Je vous remercie d'avance pour vos explications qui ne pourront que m'éclairer sur ce sujet que je ne connais pas et que je ne comprends pas.
merci hbachetti pour ta réponse mais j'avoue ne rien comprendre du tout, je ne suis pas un ingénieur XD
Ayant regarder le code fourni on doit donc mesurer la tension de la batterie pour pouvoir déterminer le pourcentage restant si j'ai bien compris et non sa capacité ?
j'aurais dût être plus attentif pendant les cours de maths à l'école ...
Si on a une idée du courant qu'elle est en train de fournir alors oui, la connaissance de la tension donne une idée du % de charge restante. Le ¨% restant, aps la czapacité.
Ne pas attendre de grande précision avec cette méthode approximative mais simple.
Le tension (Voltrs) reflète plus ou moins le % de charge restante (mAh ou Coulombs) pour un courant (mA) débité.
Les lignes 68 à 86 du code joint par hbacheti contienne un tableau de correspondance Tension -> % de charge restante.
La fonction GetBatteryCapacité fait la mesure de tension puis exploite ce tableau de correspondance.
al1fch:
Si on a une idée du courant qu'elle est en train de fournir alors oui, la connaissance de la tension donne une idée du % de charge restante.
donc si je comprends bien le pont de résistance nous permet de savoir la tension restante dans la batterie mais pas de savoir le courant qu'elle fournie ?
Et le tableau du code n'est valable que pour un courant donné (implicite dans l'application pour laquelle ce code a été fait). Le code est pour mySensors, donc pour une batterie débitant un courant faible. Si tu es dans le même ordre de grandeur du courant le tableau peut être utilsié tel quel.
Si tu veux faire la mesure pendant que la batterie fournit 1A à une charge il faut faire un tableau de correspondance à l'aide des courbes données par hbachetti
je dois diviser ma tension de départ par la tension restante
Non pas d'opération directe entre tensions successives.
Avec les mseures de tension et le tableau de correspondance suivre l'évolution du % à des intervalles de temps connus , tenir compte de la capacité , déduire une approximation de la consommation
exemple : si le % passe de 100% à 50% en une heure avec un accu de 2000mAh , l'accu a perdu la moitié de sa charge donc 1000 mAh et a débité en moyenne 1A pendant cette heure
ca deviens bien plus claire comme ca
pour ce qui est du faible courant je ne sais pas encore quel type de batterie je vais utiliser pour le moment je suis en train de faire mon projet et je me renseigne sur les sujets que je me dois de connaitre (pas forcément maitriser) et celui de la batterie en fait pleinement partie.
Je ne sais juste pas combien je peut consommer avec mes modules, il va falloir que je me penche dessus pour voir quelle type de batterie je dois utiliser ainsi que la capacité mais je pense que ce devrais être une petite batterie genre 300mah voire 500mah maximum pour le rapport puissance/encombrement de la batterie.
Donc si je veux savoir combien je consomme (environ) je dois diviser ma tension de départ par la tension restante ?
Tu dois d'abord mesurer le courant que tu consommes.
Un multimètre sera nécessaire.
Dans le cas de mon application, le courant est de 20µA, avec des pointes à 30mA toutes les 15 minutes.
J'ai choisi une courbe donnée pour un courant de décharge faible pour remplir ma table, pas forcément celle que j'ai passé dans le lien plus haut.
Il me semble que je suis parti d'une datasheet fabricant, mais je ne sais plus laquelle.
Samsung ne donne pas ce genre de courbes.
Chercher plutôt du côté de Sony ou Panasonic.
Je ne pense pas qu'il y ait des différences énormes entre différents fabricants, surtout pour des courants faibles.
Si tu pars sur du 300 à 500mAH, cela m'étonnerait que tu tires des ampères.
La détermination de la capacité restante dans une batterie n'est pas facile si on souhaite une précision correcte.
Cette détermination est très dépendante de la technologie utilisée (Nicd, NimH, lipo, lion, LiFe etc...)
On peut espérer des résultats pas trop mauvais dans le cas LiPo ou LIon.
Pour les batteries lipo ou Lion les méthodes sont proches et la précision encore acceptable; dans les autres cas l'imprécision est tellement grande que cette détermination est assez problématique même s'il existe des petits testeurs qui prétendent fournir un résultat.
Pour espérer un bon résultat en Lipo et Lion, il faut faire une mesure de tension "à vide" (c'est à dire sans conso ou avec une conso très faible) et ensuite déduire la capacité avec une courbe adéquate.
J'ai mis un exemple ancien valable pour du lipo ou Lion en pièce jointe.
Comme la courbe n'est pas rectiligne, je vois deux solutions :
Construire un tableau de correspondance avec une trentaine points. (tableau de 30 points)
Décomposer la courbe en 3 segments, en déterminer les équations et utiliser ces équations pour obtenir le résultat. (C'est le procédé que j'utilisais car la mémoire Ram nécessaire est un peu plus faible)
Déjà merci a tous pour toutes vos réponses, ça fait plaisir de voir que vous voulez partager votre savoir
@hbachetti : je dois me diriger sur une batterie de faible emport car le projet est censé être assez petit dans sa forme finale (qui n'est pour le moment pas arrêté). je n'ai pas encore mesuré la consommation de mes modules donc j'ai dit ca au pif car je pensais à une batterie de petite taille mais pas forcement de grande puissance donc erreur de ma part simplement
@aligote : je dois donc faire cette mesure au niveau software et non hardware ?
pour ce qui est du code je pond quelque chose avec ce que j'ai compris de tes explications et je reviens poster le résultat de mes recherche ici
@aligote : je dois donc faire cette mesure au niveau software et non hardware ?
pour ce qui est du code je pond quelque chose avec ce que j'ai compris de tes explications et je reviens poster le résultat de mes recherche ici
A mon avis :
1 Mesurer la tension de la batterie alors que sa conso est faible
Ecrire le code pour fournir la capacité restante.
Ce code peut être inséré dans une fonction recevant la valeur analogique de la tension et fournissant une valeur entière qui et le pourcentage de capacité restante.
Mesurer la tension de batterie par une entrée analogique de la carte arduino (uno, nano etc)
Si cette tension est supérieure à 5V utiliser un diviseur de tension par résistances
Il y a de nombreux tutos pour expliquer cela
Par ex
Regarde ce schéma : j'utilise un pont diviseur 1M / 330K pour mesurer une tension de 4.2V maxi avec un processeur 3.3V.
Il ne faut pas hésiter à utiliser un pont de valeur importante si tu ne veux pas que le pont consomme plus que tout le reste.
je ne sais pas par contre comment je peut transformer ma tension en valeur de pourcentage ... Je pense qu'il faut que j'utilise une des courbes données par hbachetti mais je ne vois pas comment faire ...
Je me mêle rarement de programmation mais cela m'étonnerai que tu puisse exploiter la mesure.
La variable "tension" est créée à l'intérieur de la fonction pourcentageBatterie, elle n'est visible qu'à l'intérieur de la fonction.
Dès que tu quitte cette fonction elle ne sera plus visible donc inexploitable.
Soit tu utilise des variables globales, soit tu passe l'adresse de la variable, soit tu utilise "return"
Return me semble le plus appropré