Ladder R2R – DAC

Uno dei modi per generare una tensione proporzionale ad un valore digitale è quello di utilizzare una rete resistiva R2R. Concettualmente la rete R2R è la seguente (4 bit)

R2R Ladder
R2R Ladder

Lo stadio intermedio (R + 2R) può essere ripetuto per quanti bit si desidera per ottenere la larghezza di conversione a noi utile. Nella fattispecie ho realizzato una rete r2r ad 8 bit (in previsione di un futuro progetto di tracciacurve) che può diventare utile anche nella realizzazione di generatori di forme d’onda, alimentatori digitali e dovunque possa servire un DAC semplice.

R2R 8 bit
R2R 8 bit


Ho previsto la possibilità di prelevare il segnale anche dai bit inferiori all’8 in modo da poter realizzare con lo stesso PCB convertitori a larghezza differente (2, 3, 4, 5, 6, 7 bit) utili nel caso si vogliano espandere le possibilità del modulo collegandoli in serie ed ottenendo così larghezze di 9, 10, 11..16 bit.

Utilizzando Arduino e una lookup table a 256 valori ho generato (per test) una sinudoide utilizzando detto modulo. Il risultato è soddisfacente.

Sinusoide a 8 bit
Sinusoide a 8 bit

Il modulo può quindi finzionare come DAC da 2 fino ad 8 bit con possibilità di estensione per un numero a piacere. Per unire due o più moduli è necessario sostituire la R0 ai moduli aggiunti al primo con una da 10k anzichè 20k ed unire l’uscita del modulo precedente a GND di quello modificato, come da figura. Questo si può ripetere per quanti moduli si desidera. E’ possibile usare anche le uscite parziali per ottenere conversioni a 10, 12, 14, bit…

R2R 16 bit
R2R 16 bit

Sul PCB le resistenze contornate dal rettangolino bianco sono da 10K tutte le altre da 20K in package 0603.

PCB
PCB

Se si desidera ordine un circuito stampato (22x15mm) al costo di 1.5€ cadauno + 1€ spese postali contattatemi a [email protected]

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.