Ir ao conteúdo
  • Cadastre-se

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


Plateu

Posts recomendados

Boa noite Pedro,

Como não estou conseguindo usar minha câmera para tirar as fotos, eu fiz o esquema certinho de como estou montando aqui as ligações.

post-972854-13884962809107_thumb.jpg

1) Esta maneira que montei em anexo, nada acontece, vista que invertendo os pinos 11 e 12 do max 232 sai aqueles caracteres esquisitos no terminal...

Vê qual a conclusão desse esquema, se esta correto ou esta diferente do seu... se puder me ajudar fico grato,

nao sei se consegue visualizar a imagem, caso nao vou tentar postar de novo

abç.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Boa noite Pedro,

Como não estou conseguindo usar minha câmera para tirar as fotos, eu fiz o esquema certinho de como estou montando aqui as ligações.

[ATTACH]87863[/ATTACH]

1) Esta maneira que montei em anexo, nada acontece, vista que invertendo os pinos 11 e 12 do max 232 sai aqueles caracteres esquisitos no terminal...

Vê qual a conclusão desse esquema, se esta correto ou esta diferente do seu... se puder me ajudar fico grato,

nao sei se consegue visualizar a imagem, caso nao vou tentar postar de novo

abç.

Tente fazer essa ligação aqui:

max232.gif

Pelo seu esquema, me parece compatível com o que postei. Entretanto, você usou as outras portas e não conectou o pino 15 ao GND. Por acaso você aterrou o pino 15?

Abraço.

Link para o comentário
Compartilhar em outros sites

Boa noite à todos, vejo que os colegas avançaram bastante depois da minha última postagem, parabéns.

Renan, se todo circuito estiver montado a contento e o sistema de conversão funcionando corretamente, pode ser que: "o MAX232 não esteja convertendo", "o cabo de comunicação esteja muito grande ou sem malha terra" ou "as voltagens de conversão não estão entre a range dos níveis lógicos pretendidos, nesse caso, verifique a alimentação na hora da comunicação".

Quando montei o sistema de conversão com o Max232 tive um problema semelhante, mais troquei o chip, então funcionou beleza.

Eu retiro o chip MAX232 de placas dos Nobreaks queimados que vem com cabo de comunicação serial.

Plateu, parabéns novamente pelo avanço, acredito que agora o senhor esteja na etapa de comunicação, utilizando comandos AT.

Um forte abraço à todos.

Até mais.

Boa noite Geovane, td bem?

Cara eu ja chequei tudo aqui várias vezes e não consigo encontrar mais o que olhar, eu fiz um teste de comunicação serial com um pic e o MAX232, funciona certinho

1) Os níveis de tensão no TX no SIM900D está em 2,88v e no RX em 0,1, o que pelo datasheet esta correto.

2) Você cito o comprimento do cabo, pois isso eu tinha pensado, pois o meu esta com uns 2 metros, mais ainda nao diminui ele, afinal com o mesmo cabo o pic e o pc se comunicam beleza.

Se você e o Pedro tiverem mais sugestões p me ajudar nessa questão ficarei grato, qualquer comentário é muito bem vindo...

Uma dúvida, eu não posso simplesmente programar um PIC e comunicar direto com o SIM900? Preciso usar o PC mesmo para algumas configurações?

Estou entrando nesses hardwares agora e nao tenho quase conhecimento a respeito...

Abç...

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Boa noite Geovane, td bem?

Cara eu ja chequei tudo aqui várias vezes e não consigo encontrar mais o que olhar, eu fiz um teste de comunicação serial com um pic e o MAX232, funciona certinho

1) Os níveis de tensão no TX no SIM900D está em 2,88v e no RX em 0,1, o que pelo datasheet esta correto.

2) Você cito o comprimento do cabo, pois isso eu tinha pensado, pois o meu esta com uns 2 metros, mais ainda nao diminui ele, afinal com o mesmo cabo o pic e o pc se comunicam beleza.

Se você e o Pedro tiverem mais sugestões p me ajudar nessa questão ficarei grato, qualquer comentário é muito bem vindo...

