Moniteur d'autonomie sur circuit PIC

10

J'ai un petit circuit utilisant une puce de microcontrôleur PIC18F14F50 qui enregistre des données dans une puce EEPROM externe via une interface i2c (que je pourrai ensuite relire plus tard via l'interface USB). Un échantillon est enregistré toutes les 15 minutes et n'a pas besoin d'être chronométré avec précision.

Ce n'est pas grave si des échantillons sont manqués ou mal synchronisés pendant le changement des piles, mais ce n'est pas génial si les piles expirent et qu'aucune donnée n'est enregistrée pendant plusieurs jours jusqu'à ce que quelqu'un le remarque.

Je voudrais donc avertir l'utilisateur lorsque la batterie est faible, suffisamment de temps pour qu'il puisse les remplacer. Le courant moyen est inférieur à 2 mA et je fonctionne à partir de 3 piles alcalines AA en série pour fournir 4,5 volts, donc je m'attends à ce qu'elles durent un certain nombre de jours.

Mais je me demande comment détecter que la batterie est faible? Je suppose que la tension chutera à mesure que les piles arriveront en fin de vie. Je pense que ce PIC a une tension de référence de 1,024 V, donc je peux diviser la tension d'alimentation et la fournir à une entrée analogique et lorsque la tension divisée tombe en dessous, cela déclenche un avertissement.

Mais je ne connais pas suffisamment les batteries pour savoir dans quelle mesure cela fonctionnera? Et je ne sais pas quelle tension choisir qui indiquerait qu'il reste peut-être 10 à 20% d'autonomie. Cela fonctionnera-t-il même du tout? Est-ce qu'il y a une meilleure approche?

Cela n'a pas besoin d'être précis du tout, je veux juste donner un bon avertissement dans beaucoup de temps sans amener les gens à jeter les batteries qui ont encore de la vie.

Étant donné que mon utilisation actuelle est assez constante, une simple minuterie serait-elle raisonnable si je pouvais déterminer la durée de vie moyenne des piles, puis choisir 85% de ce temps avant de donner l'avertissement? Ou la durée de vie de la batterie varie-t-elle plus que cela?

Toute réflexion serait la bienvenue.

John Burton
la source
1
De quelle tension votre PIC a-t-il besoin pour fonctionner?
Kortuk
1
Que considérez-vous suffisamment de temps.
Kortuk
Combien de courant tire-t-il?
endolith

Réponses:

5

Tout d'abord, permettez-moi de commenter le circuit de la minuterie. Cela fonctionnera, tant que vos batteries sont toutes du même âge et conservées dans les mêmes conditions. Dans 6 mois, lorsque vous l'utilisez toujours et que vos piles ont toutes 6 mois de plus, vous devrez mettre à jour la minuterie. Solution fonctionnelle, mais pas la meilleure.

Vous pouvez diviser la tension de votre entrée avec un réseau de résistances qui a une tension suffisamment élevée pour ne pas affecter votre durée de vie (vous pouvez utiliser un réseau qui se charge, vous remplacez simplement vos batteries plus souvent). Il y a un hic, vous devez charger une batterie pour voir la vraie valeur de sa durée de vie. Vous constaterez que plus une batterie est chargée, plus la courbe de décharge ressemble à une ligne. Ce ne sera jamais une ligne, il y aura toujours des phases claires, mais vous pouvez corréler de manière fiable la tension d'une batterie chargée avec votre durée de vie restante.

Si votre PIC est allumé pendant la mesure, vous obtiendrez probablement une mesure décente. Demandez à la photo de passer du temps à mesurer votre batterie et regardez la courbe de tension résultante jusqu'à ce que votre appareil meure. Si la courbe reste relativement plate, puis tombe soudainement et que vos batteries meurent, vous voudrez utiliser un transistor et une résistance de charge pour augmenter la consommation de courant pendant les mesures de la batterie. Il existe une grande quantité d'informations sur les batteries à l'université de la batterie. Souvent, les microcontrôleurs ne parviennent pas à tirer suffisamment de courant pour obtenir une courbe qui est entièrement inclinée (j'ai vu ce problème avec des uC à très faible puissance comme le MSP430). Vous serez probablement bien avec juste votre PIC en cours d'exécution.

