SIM800L: No titilea al arrancar.

Buenas tardes, estoy armando un proyecto de una alarma, compre el módulo SIM800L, investigue y realicé la conexión de la imagen adjunta. Paso a explicarla brevemente:

Utilizo un chip de la compañía Tuenti en Argentina, le cargué saldo.

Al SIM800L lo alimento por otro lado, con un cargador de NOKIA que da una tensión de salida de 5,7 [v] y 800 [mA]. Como es una tensión mayor a la máxima que admite el módulo, mediante un STEP - DOWN bajo la tensión a 4,0 [V] y lo conecto a Vcc del módulo.

Luego el pin siguiente lo conecto a RESET del Arduino.
ARDUINO UNO SIM800L

RESET RST
D9 TX
D8 RX

Bien, el principal problema es que el módulo NO activa ni activó ninguno de sus leds en ningún momento. (Por lo que investigué los mismos indican que se conecto a una red).
Información: El módulo se mantiene caliente mientras recibe tensión indicando que está encendido.

#include <SoftwareSerial.h> //Incluimos la libreria Software Serial  
 

SoftwareSerial SIM800L(8,9); //Instanciamos el objeto SIM800L y le pasamos los parametros de los pines TX y RX  
String valor;  //Declaramos la variable de tipo String valor. 

void setup() {    
  pinMode(13, OUTPUT); //Declarar el pin 13 como salida.    
  Serial.begin(9600); //Inicializamos la primera comunicacion Serial.   
  SIM800L.begin(9600); //Inicializamos la segunda comunicacion Serial.   
  SIM800L.println("AT+CMGF=1"); //Vamos utilizar los SMS.   
  delay(100); //Delay de 0.1 sec    
  SIM800L.println("AT+CNMI=1,2,0,0,0"); //Configurar el SIM800L p/ que muestre msm por com. serie.  
  } 

void loop() {   //Lograr que nos muestre lo que nos llega de mensaje por el monitor serial.   
  if(SIM800L.available()){      
    valor = SIM800L.readString(); //Guardar en la var valor el sms que recibe el Arduino      //Serial.println("Nuevo SMS: "+ valor); //Imprime ese SMS en el monitor Serial    }   
  }    
    if(valor.indexOf("ON")>=0){  //Si la var valor tiene la palabra ON hace esto:     
      digitalWrite(13, HIGH);    //Se enciende el pin 13.     
      Serial.println("LED encendido");  //Immprime el mensaje      
      delay(15000);   }
      
      else{      digitalWrite(13, LOW);    //Se apaga el pin 13.     
      Serial.println("LED apagado");  //Immprime el mensaje     
      delay(15000);       
      }     
      }

Necesitás una fuente de 2A para que el SIM800L trabaje como debe.

Saludos

Por favor avísame si logras hacerlo funcionar, puntualmente no dudo que funcione con SMS, mi consulta tiene que ver si logras enviar/recibir datos para lo cual hay que conectarse al APN correspondiente.

No veo que hagas el ciclo de PowerKey en el setup de tu código, toda placa Sim normalmente lo requiere.
En la serie de pines a la derecha hay alguno con dicho nombre?

To automate the startup of sim800/sim900 module just keep the pwrkey shorted to ground always. As the supply will be provided modem will be on.
// Mi traducción
Para automatizar el arranque de los módulos SIM800/SIM900 solo mantener siempre el pin Pwrkey unido a negativo (gnd). Como se proporcionara suministro, el modem estará encendido.

Pinout (bottom side - right):
NET - antena
VCC - 5 [v] y 0,8 [A], Buscaré una fuente que me suministre mayor intensidad de corriente.
RESET - reset
RXD - serial communication
TXD - serial communication
GND - ground

Pinout (Izquierda):
RING (not marked on PBC, first from top, square) - LOW state while receiving call // Algo relacionado con el ringtone me parece. Corriganme si no es así.
DTR - sleep mode. Default in HIGH state (module in sleep mode, serial communication disabled). After setting it in LOW the module will wake up. // Modo sueño.
MICP, MICN - microphone (P + / N -) // Microfono
SPKP, SPKN - speaker (P + / N -)// Altavoz

¿Cuál es el pin de PowerKey?

He encontrado que utilizan el siguiente AT para arrancar
AT+CPOWD=0