Uma dúvida, eu não posso simplesmente programar um PIC e comunicar direto com o SIM900? Preciso usar o PC mesmo para algumas configurações?

Estou entrando nesses hardwares agora e nao tenho quase conhecimento a respeito...

Abç...

Acabei de testar aqui o meu módulo aqui com o MAX232 e está funcionando perfeitamente. Tente fazer a ligação que sugeri ai e não se esqueça do pino 15 no GND.

Abraço.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
É verdade o pino 15 não aparece no circuito do Eagle. E no datasheet ele deve ir ao GND.

Comprei os módulos e os pics nos sites abaixo:

http://www.trilha21.com.br/

http://www.tato.ind.br/

Um forte abraço à todos.

Até mais.

Eu suspeito que ele tenha montado na protoboard e acabou omitindo. Pode ser também que as portas que ele usou estejam com algum problema.

Uma coisa que reparei é que nas placas-mae antigas (época do skt462 da AMD) tinha um CI próximo da porta serial que fazia o mesmo papel do MAX232. Por acaso você já viu algo parecido, Geovane?

Link para o comentário
Compartilhar em outros sites

"Uma dúvida, eu não posso simplesmente programar um PIC e comunicar direto com o SIM900? Preciso usar o PC mesmo para algumas configurações?"

Na verdade a comunicação com o módulo GSM e o PC será necessário, para agilizar no momento que o senhor for testar os comandos AT. Utilizando este método, acredito que será mais produtivo, porque assim você irá utilizar um software terminal pra testar, sem ter que ficar re-programando o pic toda vez que for testar algum comando.

Depois de pronta toda biblioteca de comandos do módulo GSM, aí sim o senhor poderá gravar o PIC e deixar ele fazer todo o trabalho pesado.

Plateu, realmente tinha um chip que fazia o mesmo papel, mais não lembro a referência dele mais não.

Outro dia retirei de um AP (Access Point) de internet um chip parecido com esse. Mas não sei onde guardei.

Retirei um outro que faz a comunicação USB de um Nobreak desses novos.

Comunica do PIC pro USB do PC.

Um pouco diferente dos convencionais, vou copiar o esquema da placa, desmontar, depois montar em outra plaquinha, baixar o driver USB e testar. Mais isso vai ser depois.

Renan Fazzani, troca as portas do MAX232 e testa pra ver se existe algum problema com as que estão ligadas agora.

Boa sorte.

Link para o comentário
Compartilhar em outros sites

Boa noite galera, eu aterrei o pino 15 do MAX232 sim, e também troquei as portas do MAX, o pior é que nada disso me resolveu o problema, ja até encurtei o cabo de comunicação e nada....

Entre o PIC e o PC a comunicação ocorre certinha, na hora do SIM900 comunicar nada acontece...

Os níveis de tensão na minha porta serial estão variando entre -8 e +8 e -9 e +9, será que tem alguma coisa a ver?

Só não entendo como o PIC se comunica beleza e o SIM não...ja ta virando lenda esse projeto rsrs

Eu estou entrando no SIM900D com uma fonte de 9V 500mA, será que a corrente é baixa demais para operar normalmente o SIM?

Vocês não teriam um código pra mim gravar no PIC para testar se o PIC e o SIM se comunicam?

Abç galera...

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Boa noite galera, eu aterrei o pino 15 do MAX232 sim, e também troquei as portas do MAX, o pior é que nada disso me resolveu o problema, ja até encurtei o cabo de comunicação e nada....

Entre o PIC e o PC a comunicação ocorre certinha, na hora do SIM900 comunicar nada acontece...

Os níveis de tensão na minha porta serial estão variando entre -8 e +8 e -9 e +9, será que tem alguma coisa a ver?

Só não entendo como o PIC se comunica beleza e o SIM não...ja ta virando lenda esse projeto rsrs

Eu estou entrando no SIM900D com uma fonte de 9V 500mA, será que a corrente é baixa demais para operar normalmente o SIM?

