Interfaccia RS485 optoisolata: differenze tra le versioni
Gvf (discussione | contributi) (+ varianti) |
Gvf (discussione | contributi) |
||
(Una versione intermedia di uno stesso utente non è mostrata) | |||
Riga 50: | Riga 50: | ||
*R14 = 22KΩ | *R14 = 22KΩ | ||
*R15 = 120Ω | *R15 = 120Ω | ||
*U1 = SFH618A (optoisolatore) | *U1 = SFH618A (optoisolatore) [https://www.vishay.com/docs/83673/sfh618a.pdf datasheet] | ||
*U2 = H11L1 (optoisolatore uscita Schmitt Trigger) | *U2 = H11L1 (optoisolatore uscita Schmitt Trigger) [https://www.onsemi.com/download/data-sheet/pdf/h11l3m-d.pdf datasheet] | ||
*U3 = H11L1 (optoisolatore uscita Schmitt Trigger) | *U3 = H11L1 (optoisolatore uscita Schmitt Trigger) | ||
*U4 = PA01S0305A (DC/DC converter) in alternativa TEA 1-0505 - vedi sotto | *U4 = PA01S0305A (DC/DC converter) in alternativa TEA 1-0505 - vedi sotto [https://www.mouser.it/datasheet/2/632/DS_PA01S-3106448.pdf PA01S0305A datasheet] [https://www.tracopower.com/sites/default/files/products/datasheets/tea1_datasheet.pdf TEA 1-0505 datasheet] | ||
*U5 = TAR5S50 (regolatore di tensione 5V Low Dropout) | *U5 = TAR5S50 (regolatore di tensione 5V Low Dropout) [https://toshiba.semicon-storage.com/info/TAR5S50_datasheet_en_20240222.pdf?did=766&prodName=TAR5S50 datasheet] | ||
*U6 = SN75176AP (driver RS485) o equivalenti. | *U6 = SN75176AP (driver RS485) o equivalenti. [https://www.ti.com/lit/ds/symlink/sn75176a.pdf SN75176 datasheet] [https://www.analog.com/media/en/technical-documentation/data-sheets/MAX1487-MAX491.pdf MAX485 datasheet] [https://www.analog.com/media/en/technical-documentation/data-sheets/MAX13487E-MAX13488E.pdf MAX13487 datasheet] | ||
==Circuito stampato== | ==Circuito stampato== | ||
Riga 96: | Riga 96: | ||
===Segnali 3,3V alimentazione a 5V=== | ===Segnali 3,3V alimentazione a 5V=== | ||
[[File:gvf2235 1 regolatore extra.jpg|thumb|Regolatore 3,3V aggiuntivo.]] | |||
Per questa situazione è necessario fare una modifica allo stampato e aggiungere un paio di componenti. | Per questa situazione è necessario fare una modifica allo stampato e aggiungere un paio di componenti. | ||
Riga 102: | Riga 103: | ||
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. | 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). | Il DC/DC converter deve essere del tipo con tensione di ingresso 5V (TEA 1-0505). | ||
<br clear=all> | |||
===Versione super economica=== | ===Versione super economica=== |
Versione attuale delle 20:10, 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
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) datasheet
- U2 = H11L1 (optoisolatore uscita Schmitt Trigger) datasheet
- U3 = H11L1 (optoisolatore uscita Schmitt Trigger)
- U4 = PA01S0305A (DC/DC converter) in alternativa TEA 1-0505 - vedi sotto PA01S0305A datasheet TEA 1-0505 datasheet
- U5 = TAR5S50 (regolatore di tensione 5V Low Dropout) datasheet
- U6 = SN75176AP (driver RS485) o equivalenti. SN75176 datasheet MAX485 datasheet MAX13487 datasheet
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.