Interfaccia RS485 optoisolata: differenze tra le versioni

Da La cantina di Gvf.
Jump to navigation Jump to search
(+ circuito stampato e foto)
(+ varianti)
Riga 3: Riga 3:
==Caratteristiche==
==Caratteristiche==
* Interfaccia RS485 optoisolata
* Interfaccia RS485 optoisolata
* Possibilità di utilizzare vari integrati di interfaccia (SN75176,...)
* Possibilità di utilizzare vari integrati di interfaccia (SN75176, MAX485, MAX 13487, etc...)
* Attivazione della trasmissione col segnale RTS per gli integrati che lo richiedono anche con logica negata
* Attivazione della trasmissione col segnale RTS per gli integrati che lo richiedono, anche con logica negata
* Ingressi e uscite compatibili con segnali a 3,3V oppure a 5V
* Ingressi e uscite compatibili con segnali a 3,3V oppure a 5V
* Possibilità di alimentazione separata del dc/dc converter per utilizzare i più economici moduli con ingresso a 5V
* Possibilità di alimentazione separata del DC/DC converter per utilizzare i più economici moduli con ingresso a 5V
* Led per l'indicazione di stato di alimentazione e delle linee RX, TX, RTS
* Led per l'indicazione di stato di alimentazione e delle linee RX, TX, RTS
* Uscita con morsettiera o connettore passo 100 mils
* Uscita con morsettiera o connettore passo 100 mils
Riga 25: Riga 25:
*D4 = LED blu (Power)
*D4 = LED blu (Power)
*D5 = SM712_SOT23
*D5 = SM712_SOT23
*DZ1 = Zener 3.3V SMD SOD-123
*DZ1 = Zener 3.3V SMD SOD-123 (opzionale, vedi testo)
*F1 = fusibile 800ma slow SMD 1206
*F1 = fusibile 800ma slow SMD 1206
*J1 = Connettore JST XH (passo 2,5 mm) 1x06 verticale
*J1 = Connettore JST XH (passo 2,5 mm) 1x06 verticale
Riga 50: Riga 50:
*R14 = 22KΩ
*R14 = 22KΩ
*R15 = 120Ω
*R15 = 120Ω
*U1 = SFH618A optoisolatore
*U1 = SFH618A (optoisolatore)
*U2 = H11L1 optoisolatore uscita Schmitt Trigger
*U2 = H11L1 (optoisolatore uscita Schmitt Trigger)
*U3 = H11L1 optoisolatore uscita Schmitt Trigger
*U3 = H11L1 (optoisolatore uscita Schmitt Trigger)
*U4 = DC/DC converter PA01S0305A
*U4 = PA01S0305A (DC/DC converter) in alternativa TEA 1-0505 - vedi sotto
*U5 = TAR5S50 regolatore di tensione 5V Low Dropout
*U5 = TAR5S50 (regolatore di tensione 5V Low Dropout)
*U6 = SN75176AP driver RS485
*U6 = SN75176AP (driver RS485) o equivalenti.


