Pages: 1 [2]   Go Down
Author Topic: ADC più preciso  (Read 1925 times)
0 Members and 1 Guest are viewing this topic.
Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 490
Posts: 12294
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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

Parma
Offline Offline
Edison Member
*
Karma: 20
Posts: 2357
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 490
Posts: 12294
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 490
Posts: 12294
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 54
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

BZ (I)
Online Online
Brattain Member
*****
Karma: 249
Posts: 21179
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sí esiste, leggere le nostre risposte.

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

Ciao Uwe
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 490
Posts: 12294
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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à?
Logged

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

Pages: 1 [2]   Go Up
Jump to: