Pulsante distante

Ciao a tutti, oggi sbarco con una domanda semplice... almeno da esporre :slight_smile:

Dovrei collegare un pulsante ad Arduino, e fin qui niente di strano. Il problema è che dovrei posizionarlo a parecchi metri di distanza (diciamo 5 o 10, tanto per stare larghi) e il filo dovrà correre fianco a fianco con uno o più cavi che portano la 220V. Temo che i 5V di Arduino non arriveranno mai a destinazione... come posso fare? Sono aperto a soluzioni di qualsiasi tipo, a parte wireless... che non sarebbe una soluzione ma un modo per aggirare il problema.
Un modo sicuramente valido, ma mi interessa sapere se esiste un modo a livello "accademico" per comprenderlo meglio :slight_smile:

Basta fotoaccoppiare il segnale e non ci pensi più

Non ho le idee chiarissime ma prove:

Usa un cavo schermato e collaga la schermatura a massa.
Usa una resistenza Pullup o Pulldown abbastanza piccola (qualcosa tra 1k Ohm e 220 Ohm)
Metti un diodo Zener da 4,7V tra massa e entrata Arduino.
Metti un condensatore da 0,1µF in paralello al diodo zener.
Metti tra entrata (e zener) e cavo e Pullup una resistenza da 10k Ohm
Metti dei diodi skotky indirezione inversa tra entrata Arduino e massa e +5V ( catodo in direzione 5V e anodo in direzione massa)

Ciao Uwe

icio:
Basta fotoaccoppiare il segnale e non ci pensi più

Come dice icio, metti un fotoaccoppiatore e vivi felice!
Questi cosini mi hanno salvato da una rottura di scatole (luci che si accendevano a caso).
Io faccio correre cavi anche per 15 metri in controsoffittatura insieme a cavi 220V. Da quando ho utilizzato i fotoaccoppiatori non ho avuto più alcun problema.

Grazie mille ragazzi! So cos'è un fotoaccoppiatore ma purtroppo non riesco a capire in che modo applicarlo per questo scopo. Potete suggerirmi un semplice schema di collegamento?

Grazie ancora :slight_smile:

Se lavori sullo 0, ovvero il comando è un pulsante NA che mette a massa un input puoi avere anche 100mt, il problema lo avresti se chiudendo il pulsante fornisci 5v all'input. Quindi pullup sull'ingresso e pulsante remoto che chiude verso massa vai sereno.... come detto anche 100 mt

.

Pablos: posso lavorare anche sullo zero (tutto sommato è uguale), ma il fatto che il filo a 5V - quindi normalmente in HIGH a 5V - corra accanto i 220V non potrebbe causare problemi di "falsi zero", anche solo per un istante? E al contrario, nel momento in cui il pulsante manda a zero il segnale, siamo sicuri che questo zero venga letto come tale? Non potrebbe caricarsi di interferenze proprio in quel momento dalla/e linea/e a 220V che passano vicino, e quindi anche se mandato a massa non risulti tale?

Brunello, grazie infinite per lo schema. Dunque, parlando di quello con fotoaccoppiatore: il circuito a sinistra dello schema presuppone quindi di avere una linea che chiude il pulsante a 220V, o comunque una linea fornita da un alimentatore che fornisca una tensione opportuna ad essere trasportata per un tragitto di media lunghezza senza subire particolari interferenze. Sto interpretando bene?

Simpatico problema, mi attrae parecchio, ho avuto molto anni fa un problema simile ma un pò più complesso, dovevo far passare una comunicazione seriale a più di 100 metri di distanza in una canalina aerea in mezzo a cavi di motori di diverse potenze tra un pannello di controllo Telemecanique e un PLC Siemens, ho risolto con un cavo schermato con fili di dimensioni ciclopiche e tutto è andato liscio(sembra pazzesco ma ha funzionato).
La soluzione del fotoaccoppiatore di Brunello mi sembra buona, si potrebbe anche provare a mettere 2 fotoaccoppiatori, uno all'inizio e uno alla fine, e far lavorare la linea con tensioni maggiori di 5V.

