[RISOLTO] Interferenze Elettromagnetiche - Arduino Crasha

Ragazzi ho un problema che devo risolvere. Chiedo il vostro cortese aiuto.

Dopo un mese di studio del linguaggio e molte ore di lavoro "pratico" sono riuscito a collegare Il mio arduino Mega con un LCD 16x2 e due schede da 8 relè optoisolati.

Ad ogni rele è collegata una elettrovalvola d'irrigazione che ha un solenoide alimentato a 24V AC.

Sul banco tutto perfetto: Arduino è alimentato a 5V e le schede anche a 5V (ma indipendenti!) LCD funziona I Relè si aprono e chiudono secondo programma Diversi potenziometri 10K decidono i tempi. Una meraviglia.

Monto il tutto "fuori". AAAAGHHHHH!

Arduino crasha.... quando parte la pompa.

Ho la sensazione che quando parte la pompa sommersa da 2HP ci possa essere un calo di tensione talmente breve che io non riesca a percepirlo col multimetro ma arduino sì. Allora prendo una batteria da 12V la collego ad uno step-down calibrato su 9V e direttamente al jack di arduino.

La pompa sommersa parte. Sembra ok. Apre la prima elettrovalvola grazie al primo relè. Ok. Quando questo relè chiude e si apre il successivo.

CRASH arduino, crash display !!!!!!

Credo il problema sia una extracorrente di chiusura che "disturba" tutto.

Come risolvere ?

Un amico mi ha suggerito varistore e rete RC, ma non sono così pratico. Chi può spiegarmi meglio? Dove comprarli, come montarli ?

Ma se schermo solo Arduino tralasciando le schede relè, c'è un modo ?

Grazie infinite

PS Ma una comune centralina da 20€ per elettrovalvole tutti questi problemi non li ha ??!!?? Bho!

http://forum.arduino.cc/index.php?topic=302997.msg2107608#msg2107608 ne metti 2-3 così per stare sicuro?

Il tuo non è un disturbo elettromagnetico, è molto probabilmente un disturbo sull'alimentazione, un picco, lo fa anche con i relè a vuoto (senza carichi 220)?

Ciao Pablos,

sto impazzendo davvero.

Il problema si presenta quando i relè in uscita controllano la 24 V AC dei solenoidi delle elettrovalvole. Senza carico in laboratorio è tutto perfetto.

Sto leggendo tante cose diverse su internet:

  • porre un condensatore in parallelo all'alimentazione dell'intero arduino ?!?
  • porre un varisistore a monte delle schede relè (ma da 5V non esistono) ?!?

PS Il link che mi hai mandato riporta al mio post !

Zamundo: Il problema si presenta quando i relè in uscita controllano la 24 V AC dei solenoidi delle elettrovalvole. Senza carico in laboratorio è tutto perfetto.

Le interferenze elettromagnetiche non c'entrano nulla, questi sono i chiari sintomi di spike sull'alimentazione, il risultato è sempre lo stesso, il micro resetta o va in crash. Come risolvere dipende dal hardware che stai utilizzando e da come l'hai collegato. Mettere condensatori sull'alimentazione non serve a nulla, i transienti veloci non li vedono, semmai servirebbe una bel filtro a pi greco in configurazione CLC e un transil veloce da 5.4 V in parallelo all'alimentazione del micro.

È arduino che deve avere un buon alimentatore prima di tutto, con i suoi filtri e stabilizzatori, preferibilmente la spina dell'alimentatore non dovrebbe essere collegata sullo stesso nodo 220v degli altri utilizzatori, poi si pensa se necessario a ridurre ulteriormente i disturbi sulle bobine degli utilizzatori

Ma visto che hai detto di aver alimentato Arduino da una batteria e che il problema ( anche se ridotto ) ti si presenta lo stesso, forse le schede rele' che hai usato non sono collegate correttamene. Fotoaccoppiate vuol dire poco, se il collegamento fatto non e' corretto. Ad esempio la massa non va' messa in comune. Che schede sono ?

Ragazzi non so come ringraziarvi dell'aiuto.

Le schede sono queste: http://www.amazon.it/gp/product/B00E370JAC/ref=s9_simh_gw_p23_d13_i1?pf_rd_m=A11IL2PNWYJU7H&pf_rd_s=center-2&pf_rd_r=08DGNYX7K31J3V6Y4TGM&pf_rd_t=101&pf_rd_p=451015247&pf_rd_i=426865031

Il tutto è collegato in questo modo:

1) Schede Relè (tolto il ponticello) collegate con JD-Vcc e Gnd ad apposito alimentatore 5V. Solo il Vcc (alla fine degli 8 Pin IN) è collegato al +5V di Arduino (Il gnd vicino ai PIN IN non è collegato) 2) Arduino attualmente è alimentato da batteria 12V tramite Step-Down settato a 9V 3) Alle uscite dei relè sono collegate le elettrovalvole (con SOLENOIDE) alimentate da apposito trasformatore 220V-24V AC.

