Ir ao conteúdo
  • Cadastre-se

Dúvida na criação de uma placa com o módulo GSM SIM900


Plateu

Posts recomendados

Olá geovanepc, você poderia me enviar a biblioteca(EAGLE) do modulo sim300d que utilizou em seu esquema ?

Obrigado.

Plateu, como você pode observar nesse circuito, ele não utiliza esse array, usa apenas os resistores de 22 R e alguns capacitores associados.

Como é uma placa Beta, fiz apenas com os capacitores mesmo, e não usei resistores de 22 R, usei de 33 R, motivo pelo qual, não encontrei em minha sucata, rsrsrsrsrsr.

É isso aí Plateu, boa sorte na montagem, lembre que a parte mais difícil do projeto é iniciá-lo, o restante é mais fácil.

Um forte abraço à todos.

Até mais.

Olá geovanepc, você poderia me enviar a biblioteca(EAGLE) do modulo sim300d que utilizou em seu esquema ?

Obrigado.

Link para o comentário
Compartilhar em outros sites

Boa noite Plateu, td bem?!

Eu montei o circuito todo no eagle em cima de todas informações que obtive e com a sua ajuda tambem, inicialmente eu so vou colocar o SIM900D para funcionar com o envio de SMS através do PIC, segue abaixo o circuito montado, se você puder por gentileza me dar um fedbeck sobre ele, dizer se desse jeito funciona eu fico muito grato, observe que a conversão de LVTTL para TTL eu não coloquei nesse esquema, pois vou colocar junto com a placa do microcontrolador...

Abraço.

Olá Renan, tudo certo?

Você pode enviar esta biblioteca do Eagle para a gente?

Link para o comentário
Compartilhar em outros sites

Olá Renan, tudo certo?

Você pode enviar esta biblioteca do Eagle para a gente?

Boa tarde Tiago, tudo certo...

Você não deixou bem claro qual a biblioteca que quer, porém suspeito que seja a do modulo SIM900D, correto?

Devido ao pouco tempo que me sobra,fiz a biblioteca do SIM900D correndo, no desenho não esta totalmente detalhado mais o que importa que são as medidas esta tudo certinho...

Só confirma pra mim se é isso mesmo que você quer, caso for mais tarde posto p você.

Abç.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Boa tarde Tiago, tudo certo...

Você não deixou bem claro qual a biblioteca que quer, porém suspeito que seja a do modulo SIM900D, correto?

Devido ao pouco tempo que me sobra,fiz a biblioteca do SIM900D correndo, no desenho não esta totalmente detalhado mais o que importa que são as medidas esta tudo certinho...

Só confirma pra mim se é isso mesmo que você quer, caso for mais tarde posto p você.

Abç.

Nesse fórum em Polonês eu já achei muita biblioteca do eagle. a Dica que eu dou a vocês é traduzir para inglês que fica perfeito para ler. Não traduzam para português pois não fica legal.

http://www.elektroda.pl/rtvforum/topic625711-1020.html

Baixei o arquivo SIMCOM.RAR que tem 6.79KB pois esse tem SIM300D, SIM900 e SIM900D.

Renan e Geovane, fiz mais uma placa agora com o SIM900D e fiquei com três dúvidas:

1) Qual a tensão de operação usada por vocês? Aqui estou usando 4.0v +-

2) No VRTC, como vocês fizeram? No meu aqui eu coloquei um capacitor de 470uF 16v.

3) Como fizeram com o esquema da bateria e do carregador de baterias que o SIM900D provê a partir dos pinos VCHG, TEMP_BAT?

Abração a todos.

Link para o comentário
Compartilhar em outros sites

Boa noite Pedro, tudo em ordem?!

Emfim consegui tirar as fotos pra você dar uma olhadinha como fico minha placa, a placa fico meio falhada porque acabo saindo fraco a impressao e na correria pra testar fiz meio sem capricho, mais pretendo fazer uma placa melhor mais pra frente...

[ATTACH]88091[/ATTACH]

[ATTACH]88092[/ATTACH]

O esquema que eu utilizei esta em anexo...

post-972854-13884962937326_thumb.jpg

Estou utilizando 4V que é a tensão normal de operação do SIM900D...

Com relação ao VRTC, eu deixei em aberto esse pino, não liguei nada nele, nem sei pra que serve srs...

