pro mini avec batterie 3.7v

Bonjour,
Je suis légèrement désappointé. J’ai un projet avec une pro mini 3.3v. La carte reçoit les valeurs de 3 capteurs, envoie les données par un module bluetooth (JDY-08) qui fonctionne en 3.3v en allumant la led 10 ms, puis se met en veille pendant 4 secondes. Tant que la valeur du premier capteur est supérieure à une certaine valeur, le cycle se répète.
Dans le cas contraire, je coupe l’alimentation de la carte. Pour relancer la carte, il faut appuyer sur un interrupteur. Le circuit pour gérer l’alimentation de la carte a été récupéré ici.
Jusque-là tout va bien ! Maintenant, je veux alimenter mon montage avec une batterie lipo 3.7v 1000mAh et pour pouvoir recharger la batterie, je la relie à un powerboost 500 charger de chez Adafruit. En sortie, je récupère du 5v qui alimente la carte via la pin RAW. Voici le montage en pièce attachée (le module bluetooth n’est pas représenté)

Et le code

#include <LowPower.h>
#include <SoftwareSerial.h>
#include <Vcc.h>

SoftwareSerial btSerial(11, 10); // TX | RX

#define LED_PIN 12
#define PWR_OFF_PIN 5
#define TOTAL_ALIM 3
const int alim[] = {6, 7, 8};
#define TOTAL_SENSOR 3
const int sensor[] = {A0, A1, A2};
#define wakeUpHM 4 //P00
#define atCmd 3 //P01

int valeur = 0;
int AnalogVals[9];
String str = "";

const float VccCorrection = 5.4/3.3;  // Vcc mesurée divisée par Vcc rapportée par la carte
float vVCC = 0.0;
Vcc vcc(VccCorrection);

void setup() {  
  btSerial.begin(57600);

  // Toutes les I/O  à low
  for (int i = 0; i < 20; i++) {
    pinMode(i, OUTPUT);
  }

  // Place les broches d'alimentation à LOW
  for (int8_t i = 0; i < TOTAL_ALIM; i++) {
    digitalWrite(alim[i], LOW);
  }

  // Place les broches ADC en entrées
  for (int8_t i = 0; i < TOTAL_SENSOR; i++) {
    pinMode(sensor[i], INPUT);
  }
  delay(1000);
}

void loop() {
  for (int8_t x = 0; x < TOTAL_ALIM; x++) {
    alimOff();
    digitalWrite(alim[x], HIGH);
    delay(5);
    for (int8_t y = 0; y < TOTAL_SENSOR; y++) {
      valeur = analogRead(sensor[y]);
      AnalogVals[(x * 3) + y] = valeur;
    }
    digitalWrite(alim[x], LOW);
  } 

  if (AnalogVals[0] < 50) {
    digitalWrite(PWR_OFF_PIN, HIGH);
  } else {
    str = "";
    for (int8_t i = 0; i < 9; i++) {
      str = str + AnalogVals[i] + "/";
    }
    vVCC = vcc.Read_Volts();
    digitalWrite(wakeUpHM, HIGH);
    digitalWrite(atCmd, HIGH);
    str = str + (String)vVCC;
    btSerial.println(str);
    delay (100);
    digitalWrite(atCmd, LOW);
    char* cmd = "AT+SLEEP";
    btSerial.write(cmd);
    delay(100); 
    digitalWrite(atCmd, HIGH);
    LowPower.powerDown(SLEEP_4S, ADC_OFF, BOD_OFF);    
    digitalWrite(wakeUpHM, LOW);
    digitalWrite(LED_PIN, HIGH);
    delay(10);
    digitalWrite(LED_PIN, LOW);
  }
}

void alimOff() {
  for (int8_t i = 0; i < TOTAL_ALIM; i++) {
    digitalWrite(alim[i], LOW);
  }
}

