Newsgroup: it.hobby.elettronica.digitale
Titolo: PIC & VRef AD

Gradirei un chiarimento.
In diversi schemi ho avuto modo di notare che alcuni per leggere il valore 
di una tensione continua ma suscettibile a variazione nel tempo la 
connettono ad un ingresso AD.
Altri fanno la stessa cosa ma utilizzando inoltre una tensione di 
riferimento su un'altro ingresso AD.
Certamente qualcosa cambia e la seconda soluzione dovrebbe introdurre una 
migliore precisione ma in che modo??
Ed in quale  modo i due ingressi interagiscono??
Qualcuno ha la bontà di spiegarmelo?
Grazie anticipate. 

 riferimento su un'altro ingresso AD.
In realtà, l'ADC converter interno al PIC ha "sempre" bisogno di un 
riferimento. Se non ne usi uno interno allora usi la tensione di 
alimentazione, VDD.
Il valore del segnale campionato, che è un numero (N), dipende da vari 
fattori, oltre che dal valore di tensione in ingresso.
Se consideri un convertitore a 8 bit, una tensione di ingresso Vin, una di 
riferimento Vref, una formula di riferimento per il valore campionato è la 
seguente:
N = ((2^8) - 1) * Vin / Vref
=255 * Vin/Vref
Come vedi, il valore campionato dipende "direttamente" da Vref. Ora, supponi 
che Vref non sia stabile, e vari di un po' nel tempo per vari motivi, per 
esempio variazione della temperatura. Come conseguenza, N varia, anche a 
parità di Vin. Ok, ma alla fine quanto mi disturba la cosa ?
Se hai Vref=VDD=5V, con ADC a 8 bit la risoluzione è di 5/255=19mV. In 
termini percentuali, 8 bit corrispondono ad una risoluzione di circa 0.5% di 
Vref. Quindi, ad una variazione di VDD di 100mV, tutto sommato plausibile in 
un qualunque circuito non sofisticato, corrisponde ad un errore di 5LSB, 
equivalente a poco più di 2 bit (2^2 = 4.... ). Per dirla in un altro verso, 
se hai un Vref che varia di 100mV durante il funzionamento, campioni a poco 
meno di 6 bit, invece che a 8...
Se passi a 10 bit, scendi al 0.1% di Vref (5mV, con 5V). Quindi, 100mV 
diventano 20LSB, poco più di 4 bit (2^4 = 16...). Come prima, campioni con 
un ADC a 6 bit "equivalenti", quando ne avresti uno a 10 bit.
Come avere la "precisione" che desideri avere, avendo comprato un Pic con 
ADC a 10 bit ? Ecco, devi limitare le variazioni di Vref allo 0.1%. Nulla di 
drammatico, ma scordati il buon vecchio LM7805  :-). Se usi un riferimento 
esterno puoi contare su una maggiore stabilità termica di Vref, fino a pochi 
ppm (parti per milione).
Puoi dare un'occhiata al sito 
www.analog.com
,  per avere un'idea della 
stabilità dei voltage reference in commercio.
Infine, come si è già detto più volte, nessun ambiene è così rumoroso come 
il chip di un microcontrollore, con migliaia di flip flop, registri, che 
commutano contemporaneamente. La tensione di alimentazione delle sezioni 
digitali si "sporca" terribilmente. Nessun grosso problema per la logica, ma 
per le sezioni analogica quella tensione è ben poco adatta, se soprattutto 
vengono implementati ADC a risoluzione più elevata di 8 bit.
Saluti,
Simone.bern
-- 
simone.bern
Mr. Heisemberg is not the only one who can affect a measurement by looking 
at it (Robert A. Pease)
zsimone...@zliberoz.it
 (Rimuovere i caratteri di zorro per rispondere 
via mail)


Grazie. Sei stato chiarissimo. Ma se in molti schemi la tensione di 
riferimento è realizzato con un partitore resistivo dalla 5V che alimenta 
anche lo stesso PIC (7805) mi sà che non sia molto coerente con quanto da te 
prospettato.
In uno schema ho visto l'utilizzo di un IC Maxim MX580 ..forse così la 
musica cambia o mi sbaglio??
Ciao 

 musica cambia o mi sbaglio??
se è un voltage reference, si.
Saluti,


Purtroppo si trova anche in diversi schemi diciamo "definitivi".
Facendo un partitore a VDD/2 dimezzo la variazione vista dal riferimento.
Giustamente come tu dici č meglio di nulla.
Sei stato concretamente illuminante.
Grazie ancora. 

 migliore precisione ma in che modo??
Il piů delle volte quando si fa cosě č proprio perché non si vuole/non
interessa che il segnale sia riferito a una tensione precisa. In molte
occasioni non ti interessa leggere una tensione assoluta, quanto piuttosto
il rapporto fra due tensioni; pensa ad esempio al caso di un potenziometro
ai cui capi č applicata una tensione sporca, e tu vuoi leggere la posizione
del cursore. Leggendo la tensione ai capi del potenziometro e la tensione
sul suo cursore, č sufficiente fare il rapporto fra le due e otterrai la
posizione del cursore al netto del rumore. In gergo una misura del genere
si dice "raziometrica".
Devi fare per forza cosě se hai degli ADC senza il reference esterno, ma
ogni tanto č meglio farlo anche in quelli con il reference esterno: in
molti casi applicando un reference molto rumoroso a un ADC si ottengono dei
risultati sbagliati e non raziometrici. Oppure devi utilizzare l'ADC per
leggere anche dei segnali puliti, e allora ti serve un reference pulito.
-- 
asd

 ha scritto nel messaggio 
news:1syj1cuffje68.1...@40tude.net...
