Surveillance de batterie à faible courant

13

Je veux faire fonctionner un micro-contrôleur à partir d'un lipo 1S à travers un régulateur linéaire 3V. Je dois cependant mesurer la tension de la batterie. Le problème avec l'utilisation d'un diviseur de tension est qu'il épuiserait la batterie au fil du temps, ce qui pourrait avoir ou non des circuits de protection intégrés. Puisque l'AVR que j'utilise a une impédance d'entrée recommandée ne dépassant pas 10 K, je ne peux pas diviseur trop grand non plus.

Quelqu'un peut-il suggérer une solution qui me permettrait de surveiller cette tension sans tuer une batterie non protégée pendant quelques mois? Le circuit peut entrer en mode veille prolongée pendant une période prolongée, ce qui signifie qu'une solution de diviseur de tension consommera le plus d'énergie.


J'ai fini par utiliser à la fois la solution d'Hanno et d'Andy. Merci pour toute la contribution. Je ne peux malheureusement choisir qu'une seule réponse.

s3c
la source

Réponses:

16

Le diviseur de tension doit rejoindre le MCU en mode de sommeil profond, alors ... Cela peut être réalisé avec un FET de canal P (par exemple) .... Lorsque le MCU se réveille, il voudra mesurer la tension de la batterie, alors quoi il peut allumer un circuit formé autour d'un FET canal P qui relie la batterie + V au diviseur de tension: -

entrez la description de l'image ici

L'entrée ADC est indiquée à droite et aucune tension ne l'atteindra à moins que le MCU n'ait activé le BC547 via la résistance 10k. Sans activation, le FET du canal P est désactivé et le circuit pratiquement ouvert. Si vous pouvez programmer le MCU pour avoir un pull-down sur sa broche de contrôle pendant le sommeil, cela devrait être le cas, ajoutez une autre résistance (disons) de 10k de ce point à la masse - cela garantit que le FET du canal P est complètement désactivé.

Un petit mot d'avertissement, choisissez un fet de canal P avec un faible courant de fuite, sinon il y aura un léger épuisement de la durée de vie de la batterie, mais la plupart des fets seront inférieurs à 100nA et beaucoup dans la région de 1nA.

Une dernière chose - comment fonctionne le régulateur de tension sur son courant de veille lorsque le micro est éteint - devez-vous également vous en occuper?

Andy aka
la source
J'utilise le MCP1802 qui a un courant de 25uA Q, cette partie fonctionne bien. Merci pour la suggestion, exactement le type de solution que je cherchais.
s3c
pourquoi utiliseriez-vous un P-Chan avec transitor et pas un seul fet N-Channel?
jme
@jme - l'ADC et le MCU sont référencés à la masse et il est donc logique de commuter l'alimentation à tension plus élevée. Si j'utilisais un appareil à canal N, il y aurait toujours un drain en permanence à travers la résistance supérieure et à travers les diodes parasites du MCU lorsqu'il est en mode veille.
Andy aka
@Andyaka quel id le N-Fet a été inversé pour que la diode soit inversée pour ne pas permettre au courant de circuler vers les résistances ADC?
jme
3
@jme "Pourquoi ne pas utiliser un interrupteur côté bas (par exemple, FET N-ch ou broche d'E / S μC)?" est une bonne question. Voici pourquoi. La tension de la batterie peut être supérieure à Vcc. Lorsque l'interrupteur côté bas est ouvert, la tension de la batterie apparaîtra sur la broche A / D. Cela pourrait entraîner la brûlure de l'A / D, ou une fuite de la batterie à travers les diodes de protection sur la broche A / D. Fil associé.
Nick Alexeev
2

Lorsque vous ne devez savoir que lorsque la batterie sera morte (ou donner un avertissement peu de temps avant), vous n'avez pas besoin de mesurer directement sa tension. La tension de sortie du régulateur tombera en dessous de 3V avant que la batterie n'atteigne sa tension minimale. Vous pouvez donc mesurer la tension d'alimentation du microcontrôleur.

Selon ses capacités réelles, vous pouvez le faire sans utiliser de diviseur de tension. Pour un exemple, consultez la fiche technique ADC d'un PIC12F1822, (à la page 141): Schéma fonctionnel ADC