La recherche sur la chimie des piles AA a donné quelques résultats. Il semble qu'ils montrent des courbes de décharge assez plates avec de faibles courants (<500 mA). Cela signifie que vous souhaiterez probablement un circuit de décharge de résistance couplé à un transistor pour permettre aux mesures de tension d'être plus précieuses.

Veuillez me pardonner si ce n'était pas assez clair. Si vous avez des commentaires et des questions ou suggestions, je le mettrai à jour.

Kortuk
la source
des informations supplémentaires spécifiques à AA ont été ajoutées.
Kortuk
Si vous souhaitez uniquement voir spécifiquement le démarrage de la panne, vous pouvez surveiller le dernier changement de tension de décharge à la fin et au moment où il commence, utilisez un avertissement.
Kortuk
Merci pour cela et les autres réponses, cela m'a donné assez de choses à lire :)
John Burton
Si vous êtes prêt à accepter une erreur dans le délai de remplacement des piles, vous devriez pouvoir utiliser une minuterie et recalibrer les piles neuves tous les quelques mois.
Kortuk
5

Oui, la tension de la batterie va baisser, mais la chute est faible, disons un demi-volt:

texte alternatif

Si vous utilisez un diviseur de tension pour le placer dans la plage ADC, vous divisez également la plage. Je suppose que cela est toujours mesurable avec l'ADC directement. 5 V / (2 ^ 10) = 0,005 V, avec ± 3 LSb de décalage et des erreurs de gain, il y a donc encore un certain nombre de niveaux de mesure entre plein et vide?

Pour mesurer la charge et la décharge de la batterie avec précision, les utilisateurs conservent un journal de la quantité de courant consommée par une résistance de détection de courant et décident que la batterie est faible après une certaine charge. Si votre tirage actuel est relativement constant, alors oui, vous pouvez simplement utiliser une minuterie pour faire la même chose. Exécutez-le plusieurs fois, mesurez le temps jusqu'à ce que vous considériez que la batterie est morte, puis utilisez une minuterie à l'avenir pour deviner quand elle est sur le point de mourir. Vous utilisez des piles neuves à chaque fois?

endolith
la source
1
l'utilisation d'un CI de surveillance de charge n'est vraiment nécessaire que lorsque vous utilisez des systèmes qui ont une recharge et une décharge avec de très grandes capacités. J'ai utilisé la méthode de surveillance de la tension avec un ADC 10 bits et cela a très bien fonctionné. La partie importante du système est le chargement de la batterie.
Kortuk
1
la méthode de la minuterie n'est pas une bonne solution à long terme, les conditions d'âge et de température d'une batterie affectent considérablement la charge. Nous avons récemment acheté des batteries 2k auprès d'un fournisseur américain et elles avaient clairement acheté auprès du fournisseur chinois un an plus tôt, car elles fonctionnaient bien moins bien que nos pâtes à température contrôlée de 3 ans, et ne se comparent pas aux nouvelles batteries.
Kortuk
Cette image est à une décharge de 100 mA, si vous augmentez la décharge, la tension suit une courbe plus linéaire. vous voyez également la baisse finale plus tôt et pouvez activer la notification et arrêter de tester la batterie pour prolonger la durée de vie.
Kortuk
@Endolith - Quelle est votre source sur cette image? La note alcaline d'Energizer: data.energizer.com/PDFs/alkaline_appman.pdf a une courbe similaire (Le leur est le temps en fonction de la tension, plutôt que de la charge en fonction de la tension, voir la figure 12, page 10), mais la baisse est beaucoup plus progressive. Surtout si l'appareil est alimenté par un régulateur linéaire, la chute de tension n'affectera pas trop l'appareil.
Kevin Vermeer
Qu'entendez-vous par «plus graduel»? Leur graphique me semble un peu plus raide.
endolith
2

