Home
Accesso / Registrazione
 di 

Generare una tensione analogica con un circuito digitale (I)

Generare una tensione analogica con un circuito digitale (I)

In quest’articolo si affronterà in dettaglio il metodo per generare una tensione analogica utilizzando un circuito digitale (la rete di resistenza conosciuta come R/2R). Questo metodo necessita di un numero di pin del microcontrollore disponibili da utilizzare soltanto per questo specifico compito. Si tratta di un metodo molto conveniente, in quanto richiede solo un paio di resistenze di soli due valori diversi.

Il circuito mostrato nella Figura 1 descrive un DAC a 8-bit costruita attorno ai pin del microcontrollore disponibili, usando resistenze di 2kOhm e 1kOhm. Per semplificare la “Bill of Materials”, è possibile utilizzare anche solo resistenze da 1kOhm, usando due di loro in serie, invece di ogni resistenza da 2kOhm.

tensione analogica

Generare una tensione analogica con un circuito digitale

Il vantaggio di questo circuito, al di là del suo bassissimo costo, è la facilità con cui si attiva. Gli 8 pin del microcontrollore utilizzati hanno le stesse funzioni degli 8 bit di un DAC, dove il pin di sinistra fa da LSB e quello destro da MSB. Il codice digitale applicato dal microcontrollore ai suoi pin rappresenta il valore esatto necessario per un DAC legittimo al fine di generare la tensione richiesta:

0000.0000…………..0.000V 
0000.0001…………..0.019V 
1000.0000…………..2.481V 
1111.1111…………..4.981V 

Con questa particolare configurazione è facile aumentare/diminuire il numero di bit del DAC, semplicemente utilizzando più o meno pin del microcontrollore e più/meno rami R/2R. Le immagini che seguono illustrano il valore di uscita simulato per alcuni dei codici digitali che possono essere applicati:

DAC
Figura 2 – 8-bit DAC con codice digitale applicato 1111.1111


Figura 3 – 8-bit DAC con codice digitale applicato 0111.1111


Figura 4 – 8-bit DAC con codice digitale applicato 0000.0001

Va rilevato però che qualsiasi desiderio di utilizzare la tensione generata per un’applicazione reale necessiterà di un buffering con un’alta memoria tampone. La ragione di ciò sta nel fatto che qualsiasi ulteriore carico applicato all’uscita di questo DAC disturba il comportamento della rete R/2R, introducendo così errori. Si può usare un semplice ripetitore di tensione come un buffer, ma bisogna fare particolare attenzione per poter utilizzare un amplificatore operazionale rail-to-rail. Usare un normale amplificatore operazionale introdurrebbe semplicemente degli errori nei due estremi della scala, poiché l'amplificatore non sarà in grado di ripetere la tensione di ingresso che viene generata da questo semplice DAC.

Anche se semplice e conveniente, questo DAC può essere utilizzato come uno convenzionale. Applicare i codici successivi all’ingresso, con un tasso di ripetizione fissa, ci permetterebbe di generare praticamente qualsiasi tipo di segnale analogico, la sua frequenza è limitata soltanto dalla frequenza di campionamento in cui il microcontrollore può produrre i codici digitali.
Naturalmente, come in qualsiasi attività di progettazione, il risultato non è perfetto, in quanto è solo un’alternativa tra i vantaggi e gli svantaggi:

    a) Anche se a basso costo e facile da usare, questa struttura ha anche degli svantaggi: più piccola è la risoluzione, più pin di microcontrollori sono necessari.
    b) Inoltre le resistenze della rete devono essere accuratamente selezionate (è preferito l’1% di tolleranza; usare resistenze con una tolleranza del 5% potrebbero introdurre errori inaccettabili).
    c)Maggiore è la risoluzione di tale DAC, più lento diventa a causa della larga costante di tempo RC per ogni link di RC aggiunto.

Leggi la versione inglese:Generating Analog Voltage with Digital Circuit (I)

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog
ritratto di Alex87ai

La tecnica R/2R rappresenta