Et là, ça fonctionne moins bien. Le comportement semble erratique. Quelque fois cela fonctionne correctement, quelque fois, j’ai une données toutes les secondes (comme si la mise en veille ne se faisait pas), quelque fois led du pin 13 (celle de la carte) s’allume à la place de la led de la pin 12 !
J’ai essayé en passant par une alimentation externe de labo. Tout fonctionne correctement jusquà 5v. A partir de 4.9v, ça merdouille. Sur la datasheet, la pro micro est censée fonctionner entre 3.35 et 12v. J’ai dû raté quelque chose.
Sans réellement comprendre pourquoi cela ne fonctionne pas, je me dis que je vais alimenter mon montage avec une batterie en 7.4v, mais cela devient compliqué pour assurer la recharge de la batterie.
Une explication, une aide serait la bienvenue !
Merci

Bonsoir

Ton alim de labo a sans doute un régale de limitation de courant. régale trop bas ?

Valeur mini sur RAW : la pro Mini d'origine (Sparfun) a un bon régulateru 'Low drop' de marque Micrel, ce régulateur a besoin de 3,5 V mini pour fonctionner. Il est étonnant qu'une doc indique que RAW peut descendre à 3,3V en entrée d'un régulateur linéaire devant sortir 3,3V

Si ta 'Pro mini 3V 8MHz' est une clone qui sait quel modèle de réglateur 3,3V a été mis en place pour baisser les coûts. les clones sreproduisent en général à peu près les schémas, pas nécessairement les listes de composants (BOM) ce qui peut donner des caractéristiques finales 'décalées'

Si ton vendeur gère mal ses références il t'aura peut être envoyé , comme cela m'est arrivé, un lot de Mini Pro 5V 16MHz.... qu'Aliexpress m'a remboursé pour non conformité avec l'annonce

Sur mon alim, j'ai fixé la limite à 400mA, ce qui est largement au dela de la limite de 150 mA que la pin RAW peut recevoir.
Le régulateur de tension est un 4A20 et le cristal est bien un 8MHz. Je pense sans me tromper bien avoir une pro mini 3.3v 8MHz, même si c'est un clone.
La question reste, pourquoi en dessous de 5V, cela fonctionne mal?

Oops! je me suis trompé dans le titre, il s'agit d'une pro mini! Je ne suis pas sur que cela change la conclusion de ce topic. Le régulateur de tension sur cette carte ne fait pas le job attendu. Existe t-il un moyen de contourner (simplement si possible) le problème en alimentant le montage autrement?

Salut

Pour faire suite aux remarques de pepe:

J'ai déjà testé des PRO MINI fonctionnant jusqu'à 2.7V.
Si à VIN=4.9V les tiennes décrochent cela veut dire que le régulateur 3.3V de ta carte est très en dessous des caractéristiques normalement attendues.

4A20 : cela ne me dit rien.

OUI, il existe un moyen de contourner.
Personnellement quand j'alimente une PRO MINI avec des modules 3.3V à l'aide d'une batterie 3.7V je le fais via un régulateur 3.3V LDO de qualité, et ceci directement sur la broche VCC. Et j'alimente également le modules avec cette tension.
Deuxièmement je n'élève pas la tension de la batterie à 5V car cela ne sert à rien sinon consommer de l'énergie inutilement. J'utilise directement la tension de la batterie 3.7V, 4.2V à pleine charge.

On trouve des régulateurs LDO ayant un "voltage drop out" de 100mV.
Voir ICI tableau chapitre 2.

@+

Merci Pepe pour ces précisions.
Donc si j'ai bien compris je rajoute un régulateur de tension qui tiens la route pour alimenter directement la carte et les modules par le biais du Vcc. Par contre le powerboost permet aux utilisateurs (pas moi) de recharger la batterie facilement par le biais d'un cable usb

Il existe des chargeurs USB du type TP4056 qui sont capables de fournir 1A à une batterie LITHIUM-ION et disposent d'une sortie 3.7V et non pas 5V avec laquelle on peu alimenter un régulateur 3.3V digne de ce nom.

Personnellement c'est ce genre de chargeur que j'intègre à demeure dans mes montages ARDUINO PRO MINI.

@+

Bien sûr, et aussi la LED1. Sur le schéma on voit le strap à couper SJ1.

