banner.jpg (7109 byte)

Modulo calore

ultimo aggiornamento il 25 gennaio 2010


 

ADC0831 CONVERTITORE ANALOGICO / DIGITALE

Il processore Basic Stamp 2 non dispone di un ingresso analogico/digitale per poter convertire la tensione fornita in uscita da alcuni tipi di sensori come: LM35, GP2D2
Per ovviare a questo problema è possibile utilizzare un apposito integrato, Il modello scelto è denominato ADC0831  prodotto dalla National Semiconductor
Si tratta di un convertitore analogico digitale a 8 bit ad approssimazioni successive (SAR), con le seguenti caratteristiche:

homotix

PCBA

Esso misura una tensione e la converte come un numero a 8 bit (byte).    Poiché la sua uscita è stata pensata per essere interpretata da un microprocessore, ha alcune caratteristiche che non ha un voltmetro ordinario.
La figura a lato della foto della schedina mostra come un ADC0831 è collegato ad un sensore di temperatura LM35 e il processore BS2.
Come possiamo vedere gli ingressi del convertitore rappresentati da: Vin+, Vin- e Vref.
I pin Vin sono gli input che accettano la tensione che deve essere misurata, questa deve rientrare nei valori della tensione di alimentazione del convertitore cioè tra 0 e 5V, se così non fosse, l'ADC può essere danneggiato.
L' ADC misura la differenza tra le tensioni presenti tra i pin Vin + e Vin-, con il requisito che la tensione al pin Vin+ sia superiore a quella sul pin Vin-.
Nel nostro circuito, Vin - è collegato a terra (0V), il che rende sicuro che la tensione al Vin + sarà maggiore.
Se la tensione di ingresso al pin Vin+ sarà pari a 0 l'ADC emetterà in uscita (%000000000 binario).   Vref imposta il valore massimo di lettura, per cui l'ADC avrà il valore più alto possibile di byte, 255 (% 11111111 binario).
Ora c'è un limite a quanto vicino è possibile impostare Vref e Vin-; per scopi pratici, ci dovrebbe essere almeno 1V di differenza tra i due.
Ciò significa che ogni unità di uscita ADC da 0 a 255 può rappresentare una differenza di tensione di appena 1/255 = 0.0039 = 3.9 millivolt (mV).
Nel caso specifico noi vogliamo misurare la tensione in uscita dal sensore di temperatura,  questi genera una tensione di 10mV per grado.
Se si imposta Vref=2.55V quindi ogni unità ADC sarà 2,55/255 = 0.01V = 10mV perciò, ogni unità di ADC sarà pari 1 grado.
La gamma di misurazione sarà da 0 a 255 gradi. Certo, l'estremità superiore dell'intervallo è sprecata, poiché essa supera la temperatura massima di esercizio del sensore.
Ma il compromesso è che il processore può accettare l'output di ADC come la temperatura. senza fare alcun calcolo.
Questo fa risparmiare memoria di programma e rende semplice l'applicazione.
Ora che sappiamo come impostare l'ADC per effettuare le dimensioni, vediamo come possiamo ottenere risultati dell' ADC tramite il Basic Stamp.
Come mostra la figura ADC si connette al Processore tramite solo tre pin: CS. CLK e DO.
CS serve per selezionare il chip, quando questo pin è a livello alto l' ADC è disattivato e ignora i suoi ingressi e si spegne l'output di dati rappresentato dal pin DO.
Mettendo a livello basso il pin CS si segnala alll'ADC di riattivarsi.    Una volta che l'ADC. e selezionaro (CS bassa) è pronto ad effettuare una misurazione e ad emettere il risultato attraverso il pin DO.
Il processore controlla questo processo attraverso il pin (CLK). CLK è inizialmente a livello basso (0) . Il Basic Stamp invia un breve impulso (1) per poi tornare a (0).  L'impulso fa si che l'ADC emetta sul pin DO un bit.   Il Basic Stamp preleva questo dato e lo accumula in una variabile sino a quando non accumula tutti gli 8 bits.
Ogni volta che il processore acquisisce un nuovo bit sposta il precedente bits per fare spazio.
In questo modo, acquisisce un po' alla volta fino a quando non ha tutte le otto bit allineati in una riga in una variabile di byte. Questo processo è chiamato comunicazione seriale sincrona che ADC; che è un metodo molto affidabile per un'ampia gamma di velocità, rendendolo uno strumento popolare per microcontrollori per comunicare con altri circuiti.

PIN DI COLLOQUIO
(attivi bassi)

IN

Chip Select
0 -> L’integrato è attivo.
1 -> L’integrato è disabilitato.

PIN ANALOGICI

Vin+

IN

Massimo valore positivo per il quale la combinazione di uscita è 1111 1111.

Vin

IN

Minimo valore negativo per il quale la combinazione di uscita è 0000 0000.

VREF

IN

Bisogna impostarvi il valore dell’escursione totale (in tensione) del segnale massimo in ingresso.

CLK

IN

Bisogna fornirvi il clock necessario al funzionamento. È possibile farlo con una rete oscillatoria o direttamente da microcontrollore.
Le uniche limitazioni sono:

fCK = 10 ÷ 400 kHz
δ
CK = 40 ÷ 60%

PIN DIGITALI

DO

OUT

Data Output
Uscita seriale.


 

La sua tensione di alimentazione e di 5V.   La tensione di riferimento è ottenuta derivando quella di alimentazione tramite un trimmer da 10kΏ.
L'integrato utilizzato possiede 8 pin, oltre ai pin d'ingresso (Vin+, Vin-, pin 2-3), quelli di alimentazione (Vcc, GND, pin 8-4),


Lettura tensione.BSX

Schema elettrico dell'interfaccia convertitore Analogico/Digitale
Elenco componenti
R1 10 kΏ trimmer
IC1 ADC0831 + zoccolo 4+4
SV1 strip 3 pin femmina
SV2 strip 5 pin femmina

convertitore_A-D-ADC0831- componenti prototipo.JPG convertitore_A-D-ADC0831- componenti definitivo.JPG
Componenti per la realizzazione del prototipo Componenti per la realizzazione della
versione definitiva della scheda

Circuito stampato e disposizione componenti

 

convertitore_A-D-ADC0831-stampato.JPG
Circuito stampato

Prototipo del convertitore su basetta millefori

convertitore_A-D-ADC0831-prototipo_1.JPG ad_converter.jpg convertitore_A-D-ADC0831-prototipo_2.JPG

Versione definitiva del convertitore

convertitore_A-D-ADC0831-montato_1.JPG convertitore_A-D-ADC0831-montato_2.JPG convertitore_A-D-ADC0831-montato_3.JPG

 

ADC0831 Convertitore analogico digitale
Piedinatura Datasheet Foto dell'integrato

 

Elenco revisioni:
25/05/2010 inserito descrizione funzionamento e programma di prova
25/01/2010 Emissione preliminare
Private Policy Cookie Policy