Ciao! Grazie per aver condiviso il progetto. Mesi fa mi ero avventurato nel realizzarne uno da me proprio per controllare la rotazione della mia fresa cnc! Avevo incontrato delle problematiche proprio nel realizzarmi un sensore efficace ed affidabile. Ora mi studierò quello che hai proposto. Saluti e complimenti! Nasigraph
Grazie. Tieni presente che si tratta di un esperimento. Come hai visto la regolazione del sensore è abbastanza critica. Sicuramente sarebbe meglio usare come encoder un disco dentellato ed un sensore a forcella (quelli dei vecchi mouse per intenderci). Ciao e buona sperimentazione.
veramente interessante, è la prima volta che mi imbatto in una dimostrazione con arduino cosi reattiva, l'unica pecca è che non viene spiegato lo sketch
@@espelett inutile dire che sono un principiante del mondo arduino e di programmazione ne capisco ancora molto poco, seguendo altri canali ho preso un po' di dimestichezza con: if, else, for e scopiazzato dagli esempi riesco a usufruire di alcune librerie, ma quando ho visto il vostro sketch, mi sembrava di leggere una pagina in aramaico. Più che una nuova pagina della programmazione di arduino, sembrava proprio un atro libro, spero di riuscire a reperire più informazioni per riuscire a comprenderlo
Ho aggiornato la pagina del progetto con una spiegazione del funzionamento del firmware (il link è nella descrizione del video). Mi farebbe piacere sapere cosa ne pensi. Ciao.
@@espelett be ti ringrazio molto per la disponibilità e l'impegno,lo apprezzo molto. La spiegazione mi è piaciuta molto e di dubbi me ne sono rimasti pochi, ad esempio a cosa servono i numeri esadecimali in fondo alle righe 13, 14, 15 e 24?
Buonasera,ho trovato il tutorial molto ben spiegato anche per un dilettante come me,mi chiedevo se fosse possibile modificarlo da contagiri a conta chilometri,dovrei utilizzarlo per sapere quanti Km percorro . Grazie
Ciao, come al solito i tuoi video sono fantastici. Vorrei utilizzare questo progetto per controllare i giri del mandrino cinese da 500w simile a quello che si vede nel tuo video. Ho letto la risposta che hai dato a Nasigraph a proposito della opportunità di utilizzare un sensore a forchetta ed un disco dentellato. Secondo te se anziché un disco dentellato utiizzerei un pezzetto di plastica incollato sulla parte del mandrino che gira (la ventola per intenderci) che attraversa una solta voplta per giro il sensore, la lettura sarebbe fedele o devo necessariamente utilizzare un disco che, quindi, attraversi il sensore più volte in un giro? Ciao e grazie
Ciao. Dal punto di vista elettronico puoi sicuramente farlo, il numero di impulsi andrà semplicemente moltiplicato per 60. Considera le sollecitazioni meccaniche dovute allo sbilanciamento, che a qualche migliaio di giri potrebbero forse creare problemi.
Ho visto che su Amazon vendono dei moduli con sensore di Hall. Hanno la stessa piedinatura del sensore ottico, cioè +, - e segnale, per cui penso che a livello circuitale si possa usarlo allo stesso modo. Al limite occorre modificare un po' il firmware, perché in questo caso avresti solo un impulso per giro.
@@espelett grazie per la sollecita risposta, forse mi sono perso qualcosa: il firmware quanti impulsi per giro rileva? in quale rigo trovo l’impostazione? … comunque aggiungendo altri magneti equidivisi, come posizione angolare, potrei aumentare la precisione …
@agostino falcone Il firmware conta gli impulsi in un secondo. Per ricavare i giri al minuto il risultato viene moltiplicato per la macro TCNT1_MULTIPLIER, corrispondente a 60 (secondi) diviso per il numero di tacche dell'encoder. Nel mio caso 60/15=4. Se metti un solo magnete devi impostare TCNT1_MULTIPLIER a 60.
Salve progetto ben fatto e intuitivo,volendo provare a realizzarlo ed essendo diciamo analfabeta in termini di programmazione ma avendo a disposizione un arduino uno sensore infrarosso e display 16x2 cosa dovrei cambiare nel programma,grazie per l'aiuto. Bruno
Ciao. Trovo questo progetto molto interessante anche perché forse potrebbe essere adattato ad un uso specifico: dovrei avvolgere una bobina con un preciso numero di giri di filo di rame. Potresti gentilmente indicarmi un qualche tutorial o modifica per questo?
Ciao. Teoricamente dovrebbe essere più semplice, perché dovendo solo contare gli impulsi basterebbe un disco con una sola tacca nera. Il problema è che devi anche riconoscere il verso di rotazione, per tornare indietro col conteggio se per qualche motivo devi srotolare la bobina. Per questo ti servono due sensori ed un disco particolare, in modo da ottenere due segnali in quadratura. www.sciamannalucio.it/arduino-encoder-conta-impulsi-giri-motore/
Ciao innanzitutto complimenti per il canale. Ottimo lavoro. Vorrei farti una domanda perchè davvero non riesco a capire il tuo firmware come fa a funzionare. Premetto che ho provato a realizzare un contagiri per un motore stearling nella scuola dove lavoro in collaborazione con i docenti di meccanica ma avevo continui problemi di bouncing con un sensore Hall, così ho deciso di utilizzare un sensore ad infrarossi vedendo il tuo progetto. Capisco cosa sono i timer ma non riesco proprio a capire come avviene la lettura del sensore. Per intenderci il classico digitalRead oppure una funzione di interrupt io non le vedo. Come fai a leggere gli impulsi sul pin 5??? Ho letto tutti i commenti e visitato il tuo sito dove spieghi il tutto ma continuo a non capire :(
Ciao. I timer sono periferiche che possono funzionare sia come temporizzatori (utilizzando il clock di sistema) che come semplici contatori di impulsi (la denominazione completa è infatti timer/counter). Il timer1 viene prima di tutto azzerato, poi, settando il registro TCCR1B, impostato in modalità contatore (TCCR1B = TCCR1B_CAPTURE_RISING;). Alla fine del tempo di misurazione (un secondo), il contatore viene disabilitato (TCCR1B = TCCR1B_OFF;). Il valore del registro TCNT1 corrisponde al numero di impulsi.
@@espelett grazie infinite per la prontissima rispoata. Ho capito cosa intendi ma mi stai dicendo che passare al registro il comando 0x07 in esadecimale significa contemporaneamente impostre il timer come counter e anche associargli il pin 5. È questo che nello specifico non capisco. Perché allora non il pin 6 oppure 7 oppure 8? Potresti indicarmi qualche link che spiega come avviene questa codifica? Ti ringrazio in anticipo e ti faccio ancora i moei complimenti per il canale.
L'ingresso di clock utilizzabile per il timer1 è il 5 della porta D (PORTD, 5) dell'Atmega328, e non è modificabile. Questo pin corrisponde al piedino 5 dell'Arduino. Tramite il registro TCCR1B (nello specifico coi bit CS13, CS12, CS10) si seleziona la sorgente di clock per il timer (in questo caso gli impulsi ascendenti sull'ingresso di clock, cioè il piedino D5). Per una trattazione più approfondita devi fare riferimento al datasheet dell'Atmega328, nella sezione relativa al timer1.
ho avuto un problema, mi spiego Alla compilazione mi da errore SPI.h mi puoi spiegare come mai. ho scaricato il file .ti ringrazio per la tua risposta.
Bello mi piace, lo farò. Grazie e buona prosecuzione. Bravo.
Ho provato il tuo contagiri, nella versione LCD I2c e sono rimasto molto colpito! Sta andando molto bene! Super bello!
Grazie.
Merci beaucoup. très bon tuto pour l'amateur que je suis. A bientot
Ma che bel canale!!! BRAVO!!! Grazie
Complimenti ottima illustrazione e spiegazione.
Grazie.
Ciao! Grazie per aver condiviso il progetto. Mesi fa mi ero avventurato nel realizzarne uno da me proprio per controllare la rotazione della mia fresa cnc! Avevo incontrato delle problematiche proprio nel realizzarmi un sensore efficace ed affidabile. Ora mi studierò quello che hai proposto. Saluti e complimenti!
Nasigraph
Grazie. Tieni presente che si tratta di un esperimento. Come hai visto la regolazione del sensore è abbastanza critica. Sicuramente sarebbe meglio usare come encoder un disco dentellato ed un sensore a forcella (quelli dei vecchi mouse per intenderci).
Ciao e buona sperimentazione.
@@espelett grazie a te! Teniamoci in contatto!
I intend to build this project of yours, it is very cool, congratulations!
Bom trabalho.
Ottimo lavoro! Complimenti!
Nice 👏👏👏👏subscribed 🇧🇷🇧🇷😉👍excellent job
Muito obrigado.
veramente interessante, è la prima volta che mi imbatto in una dimostrazione con arduino cosi reattiva, l'unica pecca è che non viene spiegato lo sketch
Hai ragione, pensavo che fosse abbastanza comprensibile.
Se qualcosa non ti è chiaro chiedi pure.
@@espelett inutile dire che sono un principiante del mondo arduino e di programmazione ne capisco ancora molto poco, seguendo altri canali ho preso un po' di dimestichezza con: if, else, for e scopiazzato dagli esempi riesco a usufruire di alcune librerie, ma quando ho visto il vostro sketch, mi sembrava di leggere una pagina in aramaico. Più che una nuova pagina della programmazione di arduino, sembrava proprio un atro libro, spero di riuscire a reperire più informazioni per riuscire a comprenderlo
Capisco. Quando ho un attimo cerco di aggiungere qualche spiegazione nella pagina del firmware.
Ho aggiornato la pagina del progetto con una spiegazione del funzionamento del firmware (il link è nella descrizione del video). Mi farebbe piacere sapere cosa ne pensi. Ciao.
@@espelett be ti ringrazio molto per la disponibilità e l'impegno,lo apprezzo molto. La spiegazione mi è piaciuta molto e di dubbi me ne sono rimasti pochi, ad esempio a cosa servono i numeri esadecimali in fondo alle righe 13, 14, 15 e 24?
Buonasera,ho trovato il tutorial molto ben spiegato anche per un dilettante come me,mi chiedevo se fosse possibile modificarlo da contagiri a conta chilometri,dovrei utilizzarlo per sapere quanti Km percorro . Grazie
Buenas noches mi estimado me puedes pasar los códigos para el arduino celo agradecería mucho tengo todos sus vídeos me despido
Hola. El codigo esta aqui:
espelett.altervista.org/contagiri-con-arduino/
Ciao, come al solito i tuoi video sono fantastici. Vorrei utilizzare questo progetto per controllare i giri del mandrino cinese da 500w simile a quello che si vede nel tuo video. Ho letto la risposta che hai dato a Nasigraph a proposito della opportunità di utilizzare un sensore a forchetta ed un disco dentellato. Secondo te se anziché un disco dentellato utiizzerei un pezzetto di plastica incollato sulla parte del mandrino che gira (la ventola per intenderci) che attraversa una solta voplta per giro il sensore, la lettura sarebbe fedele o devo necessariamente utilizzare un disco che, quindi, attraversi il sensore più volte in un giro? Ciao e grazie
Ciao. Dal punto di vista elettronico puoi sicuramente farlo, il numero di impulsi andrà semplicemente moltiplicato per 60. Considera le sollecitazioni meccaniche dovute allo sbilanciamento, che a qualche migliaio di giri potrebbero forse creare problemi.
Salve ma sarebbe possibile azionare un relè a determinati giri? Quindi volendo una specie di allarme per alta o bassa velocità, grazie buon lavoro
Si, basta una semplice condizione if.
ciao, ottimo lavoro, molto chiaro e comprensibile! se volessi utilizzare un sensore di prossimità magnetico come dovrei modificare il circuito?
Ho visto che su Amazon vendono dei moduli con sensore di Hall. Hanno la stessa piedinatura del sensore ottico, cioè +, - e segnale, per cui penso che a livello circuitale si possa usarlo allo stesso modo. Al limite occorre modificare un po' il firmware, perché in questo caso avresti solo un impulso per giro.
@@espelett grazie per la sollecita risposta, forse mi sono perso qualcosa: il firmware quanti impulsi per giro rileva? in quale rigo trovo l’impostazione? … comunque aggiungendo altri magneti equidivisi, come posizione angolare, potrei aumentare la precisione …
@agostino falcone Il firmware conta gli impulsi in un secondo. Per ricavare i giri al minuto il risultato viene moltiplicato per la macro TCNT1_MULTIPLIER, corrispondente a 60 (secondi) diviso per il numero di tacche dell'encoder. Nel mio caso 60/15=4. Se metti un solo magnete devi impostare TCNT1_MULTIPLIER a 60.
Salve progetto ben fatto e intuitivo,volendo provare a realizzarlo ed essendo diciamo analfabeta in termini di programmazione ma avendo a disposizione un arduino uno sensore infrarosso e display 16x2 cosa dovrei cambiare nel programma,grazie per l'aiuto.
Bruno
Nella pagina del firmware ho aggiunto due versioni pronte per funzionare con i display 16x2 (con interfaccia I2C e parallela).
@@espelett grazie provvedo subito con il test 😜👍👋
Ciao. Trovo questo progetto molto interessante anche perché forse potrebbe essere adattato ad un uso specifico: dovrei avvolgere una bobina con un preciso numero di giri di filo di rame. Potresti gentilmente indicarmi un qualche tutorial o modifica per questo?
Ciao. Teoricamente dovrebbe essere più semplice, perché dovendo solo contare gli impulsi basterebbe un disco con una sola tacca nera. Il problema è che devi anche riconoscere il verso di rotazione, per tornare indietro col conteggio se per qualche motivo devi srotolare la bobina. Per questo ti servono due sensori ed un disco particolare, in modo da ottenere due segnali in quadratura. www.sciamannalucio.it/arduino-encoder-conta-impulsi-giri-motore/
@@espelett
ringrazio davvero!👍
Innanzitutto complimenti.!volevo chiederti se questo progetto può arrivare a 20.000 rpm o più?
Quali sono gli rpm massimi misurabili?
Ciao innanzitutto complimenti per il canale. Ottimo lavoro. Vorrei farti una domanda perchè davvero non riesco a capire il tuo firmware come fa a funzionare. Premetto che ho provato a realizzare un contagiri per un motore stearling nella scuola dove lavoro in collaborazione con i docenti di meccanica ma avevo continui problemi di bouncing con un sensore Hall, così ho deciso di utilizzare un sensore ad infrarossi vedendo il tuo progetto. Capisco cosa sono i timer ma non riesco proprio a capire come avviene la lettura del sensore. Per intenderci il classico digitalRead oppure una funzione di interrupt io non le vedo. Come fai a leggere gli impulsi sul pin 5??? Ho letto tutti i commenti e visitato il tuo sito dove spieghi il tutto ma continuo a non capire :(
Ciao. I timer sono periferiche che possono funzionare sia come temporizzatori (utilizzando il clock di sistema) che come semplici contatori di impulsi (la denominazione completa è infatti timer/counter). Il timer1 viene prima di tutto azzerato, poi, settando il registro TCCR1B, impostato in modalità contatore (TCCR1B = TCCR1B_CAPTURE_RISING;). Alla fine del tempo di misurazione (un secondo), il contatore viene disabilitato (TCCR1B = TCCR1B_OFF;). Il valore del registro TCNT1 corrisponde al numero di impulsi.
@@espelett grazie infinite per la prontissima rispoata. Ho capito cosa intendi ma mi stai dicendo che passare al registro il comando 0x07 in esadecimale significa contemporaneamente impostre il timer come counter e anche associargli il pin 5. È questo che nello specifico non capisco. Perché allora non il pin 6 oppure 7 oppure 8? Potresti indicarmi qualche link che spiega come avviene questa codifica? Ti ringrazio in anticipo e ti faccio ancora i moei complimenti per il canale.
L'ingresso di clock utilizzabile per il timer1 è il 5 della porta D (PORTD, 5) dell'Atmega328, e non è modificabile. Questo pin corrisponde al piedino 5 dell'Arduino. Tramite il registro TCCR1B (nello specifico coi bit CS13, CS12, CS10) si seleziona la sorgente di clock per il timer (in questo caso gli impulsi ascendenti sull'ingresso di clock, cioè il piedino D5). Per una trattazione più approfondita devi fare riferimento al datasheet dell'Atmega328, nella sezione relativa al timer1.
@@espelett grazie sei un mito💪💪💪
ho avuto un problema, mi spiego Alla compilazione mi da errore SPI.h mi puoi spiegare come mai.
ho scaricato il file .ti ringrazio per la tua risposta.
Non saprei. Quale errore da precisamente?
@@espelett ti ringrazio per la risposta, ma ho scoperto che dipendeva dal sistema operativo, ho ristallato il sistema ora tutto ok. Di nuovo grazie.