Amplificatore segnale per orologio al diapason

Salve a tutti,

ho la necessità di realizzare un amplificatore di segnale per poter leggere una frequenza sinusoidale da Arduino attraverso l'input analogico, per poi eseguire un'elaborazione di cronocomparazione per uno strumento di misura degli orologi al diapason.

Purtroppo non ho grandi nozioni sugli operazionali, pertanto vi chiedo un aiuto.

Il segnale proviene da un microfono preposto a rilevare il segnale del diapason e fornisce un'uscita 70-100mV (rilevata con un oscilloscopio), mentre la frequenza di lavoro è di 300Hz (+/- 50Hz); poi dovrei trovarmi in uscita una tensione adeguata all'input di Arduino Mega.

Ringrazio in anticipo chiunque mi aiuterà.
Marco.

>McMarkus: essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Ti ricordo che gli ingressi di Arduino accettano SOLO valori positivi (max +Vcc) rispetto a GND quindi ... attenzione con i collegamenti perché è facile fare danni.

Fatto.

Con un comparatore potresti squadrare il tuo segnale, inviarlo ad un pin digitale e con la funzione pulseIn(), contare il periodo e quindi la frequenza.

Nicola

Premesso che potresti usare un accordatore per strumenti musicali (ce anche l'app GStrings per smartphone), come dice droidprova, un semplice comparatore LM339 in uscita al microfono ti consente di avere un segnale leggibile da Arduino che con la funzione pulseIn riesce a rilevare la frequenza.

(droidprova)
Si, ho intenzione infatti di usare una libreria che calcola il tempo del periodo, con il codice non ho grossi problemi, ma mi manca la parte prima... come si fa un comparatore?

(cyberhs)
Premesso che all'accordatore ci ho già pensato, ma ci sono due problemi:

  1. che il diapason dell'orologio ha una frequenza di 300Hz, e nessuna nota musicale ha tale frequenza base (re4=293,7Hz; re#4=311,1), quindi l'accordatore non farebbe allo scopo nulla;

  2. il mio obiettivo è conoscere il risultato di una cronocomparazione, quindi anche se l'accordatore mi dicesse di quanto mi scosto dai 300Hz, non mi dice che differenza giornaliera fa l'orologio.

Grazie comunque,
Marco.

il comparatore lo devi costruire. Ad esempio:

per una mia applicazione (contagiri scooter) invece ho costruito questo circuito:

al posto di spire ci mandi il tuo segnale analogico. Ti dico che funziona bene!

Nicola

edit: nel secondo schema, ometti D6 e R4.

Se ti faccio uno schema con operazionale, riesci a riprodurlo?

(droidprova)

Ottimo, grazie, provo il circuito del contagiri.

(cyberhs)

Si certo, lo faccio su una bread-board.

Grazie a tutti per l'aiuto, vi terrò informati sui progressi,
Marco.

Ecco lo schema.

Ho usato un LM324 a 4 operazionali perché è quello che in simulazione mi ha dato i risultati migliori.

Se lo usi, ricordati di portare a massa gli ingressi non utilizzati e di mettere in parallelo all'alimentazione un condensatore da 100nF.

>McMarkus: Se vuoi fare delle misure molto precise, invece della fuzione pulseIn(), ti suggerisco QUESTA libreria molto più professionale ed adatta a segnali tra 0.1 Hz ed 1 KHz (.... per frequenze superiori ce ne è un'altra).

Guglielmo

(cyberhs)
Ottimo, ti ringrazio molto, provo il tuo schema.

(gpb01)
Grazie per il suggerimento della libreria, era la stessa che avevo già adocchiato per via della misurazione del periodo e anche perchè ci azzecca con la banda di frequenza.

Vi terrò informati sui progressi.
Marco.

Puoi usare anche un LM358 a 2 operazionali.