Nel caso di segnale diretto e non diviso, il passo che si rischia di perdere è uno solo. Il problema è dato dal fatto che lo stesso fronte che darà il passo, sarà quello letto dal flip flop per determinare il senso di rotazione. I due fronti coincidono quindi la probabilità che il passo vengo letto dall'interrupt PRIMA che l'uscita logica del flip flop cambi di stato è molto elevata.
Dividendo i passo con un divisore digitale è anche peggio perchè il divisore, che non può invertire il conteggio sulla base dello stato del flip-flip, continuerà a contare come se l'inversione non fosse mai avvenuta.
Faccio un empio pratico. Ipotizziamo di dividere per 10. Questo significa che il nostro divisore (nel caso specifico decimale) dovrà attendere 10 passi interi prima di cambiare di stato. Ipotizziamo di invertire la rotazione quando questo ne avrà contati 3. Ciò che avviene è facilmente comprensibile: il divisore attenderà 7 passi prima di cambiare di stato quindi il sincronismo angolare è perso.... certo se lo vediamo come singolo evento è trascurabile, ma se immaginiamo una situazione con inversioni multiple possiamo facilmente generare uno sfasamento inaccettabile.
Piuttosto che usare una ARDUINO due, si può valutare una NUCLEO di ST che monta la stessa serie di processori ma con costi decisamente più bassi:
http://it.rs-online.com/web/p/kit-di-sv ... i/8029425/Per sviluppare si può usare l'ambiente di sviluppo online MBED:
https://www.mbed.com/en/A mio avviso questa accoppiata è al momento la soluzione più conveniente dal punto di vista costi/benefici.
Se dovessi rifare oggi l'ELS userei questa configurazione, magari con una DISCOVERY F7 usando il suo display grafico:
http://it.farnell.com/stmicroelectronic ... etofThingsCerto costa un può di più ma integra anche display grafico con touch ed una potenza di calcolo di 462 DMIPS (462 milioni di istruzioni al secondo) che non ha eguali tra le altre schede di sviluppo in commercio.