AD9850 Waveform Generator

Sempre alla ricerca di nuovi prodotti per il mio Arduino un paio di anni fa mi sono imbattuto in una scheda molto interessante che fa uso di un integrato AD9850.

dds_1

nel data sheet leggo che si tratta di un CMOS, 125MHz Complete DDS Synthesizer. Questa scheda unita ad un microcontrollore, che nel mio caso è l’ATMega328P ovvero quello che usa Arduino, diventa un versatile generatore di onde quadre e sinusoidali. Fin qui nulla di nuovo. Si poteva usare benissimo un oscillatore a cristallo con la stessa stabilità. Ma il bello è che la frequenza di questo oscillatore può essere variata in maniera continua da 0 a 40MHz sia in onda sinusoidale che quadra!

Quello che mi ha spinto a usare questa scheda è la possibilità di usarla come VFO per una radio a conversione diretta. In rete ci sono molti progetti ma quello che potrete trovare a questo link

http://www.vwlowen.co.uk/arduino/AD9850-waveform-generator/AD9850-waveform-generator.htm

mi ha colpito per la semplicità,l’ottima descrizione corredata da foto e non ultimo la disponibilità dell’autore a rispondere alle mie domande. Tutti componenti usati sono reperibili in rete.
Le caratteristiche del generatore sono:

Frequenza regolabile con continuità da 0 a 40 MHz
Uscita sinusoidale e onda quadra
Tensione di uscita pari a 5V per l’onda quadra
Tensione di uscita pari a 1.08 V
Visualizzazione dei parametri su uno schermo TFT da 1.8″
Passo di incremento della frequenza selezionabile

La selezione della frequenza e del passo vengo effettuati mediante due encoder rotativi.

I componenti principali sono:
Un microcontrollore ATMega328P che è lo stesso che usa Arduino
Una board con AD9850
Uno schermo TFT da 1,8″

Il microcontrollore ATMega328P ha bisogno oltre che da una alimentazione stabilizzata a 5 V di un oscillatore esterno. A questo scopo viene usato un quarzo da 16MHz con due condensatori da 22pF. Sul micro viene prima caricato il bootloader di Arduino uno e successivamente viene caricato il programma (sketch) che si trova sul sito.

waveform-generator-schematic
Schema elettrico del generatore

In alto a destra si vede lo schema dello stabilizzatore di tensione preceduto da un diodo 1N4001 usato come protezione per l’inversione della polarità. Io ho sostituito l’integrato L4950V5 che non sono riuscito a trovare con un LM7805 che fa egregiamente il suo lavoro. E’ necessario dotare l’integrato di un piccolo dissipatore sopratutto se viene usata una tensione di ingresso superiore a 9V.Ho notato infatti che senza il dissipatore l’integrato si scalda come pure ho notato che il quarzo da 120MHz di cui è dotata la scheda con l’A9850 scalda. Completano lo schema un pulsante di reset, i due rotary encoder e i due connettori BNC per le uscite. La resistenza da 10K sul piedino di RESET è in configurazione pull-up ovvero il piedino è normalmente alto. Messo a massa attiva il reset della scheda. Il condensatore sulla alimentazione serve da filtro mentre la resistenza da 100 sul piedino LED dello schermo serve a pilotare la retroilluminazione. I due rotary encoder sono dotati anche da un interruttore: quello presente sul “Rotary Encoder Set Step” serve per riportare lo step al valore di default di 1HZ , mentre quello presente sul “Rotary Encoder Set Frequency” serve per riportate il valore della frequenza al valore di default di 1KHz. E’ presente anche un connettore che nello schema viene indicato come “Programming Header” che serve a connettere un adattatore seriale USB per programmare l’ATMega328P senza toglierlo dallo zoccoletto. Infatti il micro può essere rimosso e messo su una board Arduino per la programmazione oppure si può usare questa scheda collegata al connettore per riprogrammarlo, ove naturalmente fosse necessario. Nello schema il micro presenta due serie di numeri: quello esterno rappresenta il piedino fisico del micro mentre quello interno indica il “nome” dei piedini I/O. Per esempio il pin fisico 4 viene nominato nel programma come D2 (o più semplicemete 2). Per quanto riguarda invece il modulo AD9850 bisogna fare riferimento alla scheda acquistata ed eventualmente rimappare i connettori così come per il TFT. Mi sono trovato in difficoltà con quest’ultimo perchè nello schema il piedino indicato con DC su quello che avevo acquistato era contrassegnato con A0. Una mail all’autore mi ha chiarito il problema. Altra cosa per chi si accingesse a realizzarlo di leggere le note che accompagnano il progetto. In particolare lo schermo deve essere equipaggiato con “ST7735 Controller”.

Allego lo stesso schema con le annotazioni fatte da me
scanbot-26-nov-2016-17-20

Le foto che seguono sono relative alla mia realizzazione
img_1012
1 Main board

img_1013
2 Main board retro

img_1015
3 Frontalino

img_1016
4 Basetta degli encoders

img_1017
5 Basetta degli encoders retro

img_1018
6 La board con l’AD9850

img_1019
7 Il generatore assemblato

img_1020
8 Le forme d’onda in uscita alla frequenza di 1.051 KHz

Oltre alla regolazione della frequenza sulla scheda AD9850 è presente un trimmer per la regolazione del duty cicle dell’onda quadra.

Rimango a disposizione per suggerimenti o implementazioni.

This article has been made possible for the courtesy of John Owen

One Reply to “AD9850 Waveform Generator”

I commenti sono chiusi