Surveillance de la tension de la batterie STM32L071KZ via ADC

Mercure Avangburg

Surveillance de la tension de la batterie STM32L071KZ via ADC


Désolé pour la question newbish. Je n’ai pas trouvé ici de questions et réponses qui pourraient m’aider avec ce problème, j’ai donc décidé de le poser.

Je conçois mon premier circuit avec le microcontrôleur STM32L071KZ et il fonctionne via VBUS (USB, 5V) comme alimentation principale et 2 piles alcalines AA (3V) comme alimentation secondaire.

les alimentations sont régulées à 3,3 V, de sorte que le microcontrôleur et le reste du circuit sont alimentés par une tension régulée et non directement à partir de VBUS ou de batteries.

Je voudrais surveiller le niveau de tension des batteries et quand il descend en dessous du seuil spécifique (par exemple, 2,2 V), je l’indiquerai à l’utilisateur.

Je me demande comment câbler les choses. Le VDD du microcontrôleur est de 3,3 V et il est égal au VDDA. Si j’ai bien compris, lorsque j’échantillonnerai la tension de la batterie, j’obtiendrai une valeur constante car l’échantillon est le rapport entre le VDD et le VDDA.

Voici mon schéma de principe du circuit de puissance pour clarifier les choses:

entrez la description de l'image ici

Merci beaucoup!

berendi

Devez-vous vraiment alimenter le contrôleur en 3,3 Volts? Il fonctionnerait avec plaisir sur n’importe quoi entre 1,8 V et 3,6 V, et il possède ses propres installations de supervision de l’alimentation électrique, voir Détecteur de tension programmable et seuil de sortie brun dans le manuel de référence. Bien sûr, si vous avez besoin d’exactement des sorties 3,3 V, cela ne s’applique pas.

brhans

Vous avez l’ADC effectuer une mesure sur la référence de tension de bande interdite interne – à peu près la même que ma réponse ici à une question à propos de faire cela dans un PIC. La référence de votre STM32 est différente (1.224V au lieu de 1.024V), mais le principal est le même.

Érable

@brhans mesurant la référence interne avant de mesurer l’entrée analogique pourrait aider à améliorer quelque peu la précision (grâce au calcul de la Vref + réelle à partir de Vrefint). Cependant, ce n’est pas le sujet de votre réponse référencée.

brhans

@Maple – ma réponse référencée décrit comment utiliser la bande interdite interne afin de mesurer le Vdd du micro. Il n’utilise pas cette bande interdite comme référence de l’ADC. Vdd est la référence de l’ADC et la bande interdite est l’entrée mesurée. Étant donné que la bande interdite est constante et que Vdd varie, le résultat de l’ADC est utilisé comme mesure de Vdd. Aucun diviseur de tension n’est requis.

Érable

C’est exactement ce que j’ai dit, en supposant que Vref + est calculé de cette façon (pas Vdd ou Vdda) avant de mesurer l’entrée ADC réelle. Vdd / Vdda ne sont pas des références ADC dans STM32, Vref + l’est. Le 1.224V que vous avez mentionné ci-dessus est Vrefint, et il ne peut pas du tout être utilisé comme référence ADC.

Réponses


 Érable

Vous devez vous assurer que les piles que vous utilisez ne dépasseront jamais 3,3 V. Si cela est possible avec des batteries neuves, vous devriez envisager d’ajouter un diviseur de tension pour ramener l’entrée ADC à une plage acceptable. Cela augmentera la consommation d’énergie des batteries. Le remède habituel est d’ajouter un commutateur MOSFET entre la batterie et l’ADC, contrôlé par une autre broche MCU. Le MCU ouvrira l’interrupteur périodiquement, mesurera la tension et le refermera. Voir cette question par exemple.

De plus, la diode entre Boost DC-DC et Vdd baissera une certaine tension (en fonction du courant et de la diode), donc vous voudrez peut-être ajuster la sortie boost à une tension légèrement plus élevée.

Notez que le convertisseur Boost déchargera la batterie même si l’USB est connecté. De plus, votre LDO doit produire une tension plus élevée que DC-DC pour que la diode se ferme, quelque chose comme 3,4 ~ 3,5 V

Donc, je suggérerais d’utiliser soit un adaptateur CC baril et une prise avec interrupteur mécanique qui déconnectera la batterie lorsque l’alimentation est branchée, soit un autre interrupteur MOSFET qui déconnectera la batterie lorsque la tension USB est présente. Voir cette question pour une discussion pertinente.

A part cela, votre circuit semble OK.

 

#de, #la, ADC, batterie, STM32L071KZ, surveillance, tension, via

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *