Amateurs de LiPo, ceci devrait servir...

Les radios commandes, déclencheurs divers et variés. Les circuits électroniques et autres bidouillages.

Amateurs de LiPo, ceci devrait servir...

Messagede J-C le Mar 19 Janvier 2010, 12:32

Salut à tous,

Dans ma recherche de bidules pas nouveau mais utiles, je suis tombé la dessus :

http://www.heli4.com/article471.html
Le LiPo saver est un testeur de tension qui va avertir l'usager de la tension critique. Avec un buzzer, plutôt qu'une LED, je pense que c'est indispensable.

Pour les non-bricoleurs, il en existe en vente par exemple sous les noms de "battery monitor" chez HobbyKing, ou "lipo low voltage monitor"sur la Bay.

A+
JC

PS : qui utilise des LiPo ?
Avatar de l’utilisateur
J-C
Plus de 1000 messages
 
Messages: 1770
Inscription: Jeu 15 Mai 2008, 9:14
Localisation: Sud des Landes

Re: Amateurs de LiPo, ceci devrait servir...

Messagede Deltakap le Mar 19 Janvier 2010, 12:48

J-C a écrit:qui utilise des LiPo ?

Indirectement, depuis pas si longtemps que ça, dans mes chargeurs solaires, mais ils ont déjà une gestion de charge (sous 5v) et de blocage quand la lipo se décharge de trop (la sortie passe à zéro)

Sinon, si le principe est simplement de détecter si il y a moins de 3V par élément, l'Arduino doit pouvoir faire ça facilement ;)
Mesurer la tension (avec un éventuel pont diviseur) sur un port analogique, facile, arrêter de commander les servos, facile et pourquoi pas passer l'arduino en mode sleep (un microcontroleur dans ce mode ne consomme plus que quelques microampères, la carte arduino sans doute un peu plus). Il est aussi possible d'ajouter quelques composants pour que l'arduino qui détecte cette tension faible coupe toute l'alimentation complètement.
Avatar de l’utilisateur
Deltakap
Plus de 1000 messages
 
Messages: 1432
Inscription: Lun 22 Septembre 2008, 11:35
Localisation: Du coté de Granville

Re: Amateurs de LiPo, ceci devrait servir...

Messagede Gilbert Dubé le Mar 19 Janvier 2010, 20:51

Salut

Voici ce que j'ai sur mon circuit pour verifier l'etat de la batterie.

Image

et le code

Code: Tout sélectionner
//
// Programme de test pour la carte Kap-Mega328 v3.1
//
// Tester le Voltage de la Batterie
//


int batVoltagePin    =  5;                 // Entré analogique #5

// Definir les variables

float BatVoltage;
float MinBatVoltage = 5.5;
int   BatLow        = false;

const float AREFVoltage  = 5.0;            // Le voltage exacte appliquer a la pin AREF (Mesurer)
const int   BridgeFactor = (19300 / 4700); // Le facteur du pont diviseur (Mesurer)

// En utilisant une variable avec le facteur de multiplication,
// la routine na pas besoin de refaire les calculs mathematique a chaque fois.

float VoltageFactor = (AREFVoltage / 1024) * BridgeFactor;

void setup()
{
  analogReference(EXTERNAL);

  Serial.begin(9600);
}

void loop()
{

  delay(1000);

  ReadBattery();

  Serial.print("Battery = ");
  Serial.print(BatVoltage);
  Serial.print("    Low = ");
 
  if(MinBatVoltage == true)
  {
    Serial.print("Yes");
  }
  else
  {
    Serial.print("No");
  }
 
  Serial.println();

}

// With the AREF of the Atmega328 we can only verify voltage up-to the voltage on the AREF pin
//
// With 5v at the AREF pin the maximum is 5v, anything over 5v will give 5v
//
// To check a battery voltage that is over 5v we divide the battery voltage with a bridge using a 15K and a 5K resistor
//
// The two resistors make 20k and draw less than 275uA per hour from the battery
//
// A Ni-Cad battery is considered discharged when a cell reach 0.8-1.1v or 4.8-6.6v for a 6 cells pack.
//
// When we reach just under 5.5v (< 0.92v per cell) we stop taking picture.
//
// If the cell go under that voltage it could damage the cell and reduce the life span of the battery pack.
//
// A Ni-Cad battery is considered fully charged when a cell reach 1.30-1.42v or 7.8-8.52v for a 6 cells pack.
//
// With this voltage divider we can monitor battery voltage up to 20v.

int ReadBattery()
{
  analogRead(batVoltagePin);            // ADC will switch to this pin
  delay(10);                            // Needed to give time to the ADC to connect to the pin

  BatVoltage = analogRead(batVoltagePin) * VoltageFactor;   // Read the value and Convert to the real Battery Voltage

  BatLow = false;
 
  if(BatVoltage < MinBatVoltage)
  {
    BatLow = true;
  }
}


Au moment ou le voltage de la batterie descent en bas de 5.5v le systeme place la camera a l'horizontale et la pointe dans ma direction, du sol je sais que le systeme est en arret,

j'espere que cela va aider.

Gilbert Dubé
Dernière édition par Gilbert Dubé le Mer 20 Janvier 2010, 13:45, édité 1 fois.
Avatar de l’utilisateur
Gilbert Dubé
Plus de 50 messages
 