Vocês não teriam um código pra mim gravar no PIC para testar se o PIC e o SIM se comunicam?

Abç galera...

PC + PIC via MAX232 está ok? Se sim, descarte defeito no MAX232. Por aqui eu estou usando uma fonte AT de PC que fornece uns 3A ou mais na linha de 12v. Talvez esse possa ser o seu problema. Tente verificar com outra fonte ai e poste resultados.

Abraço.

Link para o comentário
Compartilhar em outros sites

PC + PIC via MAX232 está ok? Se sim, descarte defeito no MAX232. Por aqui eu estou usando uma fonte AT de PC que fornece uns 3A ou mais na linha de 12v. Talvez esse possa ser o seu problema. Tente verificar com outra fonte ai e poste resultados.

Abraço.

Boa noite Pedro, td bem?

Cara, matei...se acredita que era a fonte mesmo...foi so colocar em uma fonte com corrente maior que funciono beleza...

Obrigado pela força que me deu até aqui, espero que minhas dúvidas possam ajudar outras pessoas daqui pra frete né...

Agora é a hora dos comandos ATs... como eu faço p consultar o meu sinal?

Abç

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Boa noite Pedro, td bem?

Cara, matei...se acredita que era a fonte mesmo...foi so colocar em uma fonte com corrente maior que funciono beleza...

Obrigado pela força que me deu até aqui, espero que minhas dúvidas possam ajudar outras pessoas daqui pra frete né...

Agora é a hora dos comandos ATs... como eu faço p consultar o meu sinal?

Abç

Boa, soldado!!! Segundo já li em alguns forums espalhados pelo mundo, a corrente mínima deve ser de 1A e o ideal seria maior do que 2A para poder aguentar as estranhas rajadas de dados.

Quanto aos comandos AT, aqui vai uma das melhores apostilas que usei. É do Siemens TC65 mas tem uma penca de comandos AT muito bem descritos e até com fotos mostrando a saída de cada comando.

http://www.tc65.ru/lib/siemens_tc65_terminal_at_command_eng.pdf

Abraço.

Link para o comentário
Compartilhar em outros sites

Boa noite Pedro, td bem?

Cara, matei...se acredita que era a fonte mesmo...foi so colocar em uma fonte com corrente maior que funciono beleza...

Obrigado pela força que me deu até aqui, espero que minhas dúvidas possam ajudar outras pessoas daqui pra frete né...

Agora é a hora dos comandos ATs... como eu faço p consultar o meu sinal?

Abç

"Renan, se todo circuito estiver montado a contento e o sistema de conversão funcionando corretamente, pode ser que: "o MAX232 não esteja convertendo", "o cabo de comunicação esteja muito grande ou sem malha terra" ou "as voltagens de conversão não estão entre a range dos níveis lógicos pretendidos, nesse caso, verifique a alimentação na hora da comunicação".

Essa foi uma das recomendações anteriores, visto que também tive o mesmo problema, foi que olhando o datasheet do módulo, percebi a demanda de corrente. Mas sem todas as informações necessárias, fica mais difícil de encontrar o problema.

Que bom que conseguiu avançar e resolveu o problema.

Parabéns.

Eu utilizo este manual aqui:

http://dl.dropbox.com/u/47292366/SIM900%20tcp%20ip%20aplication.pdf

Um forte abraço.

Até mais.

Link para o comentário
Compartilhar em outros sites

"Renan, se todo circuito estiver montado a contento e o sistema de conversão funcionando corretamente, pode ser que: "o MAX232 não esteja convertendo", "o cabo de comunicação esteja muito grande ou sem malha terra" ou "as voltagens de conversão não estão entre a range dos níveis lógicos pretendidos, nesse caso, verifique a alimentação na hora da comunicação".

Essa foi uma das recomendações anteriores, visto que também tive o mesmo problema, foi que olhando o datasheet do módulo, percebi a demanda de corrente. Mas sem todas as informações necessárias, fica mais difícil de encontrar o problema.

Que bom que conseguiu avançar e resolveu o problema.

Parabéns.