==Circuito stampato==
==Circuito stampato==
Link per il file zip contente i [https://cantina.gvf.ve.it/images/5/5f/gvf2235_1_gerber.zip file Gerber] dello stampato.
Link per il file zip contente i [https://cantina.gvf.ve.it/images/5/5f/gvf2235_1_gerber.zip file Gerber] dello stampato.
Tutti i componenti DIL sono montati con l'apposito zoccolo, utile nelle prove o in caso di guasti. Finora non mi è mai capitato di dover sostituire componenti su questa interfaccia, ma non si sa mai...


<gallery mode="nolines">
<gallery mode="nolines">
Riga 66: Riga 68:
File:gvf2235 1 collaudo.jpg|Una delle prime schede in fase di collaudo
File:gvf2235 1 collaudo.jpg|Una delle prime schede in fase di collaudo
</gallery>
</gallery>
==Varianti==
Pur essendo un circuito piuttosto semplice si presta a numerose varianti.
Innanzitutto è possibile utilizzarlo con numerosi driver seriali purché ovviamente compatibili come piedinatura al vecchio SN75176 che ho scelto perché di facile reperibilità e costo ridotto. Si può fra l'altro utilizzare il MAX13487E che non richiede il controllo di attivazione del TX (vedi sotto).
===Doppia tensione di alimentazione===
Se i segnali della seriale sono con tensione 3,3V e si ha disponibile anche una linea a 5V è possibile utilizzare la stessa per alimentare il DC/DC converter utilizzando per esempio il TEA 1-0505 che costa un terzo del PA01S0305A.
In questo caso va interrotto il jumper JP1 oltre ovviamente a fornire tensione a 5V al pin 6 di J1.
===Segnali e alimentazione a 5V===
In questo caso va solo cambiato il DC/DC converter con uno con tensione di ingresso 5V come il sopracitato TEA 1-0505.
===Solo ricezione===
Se la seriale deve essere utilizzata in sola ricezione vanno eliminati U1, U2, R1, R2, R6, R8, R9, D2, D3. Inoltre R5 può essere sostituita da un ponticello o da una resistenza 0Ω.
Solo in questo caso se si alimenta il circuito a 5V ma si vuole un uscita a 3,3V va montato il diodo Zener DZ1
===Attivazione automatica driver trasmissione===
Utilizzando il MAX13487E è possibile evitare di dover attivare il driver durante la trasmissione. Utile nel caso non sia disponibile il segnale RTS o lo stesso non sia comandato dal programma utilizzato. Il rovescio della medaglia è il costo decisamente superiore e la minore reperibilità.
Purtroppo il MAX13487E esiste solo in versione con package SO a 8 pin. È quindi necessario utilizzare uno stampato adattatore, peraltro facilmente reperibile su internet.
Saranno inoltre necessarie le seguenti modifiche:
* Eliminare R1, R5, R6, D2.
* Sostituire U1 con un ponticello fra i pin 3 e 4 dello stesso.
===Segnali 3,3V alimentazione a 5V===
Per questa situazione è necessario fare una modifica allo stampato e aggiungere un paio di componenti.
È innanzitutto eliminare completamente il jumper JP1 e praticare al suo centro un foro da 0,8 mm raschiando poi la solder mask sull'altro lato per realizzare una piazzola a massa.
Bisogna montare poi un L78L33 con il pin 1 su TP1, il pin 2 sul nuovo foro a massa e il pin 3 su TP2. Consiglio un condensatore da 100nF fra uscita e massa del regolatore.
Il DC/DC converter deve essere del tipo con tensione di ingresso 5V (TEA 1-0505). 
===Versione super economica===
Se proprio volete risparmiare (molto poco) potete evitare il regolatore di tensione TAR5S50 e i relativi condensatori sostituendolo con un ponticello. Il driver non ne sarà contento ma funziona.
Se l'ambiente in cui utilizzerete l'interfaccia e elettricamente "pulito" potete anche omettere il SM712 e sperare che non arrivino disturbi troppo violenti.
In questa maniera avete risparmiato... quasi 1€ e un po' di saldature su componenti particolarmente piccoli.


[[Categoria:Elettronica]]
[[Categoria:Elettronica]]

Versione delle 16:50, 4 apr 2024

Nei miei progetti mi è capitato di usare spesso collegamenti seriali usando l'interfaccia RS485. Inizialmente mi ero affidato a moduli reperiti in rete ma dopo numerosi guasti che non sempre si limitavano al modulo di interfaccia ho deciso di realizzare questa interfaccia optoisolata e (spero) adeguatamente protetta.

Caratteristiche

  • Interfaccia RS485 optoisolata
  • Possibilità di utilizzare vari integrati di interfaccia (SN75176, MAX485, MAX 13487, etc...)
  • Attivazione della trasmissione col segnale RTS per gli integrati che lo richiedono, anche con logica negata
  • Ingressi e uscite compatibili con segnali a 3,3V oppure a 5V
  • Possibilità di alimentazione separata del DC/DC converter per utilizzare i più economici moduli con ingresso a 5V
  • Led per l'indicazione di stato di alimentazione e delle linee RX, TX, RTS
  • Uscita con morsettiera o connettore passo 100 mils
  • Ingresso con connettore JST XH

Schema elettrico

gvf2235 v1.pdf

Elenco componenti

  • C1 = 1µF ceramico SMD 1206
  • C2 = 10nF ceramico SMD 0805
  • C3 = 10µF ceramico SMD 1206
  • C4 = 100nF ceramico SMD 0805

Tutti i LED sono SMD 1206

  • D1 = LED verde (RX)
  • D2 = LED giallo (TX enable)
  • D3 = LED rosso (TX)
  • D4 = LED blu (Power)
  • D5 = SM712_SOT23
  • DZ1 = Zener 3.3V SMD SOD-123 (opzionale, vedi testo)
  • F1 = fusibile 800ma slow SMD 1206
  • J1 = Connettore JST XH (passo 2,5 mm) 1x06 verticale
  • J2 = Connettore strip line 01x04 maschio verticale
  • J3 = Morsettiera 1x4 passo 5,08 mm Phoenix Contact MSTBVA_2,5-4-G-5,08
  • JP1 = Selezione doppia alimentazione
  • JP2, JP3 = Selezione TX enable: 1-2 (default) attivo con RTS basso - 2-3 attivo con RTS alto
  • JP4, JP5 = Polarizzazione linea con driver disabilitato (attivo di default)
  • JP6 = Resistenza di carico sulla linea (default disinserita)

Tutte le resistenze sono SMD 1206

  • R1 = 1KΩ
  • R2 = 1KΩ
  • R3 = 2.2KΩ
  • R4 = 4.7KΩ
  • R5 = 1.5KΩ
  • R6 = 2.2KΩ
  • R7 = 2.2KΩ
  • R8 = 4.7KΩ
  • R9 = 2.2KΩ
  • R10 = 2.2KΩ
  • R11 = 22KΩ
  • R12 = 10Ω
  • R13 = 10Ω
  • R14 = 22KΩ
  • R15 = 120Ω
  • U1 = SFH618A (optoisolatore)
  • U2 = H11L1 (optoisolatore uscita Schmitt Trigger)
  • U3 = H11L1 (optoisolatore uscita Schmitt Trigger)
  • U4 = PA01S0305A (DC/DC converter) in alternativa TEA 1-0505 - vedi sotto
  • U5 = TAR5S50 (regolatore di tensione 5V Low Dropout)
  • U6 = SN75176AP (driver RS485) o equivalenti.

Circuito stampato

Link per il file zip contente i file Gerber dello stampato.

Tutti i componenti DIL sono montati con l'apposito zoccolo, utile nelle prove o in caso di guasti. Finora non mi è mai capitato di dover sostituire componenti su questa interfaccia, ma non si sa mai...

Varianti

Pur essendo un circuito piuttosto semplice si presta a numerose varianti.

Innanzitutto è possibile utilizzarlo con numerosi driver seriali purché ovviamente compatibili come piedinatura al vecchio SN75176 che ho scelto perché di facile reperibilità e costo ridotto. Si può fra l'altro utilizzare il MAX13487E che non richiede il controllo di attivazione del TX (vedi sotto).

Doppia tensione di alimentazione

Se i segnali della seriale sono con tensione 3,3V e si ha disponibile anche una linea a 5V è possibile utilizzare la stessa per alimentare il DC/DC converter utilizzando per esempio il TEA 1-0505 che costa un terzo del PA01S0305A. In questo caso va interrotto il jumper JP1 oltre ovviamente a fornire tensione a 5V al pin 6 di J1.

Segnali e alimentazione a 5V

In questo caso va solo cambiato il DC/DC converter con uno con tensione di ingresso 5V come il sopracitato TEA 1-0505.

Solo ricezione

Se la seriale deve essere utilizzata in sola ricezione vanno eliminati U1, U2, R1, R2, R6, R8, R9, D2, D3. Inoltre R5 può essere sostituita da un ponticello o da una resistenza 0Ω.

Solo in questo caso se si alimenta il circuito a 5V ma si vuole un uscita a 3,3V va montato il diodo Zener DZ1

Attivazione automatica driver trasmissione

Utilizzando il MAX13487E è possibile evitare di dover attivare il driver durante la trasmissione. Utile nel caso non sia disponibile il segnale RTS o lo stesso non sia comandato dal programma utilizzato. Il rovescio della medaglia è il costo decisamente superiore e la minore reperibilità.

Purtroppo il MAX13487E esiste solo in versione con package SO a 8 pin. È quindi necessario utilizzare uno stampato adattatore, peraltro facilmente reperibile su internet.

Saranno inoltre necessarie le seguenti modifiche:

  • Eliminare R1, R5, R6, D2.
  • Sostituire U1 con un ponticello fra i pin 3 e 4 dello stesso.

Segnali 3,3V alimentazione a 5V

Per questa situazione è necessario fare una modifica allo stampato e aggiungere un paio di componenti.

È innanzitutto eliminare completamente il jumper JP1 e praticare al suo centro un foro da 0,8 mm raschiando poi la solder mask sull'altro lato per realizzare una piazzola a massa.

Bisogna montare poi un L78L33 con il pin 1 su TP1, il pin 2 sul nuovo foro a massa e il pin 3 su TP2. Consiglio un condensatore da 100nF fra uscita e massa del regolatore.

Il DC/DC converter deve essere del tipo con tensione di ingresso 5V (TEA 1-0505).

Versione super economica

Se proprio volete risparmiare (molto poco) potete evitare il regolatore di tensione TAR5S50 e i relativi condensatori sostituendolo con un ponticello. Il driver non ne sarà contento ma funziona. Se l'ambiente in cui utilizzerete l'interfaccia e elettricamente "pulito" potete anche omettere il SM712 e sperare che non arrivino disturbi troppo violenti.

In questa maniera avete risparmiato... quasi 1€ e un po' di saldature su componenti particolarmente piccoli.