Je pense que la seule façon solide de surveiller un système comme celui-ci est une sorte d'arrangement de type chien de garde: demandez à un autre système, alimenté séparément , de le vérifier de temps en temps (ou attendez un signal) et s'il ne répond pas, alerte.

Vous pouvez également utiliser ce système séparé pour vérifier la batterie à la place. Il ne souffrira pas que la batterie principale soit morte, ce qui tuera tout système de surveillance fonctionnant avec la batterie principale. Si vous pouvez organiser un moniteur de batterie qui fonctionnera sur une petite batterie comme une pile bouton et garantir qu'il durera plus longtemps que la batterie principale, cela devrait faire l'affaire.

Si vous ne voulez pas ou ne pouvez pas avoir une deuxième source d'alimentation, les autres commentaires semblent contenir de très bonnes suggestions pour l'auto-surveillance.

XTL
la source
C'est certainement le moyen le plus robuste. L'autre système n'a pratiquement pas à fonctionner: il suffit de placer une broche haute sur le système surveillé, de définir une interruption sur l'observateur et de passer en mode veille profonde. Ensuite, quand il change, commencez à émettre un bip (ou quel que soit le signal) toutes les 5..10..30..60 minutes, etc.
Kevin Vermeer
Cela ne fonctionnerait pas vraiment pour moi, cela m'informerait qu'il serait trop tard pour changer la batterie à temps, pas avant.
John Burton
Vous devrez donc probablement surveiller la batterie.
XTL
2

Vous pouvez obtenir une référence de tension beaucoup plus précise avec un ampli op (utilisez-en une avec une broche d'activation, afin qu'il puisse être facilement éteint), et réglez simplement votre circuit sur la plage de tension que vous souhaitez mesurer: 0 V à 0,8 V, et 3,3 V à 1,1 V. S'il est saturé, vous savez que vous avez beaucoup de charge et vous ne semblez pas avoir besoin d'un moniteur, juste d'une alarme.

Assurez-vous également de mesurer plusieurs fois (ou d'utiliser une résistance de détection de courant), plutôt que de supposer qu'une chute de tension est causée par une batterie en train de mourir. Ce n'est pas le cas - la tension de la batterie dépend à la fois du courant de décharge et de la charge restante. Une pointe de courant peut provoquer une forte baisse de tension, mais la batterie se rétablira lorsqu'elle sera retirée. Voir la figure 9 de la fiche technique alcaline d' Energizer.

Kevin Vermeer
la source
En fin de compte, j'ai fait quelque chose de différent. J'ai reprogrammé le logiciel pour mettre correctement le microcontrôleur en mode veille entre les échantillons, ce qui a énormément réduit la consommation électrique moyenne. Les batteries que j'ai utilisées ont toujours une tension mesurée de plus de 90% de leur origine après environ 2 mois. J'ai défini un niveau d'environ 80% pour signaler une batterie faible. Je pense qu'ils auront encore 50% environ, mais cela me donnera beaucoup de temps pour les changer
John Burton
Oh! Je ne savais pas que vous ne faisiez pas déjà cela - et oui, le mode veille est une bonne chose.
Kevin Vermeer
0

Si possible, mesurez la tension d'une pile alcaline AA juste après qu'elle a été chargée par votre charge normale (appareil) et que vous avez arrêté le courant de charge, lorsqu'il tombe en dessous de 0,9 V par pile AA, vos piles sont épuisées. Je fais cela, c'est de nombreux produits que j'ai conçus et cela fonctionne parfaitement. Les piles alcalines normales récupèrent après le retrait d'une charge, mais cela prend du temps en fonction du courant de charge. Parfois, cela peut prendre des minutes, voire des heures, en fonction de la température et du courant de charge. En le mesurant pendant une utilisation régulière avec un petit courant, vous devrez prendre une tension plus élevée en fonction de votre courant, mais normalement 1,2 V est acceptable pour un appareil utilisant seulement 5 mA.

PaulHolland
la source