collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Arduino + RS485  (Lida 12964 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.918
    • GrcByte - Projectos
Arduino + RS485
« em: 09 de Agosto de 2012, 22:47 »
Olá, preciso de uma ajuda para fazer as ligações de 2 Arduinos ao chip da maxim RS485.

Queria testar fazer uma comunicação entre 2 Arduinos com 2 destes chips, pelo que andei a ver as ligações em cada Arduino devem ser assim:


http://dereenigne.org/wp-content/uploads/modbus.png  (http://dereenigne.org/tag/rs-485)

Dúvida:

  • Para estabelecer comunicação com ambos os Arduinos/RS485 é ligar ambos os chips de que maneira?

A ideia mais tarde seria juntar mais Arduinos e brincar com 1 Maters e os restantes Slaves. Encontrei este site mas eles usam uma placa já feita e não consigo perceber as ligações entre arduinos/chips, mas tem exemplos de código que acho que posso usar. http://arduino-info.wikispaces.com/RS485-Brick


Offline rsoares

  • Mini Robot
  • *
  • Mensagens: 64
Re: Arduino + RS485
« Responder #1 em: 10 de Agosto de 2012, 11:28 »
Ligas os dois (ou mais) com os Pinos TX e RX.

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.918
    • GrcByte - Projectos
Re: Arduino + RS485
« Responder #2 em: 14 de Agosto de 2012, 00:26 »
Ok, tenho ainda umas questões  ;D

Se tiver 1 Master e 2 Slaves por exemplo ligo o Arduino Master ao TX\RX do RS485 e os outros 2 RS485 vão partilhar as saídas  A /B deste 1º certo? Tipo isto:



1ª Questão: Se o Master enviar por exemplo "1" (em que o '1' acende o LED do 1º Slave e '2' acende o Led do 2º Slave), o 1º Slave aceita e o 2º Descarta certo? Não preciso de usar nenhum código mais complicado que isto pois não? (como um protocolo modbumaster, etc..).

2ª Questão: A resistência de 150ohm tem de ser colocada no último RS485 (no final e entre os fios A e B) ou em todos? ou não é preciso usar resistência em curtas distâncias?

« Última modificação: 14 de Agosto de 2012, 00:28 por almamater »

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: Arduino + RS485
« Responder #3 em: 14 de Agosto de 2012, 00:29 »
2º - a resistência de 120 OHM é usada normalmente em longas distâncias, no Master e no Último Slave.

para brincadeiras em protoboards não há essa necessidade

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.918
    • GrcByte - Projectos
Re: Arduino + RS485
« Responder #4 em: 28 de Outubro de 2012, 10:01 »
Olá,

Fiz o esquema acima ma não coloquei nenhum condensador nem resistências, liguei o 1º Arduino do lado esquerdo como MASTER e os outros 2 como SLAVE A e B, acontece que o último arduino (SLAVE_B) não faz nada.. não recebe o 'B' enviado pelo Master:








O SLAVE_A está a funcionar bem e as ligações estão todas bem feitas.. o código que usei é simples e deste site: http://arduino-info.wikispaces.com/RS485-Brick

Tenho de acrescentar alguma coisa no último Arduino?



Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.918
    • GrcByte - Projectos
Re: Arduino + RS485
« Responder #5 em: 28 de Outubro de 2012, 22:10 »
Ok, resolvi o mistério... troquei o chip MAX485 deste SLAVE_B  e já deu.. o outro deve ter algum defeito.

Tinha sido um sample que pedi à maxim e tem a refª CPA1121, com um outro que comprei no ebay funciona bem, este último tem a refª CPA1118 mas são iguais.