Riferimento A/D

Mar 26, 2010 36 Replies

Ho intenzione di usare questo A/D differenziale:

formatting link
per una cella di carico con uscita max 20 mV, che verrà alimentata con un riferimento ultrastabile tipo REF02.



Visto che il PGA più amplifica e più introduce errori e che la (Vref+) - (Vref-) può essere di soli 100 mV, vorrei usare un banale partitore resistivo in parallelo alla cella di carico per generarla.



Controindicazioni?


Se usi delle resistenze, introduci un errore dovuto alla loro tolleranza. Questo in parte si pu=F2 compensare, ma occhio alla stabilit=E0 a lungo termine ed alle derive in temperatura. Ci sono degli schemi nel datasheet che si riferiscono ad una cella di carico, perch=E9 non usi direttamente quelli? Non capisco troppo le descrizioni testuali, io preferisco vedere i circuiti... non puoi farci vedere cosa hai in mente?

Il giorno Fri, 26 Mar 2010 13:16:10 +0100, "F. Bertolazzi" ha scritto:

Se la cella è a ponte, non è fondamentale la Vref di altissima qualità, farai sempre misusre differenziali, se ne è parlato abbondantemente in un post di qualche tempo fa.

Il PGA al massimo amplificherà un offset ma non è che introduca tutti sti errori, anzi ti consente di sfruttare meglio il range del convertitore.

Usando una vref di 200mV (se ho capito bene cosa vuoi fare) con un convertitore a 24 bit hai una sensibilità che non ho nemmeno voglia di calcolare perchè è di qualche ordine di grandezza maggiore del rumore intrinseco.

Ce ne sono parecchie, se ho ben capito.

Io in una cella di carico ho usato un 16 bit con G=8 (19 bit totali, di cui MSB per il segno) e ho avuto buoni risultati. L'offsert introdotto dal PGA si può togliere con una taratura digitale, ma non ne ho mai trovati di molto alti.

-- ciao Stefano

SB:

Il problema è che devo alimentare 4 celle di carico con un DC-DC isolato che mi introduce 50 mV a 500kHz che non sono riuscito, sperimentalmente, a togliergli. Così me li levo con la reiezione del REF02.

L'offset ce l'ha comunque la cella di carico, quindi andrà tarato.

24 bit è una parola grossa. Diciamo 21 bit con PGA = 1 o 19 bit con PGA = 128.

Queste lavoreranno solo in compressione, quindi niente segno.

G = 8 vuol dire che avevi più di 20 mV di segnale o usavi un riferimento minore di 200 mV, o sbaglio?

A parte ciò che ti ha detto Darwin, devi anche tenere presente che la tensione dell'ingresso Vref, come specificato dal datasheet, viene campionata con un condensatore da 12 pF alla frequenza f_samp e per una durata non specificata: se fai un partitore con una resistenza equivalente troppo elevata, rischi di avere un errore dovuto all'incompleta carica del condensatore.

Il 26/03/2010 14.19, F. Bertolazzi ha scritto:

Se ho capito bene quel che vuoi fare, tieni presente che la "line regulation" del REF02 e' di soli 36dB (0.3%) a 500KHz.

Non ho messo becco nel thread precedente, perche' pensavo di non avere compreso pienamente il problema, ma, nel caso, ti avrei suggerito di far precedere al REF02 un semplicissimo regolatore NPN-zener (magari alimentato in CC) che dovrebbe garantirti una reiezione del rumore abbastanza alta fin verso le decine di MHz.

Il giorno Fri, 26 Mar 2010 14:19:21 +0100, "F. Bertolazzi" ha scritto:

Mah, non mi sembra improbo togliere un rumore di 50mV, puoi provare sia a filtrare che a stabilizzare la tensione. Se è un rumore che viene captato, il layout aiuta molto.

Esattamente.

convertitore

di

ADS1240 = 24 BITS NO MISSING CODES Il link è nel tuo post di apertura.

MSB

Il segno ce l'hai sempre se è un ponte, fosse anche solo per l'offset.

Uso un ADS1100 16-Bit SelfCalibr ADC (che col gain diventano 19) , e la Vref è la stessa Vcc che alimenta il ponte ~ 5,10V

-- ciao Stefano

Anche senza missing codes, il numero di bit effettivi di un convertitore può essere minore di quelli nominali.

Il giorno Fri, 26 Mar 2010 15:06:41 +0100, "Massimo Ortolano" ha scritto:

Sicuramente, se poi ci mette anche una Vref che porta la sensibilità nel campo dei nV...