Com a bateria tambem não utilizei Pedro, deixei os pinos a disposição porém sem uso inicialmente, se souber como utiliza-los peço que poste porque tambem tenho interesses...

Abç...

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Boa noite Pedro, tudo em ordem?!

Emfim consegui tirar as fotos pra você dar uma olhadinha como fico minha placa, a placa fico meio falhada porque acabo saindo fraco a impressao e na correria pra testar fiz meio sem capricho, mais pretendo fazer uma placa melhor mais pra frente...

[ATTACH]88091[/ATTACH]

[ATTACH]88092[/ATTACH]

O esquema que eu utilizei esta em anexo...

[ATTACH]88090[/ATTACH]

Estou utilizando 4V que é a tensão normal de operação do SIM900D...

Com relação ao VRTC, eu deixei em aberto esse pino, não liguei nada nele, nem sei pra que serve srs...

Com a bateria também não utilizei Pedro, deixei os pinos a disposição porém sem uso inicialmente, se souber como utiliza-los peço que poste porque também tenho interesses...

Abç...

Entendido, Renan.

No caso da bateria e da tensão padrão eu fiz o mesmo que você, deixei os pinos a parte e tenho 4v regulados. No caso do VRTC eu coloquei um capacitor de 470µF 16v mas suspeito que ele aguentaria suprir o sistema por no máximo 2 minutos.

O cálculo do capacitor a ser usado no VRTC é o seguinte:

· VRTC – The Starting voltage of the capacitor (Volt)

· VRTC_min – The minimum voltage acceptable for the RTC circuit. (Volt)

· IRTC (Ampere) – The current consumption of the RTC circuitery when VBATT = 0

· B_Time - Backup Time (Hours)

Capacitance = 3600 * (B_Time*IRTC)/(VRTC - VRTC_min)

Para durar 24 horas, teríamos que ter um capacitor de 0.25F, o que seria uma loucura.O lance é por a bateria reserva mesmo nos pinos relacionados (TEMP_BAT e VCHG) e tudo certo.

Link para o comentário
Compartilhar em outros sites

Boa tarde Tiago, tudo certo...

Você não deixou bem claro qual a biblioteca que quer, porém suspeito que seja a do modulo SIM900D, correto?

Devido ao pouco tempo que me sobra,fiz a biblioteca do SIM900D correndo, no desenho não esta totalmente detalhado mais o que importa que são as medidas esta tudo certinho...

Só confirma pra mim se é isso mesmo que você quer, caso for mais tarde posto p você.

Abç.

Olá amigo..

agradeço a atenção !

Era essa mesmo..baixei essa do site polonês, deve resolver meu problema, qualquer coisa entro em contato !..Estou desenvolvendo um Shield para Arduino com este módulo !!.. Caso alguém tenha interesse, veja os circuitos aqui:

http://www.instructables.com/id/Arduino-GSM-shield/step2/null/ e aqui

http://www.open-electronics.org/gsm-remote-control-part-6-gsm-module/

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Link para o comentário
Compartilhar em outros sites

Você está desenvolvendo com o SIM900 ou SIM900D?

Se for com o SIM900 e ainda não o tiver comprado, te sugiro comprar o SIM900D pois o espaçamento entre os terminais dele é bem maior do que no SIM900 e isso facilita e muito a soldagem.

Algumas fotos do meu projeto com o SIM900D:

31052012496.jpg

31052012500.jpg

31052012501.jpg

Comprei o D mesmo ! por isso não estava achando a biblioteca..tinha encontrado apenas para o 900 !! Ficou bacana a placa..assim que terminar a minha posto umas fotos por aqui !

Link para o comentário
Compartilhar em outros sites

Boa tarde Pedro,

Segue ai as fotos que tentei postar antes e não abriu, ainda vou melhorar essa placa, pois fico bem zuada...

Eu pretendo desmontar essa e fazer uma menorzinha toda em smd, vai ficar mais bacana...

A minha também fico invertida, a única coisa q lembrei de inverter foi o LM350, mais a próxima ajeitamos tudo rsrs...

dsc00038hs.jpg

dsc00042a.jpg

Abço cara...

Link para o comentário
Compartilhar em outros sites

  • mês depois...

Boa noite Pedro td bem cara?

Depois de algum tempo estou aqui de volta com umas duvidas na programação.