Eu utilizo este manual aqui:

http://dl.dropbox.com/u/47292366/SIM900%20tcp%20ip%20aplication.pdf

Um forte abraço.

Até mais.

Boa noite Geovane, td bem cara?!

Parti agora para parte de programação, eu ja consegui efetuar chamadas, enviar sms pelo terminal, porém ainda não consegui informações de como transmitir os comando para o PIC, poderia me ajudar nesta questão?

Me dar uma ideia, um exemplo básico que seja só para eu ter noção de como tenho que proceder daqui pra frente...

É através de printf em C que consigo passar os comandos para o SIM?

Abç.

Link para o comentário
Compartilhar em outros sites

Atualmente estou programando em Basic.

Você vai utilizar a USART do PIC pra trabalhar os dados como se fosse o LOCAL ECO do hiperterminal.

Daí vai montar sua biblioteca pra controlar o módulo.

olha aí:

http://asm51.eng.br/phpBB/viewtopic.php?t=11689&highlight=sim900

inclusive tenho um tópico neste site também, é só pesquisar por SIM900.

Boa sorte.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Boa noite Pedro, tudo bem cara?

Que linguagem de programação você utiliza?

Poderia me dar uma ajuda, um simples exemplo de como enviar os comandos do PIC para o SIM900D?

Já testei algumas coisas mais não obtive sucesso..

Abç

Boa noite, Renan, tido bem?

Eu utilizado linguagem C com o MPLab da Microchip como IDE e o CCS C Compiler da CSS como compilador.

Não sei se você sabe programar em C/C++ e qual é o compilador usado, mas no Google (principalmente no edaboard.com) tem vários exemplos de comunicação do PIC com módulo GSM via comandos AT.

Procure por PIC interfacing GSM Module no Google e dê uma olhada nessa thread aqui http://www.edaboard.com/thread169162.html

Abraço.

Link para o comentário
Compartilhar em outros sites

Boa noite, Renan, tido bem?

Eu utilizado linguagem C com o MPLab da Microchip como IDE e o CCS C Compiler da CSS como compilador.

Não sei se você sabe programar em C/C++ e qual é o compilador usado, mas no Google (principalmente no edaboard.com) tem vários exemplos de comunicação do PIC com módulo GSM via comandos AT.

Procure por PIC interfacing GSM Module no Google e dê uma olhada nessa thread aqui http://www.edaboard.com/thread169162.html

Abraço.

Bom dia,

Eu utilizo linguagem C, junto com o CCS para compilar e escrever o programa...

eu comecei a programar não faz tanto tempo, mais consigo fazer bastante coisas ja, o problema é que eu não consegui fazer o modem executar os comandos que envio pra ele... vou postar um trecho do código mais tarde pra você ver se consegue me dar uma força,

Abç...

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Bom dia,

Eu utilizo linguagem C, junto com o CCS para compilar e escrever o programa...

eu comecei a programar não faz tanto tempo, mais consigo fazer bastante coisas ja, o problema é que eu não consegui fazer o modem executar os comandos que envio pra ele... vou postar um trecho do código mais tarde pra você ver se consegue me dar uma força,

Abç...

Combinado, Renan. Poste ai para que possamos te ajudar.

Uma pergunta que queria te fazer e acabei me esquecendo. Como você fez a ligação com a antena no SIM900D?

Se puder, me mande fotos e os esquemas usados pois agora pretendo comprar um SIM900D para testar, já que com o SIM900 deu tudo certo.

Abraço.

Link para o comentário
Compartilhar em outros sites

Combinado, Renan. Poste ai para que possamos te ajudar.

Uma pergunta que queria te fazer e acabei me esquecendo. Como você fez a ligação com a antena no SIM900D?

Se puder, me mande fotos e os esquemas usados pois agora pretendo comprar um SIM900D para testar, já que com o SIM900 deu tudo certo.

Abraço.

Pedro, é o seguinte código:

Observe que só estou postando o trecho de envio de sms

}

// Envio das mensagens

if(input(PIN_A0))

