PWM10DAC- Convertitore Digitale Analogico  a 10 bit - 2




Circuito del convertitore D/A 

 Il circuito di un completo convertitore DA (convertitore digitale analogico) e' riportato in figura 1. Questo da in uscita il valore analogico  corrispondente alla parola digitale a 10 bit di ingresso. Questo circuito può essere parte di un progetto più complesso in cui si richieda una conversione DAC a condizione che si realizzino i circuiti esterni e le connessioni al microcontrollore in maniera compatibile con l'hardware richiesto dalla routine di converiosne D/A. Questo vuol dire che i pin RB3 e  RA0, RA1, RA2, RA3, RB4, RB5, RB6, RB7, RB0, RB1 sono riservati alla routine e non possono essere usati per realizzare un altre funzione.

microst.it circiuto del DAC PWM a 10bit

Figura 1 - circuito  del DAC basato sul PWM

Nel circuito è utilizzato il microcontrollore 16F62x che contiene un modulo generatore di segnali PWM a 10 bit. Il segnale PWM con duty cycle D, uscente dal piedino RB3 (PWM), è applicato all'ingresso di un filtro passa basso di tipo R1C4. Il segnale Vout, all'uscita del filtro R1C4, rappresenta la conversione analogica del segnale digitale a 10 bit applicato all'ingresso del convertitore. Il suo valore  è pari al valore medio ( componente in DC)  dell’onda e sappiamo valere:

Vout = Vdd*D

Dimensionamento del filtro di uscita

Il filtro di uscita va dimensionato ( la sua frequenza di taglio ft) in modo da sopprimere la componente in frequenza e prendere solo la componente in DC del segnale PWM. Se fpwm e' la frequenza fondamentale  del segnale PWM, il filtro dovrà avere almeno una ft pari a 1/100 della fpwm ovvero:

ft = fpwm /100

in modo da avere una attenuazione di 40db ( 100 volte ) della componente fondamentale in frequenza

Ricordiamo che per un filtro RC vale la relazione:

ft = 1/( 6,28*R*C) = fpwm/100

ricavando il valore del prodotto RC in funzione di fpwm  ( 1/6,28  = 0,16) si ha:

RC= 16 / fpwm = 16 T_pwm

Se usiamo i valori dell'esempio precedente per cui T_pwm= 51,2 us allora si ha ( con approssimazione per eccesso) :

RC= 16 *51,2 = 820 us 

Fissato per esempio R= 1000 ohm si ha che:

C= 819.2 e-6 /  1000 =  0,82 uF = 820 nF

Si può scegliere anche i valore di 1uF che abbassa ulteriormente la ft

Applicazioni

La routine e il relativo circuito possono essere applicati per la realizzazione di progetti in cui e' necessario generare tensione  partire da un controllo digitale 

Miglioramenti

 Lo schema proposto è molto semplice e può essere migliorato aggiungendo un buffer per la tensione di uscita  VOUT e/o utilizzando un filtro attivo in uscita al convertitore al posto del fitro RC.