Olá estou tentando utilizar o módulo GSM SIM800l com o Arduino UNO contudo não estou conseguindo enviar ou receber SMS nem efetuar ou receber ligações (no caso de receber ligações cai na caixa postal).
Alguns dados:
-CHIP OK, desbloqueado e apto a receber, efetuar ligações e enviar e receber SMS.
-Fonte de Alimentação: 12V 5A, em conjunto com um regulador LM2596 com saída ajustava em 4.04V
-Arduino UNO
-Antena de notebook.
Observações:
Ao ligar o módulo com o chip e antena conectados o LED do mesmo apresenta o seguinte comportamento:
-Pisca 7 vezes com intervalo de 1s, e apaga por cerca de 3 ~ 4s, volta a piscar 7 vezes com intervalo de 1s...
A programação utilizada:
-Já tentei alguns firmwares mais elaborados com bibliotecas para GSM e tudo mais, mas como não funcionava, utilizei para os testes mais básicos uma programação restrita a receber comandos AT.
//Programa: Comandos AT com o SIM800L
//Autor: Arduino e Cia
#include <SoftwareSerial.h>
//TX do SIM800L conectado ao pino 10
#define SIM800_TX_PIN 10
//RX do SIM800L conectado ao pino 11
#define SIM800_RX_PIN 11
SoftwareSerial serialSIM800(SIM800_TX_PIN, SIM800_RX_PIN);
void setup()
{
//Comunicacao serial para uso com o Serial Monitor
Serial.begin(2400);
while (!Serial);
//Comunicacao com o modulo SIM800L
serialSIM800.begin(2400);
delay(1000);
Serial.println("Envie o comando AT para o SIM800L...");
}
void loop()
{
//Mostra no Serial Monitor os dados enviados pelo modulo
if (serialSIM800.available())
{
Serial.write(serialSIM800.read());
}
//Envia os comandos AT para o modulo
if (Serial.available())
{
serialSIM800.write(Serial.read());
}
}
-O comando básico "AT" que retorna um "OK" funciona normalmente.
-Mas os comandos de envio de SMS e para efetuar ligações não funcionam.
-No caso do comando: "ATDP+NUMERO" (efetuar ligação) retorna o erro "NO CARRIER"
-O comando para verificar a velocidade em uso "AT+IPR?" que mostra a velocidade em uso retorna
"+IPR: 0".
Alguém poderia ajudar ?
Tags:
Opa man, então coloquei o capacitor não houve alterações, mas com o intuito de verificar as questões de corrente e tal fiz os seguintes testes:
-Medi a corrente que vai para o Módulo, enquanto ele pisca com intervalo de 1s ela está em torno de 500mA, quando ele apaga ela zera e instantes antes de voltar a piscar ela bate 700mA, e em seguida se estabiliza em 500mA, enquanto pisca.
-Fiz testes relacionados a fonte para conferir se a mesma consegue entregar 5A, por falta de recursos consegui consumir da fonte 3.6A, creio que a fonte consegue sim fornecer os 5A.
Obrigado pela atenção, mais alguma sugestão ?
Ele incia com a frase "Envie o comando AT para o SIM800L...", após mandar o comando "AT" ele retorna "OK", após um tempo ele retorna "Call Ready" e "SMS Ready". Percebi que quando o led está desligado no intervalo já mencionado ele não aceita os comandos AT...
Já testei outros sketch que iniciam fazendo um setup, e tudo mais, e outro que aparece dois OK's seguidos, mas em todos os sketchs testados não há envio nem recebimento de sms ou ligação...
Se ele está assim, é certeza que a corrente para ele está baixa, quando ele dá o pico dos 2A algo derruba a tensão e ele reinicia.
Eu tenho vários projetos (não são projetos de hobbista, são projetos que estão em funcionamento),que alimento um circuito inteiro, com uma fonte de 5V de 250mA, e uso o capacitor de 1000uF para "segurar a tensão" durante o starte, uso apenas um diodo para reduzir dos 5V para os 4.4V e funciona bem aqui.
Opa, vou tentar aqui colocar o capacitor de 1000uF , em paralelo com o Módulo.
Assim que possível trago os resultados, obrigado pela atenção.
AT é comando de RESET do módulo
Com esse programa de echo para o terminal, há repetição do
"Call Ready" e "SMS Ready"?
Se sim, ele não reiniciando, ele apenas vai receber comandos quando tiver conseguido estabelecer comunicação com a rede e ficar piscando apenas em intervalos regulares.
Sim há repetição do "Call Ready" e "SMS Ready".
Então no caso ele não recebe os sms ou envia, e ligações, por causa da indisponibilidade de se comunicar com a rede ?
Isso, quando ele está tentando comunicar com a ERB para estabelecer a comunicação é o quando ele puxa mais corrente, pois nesse momento a autenticação é feita com a máxima potência e no modo analógico, depois de estabelecida a conexão ele vai tentar sair do sistema TDMA para 3G-4G que consome menos energia para a comunicação.
Quanto a sua medição de corrente, você estabilizou ela em 4.4V , o que você precisa testar é no momento que ele chega a 700mA se a tensão não cai para menos que os 3.6V que ele precisa para se manter. Eu perdi quase um mês para chegar numa solução para o problema, nunca consegui fazer ele funcionar alimentando diretamente do Arduino, mas com o arduino na USB e uma fonte de 250mA eu faço ele funcionar, por isso do capacitor de 1000uF
Inclusive uso um 7805 de 1A max, para reduzir de 250mA a fonte 12 para 5V.
ok, o AT é reset do modulo
vc da um AT
e ele volta a dar o call ready e o SMS ready novamente?
a velocidade do serial monitor está em 2400, e numa hora aparece uns caracteres estranhos, tente setar para 9600
Esse ATDP é para "discar" no modo dados. De modem para modem.
Tente "discar" no modo voz.
ATD0119...;
Digo, termine com o ";".
AT+CSQ
http://m2msupport.net/m2msupport/atcsq-signal-quality/
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por