0
Offline
Newbie
Karma: 0
Posts: 3
Arduino rocks
|
 |
« on: May 31, 2010, 04:45:12 am » |
Salve a tutti, sto cercando un modo per poter connettere un certo numero di Arduino anche a parecchi metri di distanza, come canale fisico mi sembra che la scelta di RS485 sia quasi obbligata da questo punto di vista ma ho problemi più che altro a decidere il protocollo da usare su RS485: ho visto che spesso viene usato Modbus ma ahimé non sembra fare al caso mio perché ho bisogno di un protocollo che supporti connessioni punto a punto. Cosa mi consigliate? Volendo scrivere un protocollo personalizzato quali accorgimenti dovrei tenere presenti? Ad esempio ho visto che Modbus separa i frame inserendo una certa pausa (3.5 caratteri), come mai hanno deciso di separare i frame in questo modo invece di mettere un "separatore" di fine frame o semplicemente di scrivere all'inizio del frame la lunghezza del frame? Inoltre come mi consigliate di comportarmi per gestire le collisioni sul bus?
Grazie mille in anticipo.
|
|
|
|
|
Logged
|
|
|
|
|
Deep south of Italy
Offline
Faraday Member
Karma: 6
Posts: 2954
The quieter you become, the more you can hear
|
 |
« Reply #1 on: May 31, 2010, 12:14:47 pm » |
Anche se non è proprio il mio campo... ti rispondo con una domanda: pechè non usi semplicemente il protocollo I2C? (già corredato di librerie standard).
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 3
Arduino rocks
|
 |
« Reply #2 on: May 31, 2010, 01:47:18 pm » |
Anche se non è proprio il mio campo... ti rispondo con una domanda: pechè non usi semplicemente il protocollo I2C? (già corredato di librerie standard). Perché ho bisogno di dislocare i vari device anche a parecchi metri di distanza, I2C è limitato da questo punto di vista.
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15726
+39 349 2158303
|
 |
« Reply #3 on: May 31, 2010, 03:32:51 pm » |
|
|
|
|
|
Logged
|
|
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 3
Arduino rocks
|
 |
« Reply #5 on: June 01, 2010, 12:17:28 pm » |
In linea di massima non vedo ragioni particolari per preferire I2C, al momento stiamo sviluppando un protocollo punto a punto per RS485, per quanto riguarda le collisioni pensiamo di poterle rilevare in due modi: 1) semplice sistema con pacchetto ACK di conferma 2) abilitando contemporaneamente i pin DE (Driver Enable, abilita la scrittura sul bus) e RE (Read Enable, abilita la lettura) in modo da poter leggere immediatamente il frame appena scritto: una differenza tra i 2 frame confrontati indicherebbe una collisione.
|
|
|
|
|
Logged
|
|
|
|
|
Deep south of Italy
Offline
Faraday Member
Karma: 6
Posts: 2954
The quieter you become, the more you can hear
|
 |
« Reply #6 on: June 02, 2010, 12:04:46 am » |
se ti pagano per sviluppare un protocollo custom allora si, altrimenti una ragione per preferirlo ci ssarebbe... è gia fatto! ;D e già prevede i problemi che tu menzioni. P.S. Quando dici collegare a distanza, di che distanze parliamo?
|
|
|
|
|
Logged
|
|
|
|
|
Livorno (italy)
Offline
Newbie
Karma: 0
Posts: 8
Arduino rocks
|
 |
« Reply #7 on: November 25, 2010, 03:52:35 pm » |
Ciao ti posso consigliare i moduli radio, li interfacci direttamente alla seriale di arduino, setti la velicità che ti pare...i moduli sono trasparenti non ci fanno nulla sul segnale, possono riconoscere anche i comandi standard HAYES. Viaggiano da 300 a 19.200 baud, sono utilizzabili senza licenza. Viaggiano a 868 Mha con potenze da 10 mW a 500 mW. vai a vedere su www.satel.com Hanno un solo difetto essendo prodotti professionali....costano. Un saluto
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15726
+39 349 2158303
|
 |
« Reply #8 on: November 25, 2010, 04:55:35 pm » |
@ Electronic Service
A quel punto é meglio usare dei XBee. costano con scheda adattatore intorno ai 35. Un bus RS485 cista molto di meno.
Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 5
Arduino rocks
|
 |
« Reply #9 on: January 19, 2011, 11:02:17 am » |
abbiamo la linea linea bilanciata... usiamo CAN bus!! o un versione semplificata.. UMM..
|
|
|
|
|
Logged
|
|
|
|
|
|