Analisi dei segnali

immagine2.gif
Il numero totale dei settori (10) è divisibile per 2 ma non per 4, posizionando i sensori come si vede, quando uno passa per la transizione da nero a bianco o viceversa, l'altro è sul bianco pieno o sul nero pieno, i segnali in uscita saranno quindi:
immagine2.gif Come si può notare nel momento della transizione di OUT da basso ad alto, OUT 90° è basso.
Quando OUT passa da alto a basso, OUT 90° è alto.
immagine2.gif
Quando il disco gira nel senso opposto:
nella transizione basso -> alto di OUT, OUT 90° è alto, mentre è basso nella transizione inversa.
immagine2.gif
Controllando lo stato di OUT90° al cambiamento di stato di OUT si usa il metodo x2:
il numero di impulsi è il doppio dei settori bianchi.
immagine2.gif
Contando sia i cambiamenti di stato di OUT che quelli di OUT90°, si raddoppia la risoluzione dell'encoder (metodo x4)

Maggiori dettagli sugli encoder si possono trovare nei link elencati in PID

La ruota fa un giro al secondo alla velocità massima, l'encoder gira 20 volte più veloce di questa.
Un giro completo dell'encoder avviene ogni 50ms, un cambiamento di stato ogni 5ms, 200 impulsi per giro.
Contando solo gli impulsi di "OUT" (x2) si possono campionare i segnali ogni 2,5ms, con un oversampling di 2, sufficiente a ricostruire il segnale originale.
Con una ruota di 58mm di diametro, la risoluzione è: (58 * PI) / 200 = 0,9mm.
La velocità si può calcolare ogni 200ms, impostando il valore di PWM dei motori 5 volte ogni secondo.

Alla massima velocità (circa 20cm/s) il computo della velocità avverrebbe contando 40 impulsi, con un errore di quantizzazione: 1/40=2,5%.
Alla minima (circa 2cm/s) contando solo 4 impulsi, errore di quantizzazione: 1/4=25% .
Le prove pratiche ci diranno se questi valori sono sufficienti.