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)
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.
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.
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…
Sul PCB le resistenze contornate dal rettangolino bianco sono da 10K tutte le altre da 20K in package 0603.
Se si desidera ordine un circuito stampato (22x15mm) al costo di 1.5€ cadauno + 1€ spese postali contattatemi a [email protected]