batterie pour alimenter un arduino (mini pro, mini ou nano)

merci encore pour toutes ces réponses hyper pointues !

en ce qui concerne la tension de l’accéléromètre .. je me demande si le plus simple ce n'est pas de partir sur le choix d'un autre accéléromètre pour ne pas etre embêté.

si je pars sur un truc comme celui ci : https://www.gotronic.fr/art-module-6dof-lsm303d-2127-21726.htm par exemple, ça résout mon le soucis, et je peux tout alimenter avec ma batterie meme quand elle est chargé a fond.

je voudrais essayer d'aller au plus simple ^^

@ Serge D.
dans mes recherches j'ai trouvé effectivement deux type de TP4056.
celui ci qui a juste 2 sorties et qui est donc simplement destiné a charger la batterie.
et celui ci qui a B+ et B- pour checker la tension de la batterie, et out+ / out- qui délivre la tension de la batterie (si j'ai bien tout compris cette vidéo)

Effectivement, ça te permet de te passer du régulateur 3.3V. Tu pourras tout alimenter entre 3 et 5V. Sage décision.
En 5V tu pourras même utiliser une NANO avec son USB bien pratique, mais attention, son USB te bouffe 10mA. Prévoir la capacité de la batterie en conséquence.

@+

Et pour éviter de dépasser 3.3V, un régulateur LowDropOut pour alimenter tout ça à partir du 3.7V à 4.2V (batterie LI-ION) ou 5V (batterie externe USB).

On pense souvent au régulateur low drop mais on oublie les convertisseurs step up/down qui donnent 3,3V à partir d'une tension de 2V à 5V.
On les reconnait au fait qu'ils sont un peu plus gros du fait qu'ils nécessitent deux inductances, une pour le "up" et une pour le "down".

hbachetti:
En 5V tu pourras même utiliser une NANO avec son USB bien pratique, mais attention, son USB te bouffe 10mA. Prévoir la capacité de la batterie en conséquence.

@+

Le truc c'est que passer en 5v, ça va diminuer la capacité de la batterie non ? Parce que les mAh annoncés sont pour une tension de 3.7V environ. En 5v, ça va "consommer" plus.

D'ailleurs niveau consommation. Je ne trouve d'info sur la consommation sur pour l’accéléromètre (5mA) et l'horloge qui se chiffre en nano ampère ...)

Je ne trouve pas la consommation du lecteur de carte sd, ni celle de la carte arduio pro mini.

Si je pars sur une batterie de 1000 mah, j'ai peur que ce soit juste pour une journée. D'autant que c'est destiné a etre en extérieur et que les faible températures ... les batteries n'aiment pas ça.
Si vous avez une idée de ce pourrait consommer le tout je suis preneur.

Si tu décides d'adopter l'accéléromètre POLULU qui, supporte 2,5 à 5,5 Vcc, tu peux alimenter avec une batterie LI-ION de 3.7V. Les plus répandues et les plus économiques sont celles que l''on utilise dans les vapoteuses, les 18650. Elles font couramment 2500mAH à 3000mAH.
Ce choix t'impose l'ARDUINO PRO MINI 8MHz, qui consomme environ 10mA.

Si tu choisis d'alimenter en 5V, donc avec une batterie externe USB, l'ARDUINO NANO et MINI 16MHz conviennent, la NANO consommera environ 10mA de plus à cause du convertisseur USB.
La NANO possède de plus une sortie 3.3V ce qui te permettrait de conserver ton accéléromètre actuel BMA220.

Dans les deux cas, il faudra mesurer la consommation totale pour en déduire la capacité de la batterie.

Dans les deux cas, pas besoin de régulateur.

Même si le montage consomme 50mA, cela donne tout de même une autonomie de 50 à 60 heures avec une seule 18650.

Si tu choisis la batterie 18650 pense au chargeur, Xtar MC2 par exemple.
Tu peux aussi brancher 2 batteries en parallèle, le Xtar MC2 te les chargera chacune séparément.
Ou quatre batteries et un Xtar VC4.
C'est dingue ce que l'alimentation par batterie peut amener comme complexité, contrairement à ce que l'on croit.

@+

hbachetti:
...............

Même si le montage consomme 50mA, cela donne tout de même une autonomie de 50 à 60 heures avec une seule 18650.

......
@+

Globalement OK, mais je serais un peu moins optimiste :

  • 50 mA consommé en 5V place plutot vers 100 mA sur 3,7V nominal en tenant compte d'une part du rendement en énergie du convertisseur et d'autre part de l'augmentation d'intensité due au fait qu'il s'agit d'un convertisseur boost.
  • Si on veut préserver la batterie 2500 mAh, ne pas espérer tirer plus de 2000 mAh

Donc dans ce cas cela laisse espérer sereinement 20h, sinon mettre deux batteries en dérivation.

Serge .D

Je vais partir sur un arduino pro mini avec l'accéléromètre qui va bien en terme de tension.

J'ai déjà des 18650, le soucis c'est que c'est assez énorme, et il faut retirer les batteries pour les charger. (Chargeur qui coûte assez cher d'ailleurs)

