SIM800L qui se reset seule

Bonjour,

Je ne suis pas sûr que le problème vienne du reset, voila ce que j’ai compris. J’ai un SIM800L avec une carte SIM SFR (j’ai essayé avec Bouygues mais meme probleme). Connecté à un arduino UNO selon les brochages disponibles sur le suite suivant : https://lastminuteengineers.com/sim800l-gsm-module-arduino-tutorial/ (avec en plus un condensateur 7400microF en plus entre l’alim et le GND (idée qui vient de ce site http://f6kfa.fr/wp-content/uploads/2017/12/Commandes_AT_SIM800.pdf )). J’ai essayé l’alimentation en 12V 2A, 2 x batterie 18650 4V 2600mAh branchées en parallèle. Accessoirement j’ai connecté cette antenne mais le problème est présent avec ou sans l’antenne.

Mon problème est le suivant quand je lance différentes commandes d’état ça passe à peu près bien
( AT, CREG , COPS …) mais quand je lance des commandes relatives à l’envoi de messages telle que AT+CPIN=XXXX j’ai bien les messages de confirmation ("+CPIN : READY", “Call ready”, “SMS ready”) mais si je lance un AT+CPIN? juste apres (1 seconde) j’ai toujours +CPIN : READY mais si j’attends quelques secondes de plus la carte SIM se reverrouille ("+CPIN : SIM PIN")

Vous remarquerez le point d’interrogation à la fin de la commande AT+CPIN=5123 qui est généré par le module SIM800L. Je suspectais un problème d’alimentation donc j’en ai testé plusieures mais meme resultat. Quand je mets un amperemetre dans le circuit (en série) j’ai une pointe à 0.1 A mais il n’est pas des plus precis et je n’ai pas d’oscilloscope.

Si quelqu’un à déjà eu ce problème ou connaît la solution, j’en serai ravi.

AT
OK

AT+CPIN?
+CPIN: SIM PIN

OK
AT+CPIN=5123
OK
+CPIN: READY

Call Ready


⸮AT+CPIN?
+CPIN: SIM PIN

OK

J’écris dans le moniteur série mes commandes? Ce code ne sert qu’à échanger les informations.

#include <SoftwareSerial.h>

//Create software serial object to communicate with SIM800L
//SoftwareSerial gsm(3, 2); //SIM800L Tx & Rx is connected to Arduino #3 & #2
SoftwareSerial gsm(10, 11); //SIM800L Tx & Rx is connected to Arduino #10 (as RX) & #11 (as TX)

String SIM_PIN_CODE = String( "9996" );

void setup()
{
  //Begin serial communication with Arduino and Arduino IDE (Serial Monitor)
  Serial.begin(9600);

  //Begin serial communication with Arduino and SIM800L
  gsm.begin(9600);

  Serial.println("Initializing...");
}

void loop()
{
  char tmp;
  String cmd = "";

  while (!Serial.available()) {
    delay(100);
  }

  while (Serial.available()) {
    tmp = Serial.read();
    cmd += tmp;
  }

  if (cmd == "UP") {
    updateSerial();
  }
  else {
    gsm.println(cmd);
    updateSerial();
  }
}

void updateSerial()
{
  delay(300);
  while (Serial.available())
  {
    gsm.write(Serial.read());//Forward what Serial received to Software Serial Port
  }
  while (gsm.available())
  {
    Serial.write(gsm.read());//Forward what Software Serial received to Serial Port
  }
}

Essayer après avoir désactivé le code PIN , c'est en général ce qu'on fait les uns et les autres

Ne pas tenir compte du courant moyen mesuré à l'ampèremetre, il ne peut rendre compte des pics de courants intense pouvant atteindre 2A lors de la connection au réseau

ne pas faire fonctionner sans antenne, il en faut une pour ne pas risquer de détruire l'émetteur

perso avec une alimentation par accu Lion + condensateur de 4700µF je n'ai pas eu de problème avec cette petite carte rouge... à part avec une carte SIM défectueuse consommant trop , refusée par presque tous les téléphones

J'ai essayé avec la commande AT+CPIN=5123 puis AT+CLCK="SC",0,5123 mais ça me retourne ERROR

désactiver le code PIN en mettant la carte dans un téléphone , puis rééssayer dans la carte à SIM800L, au moins ça éliminera le code PIN comme source éventuelle de problème et on retombera dans l'utilisation que nous faisons en général des SIM800L

J'ai supprimé le code PIN et j'ai remis la carte dedans. Commande AT ok mais commande AT+CPIN? marche une fois et après j'ai le point d'interrogation quelque soit la commande que je tape (et pareil l’ampèremètre monte vers 0.1 A et redescend après).

UPDATE :
ça marche en fait le problème est une conjonction de 2 problèmes :
1 - l'alimentation qui avant n'etait pas suffisante
2 - l'amperemetre qui est en fait defectueux est qui ne monte pas au-dessus de 0.1 A

Merci al1fch pour l'aide

l'alimentation c'est crucial pour tous les modules radio un tant soit peu puissants (SIM800, ESP en WiFi....)
)
Ils ont de brefs besoins très importants, un gros condensateur soudé au ras du module permet en général de pallier la latence des alims régulées, y compris celle des grosses alims de labo.

Et bien entendu un ampèremètre en série fait chuter plus ou moins la tension aval

Pour le condensateur, 4700uF te semble une valeur trop faible ou au contraire je peux diminuer ?

j'ai fait venir un stock de 4700µF 10V pour tous ces usages et ça fait le job

Les petits creux de la tension d'alimenattion, vus à l'oscilloscope, sont d'une centaine de mV dans le pire des cas (première connection à une antenne éloignée)

je les soude au plus près des bornes d'alimentation des modules

Merci des conseils

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.