Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Info su A/D PIC 16F876A

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] Info su A/D PIC 16F876A

Messaggioda Foto Utentetrillo » 12 giu 2006, 18:47

Salve,

sto lavorando con un PIC 16F876A.
Avrei bisogno di capire bene come funzionano le 5 porte A/D del suddetto PIC.
Qualcuno sa indicarmi dove posso reperire delle informazioni a riguardo, e sopratutto in Italiano?

Grazie
Avatar utente
Foto Utentetrillo
0 1 4
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 29 mag 2006, 21:54

0
voti

[2]

Messaggioda Foto UtentePaolino » 13 giu 2006, 7:53

Qualcuno sa indicarmi dove posso reperire delle informazioni a riguardo, e sopratutto in Italiano?

Non saprei dove puoi trovare le info che cerchi in italiano (l'inglese è molto importante in questo caso, in quanto la casa madre dei PIC - la Microchip - ha sede negli USA), però possiamo provarci.
Ci sono 5 canali A/D configurabili a 8 bit o a 10 bit. Puoi fare in modo che alcuni o tutti i canali siano attivi contemporaneamente (il che significa che se non usi tutti i canali, i PIN collegati ai canali "spenti" sono delegati ad altre funzioni come ad esempio gli I/O digitali).
Il convertitore è unico ed è in multiplex sui canali attivi.
È possibile associare un interrupt a fine conversione A/D.
Così, su due piedi, altro non mi sovviene. Prova a specificare cosa vuoi fare e vediamo se ti mancano altre info.
Ti suggerisco uno sforzo: leggi (o fatti leggere/tradurre) il datasheet che è la fonte primaria delle informazioni sul dispositivo.

Ciao.

Paolo.
Avatar utente
Foto UtentePaolino
32,0k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4184
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[3]

Messaggioda Foto Utentetrillo » 13 giu 2006, 13:51

Grazie Paolino,

voglio approfittare della tua disponibilità e provo a spiegarti di che cosa ho veramente bisogno. Adesso sto affrontando la problematica hardware, ma fer fare ciò ho bisogno di capire se poi il PIC riesce a gestire quanto segue.
Ho un segnale analogico che può variare da 0.5 a 4.5V, mi interessa che il PIC processi questo segnale a partire da 1V, e poi con soglie da 1.2, 1.4, 1.6, ecc.. ad intervalli di 0.2V fino ad i 4.5V. Ad ogni soglia poi il PIC dovrà eseguire un' istruzione diversa.
E' possibile fare questo?

Grazie ancora.
Avatar utente
Foto Utentetrillo
0 1 4
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 29 mag 2006, 21:54

0
voti

[4]

Messaggioda Foto UtentePaolino » 13 giu 2006, 15:08

Ho un segnale analogico che può variare da 0.5 a 4.5V, mi interessa che il PIC processi questo segnale a partire da 1V, e poi con soglie da 1.2, 1.4, 1.6, ecc.. ad intervalli di 0.2V fino ad i 4.5V. Ad ogni soglia poi il PIC dovrà eseguire un' istruzione diversa.
E' possibile fare questo?

Se per ipotesi considerassimo di configurare il convertitore A/D a 8 bit, la risoluzione prevista (considerando un fondo scala di 5V) è di:
5/256=0.01953 V = 19.53 mV per ogni valore analogico letto.
Se invece pensassimo di estendere la lettura a 10 bit, la risoluzione diventa:
5/1024=0.0048V = 4.88 mV per ogni valore analogico letto.

Sostanzialmente per ogni variazione di 19.53 mV (nel caso a 8 bit) o di 4.88 mV (nel caso a 10 bit) del tuo segnale in ingresso, il PIC riesce a discriminarne la differenza.

Facilmente si verifica che:
1) caso a 8 bit
1V corrisponde a 256/5 analogico, cioè 51.2 che diventa 51 in quanto è un valore intero;
1.2V corrisponde a 1.2*256/5 analogico, cioè 61.44 che diventa 61 in quanto è un valore intero;
4.5V corrisponde a 4.5*256/5 analogico, cioè 230.4 che diventa 230 in quanto è un valore intero;