Si je pars sur une batterie comme celle ci ou une batterie de téléphone portable, ça restera compacte et je pourrais la charger en utilisant le module tp-4056 dans le projet.

La NANO possède de plus une sortie 3.3V ce qui te permettrait de conserver ton accéléromètre actuel BMA220.

Je me contredis : le BMA 220 n'est pas tolérant 5V sur ses entrées logiques. Donc POLULU obligatoire sur ARDUINO NANO en 5V, et même PRO MINI en 3.7V.
Ta batterie plate convient bien sûr, mais elle est chère. Les 18650 sont bien moins onéreuses, surtout si tu tes possède déjà. Le TP4056 convient également pour les 18650.

Donc ton choix se porte sur PRO MINI 8MHz en 3.7V, 4.2 à pleine charge.
Tu n'auras pas besoin de régulateur ni de convertisseur, tout fonctionnera sans problème entre 3.3V et 4.2V.
Si ton accéléromètre consomme 5mA - je n'ai pas vérifié - l'ARDUINO MINI 10mA, il faut ajouter l'inconnue : le shield SD.
Il ne te reste plus qu'à assembler tout ça et mesurer la consommation. Commence par assembler ce que tu as afin de lever l'inconnue : le shield SD, en attendant de recevoir ton accéléromètre.

@+

J'ai reçu toutes mes pieces, j'en suis a regarder comment faire fonctionner tout ça depuis un arduino uno classique.
Et en regardant de plus pret comment alimenter le arduino mini pro, je me suis rendu compte d'un truc...

La pin raw permet de l'alimenter avec un tension située entre 3.4 et 12V, quand la pin VCC nécessite une tension de 3.3V régulé.