Ahora intentaré mandar dicho cmd mediante el Arduino.

Los mantengo informados, y gracias por la pronta respuesta.

Voy a intentar de ir paso a paso probando las soluciones y luego comentaré aquí cuando logre hacerlo funcionar. Un gran abrazo a ustedes.

Primera modificación:

Cambie la fuente, ahora utilizo una SAMSUNG que da una salida de 5,0 [V] y 1,55[A]. NO hubo éxito, el módulo no encendió el LED.

Cargué el siguiente programa para probar con comandos AT, al iniciar realiza una comunicación para ver el estado del módulo, NO realiza comunicación.

El módulo calienta.

#include <SoftwareSerial.h>

//Create software serial object to communicate with SIM800L
SoftwareSerial mySerial(3, 2); //SIM800L Tx & Rx is connected to Arduino #3 & #2

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

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

Serial.println("Initializing...");
delay(1000);

mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
updateSerial();
mySerial.println("AT+CSQ"); //Signal quality test, value range is 0-31 , 31 is the best
updateSerial();
mySerial.println("AT+CCID"); //Read SIM information to confirm whether the SIM is plugged
updateSerial();
mySerial.println("AT+CREG?"); //Check whether it has registered in the network
updateSerial();
}

void loop()
{
updateSerial();
}

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

Segunda modificación:

Utilice el mismo código y fuente, cambie el chip coloque uno de la compañia Claro, del celular de mi abuela, NO hubo éxito, el módulo sigue sin mostrar encendido de LED ni comunicación serial al arduino.

NOTA: las conexiones las realice según el siguiente articulo https://descubrearduino.com/sim800l-gsm/

Puede ser en tu caso. Yo tengo un módulo con el POwerKey cableado.
Debe hacer la secuencia de 1 seg en Low luego HIGH luego low.
Esta en el manual, pero veo que tu caso es mas simple.

Avisame si llegas a intenntar conectarte al APN de Tuenti.

Entendido señor Surbyte, esta tarde intentaré con un powerbank que me facilitará mi hermano de 2,4[A] máx. Por lo que me dijeron en las clases de Electrónica, no pasa nada si es mayor la intensidad a la que requiere el circuito porque el mismo solo le "pedirá" a la fuente la intensidad de corriente que necesite (En este caso algunos picos de 2[A], los mantengo al tanto. Y con respecto al APN de Tuenti. No sé que es pero ni bien arranque el módulo investigaré ello. Gracias.

Una cosa es recibir y enviar mensajes SMS que es lo que estas haciendo vos, y otra es enviar datos a algun sitio.
Para enviar o recibir datos, tienes que conectarte a la red.
Supongamos que tienes un sensor y deseas enviar ese dato cada X min a un servidor en ThighSpeak.
Eso lo puedes hacer desde plataformas con WIFI, con Ethernet cableado o bien via celular desde una plataforma como la que tienes.
A eso me refiero.
Te dejo otro link para que veas https://www.prometec.net/gprs-internet/.

:confused: Tercera modificación:
Lo he alimentado con el powerbank y sigue sin encender el LED en busca de alguna red.

Tengo un programa más a fondo donde tiene las comunicaciones SMS, pero por el momento quiero hacer que el módulo funcione correctamente y se acople a una red.

Hi,
Mirando como tienes alambrado el Arduino al SIM800L tienes un problema ya que estas conectando el RX del SIM800L directamente al Arduino y no puedes hacerlo ya que los pines del SIM800L son de 3.3 voltios.Si conectas el pin del Arduino directamente puedes quemar el SIM800L. Adjunto un link que explica como conectar el SIM800L al Arduino usando un divisor para el pin de RX del SIM800L

Ojo, Rx y Tx son de 2.8V no de 3.3V, menos aún de 5V. (pag. 30 de la hoja de datos)
Tx puede ir directamente al Rx del arduino, pero el Rx de la placa necesita adaptarse, como mínimo con un divisor de tensión, porque no soporta los 5V (o 3.3V) de la salida Tx del arduino..

Te aclaro algo porque creo que no le das la importancia necesaria, no son "algunos picos" de 2A, son ráfagas de picos de 500 useg. cada 5 mseg., parece nada pero no lo es y si durante los picos la fuente cae de 3.0V el módulo se apaga.
Todo está explicado con lujo de detalles en la hoja de datos.

Saludos

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