Un generatore di sinusoide con Arduino

Se ti stai chiedendo come creare un generatore di sinusoide con Arduino sei sull'articolo giusto. La spiegazione che leggerai, se starai con me fino alla fine, arriva direttamente dal forum ufficiale di Arduino dove un membro ha chiesto come sia possibile sfruttare Arduino affinché diventi un generatore di sinusoide.

All'interno del forum di Arduino è nato un dibattito in materia, soprattutto da questo membro. In altre parole: si può usare Arduino come generatore di sinusoide? Non si può? Se si può, si limita ad una frequenza massima di 50Hz?

È quello che ha voluto scoprire olearyds, membro del forum a cui dobbiamo questa scoperta che ho voluto tramutare in questo articolo.

Un generatore di sinusoide: come?

Un generatore di frequenza può ovviamente generare differenti segnalisinusoidi, onde quadre, triangolari, senza dimenticare che molti di questi offrono funzioni di scansione e forme d'onda a discrezione dell'utilizzatore.

Inutile dire quanto tutto questo possa tornare utile, specialmente per testare circuiti di amplificazione, audio e testare la risposta circuitale di un circuito stesso.

Senza tralasciare il dettaglio importante che la maggior parte dei generatori di frequenza lavorano senza troppi problemi fino a frequenze di 1MHz.

Per differenti limitazioni tecniche, come la frequenza massima, Arduino non è ovviamente un sostituito completo per un generatore di frequenza vero e proprio, ma olearyds ci ha provato fino in fondo.

Tabella di lookup e Arduino

Olearyds ha pensato che creare una tabella di ricerca dei valori da utilizzare per la sinusoide fosse il modo migliore di procedere: più la tabella è popolata, più la sinusoide sarà "smooth" e quindi meno spigolosa da un punto di vista pratico.

Quale miglior modo se non usare le potenze del 2 seguendo la logica dei bit? Però 8 bit sarebbero pochi e 128 una fonte di stress eccessivo per l'MCU di Arduino: e quindi perché non 32?

Considerato che Arduino opera da 0 a 5V, un segnale centrato su 2,5V e con un'ampiezza di 2,5V è la scelta più pulita, resta da convertirlo in un numero tale da campionarlo con il giusto numero di bit scelti in precedenza.

Il risultato?

Il risultato è ovviamente riuscito, senza aver incontrato qualche problema: per esempio, di output non del tutto pulito e bello come ci si aspetterebbe da un generatore di frequenza degno di essere chiamato tale.

Per intenderci:

Raw output from DAC

Output dell'ADC - (da Arduino.cc)

Ovviamente, l'autore ha deciso di offrire maggiori dettagli in merito, che ti lascio a distanza di un click qui, ma non solo: ha deciso di mostrare tutto questo anche in video:

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend