PROBLEMI con schede MAX485 per MODBUS

Ho comprato un po' di schedine RS-485 - TTL (il lotto da 50 pezzi) perchè le monto sui miei trasmettitori WiFi fatti con WeMos.
Poi, siccome mi sono fatto una cultura con il Modbus (come ho fatto a vivere senza fino ad adesso ??? :slight_smile: ) ho provato il sensore umidità/temperatura XY-MD02 perché i DHT22 mi danno problemi di lettura a causa di disturbi elettromagnetici (basta una lampada al neon) sulle lunghe distanze e, a maggior ragione, con le tensioni da 3,3volt.
Con il protocollo RS-485 dovrei teoricamente arrivare a 500 metri, ma mi accontento anche di 50.

Sul WeMos nessun problema con queste schedine, sia che le attacchi ad un PLC Mitsubishi che al sensore YX-MD02

Poi ritorno sulla breadboard con NANO e cominciano i problemi...
Qualche schedina da errore InvalidSlaveID.
Le provo tutte: 15 NON RISPONDONO (complimenti, un bel 30%).

Poi mi ricordo del consiglio di ORSO2001 di provare con una modifica che aveva fatto: PERFETTO.
Con quella modifica funzionano tutte. (vedi foto sotto)

Dato che modificarle tutte è fatica :slight_smile: :slight_smile: qualche ESPERTO ELETTRONICO (e non faccio nomi perché non voglio offendere nessuno) se la sente di spiegarmi come mai succede ciò ai MAX485 e se magari me la posso cavare sostituendo qualcuna delle resistenze SMD sulla schedina (così faccio prima) ?

Grazie !

V5 MAX485.jpg

V5 MAX485.jpg

Bene, dopo diverse prove, la MIGLIORE SOLUZIONE è quella di mettere UNA SOLA RESISTENZA da 1Kohm tra GND e B.

Ho provato anche 2.2K, 3.3K e 4.7K, ma alcune "non ce la facevano", quindi ricominciavo i test con una resistenza più bassa fino a trovare il miglior valore.
Certo, anche con la sola 330ohm su GND funzionavano tutte, ma ho preferito non caricare troppo il ramo B e funzionano tutte perfettamente con 1Kohm.

steve-cr:
come mai succede ciò ai MAX485

Perché contrariamente a quanto si crede il 485 non è un sistema a due fili ma a tre, due fili portano il segnale differenziale e un terzo fa da riferimento comune.

http://www.ozeki.hu/p_5851-ozeki-rs485.html

Con solo due fili le diverse unità non hanno più un riferimento comune, ma tra GND di una e GND dell'altra si possono formare tensioni di svariati volt dette di modo comune.

Finché la tensione di modo comune che si crea tra le unità è entro il range ammesso funziona anche a due fili, poi ciccia.

La resistenza che hai scoperto essere funzionale in questo caso, potrebbe non esserlo in altre circostanze. L'unica certezza si ha solo usando un terzo filo di riferimento comune.

Qui tutto e di più: RS485: more on transmission line termination & material + reality check

Bastava che levassi R7 e portare il GND di riferimento a tutte le unità e tutto funziona

Quindi tolgo R7 e poi? Il gnd è già comune a tutto, nel senso che è comune col sensore e col NANO.
Come dovrei modificare la scheda?

R7 è il carico di linea , devi toglierla da tutti i moduli tranne nell' ultimo modulo, è il terminatore di bus

Effettivamente se tolgo la sola R7 da 120 ohm, la scheda di rete funziona perfettamente con il sensore XY-MD02 mentre se la lascio non c'è verso che funzioni.

Vedendo anche le altre due schede con MAX485 e cioè QUESTE, ho misurato che sui terminali A e B non c'è questa resistenza quindi non capisco perché la hanno voluto mettere.

Devo dire, però, che sui PLC clone FX3u che uso regolarmente, questo problema di resistenza non si pone, almeno non fino ad ora...

Quindi ho deciso di toglierla perchè a rimetterne una standard tra i morsetti si fa sempre in tempo mentre è più difficile fare il contrario nel caso di un intervento in loco su un macchinario.

Staremo a vedere.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.