{

output_high(PIN_B0); //Liga sirene

printf("at\r");

delay_s(2);

printf("at+cmgf=1");

delay_s(2);

putc(13); // (Enter)

printf("at+cmgs=\"+559181678950\"");

delay_s(2);

putc(13);

printf("O sensor da sala foi ativado!");

putc(26); // (Ctrl+Z)

delay_s(300);

output_low(PIN_B0); // Desliga sirene

}

Com relação a antena, eu ainda não comprei uma antena definitiva para o protótipo, por isso estou utilizando sem antena no momento, e consigo fazer ligações e mandar sms pelo terminal normalmente, mais na minha placa deixei um conector do tipo "sma"...

Eu to brigando aqui com minha câmera para conseguir postar umas fotos p você ver, assim que conseguir tirar com certeza vou posta-las pra que você possa dar uma olhada no resultado...

Abç.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP


// Envio das mensagens
if(input(PIN_A0))
{
output_high(PIN_B0); //Liga sirene
printf("at\r");
delay_s(2);
printf("at+cmgf=1");
delay_s(2);
[COLOR=Red][B]putc(13);[/B][/COLOR] // (Enter)
printf("at+cmgs=\"+559181678950\"");
delay_s(2);
[COLOR=Red][B]putc(13);[/B][/COLOR]
[B][COLOR=Red]printf("O sensor da sala foi ativado!");[/COLOR][/B]
putc(26); // (Ctrl+Z)
[B][COLOR=SeaGreen]delay_s(300);[/COLOR][/B]
output_low(PIN_B0); // Desliga sirene
}

A cada mensagem que você der é preciso que o caracter de fim de arquivo ou de quebra de linha seja dado juntamente com a mensagem. Me parece que você está fazendo correto. Por acaso você se lembrou de setar o UART Speed para 9600 baud? Essa é a velocidade padrão que o SIM900D funciona, se não me engano. Caso queira operá-lo em outra velocidade, você precisará ver no manual qual comando AT que muda isso.

Dê uma olhada nesse código abaixo. Onde estiver USART_Write entenda como o PRINTF.


void main() {
UART1_Init(9600);
UART1_Write_Text("AT+CMGS=");
UART1_Write(0x22); // to send the "
UART1_Write_Text("<full phone number>"); //00xxxxxxxxxxxxxx
UART1_Write(0x22); // to send the "
UART1_Write(0x0d); // to send <Enter>
DELAY_MS(200);
UART1_Write_Text("hello PIC16F877A");
UART1_Write(26); // to send <Ctr+z>
}

}


Obs.: Porque você dá um delay de 300 segundos?

Abraço.

P.S: Confira esse link aqui: http://www.edaboard.com/thread89563.html

Link para o comentário
Compartilhar em outros sites

A cada mensagem que você der é preciso que o caracter de fim de arquivo ou de quebra de linha seja dado juntamente com a mensagem. Me parece que você está fazendo correto. Por acaso você se lembrou de setar o UART Speed para 9600 baud? Essa é a velocidade padrão que o SIM900D funciona, se não me engano. Caso queira operá-lo em outra velocidade, você precisará ver no manual qual comando AT que muda isso.

Dê uma olhada nesse código abaixo. Onde estiver USART_Write entenda como o PRINTF.


void main() {
UART1_Init(9600);
UART1_Write_Text("AT+CMGS=");
UART1_Write(0x22); // to send the "
UART1_Write_Text("<full phone number>"); //00xxxxxxxxxxxxxx
UART1_Write(0x22); // to send the "
UART1_Write(0x0d); // to send <Enter>
DELAY_MS(200);
UART1_Write_Text("hello PIC16F877A");
UART1_Write(26); // to send <Ctr+z>
}

}


Obs.: Porque você dá um delay de 300 segundos?

Abraço.

P.S: Confira esse link aqui: http://www.edaboard.com/thread89563.html

Na verdade esse código não é do meu projeto, mais estou utilizando ele como base, os 300s é o tempo que a sirene permanece ligada...