En éliminant le régulateur d'une PRO MINI, on gagne 75µA, ce qui n'est pas grand chose. Par contre on peut parfaitement imaginer qu'avec certains clones équipés de mauvais régulateurs on puisse économiser plus encore.
Le plus important reste néanmoins la LED et sa résistance de 10K, qui consomment donc 300µA.

@+

Merci pepe et henri pour vos réponses!
J'ai été voir ton site Henri, très instructif!
J'ai cependant quelque points à éclaircir...

On trouve des régulateurs LDO ayant un "voltage drop out" de 100mV.

Si j'ai bien compris plus un voltage drop out est bas, plus le régulateur sera précis même si la Vin et la Vout sont proches? Je pensais mettre un mic5202 mais à priori un LM2936 semble plus adapté puisqu'il permet d'utiliser au mieux la batterie. La limitation est le courant en sortie mais mon appli ne semble pas demandé plus de 20mA en activité.
Par contre, d'un point de vue technique, quel boitier me conseillez-vous? un SOT-223 ou bien TO92? Pour le CMS, est ce vraiment le même brochage que sur la carte? est-il plus prudent de déporter le régulateur à l'extérieur de la carte?
En admettant que je puisse ressouder un régulateur à la place de l'ancien, je devrais bien alimenter la carte à partir de la pin RAW, si il est déporté le Vout du régulateur alimentera la carte à partir de la pin Vcc?
Pour la charge de la batterie, comme tu me l'as indiqué Henri, je vais prendre ce modèle TP4056 Selon la doc chinoise (je sais ce que cela vaut maintenant), il y a une protection de décharge à 2.5v, est ce que cela signifie qu'en dessous de 2.5v, le circuit est coupé et que la batterie ne délivre plus de courant? Sachant que ma carte s'arretera avant (2.7v).
Désolé de vous bombarder de questions, mais cela fait déjà quelques jours que je galère sur ce projet...
Merci de votre aide!

Attention : le LM2936 fournit 50mA seulement. Je l'utilise beaucoup pour des montages consommant une trentaine de mA.
Si tu recherches un équivalent pouvant fournir 150 mA, tu as le HT7333-1, encore meilleur (dropout = 120mV)

Ces deux régulateurs ont un brochage incompatible avec celui du MIC5205.
Par contre il faudrait savoir exactement quel régulateur tu as sur ta carte. A partir de là, il sera possible ou non de le remplacer.

En admettant que je puisse ressouder un régulateur à la place de l'ancien, je devrais bien alimenter la carte à partir de la pin RAW, si il est déporté le Vout du régulateur alimentera la carte à partir de la pin Vcc?

Oui.

il y a une protection de décharge à 2.5v

Il est clair que la PRO MINI ne fonctionnera pas à cette tension, mais cela protège la batterie.
Batterie NIMH ou LITHIUM-ION à ZÉRO Volts = mort assurée.

Le TP4056 peut être installé de manière permanente entre la batterie et l'ARDUINO. Il consomme très peu sur la batterie. Il suffit de rendre le connecteur USB accessible (petite ouverture dans le boîtier par exemple).

Par contre il n'a pas de trous de fixation, c'est un peu gênant.
Mais comme en général je développe un PCB pour mes montages, ce PCB intègre l'ensemble des composants : PRO MINI, régulateur, modules, capteur, support de batterie, chargeur.

@+

ça commence à être plus clair dans ma tête. Par contre, impossible de trouver de la doc sur ce 4A20. Est ce possible de retrouver le brochage en le testant sur la carte?
Sinon, je passerais à la solution deportée...
PS: Comment fait-on pour mettre un sujet en résolu?

impossible de trouver de la doc sur ce 4A20

Idem pour moi. Une photo ?

Éventuellement mesurer les tensions sur les pattes. En déduire leur fonction : entrée, sortie, masse.
Certains régulateurs possèdent une patte d'ajustement. Ce sera plus difficile.

@+

Voici la photo du régulateur.

Désolé, mais je ne suis pas chez moi, c'est la seule que j'ai à dispo

Effectivement, le boîtier ressemble à celui d'un MIC5205.
Un LM2936 en boîtier SOT-223 ne pourra pas le remplacer.

@+

