Buongiorno a tutti,
Leggendo sul forum ho trovato molti topic a riguardo con vari circuiti e metodi per schermare il microcontrollore, ma ho bisogno di una mano per il mio caso specifico.
#premessa
Per prima cosa vi spiego il progetto:
Cronometro per Go-Kart utilizzato reed switch (posto sul telaio a 3-4 cm da terra) che si chiude utilizzando una banda magnetica posta (nell'asfalto) al traguardo (dotazione di quasi tutte le piste, visto che è un metodo utilizzato dai vari cronometri venduti con i kart).
Ho già sviluppato il codice funzionante partendo da millis() per ricavare i tempi sul giro e stamparli su un display 1.3" oled, partenza/arrivo vengono "letti" grazie al reed switch, che si chiude al passaggio sulla banda magnetica e richiama una specifica funzione tramite interrupt.
#problema
Il tutto funziona alla perfezione ma, per esperienze pregresse, so che montando il tutto sul kart all'avvio arduino va in palla a causa delle interferenze create dalla candela con il volano del motore 2t.
Leggendo vari topic, la soluzione utilizzata da vari utenti è quella di porre arduino in una scatola metallica ed utilizzare cavi schermati con vari tipi di filtri.
#soluzione?
Partendo da ciò ho fatto un piccolo schema con i filtri ed i vari collegamenti, essendo inesperto in questo campo ho paura di aver commesso errori grossolani (tipo loop di massa o valori dei componenti errati).
In breve:
Ho utilizzato un filtro RC a monte del cavo schermato (con maglia a massa SOLO sul case) che esce dal case metallico e va al sensore (reed switch GPS-14A normalmente aperto), così da avere la duplice funzione di debounce hardware e filtro disturbi, credo che la sensibilità sia di qualche centesimo di secondo
Ho connesso lo schermo direttamente con sole due resistenze di pull-up, verrà posto sul case metallico a 2-3 cm da arduino quindi spero non venga affetto da disturbi
Ho utilizzato una batteria 9v posta all'interno del case con un filtro antitidisturbo composto da induttore VK200 e condensatore da 470uF
Ho messo in comune i gnd di arduino e li ho connessi al case metallico.
ulteriori specifiche: il case è posto sul telaio, dal case esce solo un cavo schermato di circa 1 metro che va al sensore, sul case viene posto lo schermo per evitare ulteriori problemi (cavi dello schermo che possono fare da antenna ai vari disturbi presenti).
allego lo schema, scusate se è fatto male ma è il primo che faccio.
Fatemi sapere se secondo voi è corretto e sufficiente a schermare arduino.
Grazie mille a tutti
Se stai usando una batteria da 9V contenuta all'interno della scatola metallica, non hai la necessità di filtrare l'alimentazione.
Puoi, perciò, evitare l'impedenza VK200 mentre lascerei il condensatore elettrolitico ed aggiungerei un interruttore per interrompere l'alimentazione di Arduino Nano.
Ricorda, però, che la batteria da 9V dura pochissimo a causa del regolatore di tensione: meglio utilizzare un piccolo power bank ricaricabile con uscita USB a 5V collegata con un cavetto direttamente al connettore micro USB di Arduino Nano passando per un interruttore.
Grazie per la risposta, allora evito l'induttore vk200. Per la durata attualmente non ho ancora testato, i turni sono da 20/30 minuti quindi spero di avere sufficiente autonomia, in caso contrario cercherò di integrare un pacco batteria. #update
ho modificato il circuito di debounce (per il reed switch) visto che la soluzione con filtro RC non era "definitiva" e molte volte erano presenti spike che andavano ad attivare l'interruttore. Ho utilizzato lo schema allegato, l'onda in uscita (tra D2 e massa) risulta pulita ed esente da spike, ovviamente è fondamentale l'orientamento dell'interruttore rispetto al magnete altrimenti va a chiudersi due volte anzichè una.
Non ho ancora provato il tutto sul kart, quindi non so se ho problemi di interferenze con il campo creato dalla candela. Appena riesco aggiorno il post.
Ho testato il tutto in pista, funziona bene. Non ho problemi di interferenze ne di chiusure anomale (causa vibrazioni) del Reed switch N/O posto sul pianale.
Arduino è stato acceso per quasi due ore e la pila 9v non è ancora esausta, comunque provvederò ad un pacco batterie migliore e soprattutto ricaricabile.
Mi rifaccio al topic in questione, rivolgendomi ai più esperti (@gpb01 , @cyberhs, @uwefed , @steve-cr) per tentare di fare chiarezza su un aspetto che troppo spesso crea confusione: il collegamento del GND di arduino.
Per evitare disturbi, in alcune discussioni si consiglia di separare il GND di arduino dagli altri GND. Un esempio lampante e ben noto lo troviamo nei consigli di utilizzo delle relay shield optoisolate
In questa discussione, invece, la massa di arduino viene collegata alla scatola metallica che lo contiene, la quale è addirittura collegata al telaio del kart, dove fanno massa statore e regolatore di tensione per la generazione della scintilla di accensione del motore a 2T, quindi fonte certa di disturbi.
I due stratagemmi, entrambi usati per cercare di eliminare i disturbi/interferenze, sono uno in contraddizione all'altro.
A questo punto mi chiedo quale sia la cosa migliore da fare.
No, in un caso si racchiude Arduino in un contenitore metallico e lo si mette a massa per schermalo da interferenze esterne, nell'altro caso si separa galvanicamente il circuito di Arduino (che potrebbe anche, per aumentare la protezione, essere chiuso in una scatola metallica messa a massa) dal circuito dei relè e da ciò che segue.
Cerca su Google "Isolamento galvanico" così vedi cosa si intende ...
Non sono convinto.
Consideriamo il seguente scenario: quadro elettrico di metallo contenente una optocoupler shield con relay alimentati a 24 volt e correttamente fotoaccoppiata all'uscita di arduino.
L'alimentatore dei relay che genera il 24V partendo dalla tensione di rete ha il potenziale negativo (0v) collegato alla carcassa del quadro elettrico (per verificarlo è sufficiente prendere un alimentatore comune e controllare la continuità con il multimetro), e sul fianco del quadro elettrico viene fissata la scatola metallica che contiene arduino.
A me pare che questa configurazione mette in comune i GND rendendo vana la separazione galvanica.
Diciamo che la separazione galvanica è un modo per "cercare" di eliminare i disturbi, ma non sempre è possibile e non sempre ci si riesce: se il disturbo entra dall'alimentazione sono sempre dolori.
Per quanto riguarda il discorso automotive i negativi sono tutti collegati (anche più volte) alla massa dell'automezzo e le varie centraline sono pure schermate con contenitori che fanno anche da alette di raffreddamento.
Io non ho mai creduto molto alla separazione delle masse perchè, poi, il disturbo rientra dal primario e, se non c'è un trasformatore di mezzo (ed ultimamente, con gli switching, ce ne sono sempre meno) la separazione risulta inutile. Nella Corrente Continua, poi, la cosa diventa impossibile se devi dipendere da una unica batteria.
La cosa migliore sono le schermature ottenute con contenitori di metallo collegati a massa, quindi cavi schermati, connettori schermati e via dicendo. Ma è una rincorsa a "mettere una pezza" ad un disturbo che ormai è entrato.
Nei collegamenti elettrici automotive non ho mai visto cavi schermati: ho visto invece delle schede filtrate in modo maniacale.
Mmmm ... NON so quegli alimentatori, gli alimentatori seri hanno lo chassis metallico collegato alla terra e prelevano la rete da fase e neutro ... il polo + e - di uscita non sono collegati a nessuno di queste cose ... anche perché potrei immaginare, utilizzando fonti di alimentazioni diverse, dei pericolosissimi ritorni di massa ...
Vero quanto dice steve-cr sugli switching , ma comunque alcuni disturbi non passano attraverso i loro filtri ... altri invece .. ti fanno IMPAZZIRE e sono dolori !