LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: almamater em 09 de Agosto de 2012, 22:47

Título: Arduino + RS485
Enviado por: almamater 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:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fdereenigne.org%2Fwp-content%2Fuploads%2Fmodbus-417x600.png&hash=131eb07815e7c19f10d97b766efead0e00d2669c)
http://dereenigne.org/wp-content/uploads/modbus.png (http://dereenigne.org/wp-content/uploads/modbus.png)  (http://dereenigne.org/tag/rs-485 (http://dereenigne.org/tag/rs-485))

Dúvida:


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 (http://arduino-info.wikispaces.com/RS485-Brick)

Título: Re: Arduino + RS485
Enviado por: rsoares em 10 de Agosto de 2012, 11:28
Ligas os dois (ou mais) com os Pinos TX e RX.
Título: Re: Arduino + RS485
Enviado por: almamater 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:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg577.imageshack.us%2Fimg577%2F5448%2F001xg.png&hash=8fad9b48e32975ca9501c727bd811555bd2c7443) (http://imageshack.us/photo/my-images/577/001xg.png/)

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?

Título: Re: Arduino + RS485
Enviado por: Sérgio_Sena 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
Título: Re: Arduino + RS485
Enviado por: almamater 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:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.us%2Fa%2Fimg802%2F4834%2Fimg2830v.th.jpg&hash=a5eeedb2c3f398223812f1099014deb8ab74f1ca) (http://imageshack.us/photo/my-images/802/img2830v.jpg/)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.us%2Fa%2Fimg809%2F8075%2Fimg2833ox.th.jpg&hash=99baadf684148f48e524bd6d605f0316ac27bf43) (http://imageshack.us/photo/my-images/809/img2833ox.jpg/)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimageshack.us%2Fa%2Fimg19%2F6215%2Fimg2831hl.th.jpg&hash=35c97b21914dd3fc3e9f4fe8c388bf50b11a1598) (http://imageshack.us/photo/my-images/19/img2831hl.jpg/)


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 (http://arduino-info.wikispaces.com/RS485-Brick)

Tenho de acrescentar alguma coisa no último Arduino?


Título: Re: Arduino + RS485
Enviado por: almamater 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.