Je pars pour le moment sur 2 accu 18650 (en dérivation) dont la tension varie entre 2.5 et 4.2V (2.5 étant la limite basse fixée par le TP4056 avant de couper l'alimentation).

Ma tension n'étant pas régulée, je me retrouve dans cette configuration a devoir alimenter l'arduino pro mini sur la pin Raw, et je peux exploiter les piles que sur la tranche 3.4-4.2V, me privant ainsi de la partie 2.5-3.3V.

Est ce que la tranche 2.5-3.3V d'une pile est négligeable, où est ce que je gagne a utiliser un régulateur/booster comme celui ci pour exploiter le max des accu ? (dans la limite des 2.5V mini)

Il n'est pas obligatoire d'alimenter l'ARDUINO PRO MINI en 3.3V sur sa broche VCC. Elle supporte jusqu'à 5.5V sans problème.
Il faut voir l'ARDUINO PRO MINI comme un ARDUINO 5V qui tolère le 3.3V car il tourne plus lentement, à 8MHz au lieu de 16MHz. Le processeur ATMEGA 328P est strictement le même.

Ton montage va parfaitement fonctionner entre 2.5V et 4.2V, au pire entre 2.7V et 4.2V.
Je te conseille plutôt de conserver une plage de 3.3V à 4.2V pour la santé de tes batteries.

@+

hbachetti:
Il n'est pas obligatoire d'alimenter l'ARDUINO PRO MINI en 3.3V sur sa broche VCC. Elle supporte jusqu'à 5.5V sans problème.
Il faut voir l'ARDUINO PRO MINI comme un ARDUINO 5V qui tolère le 3.3V car il tourne plus lentement, à 8MHz au lieu de 16MHz. Le processeur ATMEGA 328P est strictement le même.

Ton montage va parfaitement fonctionner entre 2.5V et 4.2V, au pire entre 2.7V et 4.2V.
Je te conseille plutôt de conserver une plage de 3.3V à 4.2V pour la santé de tes batteries.

@+

Je confirme, d'autant qu'entre 2,7-3,3V l’énergie utilisable de la batterie est ridiculement faible. (Si on examine la courbe de décharge à intensité constante, la pente est presque la même, mais en dessous de 3,3V la chute est très brutale)

Serge .D

OK, merci pour l'info !

C'est vrai qu'apres mon message j'ai trouvé des graph de décharge en fonction du temps. et ça dégringole vers 3.3V

pour ce qui est d'avoir une plage de 3.3 a 4.2V , l'arduino va cesser de fonctionner a 3.3V, mais le reste des composants étant alimentés directement depuis les batteries continueront d'etre alimentés.

Je ne vois pas comment faire limiter la décharge a 3.3V.
Sauf demander une action extérieur avec un bouton on/off en utilisant la led de l'aruino comme temoin, quand c'est éteint, on met en off tout le systeme.

si jamais y a possibilité de faire ça sans action extérieur, je suis preneur.

EDIT : Quand je regarde les versions protégées des accu 18650, je trouve ça "Résiliation de tension de décharge: 2,5 V"

L'ARDUINO cessera de fonctionner aux alentours de 2.7V.
Ici tu trouveras tous les renseignements nécessaires pour mesurer la tension batterie.
Jette un œil au chapitre 6 et télécharge le code.

Tu pourras utiliser la LED commandée (pin 13) pour signaler que la batterie est faible.
Un flash de 50ms toutes les deux ou trois secondes, pour économiser l'énergie.
La LED servant de voyant de mise sous tension peut être supprimée pour économiser qq mA.

Il te faudra bien sûr prévoir un interrupteur général qui te permette de couper la batterie.
Le TP4056 consomme apparemment entre 2.5µA et 6µA sur la batterie lorsque l'USB est débranché. Tu peux te permettre de le laisser connecté à la batterie en permanence, mais pas pendant 1 an bien sûr. Il te faudra de toutes façons prévoir de recharger périodiquement ta batterie, pour compenser son auto-décharge.

@+

Servie sur un plateau, la fonction qui te permettra de mesurer ta tension batterie :

unsigned int analogReadReference(void)
{
  /* Elimine toutes charges résiduelles */
  ADMUX = 0x4F;
  delayMicroseconds(5);
  /* Sélectionne la référence interne à 1.1 volts comme point de mesure, avec comme limite haute VCC */
  ADMUX = 0x4E;
  delayMicroseconds(200);
  /* Active le convertisseur analogique -> numérique */
  ADCSRA |= (1 << ADEN);
  /* Lance une conversion analogique -> numérique */
  ADCSRA |= (1 << ADSC);
  /* Attend la fin de la conversion */
  while(ADCSRA & (1 << ADSC));
  /* Récupère le résultat de la conversion */
  return ADCL | (ADCH << 8);
}

Ensuite dans ta fonction loop() :

void loop() {
  // 1.1V à ajuster
  float voltage = (1023 * 1.1) / analogReadReference();
  Serial.println(voltage);
  if (voltage < 3.3) {
    digitalWrite(13, HIGH);
    delay(50);
    digitalWrite(13, LOW);
    delay(2000);
  }
  else {
    Serial.println("Battery is Ok. Let's go !!!");
    // ici tu places ton code. Il ne sera pas exécuté si la batterie est faible
  }
}

Dernière chose : il te faudra étalonner ta référence de tension, car les 1.1V ne sont pas précis.
Donc mesurer ta tension batterie avec un multimètre et ajuster la valeur 1.1 pour que l'ARDUINO affiche le même résultat.

Pas besoin de bibliothèque particulière, tout est là.

@+

Woaw ! merci pour les infos et les bout de code pret a l'emploi !

Du coup je me pose une question maintenant sur le convertisseur série usb.... (piece qu'ils ont oublié dans mon colis ...)
si je peux alimenter en 5V sur la pin VCC, est ce si je prend un adaptateur série usb 5V ça fonctionne ?

Si ça fonctionne, pourquoi les convertisseur 3.3V existent ?

Je me pose la question car il y a plus de choix en 5V qu'en 3.3.

Merci

ewaca:
Woaw ! merci pour les infos et les bout de code pret a l'emploi !

Du coup je me pose une question maintenant sur le convertisseur série usb.... (piece qu'ils ont oublié dans mon colis ...)
si je peux alimenter en 5V sur la pin VCC, est ce si je prend un adaptateur série usb 5V ça fonctionne ?

Un convertisseur USB série 5V ?
Tout tes composants supportent le 5V. Donc Oui. Ne connecte pas ta batterie par contre. 3.7V et 5V entreraient en conflit.
Tu peux commencer ton développement en 5V en alimentant par le convertisseur.
Ensuite, tu pourras continuer avec un convertisseur 3.3V.
Par contre si tu connectes ta batterie, tu devras déconnecter le fil d'alimentation 3.3V du convertisseur. 3.3V et 3.7V entreraient également en conflit.
Pour résumer, soit tu alimentes par le convertisseur, soit tu alimentes par la batterie.

Tout est ici (chapitre 5) :
https://riton-duino.blogspot.fr/2018/02/arduino-pro-mini-basse-consommation.html

Si ça fonctionne, pourquoi les convertisseur 3.3V existent ?

Pour les processeurs ne supportant pas le 5V. STM32 par exemple : 3.6V maximum.

Je me pose la question car il y a plus de choix en 5V qu'en 3.3.

On trouve beaucoup de convertisseurs acceptant les deux tensions.

@+

Merci pour les infos. J'oublie qu'il n'y a pas que les ATmega dans la vie ^^

Je pars du principe que l'arduino mini sera alimenté par la batterie, si j'ai bien compris, j'ai plus besoin de la broche 5/3.3V de l'adaptateur.
Du coup je pense que je vais souder 5 broches coudées sur le programming header et avec un adapateur serie usb comme celui ci ou celui là sur le quel je mets un connecteur dupont 6 broches dont jobstrue le le trou qui correspond au 3/5V qui ne sera pas soudé sur la carte, ça me fera un détrompeur.

Parce qu'a la base je pensais avoir besoin communiquer avec l'arduino que pour mettre le programme dedans, et récupérer les données de la carte SD en la retirant et en la mettant sur un pc.
Mais finalement je me dis que c'est peut etre plus pratique de faire un petit logiciel qui permet de récupérer les données via l'interface série de l'arduino. Pour le coup j'ai besoin de pouvoir brancher le système complet facilement a un PC, et un détrompeur c'est pratique.

Le premier lien renvoie sur une liste. Le deuxième renvoie sur un convertisseur 5V.
Si l'alimentation se fait par batterie, il faut obligatoirement un convertisseur USB série 3.3V ou supportant les deux tensions.

Détail supplémentaire : le convertisseur doit posséder une pin DTR ou RTS à connecter sur la pin GRN (reset) de la MINI. Cette pin provoque un reset de la MINI au début du téléchargement.
Si tu utilises seulement RX TX et masse, tu devras presser le bouton reset de la MINI après la compilation, juste avant le téléchargement. Pas très pratique.

@+

Avant j'utilisais celui-ci :

En connectant le RTS du FTDI sur GRN de la MINI, Tout est OK, en 3.3V et en 5V.

J'ai aussi essayé cellui-ci :

https://www.amazon.fr/gp/product/B00YMJVSIS/ref=od_aui_detailpages00?ie=UTF8&psc=1
En connectant le DTR du FTDI sur GRN de la MINI, Tout est OK, en 3.3V et en 5V.

Donc que ce soit en 3.3V ou 5V, ces deux modèles fonctionnent, l'un avec le DTR, l'autre avec le RTS.
Les deux utilisent des FTDI FT232RL, bien connus.

Si tu es pressé tu peux le commander ICI, en Amazon Prime, mais plus cher.

@+

je ne comprend pas pourquoi si l'alimentation se fait par la batterie, il faut un convertisseur 3.3V ou supportant les 2.
le convertisseur sera alimenté par la prise usb non ?
a moins que ce soit la carte arduino qui alimente le convertisseur ?
Je compte retirer la broche VCC du programming header, et obstruer la broche du connecteur dupont correspondante pour faire un détrompeur. Mais je pars du pincipe que la carte est alimentée par la batterie et convertisseur par la prise usb.

sur ma MINI, j'ai pas de GRN. A la place où ça devrait etre j'ai GND, une erreur d'écriture ?