Bien vu Pepe!
Par contre, ce n'est pas fait pour me rassurer. Je vais tenter de changer de régulateur mais si ça merdouille encore, je pense que je vais me rabattre sur ce genre de carte C'est un peu plus cher, mais si cela peut m'éviter toutes ces galères!

Ouh, là, on vire sur de la géo-stratégie économique. Je suis tout à la fois d'accord et pas d'accord. Ma mésaventure prouve en partie que tu as raison sur la fiabilité des clones achetés en chine, et sur l'avantage de privilégier des circuits proches pour bénéficier d'un support ou d'un service après vente.
Maintenant, moi je fais des petits prototypes et le bas coût d'un développement est important. Il m'est arrivé d'acheter des cartes officielles mais il ne faut pas se leurrer, tous les composants sont fabriqués en chine. De plus, le prix des officielles est prohibitif. Il sert à payer le circuit logistique, les entrepôts (le chauffage, la lumière), le marketing...
Au lieu de se battre contre un état de fait, j'en profite comme le font les boutiques physiques proches de chez toi.
Pour soutenir une économie nationale, il aurait plutôt fallu que notre état ne brade pas le tissu industriel français (Alstom ou stx par exemple) et investisse réellement dans une transition énergétique.

Bon, nous sommes un peu loin du sujet initial du topic (quoique)!
Je vais garder le sujet ouvert pour l'instant et je vous tiendrai informé de la suite...
Un grand merci à toi et à Henri pour votre aide précieuse.

1 Like

Ce modèle ne respecte pas le schéma des cartes arduino officielles.
Car ce modèle ajoute une inductance entre Vcc et VccA.

Ce n'est pas génant car ce modèle respecte ainsi les préconisations du concepteur du micro Atmel :slight_smile:
Ce filtrage est la condition indispensable pour ne pas avoir de mesures analogique bruitées.

Autre point positif la séparation de E/S en deux groupes distincs :

  • le groupe des E/S uniquement numériques.
  • le groupe des E/S numériques avec possibilité entrées analogiques.
    Chaque groupe possédant son propre point de masse ce qui dans le cas d'utilisation de mesures analogiques évite de poluer la masse analogique par les courants dans la masse numérique.

Ce produit semble sérieux. Il est visiblement conçu par des personnes connaissant l'électronique.
Bien mieux conçu que les produit officiels. Je pense tout particulièrement au plan de brochage de la UNO est une horreur le sommum étant l'emplacement de la pin Aref et son routage dans la carte.

Maintenant je ne saurais dire si les 9,9 € (quid des frais de port et de la tva ?) sont justifiés par rapport aux cartes à moins de 3€ rendues dans la boite à lettres.

J'ai quelques clones chinois d'ARDUINO PRO MINI.

Ce modèle.
Régulateur marqué BBQG

En alimentant la carte par la pin RAW, le régulateur 3.3V décroche quand la tension sur RAW descend en dessous de 3.6V.
Ce qui donne une tension de drop-out de 0.3V
Le processeur décroche en dessous de RAW=3.03V. Sur VCC je mesure 2.74V.

Cet autre clone a un comportement étrange :
Régulateur marqué 4A2D : tiens tiens

En descendant la tension sur la pin RAW jusqu'à 3.3V VCC vaut 3.3V. Bizarre.
En dessous de 3.3V VCC = RAW, jusqu'à 2.72V.

Je donne ma langue au chat.
Et je n'ai rien bu.

@+

Tout cela est très intéressant, peut être même plus que des problèmes de régulateur qui font leur travail ou pas!!! Après, je ne sais pas si l'on peut continuer à en discuter dans ce topic parce que cela n'a plus rien à voir avec l'électronique, mais c'est très franchement politique. Si je te cite l'article 63 du TFUE (Traité sur le Fonctionnement de l'Union Européenne), est ce que cela te parle? Peut être en MP (je ne sais pas trop comment cela fonctionne)?

Un MOSFET en série. Effectivement, difficile d’obtenir ce résultat avec du bipolaire.

Il faudrait que zjbjbjbz fasse la même manip avec sa carte. J’ai l’impression que nous avons affaire à la même fabrication.

@+