Comment automatiser la mesure et l'enregistrement d'une tension?

Bonjour,

Je souhaite acquérir périodiquement (exemple toutes les minutes) des valeurs de tension au bornes d'une batterie 24V pour étudier sa décharge. Je dispose d'un voltmètre et d'une carte Arduino. Je sais que je dois également un pont diviseur de tension pour ramener la tension en dessous des 5V acceptable par la carte, ainsi que d'un CAN. C'est la première fois que j'utilise une Arduino, je souhaitais donc savoir si j'ai besoin d'autres éléments, et également si je pouvais avoir de l'aide vis à vis de la programmation (mesure période et enregistrement des mesures).

Merci!

Bonjour enono

Sur quoi veux tu enregistrer, sur une carte SD, directement sur un PC ...

Pour la période d'enregistrement, une simple attente (delay()) entre 2 mesures suffit.

Pour le CAN, est ce que celui de l'Arduino, 10 bits, est suffisant?

Cordialement
jpbbricole

Si le prix de division est de 25 millivolts, vous pouvez utiliser l'ADC intégré

1 Like

Bonjour ua6em

Comment arrives tu à 25 millivolts?

Cordialement
jpbbricole

Bonjour,

Je pense enregistrer directement sur un pc, le but est d'exploiter les données sur Excel par la suite.

Pour le CAN, 10 bits me donneraient une précision d'environ 25mV ce qui est largement suffisant.

Je me pose également la question de l'utilisation un régulateur de tension externe car apparemment, la carte Arduino UNO dispose d'un régulateur de tension intégré qui peut accepter des tensions d'entrée jusqu'à 20V. En auriez vous un à me conseiller pour une tension de 24V?

Merci pour votre aide!

Bonjour enono

Pour transmettre sur Excel, regardes ici.

Cordialement
jpbbricole

1 Like

Je suppose en divisant les 24V par 1024 (2^10)? Cela donne 24,4mV

Bonjour enono

Oupssss oui, milles excuses, j'en étais resté aux 5V :woozy_face:

Cordialement
jpbbricole

1 Like

Merci beaucoup!!!

Pas tout à fait, tu as un diviseur de tension devant l'ADC, que tu dois incorporer dans ton calcule.
Les 1024 sont pour une tension de 5V, il y peu de chance que tu arrive à diviser la tension par 4.8 pour avoir 5V lorsque tu as 24V

Effectivement, je vais utiliser un pont diviseur de tension pour une division de la tension par 10, soit environ 2,4V. Donc dans ce cas 2,3mV de précision?

tu va donc avoir une tension maximal de 2.4V, mais ton ADC, te donnera toujours une échelle de 1024 entre 0 et 5V.
donc il faut que tu divise par la valeur maximal donné par ton ADC, pour calculer la précision.
D'ailleurs je ne me rappel jamais, mais je crois que c'est pas la précision, le bon terme.
Après si tu as vraiment besoin de donner la justesse de tes valeurs, il faut intégrer la précision de tes résistance, ainsi celui de ton ADC.

Bonjour terwal

Non, "vu d'avion", les 1024 sont bien pour les 24 V. Il y a la fonction map() pour ça.

Cordialement
jpbbricole

Bonjour @jpbbricole
Oui, oui, mais c'est pas de ça dont je parle.
C'est le fait que dû au diviseur de tension, tu n'aura plus les 5V maximum, si tu prend un diviseur de tension de 4, tu aura une partie en dehors des 1024, si tu as un diviseur de 5, tu n'atteindra jamais les 1024.
Je ne sais pas si je suis claire ?

Du coup si tu utilise la fonction map, tu va je suppose faire en sorte d'indiquer que le 1024 corresponds une valeur supérieur au 24V.
En faite ça dépend ce qui t'intéresse et comment tu recalcule la valeur, je suppose ?

Tu n'as pas décrit le matériel : carte arduino ne signifie rien, il en existe plus d'une dizaine avec des microcontrôleurs différents.
Donnes les références exactes.
Je vais supposer que tu as une carte UNO

Très généralement :
Alimenter l'instrument de mesure avec la tension que l'on veut mesurer n'est pas très sain.
Mais cela peu se faire en vérifiant bien ce que l'on fait.
Quand je dis vérifier ce que l'on fait, c'est, en autre, vérifier que la carte est toujours correctement alimentée quand la batterie est considérée comme déchargée.

