Go Down

Topic: ADC più preciso (Read 2344 times) previous topic - next topic

Michele Menniti

L'unico modo per ottenere precisione VERA è usare un IC ref: sono integrati in grado di erogare una tensione di riferimento molto precisa e soprattutto stabile, la colleghi all'ARef, la misuri e ti fai le tue formule; a quel punto non hai alcun legame con l'alimentazione

Un altro metodo consiste nell'attivare il Ref interno a 1,1V o collegare l'esterno ai 3,3 di Arduino (nel frattempo lo ha spiegato Uwe), il primo è molto preciso e comunque misurabile, il secondo secondo me potrebbe risentire delle variazioni dell'alimentazione quindi è meglio verificare.

Ovvio che se usi un Ref < 5V devi rapportare le tensioni da misurare al valore di Ref mediante dei partitori di precisione.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

flz47655

Io per avere precisione uso un chip tipo http://www.ti.com/product/ref5040-ep , se non sei pratico con SMD potresti cercare qualcosa di analogo in formato DIP

Ciao

Michele Menniti

Esistono versioni in normale formato TO-92 (tipo BC337 per capirci), ho fatto scorta di diversi valori (2,5 - 3,3 - 5,0 - adjustable) in vista di una serie di sperimentazioni che voglio fare con l'ADC di Arduino.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

astrobeed


Un altro metodo consiste nell'attivare il Ref interno a 1,1V o collegare l'esterno ai 3,3 di Arduino (nel frattempo lo ha spiegato Uwe), il primo è molto preciso e comunque misurabile, il secondo secondo me potrebbe risentire delle variazioni dell'alimentazione quindi è meglio verificare.


Attenzione che i riferimenti interni degli AVR sono tutto meno che precisi, ovvero sono si stabili come valore di tensione indipendentemente dalla tensione applicata al micro, però il loro valore reale ha un ampio range di tolleranza e per fare dei calcoli precisi è necessario misurarlo preventivamente con un buon multimetro, la tensione è disponibile sul pin aRef, e usare tale valore per i calcoli della conversione tra count ADC e tensione reale.
Se consultate il datasheet del 328, tabella 29-16, trovate che il generatore interno a 1.1V può avere la tensione compresa tra 1.0V e 1.2V, ovvero una tolleranza di quasi il 20%, e non è poco.

Michele Menniti

Lo so e l'ho anche sperimentato, infatti ho scritto che è misurabile, visto che quando si imposta l'internal tale valore viene riportato sul pin ARef, al quale va collegato il solito C da 100nF; come dici tu, a prescindere dalla tolleranza, il valore che ne risulta è molto stabile, quindi affidabile; una volta misuratolo si è sicuri dei risultati ottenuti.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

monty14

E non esiste alcun modo per leggere il valore di riferimento tramite software?
Stefano

uwefed

Sí esiste, leggere le nostre risposte.

Leggi i 3,3V del Arduino con un entrata analogica e sai quanto sbagliano i 5V.

Ciao Uwe

Michele Menniti


E non esiste alcun modo per leggere il valore di riferimento tramite software?
Stefano

Ascolta, io non capisco, ti stiamo dando tutte le possibili opzioni, siccome il micro non è un mago devi SOLTANTO misurare con un tester decente la tensione che applichi all'ARef, a quel punto usi tale valore per la conversione che farai via software; NON puoi e NON devi usare l'alimentazione come riferimento, perché NON hai alcuna certezza del suo valore e della sua stabilità. Devi ricorrere ad un riferimento stabile e preciso, lo misuri una sola volta a priori ed è finito, dov'è ora la tua perplessità?
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Go Up