-- ciao Stefano

Darwin:

Lo so che è solo una scusa per farmi usare Fidocadj...

Non volevo mettere troppa carne al fuoco... Questo è lo schema relativo ad una cella di carico.

Tutti i componenti, tranne l'alimentazione a 12V, il REFO2 e la resistenza da 600 ohm, vanno istanziati 4 volte e gli input dell'A/D saranno quattro diverse coppie.

In pratica mi consigliate di collegare il Ref+ direttamente all'alimentazione e settare il PGA a 128?

Che mi dici di quel PNP comandato dal controller che mi consente di risparmiare sui REF02 e soprattutto di riferire Vref+ alle alimentazioni senza fare cortocircuiti?

[FIDOCAD] MC 60 65 0 0 080 FCJ TY 70 75 4 3 0 0 0 * TY 60 70 4 3 0 0 0 * 1k MC 60 80 0 0 080 FCJ TY 60 85 4 3 0 0 0 * 1k TY 70 85 4 3 0 0 0 * MC 75 65 1 0 170 FCJ TY 80 70 4 3 0 0 0 * 10uF TY 85 70 4 3 0 0 0 * PV 35 55 25 65 35 75 45 65 0 LI 45 65 60 65 0 LI 25 65 25 80 0 LI 25 80 60 80 0 MC 35 85 0 0 040 MC 125 15 3 0 010 FCJ TY 130 10 4 3 0 0 0 * +12V TY 135 20 4 3 0 0 0 * RV 95 115 115 45 0 LI 70 65 95 65 0 LI 70 80 95 80 0 LI 35 75 35 85 0 LI 35 55 35 30 0 LI 35 30 85 30 0 RV 115 20 140 35 0 MC 55 100 1 0 080 FCJ TY 45 110 4 3 0 0 0 * TY 40 105 4 3 0 0 0 * 600R MC 55 90 1 0 080 FCJ TY 65 100 4 3 0 0 0 * TY 40 90 4 3 0 0 0 * 29K4 LI 55 100 95 100 0 LI 85 110 85 115 0 MC 85 115 0 0 040 MC 125 35 0 0 040 LI 125 15 125 20 0 LI 125 20 125 20 0 SA 75 65 0 SA 75 80 0 SA 55 100 0 LI 55 30 55 90 0 SA 55 30 0 SA 55 30 0 TY 30 10 4 3 0 0 0 * uController TY 120 25 4 3 0 0 0 * REF02 TY 95 95 4 3 0 0 0 * Ref+ TY 95 105 4 3 0 0 0 * Ref- TY 95 60 4 3 0 0 0 * In+ TY 95 75 4 3 0 0 0 * In- MC 90 15 1 0 290 LI 100 30 115 30 0 MC 70 15 0 0 080 FCJ TY 80 25 4 3 0 0 0 * TY 70 20 4 3 0 0 0 * 1k LI 80 15 90 15 0 LI 55 110 95 110 0 SA 85 110 0 TY 35 50 4 3 0 0 0 * 4*300R MC 75 80 1 0 170 FCJ TY 80 85 4 3 0 0 0 * 10uF TY 85 85 4 3 0 0 0 * MC 75 30 1 0 170 FCJ TY 80 35 4 3 0 0 0 * 10uF TY 85 35 4 3 0 0 0 * SA 65 30 0 LI 65 30 65 55 0 LI 65 55 95 55 0 TY 95 50 4 3 0 0 0 * AVdd SA 75 30 0

SB:

Ci ho provato sperimentalmente, con 47uH, 220 uF low ESR e un carico fittizio di 100 ohm non gli fa una sega. Anche un 7805 aiuta poco a quelle frequenze.

Se poi leggi tre righe sotto...

Ok.

Perché non un 1110?

Mi sembri molto ma molto ottimista.

Ok.

Massimo Ortolano:

Dici che 29K sono troppi? Meglio 2k9?

Il giorno Fri, 26 Mar 2010 15:21:26 +0100, "F. Bertolazzi" ha scritto:

Si, tenedo presente che con G=128 e Vcc = 5.10V avresti:

0,03984375 V di sensibilità massima e con 24 bit una sensibilità di circa 2.3 nV.

Il tutto poi con un convertitore che ti spara disturbi nel range dei mV.

C'è di che preoccuparsi.

Io risparmierei comunque il REF02 e mi preoccuperei dei disturbi del convetitore, altrimenti rischi che la maggioranza dei 24 bit che leggi siano solo rumore.

-- ciao Stefano

SB:

Proprio a quello doveva servire...

