Contagiri elettronico, chi ha qualche idea?
-
- Junior
- Messaggi: 52
- Iscritto il: mercoledì 13 giugno 2007, 16:15
Re: Contagiri elettronico, chi ha qualche idea?
-
- God
- Messaggi: 5096
- Iscritto il: venerdì 1 febbraio 2008, 11:28
- Località: Modena
Re: Contagiri elettronico, chi ha qualche idea?
Il secondo codice che ho postato è più basilare di quello del video e fa uso di digitalRead e non di interrupt, ma da quello che ho letto sul tempo di esecuzione di poche righe del loop e tempo di esecuzione di digitalRead, può comunque lavorare a kilo hertz, quindi forse sono adatti allo scopo.
CIAO A TUTTI !
- hellfire39
- God
- Messaggi: 3422
- Iscritto il: domenica 16 dicembre 2012, 9:04
- Località: AN
Re: Contagiri elettronico, chi ha qualche idea?
Non cercherei soluzioni alternative bislacche.
Non ho visto il codice, ma se utilizza digitalread per acquisire il sensore, è una soluzione che scarterei a priori.
Nel codice del video, il conteggio degli impulsi viene fatto direttamente dalla periferica counter e l'unica incertezza è sullo start e stop dello stesso.
Semplice ed elegante.
Potenzialmente più impreciso a bassi rpm.
Inoltre il codice è davvero disarmante nella sua semplicità. Sono sicuro che se l'avessi fatto io, l'avrei fatto più complicato
-
- God
- Messaggi: 5096
- Iscritto il: venerdì 1 febbraio 2008, 11:28
- Località: Modena
Re: Contagiri elettronico, chi ha qualche idea?
OFFTOPIC
Sono andato a vedermi i timer con un video di Aliverti, non so niente di basso livello proprio per evitare ho scelto arduino
In se il principio di quel programma e semplice se non fosse che bisogna operare sui registri, incremento, dopo una pausa di un secondo, faccio il conteggio e azzero il timer.
Sono andato a vedermi i timer con un video di Aliverti, non so niente di basso livello proprio per evitare ho scelto arduino
In se il principio di quel programma e semplice se non fosse che bisogna operare sui registri, incremento, dopo una pausa di un secondo, faccio il conteggio e azzero il timer.
CIAO A TUTTI !
- hellfire39
- God
- Messaggi: 3422
- Iscritto il: domenica 16 dicembre 2012, 9:04
- Località: AN
Re: Contagiri elettronico, chi ha qualche idea?
Aliverti, a volte, è un po' sempliciotto. Va benissimo, per carità, ma si può avere di più.
Ad esempio, in passato sono partito dal codice che ha mostrato lui per gestire una striscia di neopixel. Ma nella sua implementazione utilizza il delay(), mentre la libreria utilizzata ha un suo delay che permette un utilizzo migliore della striscia stessa (applica del dithering durante la pausa in modo da maggiorare le sfumature di colore). Un dettaglio forse, ma importante per me (ma anche per quella specifica applicazione, visto che generava dissolvenze, che sono quelle che beneficiano maggiormente della suddetta funzione).
Di solito neanche io utilizzo direttamente i registri con Arduino, anche perché Arduino stesso utilizza le risorse del micro e si rischia di fare danno.
Però qui la pappa è già pronta e funzionante!
Si tratta solamente di modificare la funzione che calcola gli rpm in base al target che si utilizza (una tacca/giro, due tacche giro, dieci tacche/giro, ecc.).
P.S. utilizzare DigitalRead(), in generale, non è una buona idea perché ha prestazioni limitate e potrebbe limitare la frequenza massima. Nel caso utilizzerei la libreria FastIO.
Capisco la semplicità, tra l'altro in questo caso non è richiesta una precisione elevata. Ma la tecnica con il counter è sicuramente più accurata nella misura e può salire molto più in alto con le frequenze, almeno sulla carta.
Ad esempio, in passato sono partito dal codice che ha mostrato lui per gestire una striscia di neopixel. Ma nella sua implementazione utilizza il delay(), mentre la libreria utilizzata ha un suo delay che permette un utilizzo migliore della striscia stessa (applica del dithering durante la pausa in modo da maggiorare le sfumature di colore). Un dettaglio forse, ma importante per me (ma anche per quella specifica applicazione, visto che generava dissolvenze, che sono quelle che beneficiano maggiormente della suddetta funzione).
Di solito neanche io utilizzo direttamente i registri con Arduino, anche perché Arduino stesso utilizza le risorse del micro e si rischia di fare danno.
Però qui la pappa è già pronta e funzionante!
Si tratta solamente di modificare la funzione che calcola gli rpm in base al target che si utilizza (una tacca/giro, due tacche giro, dieci tacche/giro, ecc.).
P.S. utilizzare DigitalRead(), in generale, non è una buona idea perché ha prestazioni limitate e potrebbe limitare la frequenza massima. Nel caso utilizzerei la libreria FastIO.
Capisco la semplicità, tra l'altro in questo caso non è richiesta una precisione elevata. Ma la tecnica con il counter è sicuramente più accurata nella misura e può salire molto più in alto con le frequenze, almeno sulla carta.
- Kagliostro99
- Senior
- Messaggi: 1780
- Iscritto il: mercoledì 1 febbraio 2012, 20:13
- Località: Prov. di Treviso
Re: Contagiri elettronico, chi ha qualche idea?
Se trovi uno di quei contagiri che arriva ai 20000 che ti interessano, potresti smontare la parte che funge da sensore,sistemarla nel vano ingranaggi/pulegge del tornio e collegare i sensori con il resto che potresti lasciare all'estero
Altra cosa, se hai degli ingranaggi o pulegge che girano più lenti del mandrino potresti prendere uno di quei contagiri con sensore che non arrivano ai 20000 e semplicemente farti il conto della velocità effettiva del mandrino
Chiedo, se hai ingranaggio o puleggia che ad un quarto della velocità del mandrino, leggi a quanto ira quello e poi moltiplichi per 4
K