Se ho capito bene: potrei alzare la tensione in uscita dal pin Vcc di Arduino da 5V a (ad esempio) 24V per renderla più "trasportabile", portare questa all'interruttore lontano e fotoaccoppiare il ritorno per farla leggere in ingresso su di un pin input, nuovamente a 5V. Ha senso così?

Io lavoro con fotoaccoppiatore a "soli" 12V, I miei cavi girano per casa "strusciando" amorevolmente i cavi in tensione a 220V.

@pablos: io lavoravo con lo 0, avevo attivato la pull Up interna ma i falsi segnali li avevo comunque. Fotoaccoppiatore ed ho risolto.

khriss75:
@pablos: io lavoravo con lo 0, avevo attivato la pull Up interna ma i falsi segnali li avevo comunque. Fotoaccoppiatore ed ho risolto.

Giusto per curiosità che tipo di fotoaccoppiatore hai usato? Cercando in giro molti parlano del 4n25 e quindi lo prendo per "buono" e affidabile, tuttavia mi permette di gestire un solo "dispositivo".
Per caso esiste qualche altro fotoaccoppiatore "buono" con più pin? Ho visto che ne esistono alcuni con anche 16 pin per gestire fino a 4 "dispositivi" ma non ne saprei valutare la qualità.

@pablos: io lavoravo con lo 0, avevo attivato la pull Up interna ma i falsi segnali li avevo comunque. Fotoaccoppiatore ed ho risolto.

Se così fosse dovremmo buttare il 100% degli impianti con segnalazione a contatti puliti NO/NA, tra i quali gli impianti di allarme che lavorano appunto su segnali verso GND e alcuni verso +12 anche a 200mt.
E' chiaro che a monte (lato MCU) va filtrato e tagliato il segnale negativo e/o di disturbo.

Ti immagini se con 64 zone dovessi montare n dispositivi optoisolati come lievitano i costi?
Non ti servono gli opto, al massimo dei level shifter con un TR e qualche R. Poi ovviamente nessuno ti impone di non usare gli opto, se 5v non ti convincono su 10mt e vuoi stare sicuro usa il 12v, ma addirittura optoisolarlo mi sembra eccessivo, a me hanno sempre insegnato di restare negli standard industriali, dove le regole sono:

  • utilizzare componenti facilmente reperibili
  • ridurre gli spazi e dimensioni delle schede
  • risparmio energia complessiva
  • ridurre al massimo i costi complessivi

shake84:
Giusto per curiosità che tipo di fotoaccoppiatore hai usato? Cercando in giro molti parlano del 4n25 e quindi lo prendo per "buono" e affidabile, tuttavia mi permette di gestire un solo "dispositivo".
Per caso esiste qualche altro fotoaccoppiatore "buono" con più pin? Ho visto che ne esistono alcuni con anche 16 pin per gestire fino a 4 "dispositivi" ma non ne saprei valutare la qualità.

Oltre al 4N25 c'è il 4N35 che va a tensioni maggiori, a 16 pin c'è il CNY74 con 4 fotoaccoppiatori in un singolo chip.
Comunque per i sostenitori del fotoaccoppiatore posso dire che non è la soluzione al problema, sempre di disturbi sulla linea parliamo, e non sono i fotoaccoppiatori a risolverla, schermare i segnali è la prima cosa da fare, andare su tensioni piu alte dei 5V a lunghe distanze è obbligatorio, mettere dei PULLUP robusti e chiudere verso massa anche.
Se poi dobbiamo inviare piu segnali allora dobbiamo andare su comunicazioni seriali studiate per le grandi distanze, e qui non voglio andare oltre a quello che gia si sà.

Anche questo può essere interessante
http://electronics.stackexchange.com/questions/43498/how-can-i-use-a-12-v-input-on-a-digital-arduino-pin

http://electronics.stackexchange.com/questions/73857/detect-car-12v-using-arduino

http://electronics.stackexchange.com/questions/84286/looking-to-build-signal-level-converter-to-reduce-20v-input-to-3-3v-out-am-i-on

o questo
http://pica2005.altervista.org/Configurazione%20Input-Output.htm

anche questo, un 12V dc che in realtà pilota un GND
http://electronics.stackexchange.com/questions/129094/sense-automotive-12v-circuit-from-3-3v-microcontroller-safely