Modifications

Sauter à la navigation Sauter à la recherche
Ligne 25 : Ligne 25 :  
{{ADFImage|FEATHER-M0-EXPRESS-Alimentation-03.jpg|640px}}
 
{{ADFImage|FEATHER-M0-EXPRESS-Alimentation-03.jpg|640px}}
   −
== Measuring Battery ==
+
== Mesure de la tension de l'accu ==
If you're running off of a battery, chances are you wanna know what the voltage is at! That way you can tell when the battery needs recharging. Lipoly batteries are 'maxed out' at 4.2V and stick around 3.7V for much of the battery life, then slowly sink down to 3.2V or so before the protection circuitry cuts it off. By measuring the voltage you can quickly tell when you're heading below 3.7V
+
Si vous alimentez votre projet depuis l'accu, il est fort probable que vous désiriez connaître la tension de l'accu! De cette façon il est possible d'avertir l'utilisateur qu'il est temps de recharger l'accu (en branchant le montage en USB). La tension max de l'accu Lipoly est de 4.2V (juste en sortie de charge) et à 3.7V durant la plus grande partie de la durée de vie de l'accu, puis la tension diminue lentement jusqu'à environ 3.2V (juste avant l'activation du circuit de protection).  
   −
To make this easy we stuck a double-100K resistor divider on the '''BAT''' pin, and connected it to '''D9''' (a.k.a analog #7 '''A7'''). You can read this pin's voltage, then double it, to get the battery voltage.
+
En surveillant la tension de l'accumulateur (broche VBAT), il est possible de rapidement savoir lorsque la tension chute significativement sous 3.7V
 +
 
 +
Pour faciliter la surveillance de cette tension, Adafruit branché un pont diviseur de tension (deux résistance de 100K) sur la broche  '''BAT'''. La tension BAT ainsi divisée par deux, la sortie du pont diviseur est branché sur la broche '''D9''' (entrée analogique #7 '''A7'''). Vous pouvez donc lire la tension sur la broche et la multiplier par deux pour connaître la tension de l'accu.
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
#define VBATPIN A7
+
#define VBATPIN A7 // definir la broche associée à VBAT
 
    
 
    
float measuredvbat = analogRead(VBATPIN);
+
float mesurevbat = analogRead(VBATPIN);
measuredvbat *= 2;    // we divided by 2, so multiply back
+
mesurevbat *= 2;    // multiplier par 2, car le pont diviseur divise la tension par 2
measuredvbat *= 3.3;  // Multiply by 3.3V, our reference voltage
+
mesurevbat *= 3.3;  // multiplier par 3.3V, la tension de référence
measuredvbat /= 1024; // convert to voltage
+
mesurevbat /= 1024; // convertir en tension (convertisseur 10 bits)
 
Serial.print("VBat: " ); Serial.println(measuredvbat);
 
Serial.print("VBat: " ); Serial.println(measuredvbat);
 
</syntaxhighlight>
 
</syntaxhighlight>
29 917

modifications

Menu de navigation