- Eu quero receber uma mensagem sms do modem e interpreta-la pelo pic para q o mesmo venha a executar uma determinada tarefa, porém nao consigo de jeito nenhum fazer o pic armazenar a mensagem correta na memoria...

sera que você teria como dar uma forcinha nessa questao?

Abç;

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Boa noite Pedro td bem cara?

Depois de algum tempo estou aqui de volta com umas duvidas na programação.

- Eu quero receber uma mensagem sms do modem e interpreta-la pelo pic para q o mesmo venha a executar uma determinada tarefa, porém nao consigo de jeito nenhum fazer o pic armazenar a mensagem correta na memoria...

sera que você teria como dar uma forcinha nessa questao?

Abç;

Não me lembro exatamente agora qual era o comando AT para leitura de SMS mas basta você executá-lo que o SIM900D jogará no TX da serial a mensagem completa. Feito isso, basta você fazer um parse sobre a mensagem enviada de forma a separar o corpo da mensagem do restante (cabeçalhos e demais campos).

Qualquer coisa é só falar.

Abraço,

Pedro Rosa!

Link para o comentário
Compartilhar em outros sites

Fala Pedro,

- Então o comando AT é o AT+CMGR=1, onde o "1" é a posição da mensagem no SinCard...

- O meu problema é conseguir interpretar o que o SIM900D envia para o PIC pela serial, eu estou fazendo programas de teste para capturar o que o SIM manda para o pic, mais nao obtive sucesso.

- Desabilitei o eco e nada, em meu programa peço p me mostrar o que o SIM900D respondeu para o PIC, mais so consigo pegar o primeiro comando de OK, dai p frente nada mais consigo guardar do que o SIM responde...

- Se tiver algum codigo de exemplo fico grato...

Abço.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Fala Pedro,

- Então o comando AT é o AT+CMGR=1, onde o "1" é a posição da mensagem no SinCard...

- O meu problema é conseguir interpretar o que o SIM900D envia para o PIC pela serial, eu estou fazendo programas de teste para capturar o que o SIM manda para o pic, mais nao obtive sucesso.

- Desabilitei o eco e nada, em meu programa peço p me mostrar o que o SIM900D respondeu para o PIC, mais so consigo pegar o primeiro comando de OK, dai p frente nada mais consigo guardar do que o SIM responde...

- Se tiver algum codigo de exemplo fico grato...

Abço.

Compreendido, Renan. Código eu ainda não fiz um decente, mas vou te dar uma dica de ouro que ajudará a ti. Siga os passos abaixo e depois poste as eventuais dúvidas.

1) Faça a ligação corretamente entre o barramento serial do SIM900D com o do PIC, ou seja, convertendo o sinal do SIM900D com um conversor de nível lógico LVTTL->TTL para o PIC.

2) Se você tiver um display LCD ou gráfico, implemente um programa simples que simplesmente escreva no display tudo o que for recebido na porta serial do PIC (pino RX).

Como por exemplo:

Usando o compilador CCS

lcd_gotoxy(1,1);

printf(lcd_putc);

3) Para testar ainda mais a veracidade do que está sendo enviado ao PIC, faça um sniffer no barramento serial entre o SIM900D e o PIC. O sniffer deverá ser conectado a um conversor de nível lógico LVTTL->TTL e posteriormente a um MAX232 e levado ao computador, no qual você usará o Hyperterminal ou o RComSerial para analisar o tráfego.

Tendo seguido os passos acima corretamente, você poderá perceber através do sniffer o que é realmente enviado pelo SIM900D ao PIC.

Um abraço,

Pedro Rosa!

Link para o comentário
Compartilhar em outros sites

Compreendido, Renan. Código eu ainda não fiz um decente, mas vou te dar uma dica de ouro que ajudará a ti. Siga os passos abaixo e depois poste as eventuais dúvidas.

1) Faça a ligação corretamente entre o barramento serial do SIM900D com o do PIC, ou seja, convertendo o sinal do SIM900D com um conversor de nível lógico LVTTL->TTL para o PIC.

2) Se você tiver um display LCD ou gráfico, implemente um programa simples que simplesmente escreva no display tudo o que for recebido na porta serial do PIC (pino RX).

Como por exemplo:

Usando o compilador CCS

lcd_gotoxy(1,1);

printf(lcd_putc);

