LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: Sanmaru em 27 de Julho de 2009, 08:52

Título: COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: Sanmaru em 27 de Julho de 2009, 08:52
Olá pessoal!!!

Tenho um projeto que necessito fazer a comunicação entre dois Arduinos numa distancia de 100 metros.
Por exemplo: Arduino A & B, um em cada extremidade.  O Arduino A recebe as informações de um potenciômetro que se comunicará com o Arduino B para acionar um motor na saída deste Arduino B.
Alguém pode me ajudar??? Com uma "LUZ"????
Obrigado a todos...
 
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: pedrosal em 27 de Julho de 2009, 09:45
Com fios ou sem fios?

Com fios penso que tens de usar um protocolo industrial (100 metros é uma distância razoável). Eu recomendaria CAN. Podes optar por usar um integrado com o stack CAN tipo MCP2510 da Microchip ou por interligar um PIC com o stack integrado (na gama PIC18F encontras alguns e relativamente baratos). Podes ligar o PIC ao arduino por RS232, SPI,...

Sem fios?

Acho que vais precisar de um transceiver especial. Tipo 455Mhz. Não sei se alguém já consegui usar um Zigbee a essa distância. Se o tempo estiver mesmo muito bom. Se estiver em linha de vista e se usares umas antenas XPTO talvez...

Não sou especialista em RF mas penso que se quiseres comunicação em linha de vista estás melhor com frequências altas (Ghz como o Zigbee) mas se quiseres alcance sem linha de vista estás melhor com frequências mais baixas (455Mhz). E já sabes quanto mais alta a frequência mais largura de banda (bytes por segundo).



Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: msaleiro em 27 de Julho de 2009, 11:13
Existem módulos XBee com várias potências diferentes, e como tal alcances diferentes. Vê na sparkfun que eles tÊm uma grande variedade deles, incluíndo os de maior alcance.
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: metRo_ em 27 de Julho de 2009, 13:21
vai depender mesmo se queres 100 metro em campo aberto ou não.
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: delphi em 27 de Julho de 2009, 14:08
Olá,

Nstes módulos, indicam que permitem comunicações até 2km...
http://www.seeedstudio.com/depot/2km-long-range-rf-link-kits-w-encoder-and-decoder-p-321.html (http://www.seeedstudio.com/depot/2km-long-range-rf-link-kits-w-encoder-and-decoder-p-321.html)

Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: Sanmaru em 27 de Julho de 2009, 14:12
Agradeço pelos contatos dos companheiros e me desculpe por não especificar o modo de transmissão.
Então, farei esta comunicação através de um cabo com 100 metros de comprimento.
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: delphi em 27 de Julho de 2009, 14:22
Se calhar é uma pergunta "estúpida", mas então, porque não ligar o potenciómetro ao arduino da outra "ponta"?
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: pedrosal em 27 de Julho de 2009, 15:05
100 metros é capaz de ser uma antena gigante para apanhar tudo o que é ruído... daí que ligar o potenciometro directo é capaz de dar asneira.

Para essa distância recomendo o CAN (MCP2510). Foi desenhado para ambientes industriais (cheios de ruído), já não me lembro bem a distância máxima mas tenho a vaga memória de ser bem mais do que 100m. Hj em dia tens libs em C para configurar esses chips. A microchip disponibiliza para os PIC18 mas deves conseguir converter o código fonte para usar o hardware do atmel.
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: Sanmaru em 27 de Julho de 2009, 17:48
Se calhar é uma pergunta "estúpida", mas então, porque não ligar o potenciómetro ao arduino da outra "ponta"?