La tecnica R/2R rappresenta la soluzione più economica e tutto sommato efficiente per munire il proprio circuito a microcontrollore di un convertitore DAC...è bene ricordare questa tecnica data la sua enorme utilità e semplicità di implementazione!! ;)...tempo fa ho utilizzato questa tecnica con un PIC16f628 per implementare un codificatore DTFM...

ritratto di linus

alla fine

è come un partitore di tensione gestito in digitale e invece di un selettore la commutazione viene gestita dal DAC.

ritratto di giuskina

Wooow

Per evitare rumore bisogna mettere un buffer come si dice nel.articolo ...sapete il costo ?

ritratto di Fabrizio87

Se metti un buffer di costa

Se metti un buffer di costa quando il costo di un ADC con una maggior qualità di conversione
comunque sia siamo su intorno ai costi di 0.5 a 1€

ritratto di Arx33

Di un DAC! In questo caso

Di un DAC! In questo caso abbiamo un convertitore digitale analogico e non il contrario

ritratto di sorex

Buffer

In questi casi si usa normalmente, come buffer, un operazionale configurato come inseguitore. In questo modo avremo un perfetto adattatore di impedenza (alta in ingresso e bassa in uscita).
Il costo è inferiore ai 20 centesimi per 1 pezzo.
In produzione sarebbe inferiore ai 5/6 centesimi.

ritratto di Alex87ai

Lo scopo del buffer è

Lo scopo del buffer è quello di disaccoppiare il carico dalla rete resistiva R-2R. Se non ci fosse, nel collegare il carico questo andrebbe a porsi in parallelo alla resistenza d'uscita del DAC andando a modificare il valore stesso di tensione d'uscita. Così facendo si avrebbe un convertitore DAC non lineare la cui tensione d'uscita dipende dal carico. Un amplificatore operazionale in retroazione unitaria (inseguitore di tensione) funge da adattatore di impedenza svincolando la tensione in uscita del convertitore DAC dalla suddetta resistenza di carico.

ritratto di slovati

Errore di linearita'

Questo schema e' molto interessante ed istruttivo, in quanto mostra una valida tecnica per realizzare un semplice ed economico DAC. Come citato nel testo, e' fondamentale la tolleranza delle resistenze, al fine di limitare il piu' possibile l'errore di linearita' del DAC stesso. Anziche' resistenze singole, si possono inoltre utilizzare quelle gia' integrate in un unico componente (le "reti" di resistenze nel package SIL).

ritratto di mingoweb

Ottimo convertitore

Ottimo convertitore convertitore DAC da utilizzare sopratutto in ambito scolatico, considerando anche il suo basso costo!

ritratto di Fabulous

Se consideriamo che

un DAC audio stereo della Analog a 16 bit (si veda la serie AD566) si trova per 4-5 euro, garantendo miglior precisione della rete resistiva, mi attrae di piu' implementare un'interfaccia seriale digitale e affidarmi ad un componente esterno che mi eviti problemi di imprecisione, deriva termica, ecc. e per di piu' richieda comunque uno stadio di buffering.

ritratto di giacomobarresi

L'importanza dei datasheet.

Questo schema e' il classico schema che si studiava a scuola 15 anni fa.

Adesso l'elettronica si e' evoluta e grazie alle nuove tecnologie di integrazione e ai più moderni circuiti integrati si trovano in commercio soluzioni circuitali stupende.

Il costo e' sicuramente maggiore rispetto allo schema proposto ma la qualità di conversione, la velocità i problemi legati al rumore alla deriva termica sono minimizzati.

Ritengo che oggi grazie ad internet sia possibile trovare il componente più adatto alle nostre esigenze.

Inoltre sfruttare 8 uscite di un microcontrollore mi sembra uno spreco......ma questo e' quello che succede oggi: si sprecano risorse hardware anzichè trovare soluzioni ottimizzate.

Rimane questo articolo valido a scopi didattici.

Saluti Giacomo Barresi

ritratto di Vittorio Crapella

è una ottima tecnica usata

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 6 utenti e 107 visitatori collegati.

Ultimi Commenti