3) Para testar ainda mais a veracidade do que está sendo enviado ao PIC, faça um sniffer no barramento serial entre o SIM900D e o PIC. O sniffer deverá ser conectado a um conversor de nível lógico LVTTL->TTL e posteriormente a um MAX232 e levado ao computador, no qual você usará o Hyperterminal ou o RComSerial para analisar o tráfego.

Tendo seguido os passos acima corretamente, você poderá perceber através do sniffer o que é realmente enviado pelo SIM900D ao PIC.

Um abraço,

Pedro Rosa!

Pedro, td bem cara?!

Seguinte, eu fiz o que você comento, mais eu estou apenas simulando no proteus todo o tráfego entre o sim900d e o PIC.

Conectei o SIM900D através do conversor de nivel na serial do pc e faço a comunicação com o circuito do proteus.

Até ai ok, consigo ver tudo o que o PIC envia e o que o SIM900D devolve, e o SIM900D devolve exatamente o que precisa ser devolvido como respostas, porém o programa que fiz p ler a serial nao consegue guardar a "STRING" para poder comparar e executar as ações que necessito...

Observação, esse mesmo programa que fiz para testes apenas, funciona corretamente quando envio do Hiperterminal mensagens p o pic...

Eu consigo apenas pegar a primeira linha de resposta que o SIM900D envia, as outras nao pega...

Segue o codigo:

#include <16f628a.h>
#include <stdio.h>
#use delay (clock=20M) // Seleciona delay para 4Mhz de clock
#use RS232(baud=9600, parity=N, bits=8, xmit=PIN_B2,rcv=PIN_B1) // configura serial
#define led pin_a0

char j,i;
char cad[10];
char cad1[10];
void main()
{

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);

// TODO: USER CODE!!
j=1;
while (1) {

if(j<=1){
//delay_ms(1000);
printf("AT");
putc(13);
delay_ms(1000);
j=j+1;
}

output_high(pin_a1);
delay_ms(100);
output_low(pin_a1);
i=0;
do{
cad[i]=getc();
i=i+1;
}
while(cad=='\r');
i=0;

//printf("%s",cad);
/*for(i=0; cad[i]!='\0'; i++)
{
cad[i]=getc();

}
i=0;
*/
printf("%s",cad);
if(cad[0]=='A'){ //apenas comparo com "A" pra ver se esta armazenando valores
output_high(led);
}

}
}

se puder me dar uma ajudazinha em como pegar corretamente os dados do SIM900 fico grato, abç.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Boa tarde, Renan, tudo bem?

O que eu acho que está errado é isso aqui:


do{
cad[i]=getc();
i=i+1;
}
while(cad=='\r');
i=0;

Tente fazer assim:

i=0;

cad = getc();

while( cad != '\r' && cad =! '\n' ){

i++;

cad = getc();

printf(lcd_putc, "%c", cad);

}

// Ou tente assim. Mas lembre-se de aumentar o tamanho da variável cad (buffer).

printf(lcd_putc, "%s", cad);

Link para o comentário
Compartilhar em outros sites

Boa tarde, Renan, tudo bem?

O que eu acho que está errado é isso aqui:


do{
cad[i]=getc();
i=i+1;
}
while(cad=='\r');
i=0;

Tente fazer assim:

i=0;

cad = getc();

while( cad != '\r' && cad =! '\n' ){

i++;

cad = getc();

printf(lcd_putc, "%c", cad);

}

// Ou tente assim. Mas lembre-se de aumentar o tamanho da variável cad (buffer).

printf(lcd_putc, "%s", cad);

Boa tarde Pedro,

Eu testei o seu código, porém da a mesma coisa, quando envio mensagens do terminal para o simulador ele interpreta corretamente e executa, mais quando o SIM900 manda as respostas para o simulador nao funciona, o simulador so consegue pegar os dois primeiros caracteres que o SIM manda, exemplo: se eu mando "AT" o SIM devolve "AT" depois "OK" isso com eco ativado, e dai consigo comparar esse "AT" enviado pelo modem...

Dai p frente o q o modem manda o programa nao pega...

Será que tem alguma configuração no SIM para habilitar ou desabilitar?

Abç.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olhando melhor o seu código, eu acho que você cometeu um erro na definição da interrupção. Você fez o setup dentro do main e hora alguma habilitou as interrupções usando enable_interrupts. Faça um teste tirando esse setup e colocando um kbhit(), que deve ser associado a um while. Esse kbhit é o que lhe diz quando um caracter chega na serial.

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...
  • Membro VIP
