Skyduino:~#
Articles
arduino, Corrigé, programmation

[Arduino] Mesurer la tension d’une batterie

Le contenu de cet article a été entièrement réécrit et mis à jour sur le site Carnet du Maker.

Liens vers les nouveaux articles :

N.B. Les commentaires de l’article ont été pris en compte lors de la rédaction des nouveaux articles 😉

Discussion

40 réflexions sur “[Arduino] Mesurer la tension d’une batterie

  1. Cool ! mais ça consomme combien de mesurer comme ca en continu la batterie? ça la viderait pas en quelques heures par hasard?

    Publié par mathieu | 21 août 2012, 21 h 37 min
    • Loi d’ohm : U = R * I, I = U / R
      U = 9 volts
      R = 4400 ohms
      I = 9 / 4400 = 2.04mA de consommation … on va pas chipoter 😉
      Et si tu prend 33K et 11K ça tombe à 204µA … soit 10x moins 😉

      Publié par skywodd | 21 août 2012, 21 h 42 min
  2. L’avantage du couple 3.3 / 1.1, c’est de s’affranchir de l’impédance d’entrée des pins analogiques. Avec 11K, je ne suis pas sûr qu’on puisse négliger une petite perte… Dommage, car ce mA continu peut jouer en notre défaveur. Un juste milieu à trouver?

    Publié par Cinci | 5 septembre 2012, 7 h 10 min
    • Le convertisseur analogique/numérique de l’ATmega328p est optimisé pour des impédances de 10K ou moins (datasheet §24.6.1) donc avec 11K on est limite mais ça devrait passer.

      Publié par skywodd | 5 septembre 2012, 13 h 28 min
      • Oui mais dans ce cas (mesure d’une tension de batterie) l’évolution de la tension dans le temps est négligeable par rapport au temps d’échantillonage. Donc autant réduire la consommation du pont diviseur au max en utilisant un forte resistance.
        Je pense que même avec 1 Mohm ça pose pas de problème ?

        Publié par monlelu | 9 mars 2017, 23 h 33 min
  3. Le code Arduino est manquant dans le Tuto ou je dois mettre des lunettes ? 🙂

    Publié par Djad | 20 octobre 2012, 21 h 33 min
  4. si jamais la pile n’alimente pas le montage, suffirait de brancher la masse sur le – et l’entrée du pont diviseur sur le + de la pile ?

    Publié par Zilators | 5 janvier 2013, 15 h 41 min
    • C’est ce que j’ai fait regarde bien le schéma 😉
      Dans tout les cas les masses DOIVENT être reliés sinon ça ne marche pas.

      Publié par skywodd | 5 janvier 2013, 15 h 51 min
      • ok ok donc j’ai plus qu’a trouver la valeur a la quelle une pile 9V serait en moitié de vie (8V en sortie selon moi) et donc je lirait 409 sur l’arduino si elle est a 8V ? ca m’a l’air d’etre sa je m’y met =D

        Publié par Zilators | 5 janvier 2013, 15 h 53 min
  5. Bonjour, à quoi sert la ligne:
    * (5.0 / 1024)) * coeff_division

    Car je ne comprend pas comment tu trouve le calcul pour passer de ce que tu appelles la tension brute à la tension reelle.

    Publié par aaron | 12 septembre 2013, 22 h 15 min
  6. Bonjour,

    La plage limite n’est pas plutôt entre 0 et 1023 de qui donne en codage sur 1024 ?
    Si je code sur 8 bits, j’ai le droit à 256 valeurs donc de 0 à 255 si je ne me trompe pas 🙂

    Cordialement,
    Le réparateur de PC

    Publié par lereparateurdepc | 17 novembre 2013, 11 h 11 min
  7. bonjour, est il possible d’afficher la tension sur un afficheur lcd relier sur l’arduino

    Publié par MarcAndCO | 25 janvier 2014, 0 h 25 min
    • Oui, il suffit de remplacer les Serial.println() par un lcd.println() et d’utiliser la librairie LiquidCrystal.

      Publié par skywodd | 1 février 2014, 15 h 22 min
      • je serais intéressé par l’affichage sur lcd.
        Pour cela outre le fait de changer le Serial print par lc print, il faut enlever l’initialisation du port série et la remplacé par quelque chose qui initialise l’ecran lcd? si oui quel est le code svp? 🙂

        Publié par Théo | 17 février 2014, 20 h 26 min
  8. Salut; je suis intéressée de même sujet mais pour mesurer la tension d’une machine asynchrone ç’est à dire en alternatif j veux savoir est ce qu’il y a une grande différence au niveau du code arduino et si oui lequel! merci

    Publié par Iman | 31 mars 2014, 15 h 56 min
    • Mesurer une tension continu et une tension alternative c’est le jour et la nuit.
      Je te laisse chercher « Root mean square » sur google tu comprendras 😉

      En plus au niveau matériel ce n’est pas du tout la même chose.
      Il faut mesurer une tension alternativement positive et négative, ça demande un circuit bien plus complexe que deux simples résistances.

      Publié par skywodd | 9 avril 2014, 11 h 23 min
  9. hugh,
    je voudrais faire exactement le même genre de mesures mais pour des mesures en alternatif (10Hz) ET pour des amplitudes en tension allant jusqu’à 1200V. A moins de prendre un pont diviseur de rapport 100 (ce qui n’est pas idéal…) je ne vois pas trop comment faire. Quelqu’un aurait-il une idée? Merci

    Publié par PetitSachem | 8 avril 2014, 10 h 53 min
    • re,

      1200V ehhh là ça fait un peut beaucoup ….. Si c’est de l’AC, il n’y a pas moyen de passer par un transfo ?
      1200/12V ou 1200/230V puis 230/12V ?

      Un pont diviseur oui mais faut dimensionner les résistance en conséquences (puissance/dissipation).

      Cordialement,
      Le réparateur de PC

      Publié par lereparateurdepc | 8 avril 2014, 19 h 28 min
  10. Slt peut tu m’expliquer le 1024 que tu as dans le programme? 🙂 merci

    Publié par Xavier | 29 Mai 2014, 13 h 53 min
    • analogRead() retourne une mesure sur 10 bits, or 2^10 = 1024.

      Publié par Skywodd | 29 Mai 2014, 17 h 54 min
      • Si nous avons on Arduino qui tourne sous 3,3V 8 MHz, les tensions d’entrée seront max de 3,3V ou 5V ?

        Publié par Abstrait | 12 août 2014, 17 h 32 min
      • 3,3v exclusivement !

        Publié par AloyseTech | 12 août 2014, 18 h 21 min
      • Uniquement 3,3V en entrée ? En sortie je comprend mais en entrées bizzare. Merci 🙂

        Publié par Abstrait | 12 août 2014, 19 h 31 min
      • Tension max en entrée = tension d’alimentation.
        Donc si VCC = 3.3, Vmax = 3.3v

        Ne pas s’amuser à tester du 5v en entrée sur une carte 3v3, sinon c’est l’effet barbecue au coin du feu assuré 😉

        Publié par Skywodd | 3 septembre 2014, 19 h 16 min
  11. J’alimente un Arduino Nano avec un accu li-ion via un convertisseur DC-DC 5V.
    J’aimerai mesurer le « niveau » de charge de mon accu. Donc entre 3.7V et 3V (4.1V quand il est en charge).
    Je pensai relier directement le +accu (avant le convertisseur) à A0 par exemple.
    On est d’accord, j’ai pas besoin de pont diviseur, pour ça ?
    Doit-je mettre une résistance en série ? Si oui, pourquoi et de combien ?

    Publié par Xiboard | 27 août 2014, 14 h 03 min
    • Si tu as une carte arduino 5v pas besoin de pont diviseur.
      Quand la carte arduino est allumée, l’entrée analogique à une impédance élevée : pas besoin de faire quoique ce soit, tu peux brancher direct le + de l’accus sur une broche analogique.
      Par contre quand la carte n’est pas alimentée, il est déconseillée de mettre une tension sur la broche analogique. Donc si tu as un interrupteur dans ton montage, il faut qu’il soit placé juste après la batterie avant le convertisseur dc-dc et que tu mesure la tension après l’interrupteur mais avant le convertisseur. De cette manière la broche analogique ne sera jamais sous tension quand l’arduino n’est pas allumée.

      Publié par Meyer | 27 août 2014, 15 h 10 min
      • Ok, c’est bien ce que je pensai et oui, je place un inter au plus proche de la batterie de pas de soucis pour l’accu.

        Publié par Xiboard | 27 août 2014, 15 h 15 min
      • +1 pour l’interrupteur général. Quand l’Arduino n’est pas alimentée, aucune tension ne doit arriver sur les entrées (numérique ou analogique).

        Publié par Skywodd | 3 septembre 2014, 19 h 29 min
    • Pas besoin de pont diviseur ou de résistance en série si tu es alimenté en 5v.

      Par sécurité tu peux quand même mettre une zener 4.7v en parallèle de A0, voir une double diode anti-esd si le connecteur de batterie est accessible aux gros doigts plein d’électricité statique.

      Publié par Skywodd | 3 septembre 2014, 19 h 26 min
  12. Salut, je suis nouveau sur Arduino donc désolé de la question mais peux-tu m’expliquer cette ligne stp :
    float real_bat = ((raw_bat * (5.0 / 1024)) * coeff_division);
    Merci 🙂

    Publié par Nijou | 2 février 2015, 17 h 38 min
    • Ah et par ailleurs, comment faire pour réduire le rapport du réduction du pont diviseur ? :3

      Publié par Nijou | 2 février 2015, 17 h 40 min
  13. je veut mesurer le courant dans une circuit diviseur de tension en utilisant un capteur de courant SEN23931P
    avec une ardouino … si vous pouvais m’aider je suis perdu ?

    Publié par zizou | 3 Mai 2015, 21 h 58 min
  14. J’ai -13 jusqu’a -12 pour la tension d’un chargeur de 7.5v, je comprend pas d’ou ça peut venir car le montage est pourtant simple : (

    Publié par Martin | 20 juin 2015, 14 h 38 min

Rétroliens/Pings

  1. Pingback: Mesurer la tension d'une batterie (Arduino, ESP8266, Pi) - 30 Mai 2016

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.