Ho letto su un progetto (che utilizza una pompa 220V al posto delle valvole 24V) che è indispensabile porre una rete RC (come consigliava l'amico Cyber).

Se per 230VAC devo usare C=100mF ed R=47 Ohm, come devo regolarmi per 24VAC ?????? O è meglio un varistore da 30V in parallelo ?

Ragazzi,
allora pensate che si possa risolvere ponendo un varistore da 30V in parallelo all’alimentazione valvola (a valle del relè) ed una rete RC (con C=0,1 uF ed R= 47 Ohm) in parallelo al carico ?
Tipo schema sottostante

Che tipo di varistore dovrei acquistare ? ho visto che ce ne sono centinaia.

rele-02-300x141.jpg

Ho provato a mettere una rete RC (con C=0,1 uF ed R= 47 Ohm) in parallelo ad ogni elettrovalvola, in attesa che arrivino i varistori da 30V . Va un pochino meglio, ma ogni tanto crasha Arduino e dalla seconda valvola in poi (quindi il problema sembra ancora la "chiusura" della primo relè) crasha sempre il display.

Ho comprato un buon alimentatore 12V con batteria tampone (38,00€) .... adesso sono un pochino scoraggiato !

Posso chiedervi un sistema (con schema) per costruire il famoso filtro pigreco o cosa analoga? Pensate che così si risolva ?

Ho letto che lo snubber RC per 24VAC andrebbe fatta con C=1uF ed R=100 Ohm, potrebbe essere questo il problema ?

Grazie di cuore

Come sono disposti, "fisicamente", Arduino, rele' ed elettrovalvole ? ... per assurdo, anche i rele' troppo vicini alla scheda logiche potrebbero creare problemi ...

Ricapitoliamo,

  • arduino è alimentato da batteria
  • i pin azionano dei relè a 5v e la sua alimentazione è prelevata da un alimentatore separato 5v
  • le elettrovalvole a 24v sono alimentate da un altro alimentatore a 220/24

esclusioni:
Il disturbo non entra dall’alimentazione del micro… è a batteria
il disturbo non entra dalle bobine delle valvole, dato che i contatti puliti dei relè fanno da isolamento a meno che quelle elettrovalvole non siano delle bobine di tesla :slight_smile:

resta la scheda relè che è quella direttamente collegata al micro, i disturbi possono solo arrivare da li … tutto il resto è isolato

Schede Relè (tolto il ponticello) collegate con JD-Vcc e Gnd ad apposito alimentatore 5V.
Solo il Vcc (alla fine degli 8 Pin IN) è collegato al +5V di Arduino (Il gnd vicino ai PIN IN non è collegato)

Perchè hai messo in comune il Vcc invece del GND?
i relè li piloti con dei LOW?

Sei sicuro che nello sketch tutti i pin che usi compresi quelli dei relay siano stati configurati o magari ne hai dimenticato qualcuno nel setup() lasciandolo in condizione flottante?

@Etemenanki: La distanza fra schede relè e scheda Arduino è 5 cm per la prima scheda e 10 cm per la seconda, ovviamente (oltre che per stare dentro alla scatola stagna) anche per ridurre la lunghezza dei cavetti dei PINS

@Pablos: Hai sintetizzato in modo perfetto.
La scheda relè è correttamente collegata vedi qui:
http://arduino-info.wikispaces.com/ArduinoPower#4-8
I 5V di Arduino servono ad accendere il LED del fotoaccoppiatore, essendo collegati ai MOSFET del circuito di uscita digitale… quindi ok Vcc in comune … errato GND in comune.
I relè ovviamente sono pilotati con LOW
Non ci sono Pull-up flottanti.

Ripeto che sul tavolo del laboratorio funziona in un modo MERAVIGLIOSO.

Quando lo monto nel “mondo reale” dove ci sono: Pompe sommerse da 2HP, Inverter di controllo da 1,5 Kw, e 14 elettrovalvole di cui la più lontana è posta a 85 metri dalla centralina… immagino sorgano problemi di disturbi elettromagnetici.

Forse (oltre ai varistori che sto aspettando) sarebbe opportuno provare a filtrare le entrate al controller ad esempio con l’idea di Astrobeed ossia un “filtro pi greco in configurazione CLC e un transil veloce da 5.4 V in parallelo all’alimentazione del micro”… ma sinceramente non sono in grado di capire a pieno il suggerimento.
Se mi aiutate con uno schema provvedo a comprare e montare.

Grazie davvero per l’interessamento e l’aiuto.

Se sei così convinto che sia elettromagnetico il disturbo, distanzia le bobine di 2 metri per provare metti arduino in una scatola di metallo per biscotti e collega la scatola a GND .. non dimenticare di isolare la scheda arduino lato-saldature e ti togli tutti i dubbi.

Un filtro CLC, come dice il nome, e’ una cella condensatore-bobina-condensatore, tipo lo schema che ti allego sotto (si puo fare sia con che senza elettrolitici)

Bobina con nucleo in ferrite, da almeno 100mH, ed ovviamente sezione del filo in grado di sopportare almeno la corrente richiesta dal circuito (meglio se di piu), condensatori ceramici da 100nF, con in parallelo se si vuole esagerare condensatori elettrolitici al tantalio (da almeno 16V per i 5V, e da almeno 25V per i 12V, perche’ i tantalio sono permalosi e se non li usi con almeno il doppio della tensione di utilizzo, prendono fuoco facilmente … alla lettera :P)

EDIT: il transil, o doppio zener, serve per sopprimere i picchi transitori, se non ne trovi, per il 5V prendi due zener da 4.9V e li colleghi in serie ma con i catodi insieme e ti ritrovi con uno “pseudotransil” da circa 5.5V (non saranno veloci come un transil vero e proprio, ma proteggono comunque) e colleghi il tutto in parallelo all’uscita del filtro …

CLC.png

Ma scusate, se come dice lui vuole mettere tutto un una scatoletta arduino e le elettrovalvole a pochi cm l'una dall'altra e il disturbo è magnetico, mi spiegate a cosa servono i vari filtri CLC, varistori, condensatori? a nulla a meno che questi componenti non annullino il campomagnetico nell'etere generato dagli avvolgimenti.

Finchè non dimostra che tutto funziona con una distanza di 2-3 metri, non sappiamo ancora ora se il micro è davvero disturbato dal campo magnetico

Per quello all'inizio gli avevo chiesto se i rele' erano "incollati" ad Arduino ... potrebbero essere persino semplicemente i disturbi causati dalle scintille dei contatti troppo vicini a cavi e schede ...

Pablos, le elettrovalvole non sono ovviamente nella scatola che contiene arduino. Semmai nella stessa scatola ci sono le 2 schede relè che comandano le elettrovalvole.

Le elettrovalvole (con i loro solenoidi) sono a diverse "decine" di metri di distanza.

Domattina provo a fare come dite di spostare le schede relè a 2 metri. E' un lavorone, ma se dite che serve. Ma non creo problemi al segnale che dai pin output di arduino dovrà spostarsi così tanto ? Pensavo che i cavetti jumper che usiamo nei prototipi fossero corti proprio per evitare "dispersioni".

Se penso che, senza problemi, le centraline che usavo prima (da 20 €) non avevano nessun problema ! Bho! E' che mi entusiasmava usare arduino a cui (se tutto fosse andato liscio) avrei anche collegato un modulo gsm !!!

@Etemenanki : il filtro clc mi sembra molto complesso, potrei (in caso il test di spostare i relè non funzionasse) usare "solo" il doppio zener ? come lo collego fra alimentatore e arduino ? mi mandi un link (ad esempio su RS) per non sbagliare ?

Grazie

posso vedere lo sketch? io non escluderei che la colpa sia anche del programma (sulla parte impostazione periferiche e pin, dipende cosa usi)

Un altra cosa, questa pompetta ha un morsetto di terra a vista? una vite con il simbolo di terra?

Se penso che, senza problemi, le centraline che usavo prima (da 20 €) non avevano nessun problema ! Bho! E’ che mi entusiasmava usare arduino a cui (se tutto fosse andato liscio) avrei anche collegato un modulo gsm !!!

Ogni volta che leggo post simili penso che qualcosa di misterioso accade.
I consigli che ti hanno dato sono tutti consigli corretti, tuttavia io mi chiedo come mai nella scheda (immagine allegata) tutti questi problemi non si presentano, nonostante quella scheda disattenda tutte le raccomandazioni date. Alcuni relè comandano elettrovalvole, e uno un compressore frigorifero. Non so se si riesce ad apprezzare dalla immagine, la schedina display (con micro) si trova a meno di 3cm dai relè.

Una spunto per un riflessione la voglio dare, ma so che non ti piacerà.
Anche se la scheda arduino è piccola tanto da stare in una cassetta elettrica non vuol dire che
è pensata per stare li dentro. Detta in altri termini, la scheda arduino non è pensata per l’applicazione finale, ma per lo sviluppo di applicazione embedded, esportarla nell’applicazione è da considerare una forzatura che alle volte crea dei problemi ed altre no.

Quindi è colpa della scheda arduino? No non lo so, in ogni caso la scheda arduino non viene usata per l’applicazione per cui è stata sviluppata.

Io vorrei che almeno questo problema non rimanesse un mistero, quindi se e quando risolvi posta la soluzione. Altri post simili si sono conclusi con qualcosa di simile a: “ora funziona magicamente e non so perché”, infittendo ancora di più il mistero.

Ciao.

telecontroller_1.jpg