Bom dia Pedro, td bem cara?!

Depois de muito tempo me surgiu uma dúvida aqui e gostaria de esclarecer com você caso saiba...

É com relação ao nível de sinal do SIM900D, você sabe me dizer qual os valores disponíveis e qual o significado?!

Abç;

Bom dia, Renan, tudo bem?

Eu acredito que no datasheet tenha algo mais documentado mas o sinal é medido em decibel, assim como na maioria das aplicações. Nos testes que fiz sempre tive sinal variando entre 8 e 21. Buscando no Google encontrei o seguinte:

Checks signal strength: 0 = -133dBm; 1 = -111dBm; 2-30 = -109 to –53dBm; 31 = -51dBm; 99 = No reception

Link para o comentário
Compartilhar em outros sites

Bom dia, Renan, tudo bem?

Eu acredito que no datasheet tenha algo mais documentado mas o sinal é medido em decibel, assim como na maioria das aplicações. Nos testes que fiz sempre tive sinal variando entre 8 e 21. Buscando no Google encontrei o seguinte:

Checks signal strength: 0 = -133dBm; 1 = -111dBm; 2-30 = -109 to –53dBm; 31 = -51dBm; 99 = No reception

Bom dia Pedro, td bem sim e você cara?!

Então, essa informação confere com o datasheet do SIM900D, eu também tenho sinais entre 10 e 16 mais ou menos isso sem antena nenhuma...eu queria fazer como função para meu projeto um medidor de nivel de sinal e mostrar em um lcd...suponho então que o valor 99 seria o pior sinal e 0 o melhor, seria isso mesmo?

Abs;

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Bom dia Pedro, td bem sim e você cara?!

Então, essa informação confere com o datasheet do SIM900D, eu também tenho sinais entre 10 e 16 mais ou menos isso sem antena nenhuma...eu queria fazer como função para meu projeto um medidor de nivel de sinal e mostrar em um lcd...suponho então que o valor 99 seria o pior sinal e 0 o melhor, seria isso mesmo?

Abs;

Exatamente isso, Renan. Você solicitara o comando AT de verificação de nível de sinal e colocará na saída o resultado.

Aproveitando a resposta, meu SIM900D tem certa dificuldade de funcionar com certos SIMCards. Por acaso você ja passou por isso onde o SIM900D retorna que não há SIMCard instalado e depois de algumas tentativas de ligar e desligar passa a funcionar?

Abraço.

Link para o comentário
Compartilhar em outros sites

Exatamente isso, Renan. Você solicitara o comando AT de verificação de nível de sinal e colocará na saída o resultado.

Aproveitando a resposta, meu SIM900D tem certa dificuldade de funcionar com certos SIMCards. Por acaso você ja passou por isso onde o SIM900D retorna que não há SIMCard instalado e depois de algumas tentativas de ligar e desligar passa a funcionar?

Abraço.

valeu pela ajuda, o sinal aqui em casa é muito bom mesmo então prq sem antena da valores entre 8 e 14...

Com relação a sua pergunta nunca aconteceu comigo nao Pedro, eu so testei com chip da claro ate o momento e sempre que eu coloco ele p funcionar funciona correto, sempre detecta o simcard normalmente, será que nao esta com algum mal contato ai no seu soquete do sincard? da uma verificada porque acho estranho isso...

Abç;

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
valeu pela ajuda, o sinal aqui em casa é muito bom mesmo então prq sem antena da valores entre 8 e 14...

Com relação a sua pergunta nunca aconteceu comigo nao Pedro, eu so testei com chip da claro ate o momento e sempre que eu coloco ele p funcionar funciona correto, sempre detecta o simcard normalmente, será que nao esta com algum mal contato ai no seu soquete do sincard? da uma verificada porque acho estranho isso...

Abç;

Quando eu testo usando um SIMCard mais antigo da TIM dá tudo certo. Entretanto, se eu tento com outro mais novo ele dá o problema relatado. Pora caso você colocou aqueles diodos de proteção no SIMCard (SMF05C ou com diodos zener 5V1)? Eu coloquei os zeners e acho que isso pode estar zicando a parada com os chips mais novos.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...