Relay optoisolati e protezione di arduino

Ciao a tutti. In attesa dell'arrivo del mio arduino, ho iniziato a leggere (divorare) guide e blog su vari argomenti. Tra questi, l'uso dei relay mi ha fatto pensare un pò, sempre mantenendo un'ottica di sicurezza per le porte del povero arduino.

Per collegare un relay ad arduino, si devono usare anche un transistor, un diodo, una resistenza ecc. (non dico in che modo perchè non è questo il punto). Tutto questo per proteggere la porta di arduino a cui viene collegato il suddetto relé (in caso correggetemi :)).

Detto questo, navigando per cercare di imparare qualcosa, mi sono imbattuto in moduli con più relé (ne ho già comprato uno) gia collegati e che sono collegati a transistor, diodi ecc per proteggere arduino (sono optoisolati). E qui arrivano i dubbi.

-Ho letto che ogni relay quando è ON assorbe circa 80mA di corrente ma ogni pin di arduino ne può fornire al max 40mA (ma è altamente consigliato tirarne fuori 20). A questo punto mi chiedo QUANTO sia sicuro collegare i relay direttamente ad arduino (eppure in molte guide e video viene fatto in questo modo senza problemi) oppure, in caso, come bisogna fare per evitare di danneggiare le porte di arduino.

-Inoltre non ho ben capito se i relay sono optoisolati solo nel caso in cui io usi un alimentatore esterno per il modulo relay oppure se lo sono anche collegando il modulo direttamente ad arduino. Nel caso in cui non fosse così, devo proteggere le porte di arduino con transistors ecc (o per semplificare usando un ULN2803, se ho capito bene :P) ?

-In più, guardando un progetto su youtube, questo tizio ha collegato il modulo di relay con alimentatore esterno ed ha usato pure l'uln2803. E' un eccesso oppure ha un senso ? Posto una foto dei collegamenti (anche se lì viene usato un raspberry, ma è lo stesso) :

-In ultimo, ho visto che ci sono moduli di relay a 12V (io ho comprato il modulo 8 canali a 5V), sempre per arduino. In tal caso è necessaria tassativamente l'alimentazione esterna a 12V per il modulo, vero ? Mi interessa saperlo perchè l'unico relay che ho trovato su ebay che a 220v mi fornisce 16A è un relay a 12v.

Grazie per l'aiuto e siate clementi in caso di "orrori" da parte mia (son qui per imparare) :wink:

Prima di tutto Raspy fornisce sui pin moooolta meno corrente di Arduino (e dai pin 3,3V e non 5V).
Poi 8 relay sono tanti, se anche 1 singolo relay riesci a pilotarlo con poca corrente (entro i 20mA) tieni conto che =20*8 e c'e' un totale massimo di tutti i pin, sia per Raspy che per Arduino (per Arduino mi pare 250mA)
Qui sul sito Arduino più specifico:
http://playground.arduino.cc/Main/ArduinoPinCurrentLimitations

quante domande per un post solo.... ]:slight_smile:

allora visto gli 80ma dei rele e visto che ce ne son 8, ben che ti vada hai uan assorbimento >640ma troppo non solo per arduino ma anche per l'usb , di conseguenza arduino si alimenta via usb e i relè saranno alimentati per conto loro. l'isolazione delle optocopie serve proprio per poter avere due alimentatori che non interferiscano tra loro.

di coseguenza arduino (i pin) forniranno solo la corrente per "accendere" i led del optoisolatore o il transistor che li comanda (N:B se ci son i transistor gia sulla scheda, quelli, e il led dell'opto dovreanno invece essere alimentati dallo stesso alimentaore di arduino o per lo meno avere la massa in comune)

un ULN...ma dipende se l i tui relè hanno dei transistr montati non serve, se l'optocopia tira poca corrente non serve in tutti gli altri casi si serve ( uli o transistor a scelta).

se i relè son a 12Vcc DEVI usare un alimentatore esterno, se i rele son a 5vcc anche per il motivo sopra scritto

Grazie per le risposte $)

Quindi, dalla foto che ho postato, anche secondo te l'ULN è "in più" ?

@nid69ita
infatti anche io penso che finchè sono uno o due forse posso pilotarli da arduino, ma la mia domanda nasce dal fatto che ho visto video in cui erano pilotati più relay e mi sembra strano.

JekBaua:
Quindi, dalla foto che ho postato, anche secondo te l'ULN è "in più" ?

Non ho detto questo, ho detto dipende :wink: probabilmente (e sottolineo probabilmente) se chi ha fatto la scheda non li ha messi non dovrebbero servire, se servissero li avrebbero messi (quanti congiuntivo ho sbagliato?) MA da esperienze passate su questi aggeggi, è difficle dire qualche cosa, ne abbiamo viste di cotte e di crude!!

Ma a logica dovrebbe essere gia tutto pronto solo da attacchare i pin (al massimo i +5Vcc e gnd di arduino per la parte prima del led, poi alimentatore esterno da 5Vcc )

JekBaua:
... A questo punto mi chiedo QUANTO sia sicuro collegare i relay direttamente ad arduino (eppure in molte guide e video viene fatto in questo modo senza problemi) oppure, in caso, come bisogna fare per evitare di danneggiare le porte di arduino.

Infatti io non mi fido ad occhi chiusi delle guide in internet. C'e' anche ti prende a martellate la batteria di un cellulare ( poi gli esplode in faccia).
Per me nel caso di quella foto, forse l'ULN è messo perchè Raspy fornisce poca corrente e solo 3,3V.
Attendi risposte più attendibili delle mie. :smiley:

Grazie Martinix e nid69ita :wink:

