Relay board senza logica invertita

Salve,
mi sto documentando sulle relay board da collegare ad arduino.
Ho letto qui:

Io vorrei una board in cui il relè si attiva quando i pin di Arduino sono in HIGH ( cioè a logica non invertita ), per evitare che se l'arduino muore e si spegne i relè non si attivino.
( tra l'altro non ho capito perchè la maggior parte delle board relay hanno la logica invertita, un motivo ci sarà ma io non so qual'è, idee? )
Dal link mi sembra di capire che l'unica board con questa funzionalità è la scheda 4 Relè Keyes.
Ho guardato il sito del produttore

ma mancano tutti i datasheet del prodotto
avete idee su come capire se la board è a logica invertita o normale?

Qui trovi lo schema elettrico relativo a UN relè di una scheda a logica invertita.

Come vedi è l'optoisolatore che necessariamente inverte la logica.

Ciao,
P.

Ho aggiornato la pagina, visto che mancava l'immagine

Non essendoci schemi è quasi impossibile averne certezza ma guardando il loro esempio di codice

digitalWrite(i, LOW); //set digital I/O pin as ‘low’, i.e. turning off the relay
digitalWrite(i, HIGH); // set digital I/O pin as ‘low’. i.e. turning on the relay

Sembrerebbe che la logica non sia invertita, che c'è un refuso 'low' in entrambe i casi ma vabbé il copia incolla fa più danni che la guerra :slight_smile:
Comunque benché questa sembri una bella soluzione ti avviso che se Arduino muore è vero che nella maggior parte dei casi i relé si spegneranno ma non puoi averne certezza in quanto i fili collegati tra il pin di Arduino e il pin della scheda relé si trasformano in antenne che captano le peggio cose e potenzialmente potrebbero portare al livello alto (HIGH) gli ingressi portando all'attivazione del relé. Per ovviare a questo serve una bella resistenza di pulldown per ogni ingresso, hai possibilità di saldare? Anche un piccolo array di resistenze su millefori può andare bene. Metti una resistenza da 10K verso massa in comune con Arduino e colleghi anche questa al pin d'ingresso della scheda relé in modo che se Arduino muore (ma non il suo alimentatore altrimenti sei punto e accapo) gli ingressi hanno uno stato ben definito (basso quindi relé disattivo).
Altra cosa, anche questa scheda va alimentata con un alimentatore separato rispetto ad Arduino in modo da evitare guai dovuti alle interferenze che si propagherebbero grazie all'alimentazione comune, quindi un alimentatore per Arduino, un alimentatore per le varie schede relé e sulle schede relé rimuovi il ponticello sui pin COM e GND

Grazie mille fabpoli,
si ho la possibilità di saldare perchè mi farò stampare una pcb a mo di shield arduino in cui semplicemente ogni pin finisce in un morsetto grande ( quelli in cui puoi mettere il filo e avvitarlo con il cacciavite ), quindi prima di arrivare al morsetto ci metto una resistenza.
grazie mille

Allora vale la pena interporre un ULN2003, così da comandare in logica positiva le normali schede relé attive LOW, e si separano ulteriormente i teminali di Arduino dai possibili disturbi di ritorno.

ora si fa più difficile :slight_smile:

I collegamenti come in immagine sono giusti?

1)La resistenza da 10k la devo comunque mettere?

2)il ULN2003 mi inverte lui la logica? quindi in questo caso devo prendere board Active LOW ?

  1. il GND della board lo devo mettere al GND di arduino o al GND dell’alimentazione dopo i rele?

Il ULN2003 sono 7 array di transistori. Se dai un HIGH sul entrata l' uscita viene messa a massa. Un segnale di entrata LOW provoca un uscita aperta.
Se metti il relé tra + e un uscita lo accendi con un segnale HIGH.

Sulla foto vedo un integrato sulla scheda. presumo che ci sia giá un ULN2003 montato. Se é cosí non funziona il pilotaggo con un secondo ULN2003.

Ciao Uwe