Messages: 63
Inscription: Jeu 14 Mai 2009, 17:56
Localisation: Montréal, Québec, Canada

Re: Amateurs de LiPo, ceci devrait servir...

Messagede J-C le Mar 19 Janvier 2010, 21:29

Cool ! Il faut que je trouve ces 2 résistances et un connecteur pour LiPo 2S (quoique pas la peine si c'est en dérivation).
Sinon, pour le "bridge factor", compte tenu du schéma, ça devrait donner (15000 / 5000)... Ou alors on peut utiliser d'autres résistances ? Si c'est le cas, quelles marges de résistances ?

A+
JC
Avatar de l’utilisateur
J-C
Plus de 1000 messages
 
Messages: 1770
Inscription: Jeu 15 Mai 2008, 9:14
Localisation: Sud des Landes

Re: Amateurs de LiPo, ceci devrait servir...

Messagede Gilbert Dubé le Mar 19 Janvier 2010, 21:43

Salut

Pour les resistances tu prend ce que tu a sous la main, l'important c'est d'avoir assez haut 20k ou plus total
pour maintenir l'amperage bas, et d'avoir une division superieur a 2.5 au moins.

alors 29k + 3k (32000 / 3000) = 10.66

ou 15k + 2.2k (17200 / 2200) = 7.81

ou 10k + 1k (11000 / 1000) = 11.0

avec la formule utiliser dans le code le voltage final sera toujours le bon.

Moi je mesure les resistances pour avoir leurs valeurs precise.

Gilbert Dubé

Tiens moi au courant des tes test.
Avatar de l’utilisateur
Gilbert Dubé
Plus de 50 messages
 
Messages: 63
Inscription: Jeu 14 Mai 2009, 17:56
Localisation: Montréal, Québec, Canada

Re: Amateurs de LiPo, ceci devrait servir...

Messagede Deltakap le Mar 19 Janvier 2010, 22:15

J-C a écrit:Ou alors on peut utiliser d'autres résistances ?


Comment calculer les valeurs des résistances pour les lipos (on veut détecter qu'une batterie est à moins de 3V):

Image

Vout= Vin * R2/(R1+R2) ou R2=(R1+R2)*Vout/Vin

Par exemple, pour une 2S (7,4V) et un arduino en 5V :
Si on choisi (arbitrairement) un courant de 250uA dans le pont de résistances, on a R1+R2 = 7,4/0,00025 = 29600 Ohms(R=U/I).... en gros 30k pour R1+R2

après, pour avoir un Vout de 5V avec un Vin de 7,4V : R2 = 29600*5/7,4 = 20000 Ohms.
Bon 20K n'étant pas une valeur normalisée dans les séries à 10%, on prend soit 2 résistances de 10k en série, soit une 22k. R1 fait 30k - 20k =10 k.
Si on reprend le calcul avec ces valeurs normalisées, on trouve :
Vout = 7.4 * 22000/(22000+10000) = 5,08 V (pas si mal ;))
si Vout est connecté sur une entrée analogique de l'arduino, on a une valeur 1024 pour 7.4V en Vin
On veut une "alarme" si Vin<6V pour une 2S soit 1024*6/7,4 = 830
si analogRead(batVoltagePin)<830 alors faut tout arrêter !

pour une 2S (7,4V) et un arduino en 3.3V :
R1+R2 = 30k
R2 = 30000*3.3/7.4= 13.4k et R1= 16,6k, on prendra 15k pour R2 en valeur normalisée et 18k pour R1
on vérifie: Vout = 7.4 * 15000/(15000+18000) = 3.36V (pas mal)
L'alarme sera aussi pour analogRead(batVoltagePin)<830

Voili, voilou, c'est un peu chi*ant , mais bon ;)

Edit: Comme le dit Gilbert (mon homonyme ;)) c'est le rapport des résistances qui est important (leurs valeurs vont jouer simplement sur le courant consommé bêtement par les deux résistances)
R2/R1 = Vout/(Vin-Vout)
Pour un arduino 5V: R2/R1 = 5 /(7.4 - 5) = 2 soit R2 = 2* R1
Pour un 3.3V: R2/R1 = 3.3 / (7.4 - 3.3) = 0.8 soit R2 = 0.8 * R1

Dans la série E12 à 10% on a 10k 12k 15k 18k 22k 27k 33k 39k 47k 56k 68k et 82k
Pour un arduino 5V: R1=10k et R2=22k, ou R1=12k et R2=27k, ou R1=15k et R2=33k, etc.. vont donner à peu près le résultat attendu.
Pour un 3.3V: R1=12k et R2=10k, ou R1=15k et R2=12k, ou R1=18k et R2=15k, etc... vont fonctionner pareil

Une remarque, même en arrêtant les servos, l'ensemble va continuer à consommer (peut-être pas loin de 30mA)... faut pas laisser la nacelle là haut pendant trois jours ;) mais ça laisse largement le temps de la redescendre et de l'éteindre pour de bon.
Avatar de l’utilisateur
Deltakap
Plus de 1000 messages
 
Messages: 1432
Inscription: Lun 22 Septembre 2008, 11:35
Localisation: Du coté de Granville


Retourner vers L'électronique embarquée et au sol

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron