Mesure de tension PIC

9

J'utilise un appareil alimenté par batterie et j'aimerais que mon microcontrôleur (PIC) rende compte de la tension d'alimentation.

C'est ainsi que je peux déterminer le nombre de batteries utilisées dans l'alimentation, ainsi que l'état de charge de la batterie.

La tension d'alimentation varie de 4xD (NiVH nominal de 1,2 V ou alcalines de 1,5 V pour environ 6 V) à 12xAA (NiMH de 1,2 V pour 14,4 V ou alcaline de 1,5 V pour 18 V).

Mon PIC fonctionne avec une alimentation 5V régulée.

Je prévois d'utiliser l'un des ports ADC pour mesurer la tension, et je pense donc que je devrais mapper le fsd 18V à la plage 0-5V, donc à peu près, je devrais diviser la tension d'entrée par 3.

J'ai entendu parler de l'utilisation d'un diviseur de tension à résistance, mais sachez que cela peut être un gaspillage en termes d'énergie consommée.

Vous vous demandez s'il existe un meilleur moyen de réaliser cette division de tension sans trop de perte / gaspillage d'énergie?

Merci.

mad_z
la source

Réponses:

8

vous voulez un diviseur de tension. si vous vous souciez de la dissipation de puissance, vous pouvez faire quelques choses:

  • utilisez un diviseur de tension à impédance assez élevée, avec un condensateur sur la borne de sortie, et mettez-le en mémoire tampon avec un amplificateur opérationnel de faible puissance. Assurez-vous que vous utilisez un filtre RC entre ampli-op et ADC, les valeurs de ce filtre RC sont généralement autour de 50-200 ohms, 1000pf. Cela sert à maintenir la tension stable lorsque l'ADC commute entre les canaux et que la charge est transférée entre le condensateur interne de l'ADC et la broche extérieure. Un ampli-op seul ne peut pas faire cela. Si vous ne tamponnez pas le diviseur de tension haute impédance, vous obtiendrez des erreurs dues au courant de fuite ADC et au transfert de charge.

  • commutez le diviseur de tension, par exemple, connectez / déconnectez-le à la tension d'alimentation, de sorte que vous ne pouvez le faire que de temps en temps lorsque vous le souhaitez. Un PFET fonctionnerait, faites juste attention à la façon dont vous le conduisez.

Jason S
la source
Cela sonne bien, je voudrais juste ajouter que vous devez charger (tirer le courant de) une batterie pour obtenir une mesure réaliste de la durée de vie restante de la batterie. Vous êtes beaucoup mieux avec un diviseur de courant plus élevé avec un interrupteur d'arrêt.
Kortuk
Je viens de publier une réponse similaire et j'ai voté pour la supprimer. Apparemment, j'avais une ancienne version de la page mise en cache. J'ai voté pour cela, c'est la voie à suivre.
Lou
+1 pour commuter le diviseur de tension. Une astuce très utile.
Clint Lawrence
@Kortuk: vous avez un très bon point, mais je découplerais le diviseur de tension de la charge de la batterie. Il est vraiment facile de piloter un FET à canal N directement à partir d'un microcontrôleur (enfin ... il devrait y avoir une petite résistance entre la sortie micro + la porte FET, j'utilise généralement 10-100 ohms) et avoir une résistance du drain FET à l'alimentation . Beaucoup plus facile que d'essayer de combiner ces deux fonctions et de configurer un diviseur de tension commutable. En outre, il y a de nombreuses fois où vous souhaitez mesurer une tension de batterie à vide ou presque sans charge. En fait, si je devais choisir l'un ou l'autre, je le mesurerais à vide.
Jason S
6

Jason S a fourni une bonne suggestion sur la façon dont vous pouvez réduire la puissance si nécessaire. Mais avant de vous compliquer la vie, il est possible de déterminer la puissance que vous pouvez vraiment vous permettre.

Pour toute conception à faible consommation, vous devez considérer le budget global de puissance. Pour un appareil alimenté par batterie, cela sera généralement déterminé par la durée de vie souhaitée des batteries. Si la puissance combinée du reste du circuit est nettement supérieure à celle du diviseur de résistance, alors vous n'avez pas à vous en soucier ou vous avez d'autres parties du circuit gourmandes en énergie à vous soucier.

Clint Lawrence
la source
4
+1 pour avoir souligné l'importance de la perspective. J'ajouterais que si cela représente 1% de votre budget d'énergie, cela ne vaut pas la peine de vous inquiéter (à moins que vous n'ayez un tas de diviseurs de tension!) - si c'est 5-10% de votre budget d'énergie, cela peut valoir la peine d'être inquiété; si c'est 20% ou plus c'est. (juste mon 2c)
Jason S
Cela me semble être une bonne règle de base. L'autre point important, c'est que nous pouvons mesurer et calculer ces choses. Et le faire est plus utile que de deviner :)
Clint Lawrence
Bon point Jason. Un peu plus sur l'application: c'est un système d'éclairage qui restera inutilisé pendant de longues périodes de temps, puis lorsqu'il est allumé, tire environ 3A de l'alimentation avec un circuit à courant constant. Ainsi, en fonctionnement, la consommation électrique pour la surveillance de la tension est une partie insignifiante de la consommation électrique totale. Cependant, en mode veille, je voudrais que la capacité de la batterie ne soit pas inutilement épuisée autant que possible, ou plutôt je voudrais que tout drain parasite inévitable soit minimisé en mode veille.
@Kheng: Est-il possible d'avoir tout sauf le microcontrôleur sur une alimentation séparée? Ils allument les périphériques en une seule fois avec un relais ou un fet sous le contrôle de l'UC. Il devrait alors être facile de contrôler le courant de veille de l'UC et vous n'avez pas à vous soucier de minimiser la puissance dans les circuits individuels.
Clint Lawrence
@Kheng: "J'aimerais que la capacité de la batterie ne soit pas épuisée autant que possible" est trop pointu pour un ingénieur. Quel est le courant moyen consommé? Pour calculer cela, vous devez connaître le rapport cyclique moyen et le courant de repos. Ensuite, appliquez les règles de base données par Jason pour voir s'il est logique de faire quelque chose de plus compliqué qu'un diviseur de résistance. L'ingénierie ne fait PAS le «meilleur possible», elle «répond aux exigences du coût le plus bas».
Wouter van Ooijen