Allora per essere precisi il più possibile posto la foto del mio modulo di relay :

Io vorrei collegarli così sincerandomi di non avere problemi di sovracorrenti o altro che possa distruggere arduino :

si corretto, trannche per un dettaglio... un bel filetto nero (nel disegno) che collega Gnd (arduino)--> Gnd relè ,ma occhio ai gnd peche sulla basetta ce ne dovrebbero essere 2 uno GNd alimentatore ed uno gnd arduino (inomi ora non saprei dire)

ps.s che differenza passa tra Vcc e jd-vcc?

Martinix:
si corretto, trannche per un dettaglio... un bel filetto nero (nel disegno) che collega Gnd (arduino)--> Gnd relè

Forse ho capito male... Dove l'ho comprato c'era scritto di non collegare gnd arduino con gnd relè se ho intenzione di usare un alimentatore esterno. Inoltre, volendo usare un alimentatore esterno si deve togliere il jumper (è giallo in foto) che unisce vcc con jd-vcc.
Ho googlato un bel pò per sapere la differenza tra vcc e jd-vcc ma non ne ho trovato traccia.

In ogni caso mi è venuta in mente un'altra cosa : ma perchè, per mettere in sicurezza le porte di arduino, non si lascia SEMPRE inserito un fusibile autoripristinante (uno per ogni porta) ? Magari è un'idea sbagliata...

ma nonso perche è scritto cosi... ma se hai presente come funziona un optoisolatore, dalla parte del led devi avere la massa comune (o i +5vcc dipende come la usi! o meglio anche entrambi) perche devi accendere in sostanza un led e se non chiudi il circuito pin--massa quel bruto non si accende.

Dall'altra parte del optocopia (sul transistor) metti un altro alimentatore con una sua massa, tanto grazie al'isolameto ottico le due parti NOn si vedono, mettere lo stesso gnd su entrambi i lati del'optocopia vanifichi il lavoro stesso dell'optocopia (non servirebbe piu a nulla) quindi non saprei a cosa si riferiva quella scritta!!!

si puo anche mettere un fusibile, ma per comandare un transistor o altro se sai cosa stai facendo (e se giochi con queste cose dovresti saperlo... hai mè l'elettronica è uan brutta bestia che non perdona tanto!!) non serve o serve solo in casi particolari.

meglio sapere la differenza tra vcc e jd-vcc perche li potresti avere problemi se per esempio mette in comune alim esterno con +5vcc (non sapendo che fa io penso al peggio)

edit:
con il multimetro prova a vedere se quel ponticello mette in comune qualcosa con l'ausilio del BBEP o della misura della resistenza :wink:

JekBaua:
In ogni caso mi è venuta in mente un'altra cosa : ma perchè, per mettere in sicurezza le porte di arduino, non si lascia SEMPRE inserito un fusibile autoripristinante (uno per ogni porta) ? Magari è un'idea sbagliata...

Esiste un compatibile altamente protetto ... QUI e ti salva da tutti QUESTI errori (... traduzione in Italiano a cura di Leo QUI)

Guglielmo

Siccome sicuramente non è possibile inserire links per altri siti o shop, ti copio le varie note da parte del produttore :

NOTES: If you want complete optical isolation, connect "Vcc" to Arduino +5 volts but do NOT connect Arduino Ground. Remove the Vcc to JD-Vcc jumper. Connect a separate +5 supply to "JD-Vcc" and board Gnd. This will supply power to the transistor drivers and relay coils.

NOTE: Each relay draws about .08A (80 Ma) when on, so if all 8 relays are actuated the board needs about 8*80 or 640 Ma (.64 amps). In this case a separate power supply for the relay board is required. Connect as in preceeding paragraph. A 5 Volt 1 A supply such as THIS would be good.

If relay isolation is enough for your application, AND you will not actuate more than 3 or 4 relays at once, connect Arduino +5 and Gnd, and leave Vcc to JD-Vcc jumper in place.

NOTE: It is sometimes possible to use these relay boards with 3.3V signals, IF the JD-VCC(RelayPower) is provided from a +5V supply and the VCC to JD-VCC jumper is removed. . That 5V relay supply could be totally isolated from the 3.3V device, or have a common ground IF opto-isolation is not needed. If used with isolated 3.3V signals, VCC (To the input of the opto-isolator, next to the IN pins) should be connected to the 3.3V device's +3.3V supply. NOTE: Some RaspberryPi users have found that some relays are reliable and others do not actuate sometimes. It may be necessary to change the value of R1 from 1000 ohms to something like 220 ohms, or supply +5V to the VCC connection.

NOTE: The digital inputs from Arduino are Active LOW: The relay actuates and an LED lights whe the input pin is LOW, and turns off on HIGH. See the Wiki article for how-to assure relays do not activate at power-on time.

Schematic Diagram of one channel:

Grazie per l'aiuto :wink:

ok in questo caso gnd non occore va solo +5vcc :wink:

NO jumper tra 1 e2 ma diretto su JD-VCC (a +5vcc)

se non ho calcolato male però, il relè si è eccitato con il vlore o sul pin, diseccitato con 1 quindi un pò contrario a quello che pensweresti normalmente :wink: (n.b. ho detto eccitato..poi quale contatto usi.... fai tu ma tienine conto quando srcivi il programma cera anche scritto, ma non avevo letto hihihhi)

JekBaua:
Siccome sicuramente non è possibile inserire links per altri siti o shop ..

... NON è permesso hai venditori per farsi pubblicità, non agli utenti per chiedere aiuto !

Certo che puoi mettere link e quant'altro !!! XD

Guglielmo