Com relação a velocidade de transmissão estou utilizando 9600 que é padrão... eu consigo fazer ligação para telefones através do PIC tranquilamente, porém na parte de envio de sms que é meu foco ainda não consigo...

Pelo terminal consigo enviar sms normal com estas configurações de comandos AT, será que tem alguma configuração ou algum parâmetro faltando?

Porque neste código que você anexo ele envia "aspas" (0x22) após o comando?

Abç.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Porque neste código que você anexo ele envia "aspas" (0x22) após o comando?

É porque a mensagem que ele manda primeiro no RS232 é somente AT+CMGS=. Posteriormente ele manda a primeira aspas dupla, depois o número, depois a aspas dupla de fechamento, dá um ENTER, espera 200ms e depois envia a mensagem. Tente fazer assim para ver se surte efeito.

A princípio, qual PIC você está usando?

Teria como upar o projeto que você fez com o SIM900D? Encomendei um no Mercado Livre hoje pagando R$90 e quero **-lo para funcionar em outro projeto paralelo ao que estou fazendo com o SIM900.

Abraço.

Link para o comentário
Compartilhar em outros sites

É porque a mensagem que ele manda primeiro no RS232 é somente AT+CMGS=. Posteriormente ele manda a primeira aspas dupla, depois o número, depois a aspas dupla de fechamento, dá um ENTER, espera 200ms e depois envia a mensagem. Tente fazer assim para ver se surte efeito.

A princípio, qual PIC você está usando?

Teria como upar o projeto que você fez com o SIM900D? Encomendei um no Mercado Livre hoje pagando R$90 e quero **-lo para funcionar em outro projeto paralelo ao que estou fazendo com o SIM900.

Abraço.

Bom dia Pedro, td em ordem?!

Acabei analisando melhor aqui e entendi as "aspas", mais eu fiz esse teste pelo terminal e ele não deixa executar desta maneira, dá erros... testei com o pic e não funciono, mais vou tentar de outra maneira agora...

Você poderia me passar o vendedor que conseguiu esse SIM900D por R$90,00 ? Paguei no meu R$ 130,00 na Trilha 21...

Em princípio utilizo o PIC16F628A para fazer meus testes, mais isso era uma outra questão que ia te pedir opinião, quando juntar todas as partes do meu projeto vou precisar de um PIC com mais I/O (28 Pinos seria suficiente) você tem algum modelo p sugerir?

Eu posso postar o diagrama do circuito sim, preciso apenas acertar uma ligação do regulador que saiu errado, mais assim que fizer coloco aqui, mais pelo que percebi nao tem diferenças do SIM900, é a mesma coisa...

Abç.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Bom dia Pedro, td em ordem?!

Acabei analisando melhor aqui e entendi as "aspas", mais eu fiz esse teste pelo terminal e ele não deixa executar desta maneira, dá erros... testei com o pic e não funciono, mais vou tentar de outra maneira agora...

Você poderia me passar o vendedor que conseguiu esse SIM900D por R$90,00 ? Paguei no meu R$ 130,00 na Trilha 21...

Em princípio utilizo o PIC16F628A para fazer meus testes, mais isso era uma outra questão que ia te pedir opinião, quando juntar todas as partes do meu projeto vou precisar de um PIC com mais I/O (28 Pinos seria suficiente) você tem algum modelo p sugerir?

Eu posso postar o diagrama do circuito sim, preciso apenas acertar uma ligação do regulador que saiu errado, mais assim que fizer coloco aqui, mais pelo que percebi nao tem diferenças do SIM900, é a mesma coisa...

Abç.

O vendedor é esse aqui oh: http://produto.mercadolivre.com.br/MLB-235201087-modulo-gsm-gprs-sms-sim900d-quad-band-_JM

Diga na mensagem que você quer levar apenas o SIM900D que ele te faz por R$90.

Quanto ao PIC, te sugiro usar um PIC16F876A pois ele tem 28 pinos e algums periféricos interessantes, tais como conversor A/D, SPI, UART e algumas coisas mais.

Quando puder posta ai.

Abraço.

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...