Le PIC a une référence de tension interne et peut mesurer sa valeur (le «tampon FVR» qui va dans le multiplexeur). Mais il peut également utiliser la tension d'alimentation comme référence pour les mesures ADC (le sélecteur ADPREF en haut).

Compte tenu de cela, on peut simplement mesurer la référence de tension par rapport à la tension d'alimentation, et obtenir la tension d'alimentation en conséquence. Dans le cas du 12F1822, la référence interne est 2,048 V et l'ADC a une résolution de 10 bits. Ainsi, lorsque la tension d'alimentation tombe en dessous de 3,0 V, le résultat ADC dépasse 699:

UNECresult=1024VjenVreF
UNECresult=10242,048VVsupply

Notez qu'une tension d'alimentation inférieure signifie des résultats ADC plus élevés, car la tension d'entrée et la tension de référence sont échangées de la manière habituelle. Vous pouvez convertir cette formule pour connaître la tension d'alimentation réelle, compte tenu du résultat ADC.

hli
la source
0

Avez-vous vraiment besoin du régulateur linéaire? Faire fonctionner le µC à pleine tension de la batterie rendra les choses beaucoup plus faciles. De plus, le régulateur et le µC consomment toujours de l'énergie, même en mode d'économie d'énergie, déchargeant continuellement la batterie. Jetez un œil aux fiches techniques et gardez cela à l'esprit.

Étant donné que l'entrée ADC (d'un ADC d'échantillonnage et de maintien commun, comme celui d'un AVR µC) ne absorbera de courant que lors de l'échantillonnage d'une valeur, la faible impédance d'entrée transitoire peut être compensée en ajoutant simplement un condensateur:

schématique

simuler ce circuit - Schéma créé à l'aide de CircuitLab

La fréquence d'échantillonnage maximale sera bien sûr limitée de cette façon car le condensateur aura besoin de temps pour se recharger à travers la grande résistance avant que le prochain échantillonnage ne soit effectué, mais je suppose que vous ne mesurerez pas plus que, disons, une fois par seconde de toute façon.

Le temps nécessaire pour recharger le condensateur peut être réglé en variant sa capacité et / ou R1. Plus grand R1 = moins de "perte" d'énergie + plus faible max. fréquence d'échantillonnage. Une capacité plus petite sera facturée plus rapidement pour une résistance donnée, etc.
Vous souhaiterez maximiser la valeur de R1 et devrez peut-être ensuite minimiser la valeur de C1 pour atteindre la fréquence d'échantillonnage souhaitée.

La capacité minimale dépend de la quantité de charge que l'ADC prélèvera pour un échantillon, qui à son tour est déterminée par la capacité du tampon d'échantillonnage de l'ADC. Pour les appareils AVR, il me semble que cette valeur est spécifiée dans la fiche technique. Pour les autres µC, je ne peux pas le dire, mais le 1µF dans le diagramme sera probablement plus que suffisant dans tous les cas, et peut éventuellement être réduit d'un facteur 10 environ. Les spécifications de l'ADC nous le diront.

Éditer:

J'ai trouvé cela dans la fiche technique d'Atmel pour l'ATmega1284p. Le condensateur du tampon S&H est spécifié à 14 pico- fadads, donc quelques nano- fadads pour C1 devraient être suffisants.

Circuit d'entrée analogique de la fiche technique ATmega1284p

Voir par exemple la discussion ici .

JimmyB
la source
Le régulateur linéaire sera à son tour contrôlé par un détecteur de tension à ultra faible courant, supprimant efficacement à la fois l'uC et le régulateur du circuit si la batterie se vide en dessous d'une certaine valeur.
s3c
D'accord, mais le régulateur est-il requis pour l'alimentation µC, ou le µC peut-il être alimenté directement par Vbat, auquel cas il peut fonctionner sans diviseur de tension.
JimmyB
Je semble comprendre maintenant que vous ne demandez pas réellement comment l'appareil peut être construit pour utiliser une puissance minimale, mais seulement comment vous assurer que le LiPo n'est pas détruit. Est-ce correct?
JimmyB
Oui, le régulateur est nécessaire pour l'alimentation uC. L'utilisation d'une puissance minimale est préférable, mais ce n'est pas ma principale préoccupation.
s3c
À quoi ressemble la sortie du détecteur de tension que vous avez mentionné?
JimmyB