Tachometer - RPM counter with Arduino (ENg sub)

Поделиться
HTML-код
  • Опубликовано: 8 июл 2024
  • In this video I'll show how to build a simple tachometer (or RPM counter) using an IR sensor and an Arduino.
    Free code download at
    github.com/esperienzeelettron...
    #arduino #rpmcounter #sensor #oled #i2c #irsensor #infrared #tachometer #tutorial #diy #rpm
  • НаукаНаука

Комментарии • 49

  • @morenoviviani8465
    @morenoviviani8465 3 года назад +1

    Ottimo lavoro! Complimenti!

  • @unveil7762
    @unveil7762 2 года назад +1

    Ma che bel canale!!! BRAVO!!! Grazie

  • @marioinfanti9181
    @marioinfanti9181 Год назад +1

    Bello mi piace, lo farò. Grazie e buona prosecuzione. Bravo.

  • @SergioPendola
    @SergioPendola 3 года назад +1

    Complimenti ottima illustrazione e spiegazione.

  • @INNOVATORM3A06
    @INNOVATORM3A06 Год назад +1

    Merci beaucoup. très bon tuto pour l'amateur que je suis. A bientot

  • @gheorghegainaru7640
    @gheorghegainaru7640 Год назад +1

    Ho provato il tuo contagiri, nella versione LCD I2c e sono rimasto molto colpito! Sta andando molto bene! Super bello!

  • @nasigraph
    @nasigraph 3 года назад +1

    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

    • @espelett
      @espelett  3 года назад +1

      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.

    • @nasigraph
      @nasigraph 3 года назад

      @@espelett grazie a te! Teniamoci in contatto!

  • @arduinomaquinas
    @arduinomaquinas Год назад +1

    I intend to build this project of yours, it is very cool, congratulations!

  • @arduinomaquinas
    @arduinomaquinas Год назад +1

    Nice 👏👏👏👏subscribed 🇧🇷🇧🇷😉👍excellent job

  • @morenolazzarin
    @morenolazzarin 2 года назад +1

    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
      @espelett  2 года назад +2

      Hai ragione, pensavo che fosse abbastanza comprensibile.
      Se qualcosa non ti è chiaro chiedi pure.

    • @morenolazzarin
      @morenolazzarin 2 года назад +1

      @@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

    • @espelett
      @espelett  2 года назад +1

      Capisco. Quando ho un attimo cerco di aggiungere qualche spiegazione nella pagina del firmware.

    • @espelett
      @espelett  2 года назад +1

      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.

    • @morenolazzarin
      @morenolazzarin 2 года назад

      @@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?

  • @fabriziofornara9121
    @fabriziofornara9121 3 года назад +3

    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

  • @Pietrogramma
    @Pietrogramma 2 года назад +1

    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

    • @espelett
      @espelett  2 года назад

      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.

  • @napoli838383
    @napoli838383 10 месяцев назад

    Innanzitutto complimenti.!volevo chiederti se questo progetto può arrivare a 20.000 rpm o più?

  • @yodelmoparra1684
    @yodelmoparra1684 2 года назад +2

    Buenas noches mi estimado me puedes pasar los códigos para el arduino celo agradecería mucho tengo todos sus vídeos me despido

    • @espelett
      @espelett  2 года назад

      Hola. El codigo esta aqui:
      espelett.altervista.org/contagiri-con-arduino/

  • @raffaeleprincipi6768
    @raffaeleprincipi6768 2 года назад +1

    Salve ma sarebbe possibile azionare un relè a determinati giri? Quindi volendo una specie di allarme per alta o bassa velocità, grazie buon lavoro

    • @espelett
      @espelett  2 года назад

      Si, basta una semplice condizione if.

  • @fabioregnaud8212
    @fabioregnaud8212 2 года назад

    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 :(

    • @espelett
      @espelett  2 года назад +1

      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.

    • @fabioregnaud8212
      @fabioregnaud8212 2 года назад

      @@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.

    • @espelett
      @espelett  2 года назад +1

      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.

    • @fabioregnaud8212
      @fabioregnaud8212 2 года назад

      @@espelett grazie sei un mito💪💪💪

  • @littlebritain64
    @littlebritain64 3 года назад +1

    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?

    • @espelett
      @espelett  3 года назад +1

      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/

    • @littlebritain64
      @littlebritain64 3 года назад

      @@espelett
      ringrazio davvero!👍

  • @agostinofalcone8619
    @agostinofalcone8619 2 года назад +1

    ciao, ottimo lavoro, molto chiaro e comprensibile! se volessi utilizzare un sensore di prossimità magnetico come dovrei modificare il circuito?

    • @espelett
      @espelett  2 года назад

      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.

    • @agostinofalcone8619
      @agostinofalcone8619 2 года назад

      @@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 …

    • @espelett
      @espelett  2 года назад +1

      @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.

  • @rickycante
    @rickycante 11 месяцев назад

    Quali sono gli rpm massimi misurabili?

  • @brunoborleri5255
    @brunoborleri5255 2 года назад +1

    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

    • @espelett
      @espelett  2 года назад +1

      Nella pagina del firmware ho aggiunto due versioni pronte per funzionare con i display 16x2 (con interfaccia I2C e parallela).

    • @brunoborleri5255
      @brunoborleri5255 2 года назад

      @@espelett grazie provvedo subito con il test 😜👍👋

  • @veranogrilli7596
    @veranogrilli7596 Год назад

    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.

    • @espelett
      @espelett  Год назад

      Non saprei. Quale errore da precisamente?

    • @veranogrilli7596
      @veranogrilli7596 Год назад +1

      @@espelett ti ringrazio per la risposta, ma ho scoperto che dipendeva dal sistema operativo, ho ristallato il sistema ora tutto ok. Di nuovo grazie.