Buonasera a tutti,
ho acquistato dei rotary encoder per monitorare la velocità angolare di un motore DC (velocità massima: 870 giri/min) e mi sono messo a "testarli" manualmente con Arduino Uno. Ho scaricato diversi sketch dal web, la maggior parte dei quali perfettamente funzionanti a basse velocità, ma, ruotando più velocemente l'encoder, il counter "rimane indietro", nel senso che se - per esempio - io compio due "passi" in senso orario, il counter aumenta solo di uno.
L'unica cosa che ho modificato rispetto ai tutorial è il valore dei condensatori collegati a GND e ai PIN 2 e 3, per la lettura: ho utilizzato dei condensatori da 10µF, invece del valore consigliato di 0,47µF, a causa della mancanza di qest'ultimi (spero che non sia stato questo a causare il problema).
Ora, se la mia velocissima mano riesce a sfuggire al counter, cosa farà il motore? Premetto che non mi serve un valore esattissimo della velocità, ma quantomeno accettabile.
Qualcuno ha qualche suggerimento?
Grazie mille a tutti in anticipo.
Tobia
L'unica cosa che ho modificato rispetto ai tutorial è il valore dei condensatori collegati a GND e ai PIN 2 e 3, per la lettura: ho utilizzato dei condensatori da 10µF, invece del valore consigliato di 0,47µF
Quale tutorial ?
E comunque se usa quei pin, vuol dire che usa gli Interrupt, quindi 10µF sono un valore esageratamente alto, meglio 0.1µF
E di quali encoder stiamo parlando ?
Il tutorial che ho seguito l'ho preso dal forum: WIRING of KY-040 Rotary Encoder plus Demo Code - General Electronics - Arduino Forum, ma ne ho trovati anche con librerie da scaricare.
Ho seguito il tuo consiglio e ho messo 4 condensatori da 100nF in parallelo: grazie mille! Ora va mooolto meglio! Però non è ancora accettabile come valore nel senso che girando rapidamente con la mano rimane comunque un po' indietro... Il mio problema è appunto che il motore arriva a 870 giri/min (suppongo un po' di più della mia mano...).
Gli encoder sono uguali a questi:
Grazie mille e buona serata
Quelli sono "encoder" da azionare manualmente... e basta.
Li danno per una velocità massima di 50-60 RPM e considera che hanno un ciclo di vita di 20.000/30.000 giri
Se vuoi collegare un encoder a un motore devi per forza usare qualcosa tipo questi