Problemów może być kilka, i jest kilka rozwiązań.
1. Ktoś dobrze zwrócił uwagę że silnik powinien mieć kondensatory przeciwzakłóceniowe. A pewnie ich nie ma i stąd nadaje jak ruski radar
2. Jak nadaje i nic się z tym nie da zrobić, to trzeba przynajmniej użyć ekranowanych kabli i metalowej obudowy. Wszystko oczywiscie uziemione czyli podpięte do minusa.
3. Mogą być zakłócenia sieci, trzeba wtedy trochę stuningować Arduino. Ogólnie w środowisku elektroników Arduino jest uznawane za gówno. Nie dlatego że siedzi w niej mikrokontroler ATMega który jest całkiem przyzwoity. Ale dlatego że samo Arduino jest ch... zaprojektowane pod kątem zakłóceń elektromagnetycznych.
Nie potrafię z pamięci podać co trzeba zrobić. Wiem że w tym linku jest to opisane w dziale o zasilaniu i zakłóceniach:
http://mikrokontrolery.blogspot.com/p/s ... zaklocenia
4. Nieprawidłowe przesyłanie sygnałów w instalacjach przemysłowych. Czyli użycie 0V jako braku sygnału(fałsz) i jakiegokolwiek napięcia jako sygnał (prawda). To aż się prosi o awarię, bo przecież jak kabel złapie zakłócenia to zostanie to odczytane jako sygnał.
Żeby temu zapobiec stosuje się tzw pull-up czyli podciągniecie do plusa. Upraszaczając daje się duży rezystor (np 1k) pomiędzy wejscie np Arduino a plus zasilania (lub programowo uzyc wbudowanego 20k ale to trochę za dużo). Dzięki temu cały czas jest napięcie na linii i wyłapywane zakłocenia nie powodują zmian. A jak np czujnik zadziała i zewrze wejście Arduino z minusem, to i zakłocenia zostaną wyciągnięte do minusa (bardzo wysoka rezystancja wejść Arduino) i wszystko działa jak w szwajcarskim zegarku.
W drastycznych sytuacjach to i pull-up jest niewystarczajacy i stosuje się sygnał prądowy, ale to już dużo więcej roboty.