La qualité des mesures de tension est directement liée à la qualité de la source qui sert de référence de tension.
Avec une carte Uno il y a 3 sources de tension possibles :

  1. par défaut le Vcc soit 5V USB ± 5% ou par régulateur interne
  2. par l'entrée Aref
  3. par la référence interne 1,1 V ± 10 %

Si une référence à 3,3 V peut convenir, c'est le meilleur choix. La carte possède un régulateur 3,3 V qui n'est jamais utilisé, donc qui est propre. Il suffit de connecter ce 3,3 V sur Aref.

Pour répondre strictement à ta question :
La tension max pour un régulateur n'est pas le paramètre le plus important. Le paramètre le plus important est la puissance.
La puissance est égale à la différence de tension entre l'entrée et la sortie du régulateur multipliée par le courant.
@hbacchetti a écrit de nombreux tutos sur le sujet et disponibles sur ce forum, je t'engage à les consulter.

Parmi les solutions que je vois :

  1. placer une diode zéner en série entre la batterie et l'entrée Vin de ta carte arduino.
    Zéner placée dans le bon sens sinon elle n'apportera qu'une chutte de tension de 0,8 V.
    Une valeur de 12 ou 15 V conviendrait ⇾ la puissance supplémentaire ne sera pas dissipée dans le régulateur de la carte, mais à l'extérieur dans la diode zéner.
    Puissance de la diode zéner : P= UI
    Si Vzéner 15 V et I 100 mA, P= 1,5 W

  2. La solution qui me parait préférable : utiliser en extérieur à la carte non pas un régulateur, mais un convertisseur de tension 24V ⇾ 5 V.
    L'alimentation de la carte se faisant directement sur la pin 5 V (attention dans ce cas ne rien raccorder sur Vin).
    Sur ce point je te renvoie encore sur les tutos de @hbachetti.

Mais entre nous, c'est un sujet personnel ou un projet pour le bac ?

Malheureusement, je n'ai pas de boule de cristal, donc je ne peux pas être d'accord, mais si nous découvrons à quelle tension minimale va la décharge, en sélectionnant la tension de la diode zener dans le circuit de mesure, il sera possible de mettre en œuvre votre proposition avec une précision de mesure maximale

Bonjour,

Merci beaucoup pour ta réponse détaillée. J'ai effectivement oublié de préciser le modèle de la carte, il s'agit bien d'une Arduino Uno.

Je me posais la question suivante: est ce que le régulateur de tension est nécessaire si j'utilise déjà un pont diviseur de tension qui ramène ma tension en dessous des 5V acceptés?

Pour répondre à ta question il s'agit d'un projet personnel. Cela fait déjà quelques années que j'ai passé mon bac, mais je n'ai utilisé de carte Arduino qu'à deux ou trois occasions, et l'électronique n'est pas mon truc, d'où mes questions...

Il y a un chou et des carottes, en général, on ne mélange pas.

  1. Le chou : Le régulateur.
    L'ADC est 10 bit, il prend la tension de référence et la divise par 210 ce qui donne le pas de mesure. Toute la précision de la mesure sera celle de la tension de référence.
    Le bon sens veut qu'elle soit stable et précise.
    L'ADC retourne un nombre correspondant à la tension à mesurer divisée par le pas de mesure.

  2. Les carottes : pont diviseur et tension max mesurable

  • Il ne faut jamais appliquer sur une entrée une tension supérieure à la tension d'alimentation du micro + 0,6 V. C'est explicitement précisé dans la datasheet de tous les microcontrôleurs.
  • Il ne faut pas appliquer de tension supérieure à la valeur de la tension de référence.
    A priori cela ne serait pas destructif, mais donnerait toujours 1023 pour résultat.

Conclusion :
Avec la valeur de référence par défaut le pas de mesure sera de 5 mV et la tension max mesurable égale à 5 V
Avec la référence interne 1,1 V le pas de mesure sera ~=1 mV et la tension max mesurable égale à 1,1 V
Avec une tension sur Aref -> il faut faire le calcul.
Si Aref = 3,3 V du régulateur intégré à la carte : pas ~= 3mV, Vmax ~= 3,3 V

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.