Tu peux mesurer la tension, un diviseur de tension peut fonctionner, mais le problème c'est qu'il consommera tout le temps un peu de courant (faible, mais en continu).
Un autre problème avec la mesure de tension, c'est que c'est bien uniquement pour s'assurer que ta batterie ne tombe pas trop bas en charge, et couper l'alimentation le cas échéant. Pour avoir un joli pourcentage comme sur ton téléphone ou ton PC, il faut utiliser des circuits intégrés spécialisés, ou un microcontrôleur avec plusieurs capteurs, car la courbe de décharge d'une cellule LiPo dépend de trop de facteurs :
- Courant de décharge
- Usure de la cellule
- Température ambiante
...
De plus, la tension diminue très rapidement au début et a la fin de la décharge, et très peu le reste du temps. En gros, une cellule chargée a fond est à 4.2V, et à 3V, elle est déchargée.
Au début de sa décharge, elle tombera rapidement à 3.8V. Si la décharge était linéaire, elle serait déjà déchargée de 35%, alors qu'en fait, elle n'est déchargée que d'a peu près 20% (encore une fois, ça dépend de pas mal de facteurs). Ensuite, elle va se décharger assez lentement de manière quasi-linéaire jusqu'a 3.5V, ce qui correspond à 80% de sa décharge (alors qu'encore une fois, si c'était linéaire on aurait environ 65%).
A partir de ce moment, la décharge s'accélère vraiment, puisqu'une fois les 20% restant partis, on tombe à 3V. C'est pour ça qu'il est déconseillé de descendre en dessous de 3.3/3.2V, parce que la tension chute tellement vite après que ta batterie va vite être endommagée si tu ne fais pas attention.
Donc pour résumer :
- Tu perds 0.4V sur les 20 premiers %
- Tu perds 0.3V sur les 80% du mileu
- Tu perds 0.5V sur les 20 derniers %
Sachant que toutes les valeurs que j'ai donné sont des valeurs approximatives pour la décharge a 1C d'une cellule en bon état.
Une autre contrainte, c'est que n'importe quel robot de taille conséquente utilisera une batterie de plusieurs cellules en série. Au début, ce n'est pas un problème, car toutes tes cellules se déchargent à peu près de la même manière, mais avec les légères variations de resistance interne, cela change avec l'age de la batterie. Et donc tu peux avoir encore 50% de batterie dans toutes tes cellules mais une seule qui est tombée à 20%. En mesurant la tension totale, tu penseras que ta batterie est assez chargée pour continuer, et tu risques d'y laisser une cellule.
Donc pour finir ce pavé :
Si tu veux juste que ton robot se recharge en dessous d'un certain seuil, et que tu n'utilises qu'une cellule, une simple mesure de tension (avec un diviseur de tension ou un capteur de tension suffira, tu lui dis d'aller ce recharger à 3.4/3.3V et c'est bon.
Si tu veux juste que ton robot se recharge et que tu utilises plusieurs cellules, une mesure de tension suffira aussi, mais il faudra mesurer chaque cellule. Dès que l'une d'elle passe en dessous du seuil, go recharger. Tu peux faire cela avec des ADC différentiels ou des amplis OP en montage différentiel.
Si tu veux un pourcentage précis de batterie affiché, il te faudra un circuit spécialisé. En cherchant en anglais avec "battery monitor" on en trouve (mais on trouve souvent des trucs pour une seule cellule comme les téléphones, ou beaucoup comme les voitures et les vélos électriques). On trouve aussi avec les termes "fuel gauge" (mais la aussi on trouve pas mal de trucs en rapport avec les jauges d'essence de voitures).