Come leggere rs485 con arduino?

In un post precedente avevo chiesto aiuto per leggere rs232 con arduino e, senza nemmeno immaginarlo, ho scatenato una bagarre che francamente con le mie scarse conoscenze non sono nemmeno riuscito a seguire... ;-(

L'importante è che ho avuto la risposta che mi serviva e quindi ci riprovo.

Vorrei leggere con arduino i dati provenienti da una vending machine che comunica con la gettoniera tramite rs485 protocollo executive.

Cercando in rete ho visto che bisogna avere un convertitore da rs485 a ttl e ho comprato questo oggetto

Il mio problema adesso è che sulla vending machine ho 4 pin rx+ rx- tx+ tx- e sul convertitore ho A e B...

Come faccio a collegarli?

Mmm ... l'RS-485 può essere usata sia in modalità half-duplex, per cui bastano 2 fili intrecciati, che in modalità full-duplex in cui occorrono due coppie di fili intrecciati (TX+ TX- e RX+ RX-) ... QUI hai uno schema dei possibili collegamenti.

Come per a RS-232 ti ho consigliato un chip standard, anche per la RS-485 ti consiglio un chip standard il cui datasheet trovi QUI :wink:

Questo per la parte HW ... per la parte protocollo ... hai qualche link che descrive quello della macchina a cui ti devi collegare o lo conosci bene ? Prevede un colloquio full-duplex o può lavorare in half-duplex ?

Guglielmo

Non so se la modalità è half-duplex o full-duplex. Pensavo di provare prima in un modo e poi nell'altro per scoprirlo.

Ti confermo che sto usando il chip Max485, fra quelli che mi hai segnalato.

Se ho capito bene nel caso dell'half duplex devo collegare insieme TX+ e RX+ nel polo A e TX- e RX- nel polo B. Corretto?

Non riesco però a capire come li devo collegare al max485 qualora fossi in modalità full-duplex...?

Il protocollo di comunicazione è l'Executive sul quale ho le idee sufficientemente chiare. Il problema che devo risolvere è hardware.

Scusa, cosa non capisci ???

Se guardi bene il datasheet, pagine 7 e 8, ci sono chiaramente indicati tutto i possibili collegamenti sia in half (con un MAX485) che in full duplex (con un MAX 488 o con un MAX 489 o con due MAX 485).

Inoltre, mi sembra che anche i due schemi di National Instrument ti diano chiare indicazioni ... anche su dove mettere le resistenze di terminazione del bus ... :roll_eyes:

Guglielmo

Se la tua VM ha l'interfaccia full-duplex significa che è consigliabile questo collegamento , ti serve un MAX488 , che con i 4 fili lo collegherai al VM e i pin 2-3 li colleghi ai pin rtx-tx di arduino. La scheda che hai comperato non ti serve perchè è half-duplex.