Questa sera mi sono imbattuto in un vecchio problema che avevo già tentato di aggirare con qualche barbatrucco ma con scarsi risultati.

La lettura della rotazione della ruota funziona piuttosto bene fintanto che la ruona non si ferma proprio in corrispondenza della parte bianca (acceso). In questa posizione, il contatore di giri della ruota inizia a dare i numeri in modo del tutto casuale. Per un po' rimane fermo, poi inizia a contare in modo velocemente una serie di rotazioni, ... insomma, quando BigWheely è fermo in questa posizione il sistema diventa alquanto instabile.

Dopo uno sterminato numero di esperimenti ho capito che sembrano esserci diverse concause, quella più accreditata è un problema di disturbi di natura elettrica generati dal servo, che per mantenere la sua posizione viene gestito con impulsi in frequenza (PWM).
In alcune posizioni, il servo inizia a vibrare leggermente e ad emettere un ronzio, ho letto che spesso questo è normale, MA è proprio quando si verifica questo ronzio che è più probabile vi siano i conteggi della rotazione della ruota in modo incontrollato !

Sto tutt'ora cercando una soluzione, ho già tentato numerose strade ma senza sostanziali miglioramenti, attualmente sto verificando se può aiutarmi la soluzione proposta in questo articolo (Eliminare interferenze date dai servomotori).

schema_arduino