Generatore di funzioni con Arduino e AD9833

In un precedente articolo abbiamo visto le funzionalità e la semplicità d’uso del modulo generatore di funzione basato su un AD9833.

Ora passiamo alle vie di fatto realizzando, grazie a questo modulo, un generatore di funzioni comandato da un modulo arduino nano. La parte complicata di un generatore di funzioni è senza dubbio la sezione amplificatrice che deve funzionare linearmente per una vasta gamma di frequenze.

Questo progetto non ha ovviamente la pretesa di competere con generatori professionali ma visto il basso costo di tutto l’insieme può venire usato per le faccende di “tutti i giorni” che non pretendono elevatissima qualità. Questo generatore fa quello che deve fare, onestamente, senza troppi fronzoli, costando un decimo degli altri.

In tale circuito ho inserito:

  • Il generatore da 1Hz a 999999Hz (onda quadra, sinusoidale, triangolare)
  • un display oled da 0,96″ (SSD1306)
  • il comando di frequenza (encoder)
  • il comando di fase (encoder)
  • il comando di offset (analogico, potenziometro)
  • il comando di tensione d”uscita (analogico, potenziometro)
  • pulsante per la selezione della forma d’onda (su encoder della fase)
  • pulsante per la selezione del canale 1 o 2
  • ingresso analogico (per misurare una tensione alternata in ingresso)
  • uscita Y per oscilloscopio, per realizzare un visualizzatore di banda passante assieme all’ingresso analogico

Il circuito va alimentato con alimentazione doppia +18/0/-18 per far funzionare correttamente gli stadi analogici di amplificazione. Per questi stadi ho scelto il circuito operazionale LM7171 per la sua largha banda passante, la sua bassa impedenza d’uscita ed il costo contenuto. Non è possibile utilizzare altri operazionali di caratteristiche inferiori (LM741, TL081, etc…) pena una forta distorsione della forma d’onda sulle frequenza alte ed una diminuzione della tensione conseguente. Tanto per farci un’idea delle caratteristiche di questo integrato ecco un breve riassunto:

LM7171
LM7171

Paragonato ai normali TL081 e fratelli fa semplicemente impallidire. Lo slew rate di questo integrato è stratosferico:

slew rate
slew rate

Con simili parametri non avremo problemi ad amplificare onde quadre e triangolari nella banda che ci interessa. Il costo è contenuto, parlaimo di 3..4€ ad esemplare.

Se monterete gli zoccoli per questi integrati, come ho fatto io, potrete divertirvi a cambiare gli operazionali con altri in vostro possesso per vedere le differenze, tenendo conto ovviamente della piedinatura che è standard su questi tipi di circuiti.

pinout
pinout

La spiegazione del circuito in questo video

…in costruzione…

3 Risposte a “Generatore di funzioni con Arduino e AD9833”

    1. E’ ancora in standby perchè la parte di commutazione a porte logiche ha dei problemi e deve essere riprogettata per usare un microrelè.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.