Skyduino:~#
Articles
arduino, Corrigé, programmation

[Arduino] Mesurer la tension d’une batterie

Bonjour tout le monde !

Aujourd’hui je continue sur le même sujet que mon article d’hier.
Sauf que cette fois ci je ne vais pas mesurer la tension en +VCC mais la tension d’une batterie (qu’elle alimente le montage ou non).

Le principe :

Rien de bien révolutionnaire, mon montage repose sur un bête pont diviseur de tension.
Celui ci a été calculé pour permettre la mesure d’une plage de tension variant entre 0v et 20v.

La formule classique d’un pont diviseur de tension est la suivante (je passe la partie théorie, loi des mailles, etc) :
Vs = Vin * (R2 / (R1 + R2))

Ici R1 = 3300 ohms (3k3) et R2 = 1100 ohms (1k1), on obtient donc pour Vin = 20v (maximum admissible) :
Vs = 20 * (11000 / (3300 + 1100)) = 20 * (1100 / 4400) = 20 * 0.25 = 5

Vs = 5v pour Vin = 20v, soit le maximum que peut mesurer le convertisseur analogique -> numérique de l’arduino (alimenté en 5v bien sûr).

Remarque: pour ceux qui ne voudraient pas ce casser la tête à faire un calcul de pont diviseur (faut être une sacrément fainéant quand même ;) ) :
http://www.electronique-radioamateur.fr/elec/schema/calcul-diviseur-tension.php

Et pour ceux qui voudraient en savoir plus sur la théorie et sur le calcul :
http://www.sonelec-musique.com/electronique_bases_diviseurs_res.html

Le montage :

Rien de bien compliqué donc, deux résistances, deux fils et … c’est tout !
Il suffit de suivre le schéma juste au dessus ;)

Le code couleur des résistances :
3k3 = Orange Orange Rouge
1k1 = Marron Marron Rouge

(Je le précise car je sait très bien que c’est la première chose que le me demanderais si je ne le précisais pas …)

Mesure de tension :

Comme vous pouvez le voir le petit fils jaune est relié à l’arduino.
En fait il est relié à la prise jack de l’arduino, juste avant la diode de protection (-> attention aux inversions de polarité si vous branchez mal votre alim !)

Cela permet de mesurer la tension d’alimentation de l’arduino et de détecter de manière relativement précise une baisse de tension.
Il est aussi tout à fait envisageable de mesurer une batterie externe au montage tant que les masses de la batterie et de l’arduino sont reliées ensemble (et que celle ci délivre moins de 20v).

Je vous ai fait un petit tableau des tensions d’alimentations mesurables avec ce montage et de l’état de batterie qui correspond :

Le code :

/* Coefficient diviseur du pont de résistance */
const float coeff_division = 4.0;

/* setup() */
void setup() {

  /* Initialisation du port série */
  Serial.begin(9600); 
  Serial.println("Battery level tester v2");
}

/* loop() */
void loop() {

  /* Mesure de la tension brute */
  unsigned int raw_bat = analogRead(A0);
  
  /* Calcul de la tension réel */
  float real_bat = ((raw_bat * (5.0 / 1024)) * coeff_division);

  /* Affichage */
  Serial.println(real_bat);
  delay(1000);
}

Le résultat :

Voici une mesure de test prise avec une alimentation 9v (une bête batterie rechargeable) :
Battery level tester v2
7.46
7.48
7.48
7.48
7.48
7.46
7.46
7.48
7.46
7.48
7.48
7.48
7.48

Comme on peut le voir ma batterie est déjà bien fatiguée … mais la mesure reste fiable !
(Je reste dans le vert, mais je suis pas loin du gris …)

Bon bidouillage à tous :)

About these ads

Discussion

10 Réponses à “[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
  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
  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

Poster un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Connexion à %s

Archives

Suivre

Recevez les nouvelles publications par mail.

Joignez-vous à 461 followers