Go Down

Topic: RS 485 (Read 1 time) previous topic - next topic

antovb

Ciao a tutti,
Mi presento per prima cosa.
Sono un ex softwarista, nel senso che dal 1980 al 2009 ho sviluppato software in svariati modi e su svariate piattaforme, partendo da linguaggio macchina su 8080 continuando con assembler, altri linguaggi su digital pdp11, per poi iniziare con l'evoluzione che arriva fino ai nostri giorni, con Pascal e Modula2 e poi con C e C++, con qualche escursione nel mondo Vbscript ed un corso in .Net che pero' non ho mai utilizzato.
Durante tutti questi anni ho spesso cozzato coi canali serie, e devo dire che anche se li ho sempre fatti funzionare li ho sempre trovati moooolto ostici.

Ora prima di cercare di reinventare l'acqua calda mi chiedo se esista qualcosa di gia' fatto e che mi eviti grosse perdite di tempo.
Sono infatti in possesso di un Arduino Uno (nuova) che sto utlizzando per altri scopi, e mi chiedo se potrei utilizzarla anche per monitorare l'inverter del mio impianto fotovoltaico  che ha un uscita dati su RS 485.
L'app che gira sul mio PC windows7 64bit  legge i dati da USB.
Esiste un software Arduino che faccia solo da ponte tra RS485 ed USB magari con Baudrate configurabile?
Antonio

astrobeed


Esiste un software Arduino che faccia solo da ponte tra RS485 ed USB magari con Baudrate configurabile?
Antonio


La RS485 è solo il layer fisco della connessione, non definisce nessun protocollo, in pratica è una evoluzione della comunicazione RS232/UART, ovvero per implementarla su Arduino ti serve solo un transceiver RS485, p.e. SN75176 o MAX485, da collegare alla UART di Arduino (Tx e Rx).
Il vero problema è il protocollo di comunicazione del tuo inverter che se non è noto non puoi fare nulla, se la tua necessità è solo convertire la RS485 in USB, dal pc la vedi come seriale virtuale, esistono vari adattatori low cost che ti risolvono il problema, p.e. questo.

antovb

Grazie per la risposta,
adottero' questa soluzione.
Antonio

Janos

Come ti diceva astro, la RS485 ti fornisce solo lo strato fisico di comunicazione, poi cosa ci fai transitare su quello strato è un'altra cosa, ma 9/10 il protocollo utilizzato è il modbus. Esiste una libreria di arduino per gestire il modbus (non tutte le funzioni, per essere precisi, ma solo le più importanti).

https://sites.google.com/site/jpmzometa/arduino-mbrt

Ha già previsto l'utilizzo di un pin per l'abilitazione del trasmettitore nel caso tu utilizzassi la RS485 half duplex, che è la più usata...

antovb

Grazie anche a te,
vi terro' informati sulla soluzione adottata.
Antonio

Go Up