Não entendi bem esta questão. Mas usarei meu projeto para uso sub-marino (dentro d'agua). Não sei se seria uma boa, mas se der para esclarecer melhor...
Grato.
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: Sanmaru em 27 de Julho de 2009, 17:53
100 metros é capaz de ser uma antena gigante para apanhar tudo o que é ruído... daí que ligar o potenciometro directo é capaz de dar asneira.

Para essa distância recomendo o CAN (MCP2510). Foi desenhado para ambientes industriais (cheios de ruído), já não me lembro bem a distância máxima mas tenho a vaga memória de ser bem mais do que 100m. Hj em dia tens libs em C para configurar esses chips. A microchip disponibiliza para os PIC18 mas deves conseguir converter o código fonte para usar o hardware do atmel.

Vc teria um exemplo para que eu possa me situar e poder estudar???? Ou seja, se depois que eu constatar que o MCP2510 é a resolução do meu problema, vc teria um programa de exemplo para que eu possa estudar??? Tipo, o código em "C" para enviar os dados através deste chip.
Grato.
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: metRo_ em 27 de Julho de 2009, 17:59
Se calhar é uma pergunta "estúpida", mas então, porque não ligar o potenciómetro ao arduino da outra "ponta"?

Não entendi bem esta questão. Mas usarei meu projeto para uso sub-marino (dentro d'agua). Não sei se seria uma boa, mas se der para esclarecer melhor...
Grato.

Se é para dentro de agua sem fios parece-me fora de questão.
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: Sanmaru em 27 de Julho de 2009, 18:14
Se calhar é uma pergunta "estúpida", mas então, porque não ligar o potenciómetro ao arduino da outra "ponta"?

Não entendi bem esta questão. Mas usarei meu projeto para uso sub-marino (dentro d'agua). Não sei se seria uma boa, mas se der para esclarecer melhor...
Grato.

Se é para dentro de agua sem fios parece-me fora de questão.


Sim. Sei que não usarei comunicação via rádio ou bluetooth (sem fios). Tenho que usar mesmo com fio (Cabo) pois meu quipamento irá dentro d'agua sim.
Então, por isso que vim até aqui pedir-lhes ajuda, pois já fiz pesquisas na web e não encontrei muita coisa em comunicar dois Arduinos via cabo, e sim muita coisa na comunicação sem fio (Xbee, bluetooth por exemplo).
Sei que este projeto contraria o seguimento da tecnologia, mas se tratando de água, ainda estamos engatinhando.
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: Sérgio_Sena em 27 de Julho de 2009, 18:35
Se é apenas a transmissão do valor de um potenciómetro, e se não há mais parceiros na linha, então o CAN acaba por ser desmedido.

Eu apostaria numa solução onde continua a usar a norma RS485/RS422, em full-duplex, ligando apenas as portas série do Arduino. Pode implementar-se então o envio de CRC no pacote, e ACKs, para que os dados sejam bem transmitidos.

Ver: este TUTORIAL (http://www.bb-elec.com/bb-elec/literature/tech/485appnote.pdf) para iniciar.
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: pedrosal em 27 de Julho de 2009, 18:47
Realmente tinha esquecido o velhinho RS485 :). É uma excelente sugestão e os transceivers são bem mais baratos :).
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: pedrosal em 27 de Julho de 2009, 18:47
Mas já agora para referência aqui fica: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011856
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: Sérgio_Sena em 27 de Julho de 2009, 18:50
Já agora... 

o CAN trabalha em cima de RS485... assim como o Ethernet, Modbus, Profibus... e mais um cento de protocolos.

# RS485 norma física,

# CAN e outros, protocolos de comunicação, que andam em cima na norma física.
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: Sanmaru em 28 de Julho de 2009, 05:02
Se é apenas a transmissão do valor de um potenciómetro, e se não há mais parceiros na linha, então o CAN acaba por ser desmedido.

Eu apostaria numa solução onde continua a usar a norma RS485/RS422, em full-duplex, ligando apenas as portas série do Arduino. Pode implementar-se então o envio de CRC no pacote, e ACKs, para que os dados sejam bem transmitidos.

Ver: este TUTORIAL (http://www.bb-elec.com/bb-elec/literature/tech/485appnote.pdf) para iniciar.

Obrigado Antônio Sena.

Minha procura é realmente de um exemplo para que eu possa formar meu projeto. Será um joystick comandando três motores. O código para controlar através do Arduino é que eu preciso, ou seja, um joystick acionando em um Arduino "A", e sendo transmitido essa informação para o Arduino "B" com um cabo de 100 metros e acionar os três motores.
Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: Sérgio_Sena em 28 de Julho de 2009, 16:45
Sanmaru,

será fantástico se alguém já tiver esses programas feitos, e lhos puder dar.


O intuito deste forum, é o de os utilizadores fazerem os seus programas, colocarem dúvidas relativamente às dificuldades, e também ajudarem outros que tenham dúvidas.

Pedir por código já feito, que faça um cento de coisas... está a pedir trabalhos...


Título: Re:COMUNICAÇÃO ENTRE DOIS ARDUINOS
Enviado por: Sanmaru em 29 de Julho de 2009, 05:22
Sanmaru,

será fantástico se alguém já tiver esses programas feitos, e lhos puder dar.


O intuito deste forum, é o de os utilizadores fazerem os seus programas, colocarem dúvidas relativamente às dificuldades, e também ajudarem outros que tenham dúvidas.

Pedir por código já feito, que faça um cento de coisas... está a pedir trabalhos...




Antonio Sena,

Pensei em só conseguir algum exemplo curto, do tipo que temos nas Libraries do Processing no Arduino, mas muito obrigado por sua ajuda. Sou grato pelas resposta que já me ajudaram.
Valeu.