Messaggio
da hellfire39 » venerdì 19 agosto 2022, 11:54
La presenza di disturbi è normale.
Ciò che non è normale è utilizzare Arduino in ambiente "rumoroso".
Purtroppo GRBL utilizza gli interrupt per la gestione dei finecorsa e gli basta vedere il segnale a "1" per pochi microsecondi, se non nanosecondi, per attivarli.
Il problema risiede nel fatto che gli ingressi di Arduino non sono oppurtunamente filtrati.
Per rispondere anche a maupre75: "uno switch in NO tecnicamente è come se non esistesse fisicamente": non è proprio vero, anche se l'interruttore è NO, c'è sempre un luuuungo filo che collega l'ingresso all'interruttore. Questo filo agisce come antenna e, data l'alta impedenza dell'ingresso, anche piccolissime correnti indotte sono in grado di generare tensioni abbastanza grandi da essere viste come segnale logico "1".
Se si utilizzassero finecorsa NC, il problema sarebbe molto minore. In condizioni normali, avresti in ingresso un segnale a bassa impedenza (una alimentazione) che è molto più robusta ai disturbi.
In ogni caso, i consigli sono sempre gli stessi:
- filtri passa-basso in ingresso;
- corretta schermatura dei cavi sia dei finecorsa che dei motori (e sottolineo corretta!);
- non far passare i cavi dei finecorsa attaccati ai cavi dei motori;
- una buona alimentazione in ingresso ad Arduino
- l'utilizzo di optoisolatori
P.S. il termine "dispersione" non è corretto. Si tratta di disturbi indotti, per via capacitiva, induttiva o per irradiazione.
"Microtensioni disperse", qualunque cosa voglia dire questa frase, non è certo la causa dei tuoi problemi.
Ma se vuoi passare un po' di tempo, metti un bel cavo di terra collegato alla struttura.