-
Usare una Mega, se non ci sono vincoli di costi e dimensioni, conviene sempre sia per le 4 UART hardware sia per la maggiore quantità di memoria ram/flash disponibile, nel caso specifico se usi la Mega non devi scollegare la seriale per poter programmare la scheda, assolutamente sconsigliato usare la seriale software con la RS485.
-
La RS485 permette una connessione fino a 1km con velocità a 19200 bps, fino a 10 mt puoi lavorare a 10 Mbps compatibilmente con il transceiver e il cavo utilizzato, diciamo che in ambito indoor con cavi fino a 50 mt lavori senza problemi ad almeno 57600 bps, se il cavo è buono anche a >115200 bps.
-
La RS485 non richiede GND, è una linea differenziale e lavora in base alla differenza di potenziale tra A e B e non tra questi e GND, se devi portare il 12V ti servono altri due fili, di idoneo diametro in base alla corrente necessaria, per GND e +12V.
-
la I2C non ha nulla a che vedere con le UART, sono device indipendenti a livello hardware nel micro, puoi tranquillamente collegare un display I2C alla Mega.
-
La RS485 è un bus master/slave, ovvero hai un master che interroga periodicamente i vari slave per ottenere dati o fornire comandi, usare il protocollo modbus è un'ottima scelta, lascia perdere il rolling master perché è una complicazione inutile salvo rari casi in cui è indispensabile.
Ti rammento che la RS485 non ha modo di rilevare collisioni sul bus, a differenza della I2C che può farlo, pertanto sebbene da un punto di vista teorico è possibile avere più master la cosa è molto complessa, e critica, da gestire lato software.
Nota finale il cavo CAT5E non è l'ideale per la RS485, sebbene sono quattro doppini intrecciati sono pensati per i segnali ethernet e non per quelli RS485, l'intrecciatura del doppino non è ottimizzata per i 100 MHz della lan e non per i segnali, a frequenza nettamente minore, della 485.
In tutti i casi i cavo UTP va sicuramente meglio di un normale cavo per impianto elettrico, unico limite è la corrente massima che regge, non deve essere maggiore di 1A, questo vale solo per l'uso come linea di alimentazione, non a caso il POE usa una tensione di 48V allo scopo di ridurre la corrente che scorre nei cavi UTP.
Altro dettaglio, la RS485 oltre a non richiedere il GND non gradisce che siano in comune tra device diversi con alimentazioni diverse, questo perché i vari GND in realtà si trovano sempre a potenziali, rispetto a terra, diversi, e la cosa può creare non pochi problemi.
Se si usa un cavo RS485 con schermo questo va collegato solo al GND del Master, poi è possibile collegare in network anche i vari GND ma va fatto tramite apposite resistenze per disaccoppiarli tra loro.