2) caso a 10 bit
1V corrisponde a 1024/5 analogico, cioè 204.8 che diventa 204 in quanto è un valore intero;
1.2V corrisponde a 1.2*1024/5 analogico, cioè 245.76 che diventa 245 in quanto è un valore intero;
4.5V corrisponde a 4.5*1024/5 analogico, cioè 921.6 che diventa 921 in quanto è un valore intero.

Se il tuo segnale è molto rumoroso, puoi pensare di acquisirlo a 10 bit e di filtrarlo inanzitutto buttando via i due bit più bassi e poi considerando il dato come se fosse a 8 bit.
Spero sia tutto chiaro. :D
Ciao.

Paolo.
Avatar utente
Foto UtentePaolino
32,0k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4184
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[5]

Messaggioda Foto Utentetrillo » 13 giu 2006, 21:50

Grazie Paolo :lol:

tutto chiaro, se ho capito bene basta portare la mia tensione da analizzare in uno dei 5 ingressi A/D del PIC e poi lo gestisco con il software.
Mi pare di capire che non ho bisogno di una tensione di riferimento, il PIC utilizza quella di alimentazione +5V?
Ho un'altra cosina da chiederti:
Parlando sempre del 16F876A, il fatto che lo si faccia funzionare a 4 o a 20 MHz, cambia in affidabilità?
Facendo un discorso molto banale, mi viene da pensare che un'automobile che viaggia a 80 km/h sia più sicura di una che ne viaggia a 200!
Brevemente, quali sono i vantaggi che potrei avere a far funzionare il PIC a 4 MHz, a parte lo svantaggio di andare piano?

Ringrazio e faccio i complimenti per tutto il sito di Electroportal, veramente professionale! :wink:
Avatar utente
Foto Utentetrillo
0 1 4
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 29 mag 2006, 21:54

0
voti

[6]

Messaggioda Foto UtentePaolino » 14 giu 2006, 7:59

se ho capito bene basta portare la mia tensione da analizzare in uno dei 5 ingressi A/D del PIC e poi lo gestisco con il software.

Esatto: stai attento, però: ci sono delle modalità di configurazione. Non puoi abilitare una porta qualunque; ad esempio, puoi mandare il segnale su RA0 (unica porta) oppure abilitare tre porte analogiche RA0, RA1 e RA3 (il datasheet è illuminante in merito).
Mi pare di capire che non ho bisogno di una tensione di riferimento, il PIC utilizza quella di alimentazione +5V?

Alcune configurazioni permettono di avere una Vref esterna e minore o uguale a +5V. Il caso più semplice è quello di far usare al PIC la Vdd come Vref, come dici tu.
Parlando sempre del 16F876A, il fatto che lo si faccia funzionare a 4 o a 20 MHz, cambia in affidabilità?
Facendo un discorso molto banale, mi viene da pensare che un'automobile che viaggia a 80 km/h sia più sicura di una che ne viaggia a 200!
Brevemente, quali sono i vantaggi che potrei avere a far funzionare il PIC a 4 MHz, a parte lo svantaggio di andare piano?

Non perdi di affidabilità. Tieni presente che una istruzione del PIC (escluse quelle relative ai salti) viene eseguita in 1 ciclo macchina e che ogni ciclo macchina sono 4 colpi di clock. Se hai un clock a 4Mhz il PIC lavora a 1MIPS, a 20MHz lavora a 5MIPS. Altri vantaggi sono derivati dal fatto che il clock serve diverse periferiche, come ad esempio la porta seriale. Se vuoi utilizzare la porta seriale ad alta velocità è obbligatorio un quarzo veloce. Gli svantaggi credo siano sostanzialmente legati al consumo maggiore di potenza elettrica. I PIC della famiglia 18 hanno introdotto il clock-swapping che permette di lavorare a bassa frequenza anche per ridurre i consumi.
Ciao.

Paolo.
Avatar utente
Foto UtentePaolino
32,0k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4184
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[7]

Messaggioda Foto Utentetrillo » 14 giu 2006, 13:46

Grazie ancora, veramente tutto chiaro!

Ci risentiamo al prossimo problema! :wink:
Avatar utente
Foto Utentetrillo
0 1 4
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 29 mag 2006, 21:54


Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti