Go Down

Topic: SIM800L não responde (Read 3417 times) previous topic - next topic

LeonildoAlbani

Dec 12, 2015, 12:40 am Last Edit: Dec 12, 2015, 01:07 am by LeonildoAlbani
Boa noite pessoal.
Vergonhosamente meu primeiro post é para pedir ajuda e não para ajudar.
Mas espero poder ajudar algumas pessoas daqui para frente :)

Estou com um problema há semanas já com um módulo GSM SIM800L.
* Nem o módulo e nem o Arduino (Uno) que tenho são originais. $e é que me entendem.

Bom, tentei vários tópicos semelhantes mas o máximo que consegui chegar é a resposta:
Code: [Select]
AT%13%
Essa resposta vem depois da chamada do método
Code: [Select]
begin(9600)

O esquema de ligações é simples:
--> TX do módulo no pino 2 do Arduino Uno
--> RX do módulo no pino 3 do Arduino Uno
--> GND do módulo no negativo da bateria
--> VCC do módulo na positivo da bateria

Meu módulo é igual a esse:
http://mlb-s1-p.mlstatic.com/arduino-kit-sim800l-gprsgsm-quad-band-446301-MLB20321520409_062015-O.jpg

O mais estranho é que quando tento ligar para o chip sem ligar o módulo, vai para caixa postal (óbvio hehe). Mas quando tento ligar depois de aguardar alguns segundos após ligar o módulo, chega até a tocar.

A alimentação que estou usando é uma bateria de celular de 3.7V (e tensão máxima de 4.2V) e corrente de 2000mAh.
Testei a tensão no multímetro e está mesmo com 3.7V.

Serei muuuito grato caso alguém consiga me ajudar.

luisilva

Uma imagem não diz muito sobre um módulo. Conclusão: Alguém terá que perder tempo a procurar as características desse módulo para o poder ajudar.
Qualquer coisa que tenha unidade mAh, não se refere a correte, mas sim a capacidade (se não, não tinha o "h").
Já tentou ligar o módulo directamente ao PC (sem passar pelo Arduino)? Os problemas podem ser vários, desde as ligações até à alimentação do módulo, passando pelas mensagens que está a enviar. Não reconheço a mensagem "AT%13%", a menos que esse "%13%"seja o caracter com código ASCII 13, mas sendo assim, será que o Arduino entende isso e consegue executar correctamente?

LeonildoAlbani

Opa! Obrigado pela resposta.

Qualquer coisa que tenha unidade mAh, não se refere a correte, mas sim a capacidade (se não, não tinha o "h").
Me desculpe, sou leigo em algumas coisas e termos :)


Alguém terá que perder tempo a procurar as características desse módulo para o poder ajudar.
Tenho algumas especificações, talvez ajude:

Code: [Select]

SIM800L is a complete Quad-band GSM/GPRS solution in a LGA type which can be embedded in the customer  applications.  SIM800L support Quad-band 850/900/1800/1900MHz, it can transmit Voice, SMS and data information with low power  consumption. With tiny size of 15.8*17.8*2.4 mm, it can fit into slim and compact demands of customer design.

 

General features

•Quad-band 850/900/1800/1900MHz

•GPRS multi-slot class 12/10

•GPRS mobile station class B

•Compliant to GSM phase 2/2+

- Class 4 (2 W @ 850/900 MHz)

- Class 1 (1 W @ 1800/1900MHz)

•FM: 76~109MHz worldwide bands with 50KHz  tuning step

•Dimensions: 15.8*17.8*2.4 mm

•Weight: 1.35g

•Control via AT commands (3GPP TS 27.007, 27.005 and SIMCOM enhanced AT Commands)

•Supply voltage range 3.4 ~ 4.4V

•Low power consumption

•Operation temperature:-40°C~85°C

 

Specifications for GPRS Data

•GPRS class 12: max. 85.6 kbps (downlink/uplink)

•PBCCH support

•Coding schemes CS 1, 2, 3, 4

 •PPP-stack

•CSD up to 14.4 kbps

•USSD

•Non transparent mode

Specifications for SMS via GSM/GPRS

•Point to point MO and MT

•SMS cell broadcast

 •Text and PDU mode

 

Software features

•0710 MUX protocol

•Embedded TCP/UDP protocol

•FTP/http

•MMS

•E-MAIL

 •DTMF

 •Jamming Detection


Já tentou ligar o módulo directamente ao PC (sem passar pelo Arduino)
Não pois imagino que isso iria queimá-lo. Mas a alimentação dele não é com o Arduino, mas sim com a bateria. E mesmo sem conectar o módulo ao Arduino, o número chama quando ligo para ele.

passando pelas mensagens que está a enviar
Não chego a tentar enviar pois o módulo da problema logo no begin (apenas retorna este código) e se tento enviar algo para ele depois disso, ele não responde.

bubulindo

Experimenta enviar o codigo AT para o modulo e ve se a resposta e OK.

Se o modulo toca quando ligas para ele, e sinal que pelo menos tem alimentacao. Falta agora saber como esta ligado e que modulo e esse.

Estas a usar a porta serie de software? que biblioteca, se alguma, estas a usar para comunicar com o modulo?
This... is a hobby.

arssant

Viva.

Passa por aqui:

https://forum.arduino.cc/index.php?topic=337710.0

Pode ser que ajude.

LeonildoAlbani

Boa tarde!

Experimenta enviar o codigo AT para o modulo e ve se a resposta e OK.
Experimentei e não retornou nada. Até por que o begin dele já retorna aquele código "AT%13%" e pelo que pesquisei deveria retornar muitos mais dados para que a conexão fosse bem sucedida (posso estar errado quanto a isso).

Estas a usar a porta serie de software? que biblioteca, se alguma, estas a usar para comunicar com o modulo?
Estou usando a SoftwareSerial.h para isso. Tentei usar uma biblioteca, mas não obtive sucesso. Se tiver algum exemplo de algum que já utilizou e sabe que funciona, isso pode ser muito útil :)

LeonildoAlbani

Boa tarde arssant.
Viva.

Passa por aqui:

https://forum.arduino.cc/index.php?topic=337710.0

Pode ser que ajude.
Sim, passei por esse post, tanto que foi lá que me informei que o Arduino não conseguia alimentar o módulo e para isso utilizei a bateria conforme citado.

Vou tentar fazer de novo o código que o vlada0 citou.

LeonildoAlbani

Vou tentar fazer de novo o código que o vlada0 citou.
O módulo não responde ao comando AT arssant, na verdade não responde a nenhum comando.
Tentei inclusive inverter os fios de TX e RX, pois no código que tu citou o cara falou que é para ligar conforme o código, aí no primeiro comentário fala para colocar o TX no pino 10 e o RX no 11 e depois inverte isso.

Nem de uma, nem de outra forma funcionou :(

williamcarpeggiani

Bem, não sei se você ainda está utilizando este módulo GPRS, ou deu sequência no projeto, mas eu tive "problemas" iniciais com o uso deste módulo.

Primeiramente, no meu projeto, não utilizei o arduino, e sim uma placa que eu mesmo fiz com o chip avr atmega328p programado em C puro. Basicamente isso não influi em um problema, pois o funcionamento é praticamente o mesmo, só muda a programação.

Seguindo então, tinha este problema, o módulo ligava porém não conseguia realizar nenhuma transmissão, até que então, varrendo os datasheets do módulo, encontrei uma solução.

O módulo GPRS Sim800l no meu caso, é CMOS, saindo uma tensão de 3,3V aproximadamente dos pinos TX e RX. Sendo assim, é necessário realizar um circuito para equalizar o nível de tensão, para que a USART se comunique corretamente com o microcontrolador (ou arduino) no seu caso.

Os pinos RX e TX, devem ser ligados inversamente, com certeza. RX do módulo no TX do arduino, e vice versa.

O circuito que citei, está representado na página 32 do datasheet, no link a seguir.

https://www.seeedstudio.com/wiki/images/4/46/SIM800L_Hardware_Design_V1.00.pdf

hugo007

#9
Aug 03, 2016, 05:00 pm Last Edit: Aug 03, 2016, 05:18 pm by HugoPT
Boas

Se tiveres algum conversor USB/Serie tipo ftdi232 o mais fácil é tentares nao meter o arduino para ja ao "barulho" e tentares fazer as operações básicas no modem com o pc(ligar, desligar chamada, enviar sms ...)
Para tal basta ligares o teu modem com este conversor USB e ligares no teu PC diretamente.
Depois podes usar isto:
http://m2msupport.net/m2msupport/module-tester/ para enviares comandos AT diretamente para a porta serie que o teu conversor "ganhou" no windows ou no linux,mac ...
Podes também usar o putty, terraterm, gtk-term ou outro qualquer cliente de hiperterminal para fazeres essa operação.
Quando tiveres a realizar as operações básicas com o modem ai podes ligar ao arduino e tentar repetir os mesmos.
Nota que a fonte deve conseguir fornecer alguma currente pois o modem quando em transmissão ou receção  faz pedidos  de currente que se nao tiver disponivel pode resetar o modem.
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

sergiotux

Amigo, já resolveu seu problema?
Comecei a utilizar um desses hoje e também tive algumas surpresas.

Se a voltagem estiver abaixo de 3,7v ou acima de 4,5 ele não funciona.
Ele liga avisa que está fora e desliga.

Outra coisa...qando vc liga o led acente?
Ele deve ficar piscando.

abaços.

dmendonca

Ola, eu estou com o mesmo problema, ainda não saquei o que pode ser, mas encontrei inúmeros tutoriais para ajudar com esse modelo. Os que mais chegaram perto foram:

http://www.2150692.ru/faq/46-sim800l-arduino

http://www.belajarduino.com/2016/06/sim800l-control-relay-4-channel-with.html

No meu caso já tentei com o Mega 2560 e o nano. Nenhum dos dois responde aos comandos AT, etc.

Tentei ligar para o numero, mesmo com o led piscando, foi caixa postal.

Estou usando uma bateria da samsung, já tentei também a lance dos diodos 1n4007 no VCC de 5v e nada...

Alguém tem mais alguma ideia?

alanrgon

Boa tarde;

Não li todos as respostas. Se alguém tiver resolvido, desculpem pela duplicidade.

Seguinte, o módulo deve ser alimentado com 4.1v, eu uso um regulador de tensão. Não esquecer de conectar o terra do regulador no terra do Arduino.

O chip é inserido com o chanfro para a parte superior (para fora).

Os cabos TX e RX vão conectados no 10 e 11 e no caso do MEGA eu uso a Serial1 (TX1 e RX1)

O módulo pisca rapidamente se não consegue conexão com a operadora e quando estabelece a conexão ele pisca uma vez a cada 3 segundos.


#include <SoftwareSerial.h>

SoftwareSerial serialGSM(10, 11); // RX, TX

SoftwareSerial serialGSM(Serial1); // Arduino Mega


zezeufab

Boa noite pessoa. Preciso de ajuda, estou iniciando minha brincadeira com arduino. Estou utilizando um módulo gsm Sim800l. Ele faz contato com o arduino uno, porem, sempre que recebe uma mensagem ou realizo algum comando AT, sempre retorna uns caracter estranho no meio. Tipo:? ou quadradinhos. Para funcionar tive que setar na porta SoftwareSerial 115200 e na porta da Serial 9600. Porem estou com esse problema.

Go Up