F. Bertolazzi:

E poi il REF02, chiaramente.

Il giorno Fri, 26 Mar 2010 15:32:48 +0100, "F. Bertolazzi" ha scritto:

Perchè magari è rumore che viene captato, come ti ho detto il layout è molto importante in questi casi.

C' è una riga vuota ;-)

Perchè non mi serve la Vref interna, la Vref deve essere la stessa che alimenta il ponte. Ti ripeto che sono misure differenziali, la Vref ha un importanza secondaria, mi preoccupava più il rumore.

Se ho una Vref di 5.1V e un gain di 8 vuol dire che la massima tensione misurabile è di 0,6375 a cui corrisponderanno i 16 bits -1, con una risoluzione di circa 20µV per bit.

Ti assicuro che mettendo il sensore direttamente sulla cella ho ridotto drasticamente i problemi di rumore, poi dal momento che andavo a sostituire un convertitore da 12 bits ho precisione in abbondanza e posso tagliare trnaquillamente 3 o 4 bits.

-- ciao Stefano

Il 26/03/2010 15.46, F. Bertolazzi ha scritto:

Non lo so... in effetti la soluzione precedente e' condizionata dai miei studi attuali (alimentatori a bassa impedenza anche ad alta frequenza).

Potrebbe anche bastare un semplice filtro passa basso RC (magari a due celle), contando sul PSRR del REF02: di quanto vuoi attenuare il rumore a 500KHz?

SB:

Ma che volete si capti st'accrocchio?

formatting link
(sullo sfondo i 7812 e i 7805 che devo mandare a mario i3hev da 4 mesi)

Ah, ecco qual'è la differenza ;-)

Con 20 mV di segnale massimo sono 10 bit tondi tondi.

A me ne servono minimo 14. :-(

Allora, rìfo i conti, se sbaglio mi corrigerete:

20 mV * PGA128 = 2,56V; 5V / 7FFF = 0,15 mV; 2.560 mV / 0,15 mv = 16776 = 14 bit.

Avrei preferito un po' più di margine ma vabbé.

20 mV * PGA1 = 20.000 uV; 100 mV / 1FFFF = 0,76 uV 20.000 uV / 0,76 uV = 26214 = 15 bit di molto scarsi.

In effetti non si guadagna granché...

Il giorno Fri, 26 Mar 2010 19:01:01 +0100, "F. Bertolazzi" ha scritto:

E tu con una cosa così vorresti misurare i nV?

Occorre uno stampato almeno doppia faccia con uno studio raziocinato del layout e dei percorsi piste, altro che reference ultraprecisa.

alimenta

Se fai misure differenziali, il CMRR aiuta molto a ridurre i disturbi e la configurazione a ponte aiuta a compensare le variazioni di Vref.

Si possono raggiungere.

7FFF sono 15 bits, il datasheet ADS1240 dice 19 BITS EFFECTIVE RESOLUTION (PGA = 128) Anche calcolando il segno, ti restano 3 bits utili.

Comunque rifacciamo i conti:

5,1V / 128 = 0,039V 'massima V misurabile 0,039 / 2^18 = 0,15µV 'risoluzione per bit, escluso il segno 20mV / 0,15µV = 133333 = 17 bits

Se non fai una cosa fatta bene il rumore si mangia altro che margine, si mangia mezzo foglio ;-)

No, ci si rimette in stabilità, anche se il datasheet dice 21 BITS EFFECTIVE RESOLUTION PGA=1, io opterei per l'altra soluzione.

-- ciao Stefano

SB:

Se lo guardi un attimo, vedi che è il DC-DC converter con condensatore, bobina e resistenza che ho descritto più volte e che, nonostante il filtraggio, continua a buttar fuori 60 mV di rumore. Essendo la resistenza da 100 ohm, ci passano 50 mA (buona approssimazione del carico effettivo), hai voglia a captare prima di metter su 50 mV di ripple.

Azz. Lo sapevo che non sono buono a fare i conti... Cioè, manca una F. Evvabbé, chessarà mai?

Dicevamo che

5V / 7FFFF = 9,537 uV 2.560.000 uV / 9,537 uV = 268.435 = 18 bit pieni, segno incluso

Già. Invece, co, riferimento fatto con il partitore:

20 mV * PGA1 = 20.000.000 nV; 100 mV / 1FFFFF = 0,477 nV 20.000.000 nV / 0,477nV = 419.430 = 18 bit abbondanti.

Conto peraltro inutile, visto che la prima soluzione, comunque migliore, era già più che sufficiente.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required