Interferenza elettromagnetica su Arduino

Inviato:
20 nov 2022, 1:11
da caesar753
Buonasera a tutti,
scrivo qui perché è da un po' che mi sta succedendo una cosa strana: mi sono costruito un cronotermostato con Arduino che ha sia la funzione timer (si imposta un orario in cui si devono accendere i termosifoni e, se la temperatura ambiente è più bassa di quella impostata, fa partire la caldaia) sia la funzione manuale realizzata con due pulsanti normalmente aperti attaccati a due pin digitali (uno per ON e uno per OFF), fa tutto quello che deve fare abastanza bene (misura la temperatura ambiente, segna l'ora, attacca e stacca il relè etc), solo che ogni tanto, quando accendo la luce delle scale o del corridoio (comandate da due relè azionati da pulsanti) succede "qualcosa" che fa sì che ad arduino sembra che sia stato premuto o il pulsante ON o il pulsante OFF: finché succede per l'OFF poco male, al massimo si spengono i termosifoni se sono stati accesi manualmente, ma se succede con l'ON, soprattutto se sto uscendo, è un bel casino (mi sono rimasti accesi i termosifoni tutta una mattina quando c'erano ancora 25 gradi e in casa non c'era nessuno!); ora, a parte aggeggiare un po' con il codice (tipo mettendo un tempo di attesa più lungo quando si preme ON per dare il segnale di accensione), dal punto di vista elettrico come potrei risolvere? c'è qualche modo di proteggere i dispositivi da interferenze elettromagnetiche?
Re: Interferenza elettromagnetica su Arduino

Inviato:
20 nov 2022, 4:14
da EcoTan
Quanto è lunga la linea da Arduino ai pulsanti? C'è una resistenza di pull up e quanto vale?
Re: Interferenza elettromagnetica su Arduino

Inviato:
20 nov 2022, 9:08
da luxinterior
Una toppa software potrebbe essere ok il consenso manuale ma fino a una temperatura ragionevole.
Se c'è una temperatura tropicale il comando manuale viene ignorato.
Capire perché succede non è facile puoi agire sul software leggendo più volte la linea del pulsante ricavando lo stato a "maggioranza" se su 10 (meglio fare sempre dispari...) 11 letture in 6 leggi il tasto premuto allora dichiari tasto premuto.Il problema è con che frequenza leggere il tasto e ovviamente il ritardo che inserisci nell'esecuzione del comando (poco male in realtà per l'accensione del riscaldamento)
Poi dipende da com'è il disturbo impulsivo? communta la linea per un tempo lungo magari per 10 volte la toppa funzion a l'undicesima no.
Metti un filtro RC sull'ingresso per tagliare fuori tutto quello che c'è oltre una certa frequenza. Avrai fronti a "banana" m elimini porcherie. Fai seguire l'RC da un buffer a trigger in modo che commuti in modo netto.
EcoTan lo ha già detto controlla posizioni di cavi ecc. che poi potrebbe essere un disturbo indotto tramite alimentazione
La scheda è stata realizzata filando a mano le varie connessioni o è un PCB fatto come si deve ?
Insomma gli spunti e le idee su dove indagare sono molti
Re: Interferenza elettromagnetica su Arduino

Inviato:
20 nov 2022, 9:26
da MarcoD
I pulsanti sono connessi con due cavi twistati (doppino attorcigliato) in modo da ridurre l'effetto delle tensioni indotte ?.
Un condensatore da 100 nF fra il pin ingresso digitale e massa (riferimento) arduino dovrebbe curare.

Re: Interferenza elettromagnetica su Arduino

Inviato:
20 nov 2022, 9:41
da djnz
caesar753 ha scritto:accendo la luce delle scale o del corridoio (comandate da due relè azionati da pulsanti) succede "qualcosa" che fa sì che ad arduino sembra che sia stato premuto o il pulsante ON o il pulsante OFF
Magari uno schema di come sono gli attuali collegamenti ai pulsanti aiuterebbe.
Potrebbe bastare un semplice debounce software (lettura buona se due o tre letture consecutive spaziate di 10..20 ms sono uguali). Altrimenti il classico debounce hardware:
Re: Interferenza elettromagnetica su Arduino

Inviato:
20 nov 2022, 10:43
da lelerelele
prima di pensare alle interferenze elettromagnetiche, che ci stanno, ma sono più probabili problemi sulla lettura errata dell'ingresso.
Non hai specificato come funziona questo ingresso del pulsante, hai portato fuori la 5V e poi hai letto il pulsante?
Hai mantenuto una bassa imedenza di questa linea?
Hai valutato d mettere condensatorri sulla linea di ingresso,visto che non avrai necessità di risposte superveloci?
Io attendo di vedere come hai letto gli ingressi poi si possono fare considerazioni.
saluti.
Re: Interferenza elettromagnetica su Arduino

Inviato:
20 nov 2022, 11:27
da Etemenanki
Io controllerei anche se e come e' filtrata l'alimentazione, che non e' mai cosa da ignorare

Re: Interferenza elettromagnetica su Arduino

Inviato:
20 nov 2022, 14:01
da caesar753
Buongiorno,
grazie delle vostre numerose e precise risposte, allora
- per le resistenze di pull up ho usato quelle integrate nella scheda, che dovrebbero essere da 30KΩ
- per le resistenze sulla massa ho usato resistenze da 10 KΩ
- l'alimentazione non è filtrata, credo (ho usato un alimentatore per gli smartphone in ingresso sulla porta USB e prelevo l'alimentazione dei componenti dal pin 5V della scheda
- la lunghezza dei cavi dal pulsante alla scheda è di qualche centimetro (2-3 cm)
- la scheda è stata realizzata in modo molto artigianale, filando a mano le connessioni
- non ho messo condensatori da nessuna parte
intanto vedrò di seguire i vostri consigli e inserire un condensatore in parallelo al pin di arduino così da creare un filtro (passa-basso?) e vediamo se funziona
grazie ancora!
Re: Interferenza elettromagnetica su Arduino

Inviato:
20 nov 2022, 14:14
da djnz
caesar753 ha scritto:- per le resistenze di pull up ho usato quelle integrate nella scheda, che dovrebbero essere da 30KΩ
- per le resistenze sulla massa ho usato resistenze da 10 KΩ
Con queste due affermazioni (tra di loro potenzialmente contraddittorie) noi NON sappiamo ancora come sono realmente collegati i pulsanti
