bom dia ,

Alguém sabe me falar se tem como ter uma rede modbus, sendo um arduino Master enviando e recebendo informações de vários outros arduinos slaves ? 

como faço para "dizer" que tal arduino é Master e tal outro arduino é slave ? 

tenho algumas duvidas na programação disso, se alguém puder compartilhar a informação,desde já agradeço a atenção, obrigado!

Exibições: 9691

Responder esta

Respostas a este tópico

existe uma biblioteca para configurar o arduino como master e outra pra configura-lo como slave.http://code.google.com/p/simple-modbus/downloads/list contudo nao vejo muita vantagem em fazer isso, pois pára isso vc poderia utilizar o protocolo i2c ou spi  mas se vc fosse usar o arduino como slave e um pc rodando um supervisorio como master ai seria bacana, mas vc deve ter suas razoes pra fazer esse tipo de rede que esta propondo.

Olá,

Existem várias aplicações onde os protocolos SPI e I2C não são apropriados, pois estes são exemplos de protocolos e redes físicas que foram criados para comunicação entre dispositivos não muito distantes, geralmente montados em em uma mesma placa de circuito ou em placas adjacentes a poucos centímetros de distância dentro um mesmo equipamento.

Para aplicações onde os dispositivos estão a uma distância entre alguns metros até 1200m uma rede RS485 com um protocolo como por exemplo o MODBUS RTU ou ASCII seria uma ótima opção, com bom desempenho e confiabilidade.

Talvez agora dê para perceber que se os escravos estiverem fisicamente próximos ao mestre a escolha entre uma rede SPI ou I2C seja mais adequada que uma rede MODBUS sobre RS485, ainda que as três funcionem sobre esta condição. No entanto, se os escravos estivem mais distântes, a rede I2C e SPI serão ineficazes.

A escolha do tipo de topologia física e do protocolo lógico de uma rede de uma aplicação deve ser cuidadosamente ponderada, levando em conta vários aspectos técnicos da aplicação, pois a escolha errada com certeza tornará a rede instável ou mesmo inoperante. 

Abraço.

muito obrigado, mas eu eu preciso fazer uma rede de uns 200 metros, pq é uma automação residencial que to fazendo!! 

muito obrigado 

muito obrigado Ernane!!!!

Isso mesmo, to fazendo automação resisdencial, mas dai a rede vai ter uns 200 metros , dai nao queria usar pc , talvez eu use o Raspberry pi.

desde ja agradeço.

nao sei se estas  adiantado ou comecando com arduino e modbus mas eu tenho um material que pode certamente te ajudar apostila, os programas e aplicação Scada...eu ainda nao implementei com mais de 1 arduino por conta do preço dos conversores da rede...estou inclinado a utilizar o i2c pois tambem posso atingir essas distancias numa aplicacao residencia com a resalva da rede funcionar mais lenta...contudo verlocidade nao e algo tao critico...baixa ai pois pode ser util.

Anexos

mais arquivos

Anexos

mais arquivos...outra coisa nao e pra desanimar nao mas o rasp infelizmente e muito fraquinho de procesamento comprei um mas nao gostei pra aplicacao com o ScadaBR 

Anexos

ok,entendi muito obrigado pela ajuda, vou estudar esse material e volto com informações.

opa esqueci de passar umas modificacoes de 3 arquivos essenciais pro negocio funcionar

Anexos

De fato,Modbus é um protocolo industrial consagrado, mas o i2c tb pode atingir longas distâncias até mesmo 1km, mas me parece que o protocolo é tao eficiente para pequenas distâncias  que ficou estabelecido como uma função específica para ele - o que não é verdade.Eu estou usando Modbus, mas fiquei impressionado com com aplicações do i2c em substituição ao bom e velho Modbus.Mas o que mais me intriga é porque vai usar o Arduino como master, isso me levou a pensar numa rede mais simplista.

Boa noite Gustavo.

Os drivers de MODBUS do mestre e do escravo são identicos..

O mestre gera as chamadas (poolings) para os escravos e aguarda a resposta.

Os escravos ficam passivos aguardando um bloco com o seu endereço e respondem o que foi pedido pelo mestre.

Portanto, o programa que controla o driver do mestre é diferente do programa que controla os escravos.

O programa do mestre tem um loop que de tempos em tempos envia um pedido de leitura a cada um dos escravos e

espera pela resposta.

Espero que tenha ajudado.

Abraços 

Vê aê

http://real2electronics.blogspot.com.br/2009/09/arduino-and-rs485-e...

encontrei agora e lembrei deste post.....

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço