Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

ADC PIC16F877 - Frequenza di campionamento

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] ADC PIC16F877 - Frequenza di campionamento

Messaggioda Foto Utentecip » 17 giu 2011, 18:01

Ciao,
avrei la necessità di campionare con un PIC16F877 i tre assi x,y e z di un accelerometro della Freescale (MM7361).
Mi chiedevo quale frequenza di campionamento è opportuno utilizzare per questo tipo di applicazione (vorrei fare una specie di joystick).

Se per esempio campionassi a 1 kHz sarebbe opportuno filtrare ogni asse con un filtro tipo Sallen-Key che tagli a 500 Hz oppure non importa ?

Sempre se decidessi di campionare a 1 kHz mi chiedevo come fare, nel senso che dal punto di vista dell'ADC del PIC io posso solo giocarmela un po' con Tacq (che dovrebbe dipendere dall'impedenza d'uscita dell'accelerometro e da VDD, a 25 °C) e un po' con Tad andando a sceglierlo opportunamente in modo che sia maggiore di 1.6 uS ma anche scegliendo 64TOSC con un quarzo a 4 MHz alla fine avrei un tempo totale nell'ordine dei 200 uS e quindi una frequenza di campionamento di 5 kHz, come faccio dunque a scendere più in basso ?
Probabilmente mi sto perdendo in un bicchiere d'acqua...

Ultima cosa, l'impedenza di uscita degli assi dell'accelerometro è di 32 kohm e dal datasheet del PIC vedo che la ZOut del sensore deve essere minore di 10 kohm, è opportuno un inseguitore di tensione su ogni asse ?
Avatar utente
Foto Utentecip
0 3
 
Messaggi: 40
Iscritto il: 16 ott 2006, 16:33

0
voti

[2] Re: ADC PIC16F877 - Frequenza di campionamento

Messaggioda Foto Utentelelerelele » 20 giu 2011, 15:23

non sono molto ferrato in materia ma provo a risponderti.

se il campionamento lo vuoi ottenere ad una freq di 1KHz, basta che lo avvii tramite software attraverso un timer della cadenza di 1KHz.

se campioni ad 1KHz, potrai leggere frequenze fino a 500Hz, perciò non dovrebbe esssere necessario il filtro analogico, (ma secondo me dipende tutto dal tipo di onda e da quanto può essere disturbata).

per l'impedenza, sarebbe opportuno che rientrasse nei parametri, essendo più alta, quando vai a campionare l'onda, potrebbe subire errori, ed essere letta con un valore inferiore al valore reale, se la sua freq fosse bassa mi azzarderei a dire che con un piccolo condensatore in parallelo, ovvieresti all'inconveniente della campionatura, ma probabilmente andresti a falsarne il valore istantaneo.

spero di essere stato di aiuto e di non avere sparato cose inesatte.
Avatar utente
Foto Utentelelerelele
4.899 3 7 9
Master
Master
 
Messaggi: 5509
Iscritto il: 8 giu 2011, 8:57
Località: Reggio Emilia

0
voti

[3] Re: ADC PIC16F877 - Frequenza di campionamento

Messaggioda Foto UtenteTardoFreak » 20 giu 2011, 15:30

A differenza dei PIC18, con i PIC16 è necessario aspettare un certo tempo di stabilizzazione della tensione da misurare con l' ADC prima di far partire la conversione. L' impedenza d' ingresso è bassa a causa della capacità che si trova all' ingresso dell' ADC.
In passato abbiamo già affrontato nel forum questo argomento e mi pare di ricordare anche un articolo di Paolino proprio sull' argomento.
Ti suggerisco di cercare prima l' articolo qui, sul blog EY di Paolino e poi di usare la funzione "cerca" per cercare le discussioni nel forum.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[4] Re: ADC PIC16F877 - Frequenza di campionamento

Messaggioda Foto Utentecip » 21 giu 2011, 12:56

Vi ringrazio per le risposte.
In realtà avevo già letto l'ottimo articolo di Paolino sugli ADC dei PIC ma probabilmente i miei problemi sono più che altro di comprensione del campionamento e di come realizzarlo su un PIC.

A questo punto, supponiamo che io carichi il Timer 0 in modo che vada in interrupt ogni 1 mS (1 kHz), nel momento in cui va in interrupt e si alza T0IF io facci partire l'ADC ponendo ADGO=1.

Se non ho capito male l'ADC ha bisogno di un tempo di acquisizione (Tacq) dell'ordine dei 10-20 uS per permettere a CHOLD di caricarsi del tutto. Sempre se non ho capito male l'impedenza di uscita del sensore + l'impedenza RiC dell'ADC + l'impedenza dello switch SS dell'ADC unite a CHOLD determinano queto tempo di acquisizione (ecco perché l'impedenza del sensore non può essere troppo alta).

Allora io questi 10-20uS li posso attendere sempre con Timer 0, caricandolo in modo che vada in interrupt ogni 20uS per esempio ?
Per farlo forse avrei bisogno di una variabile che tenga traccia del fatto che Timer0 sta lavorando o per la frequenza di campionameno oppure per il periodo di stabilizzazione della tensione ?
Avatar utente
Foto Utentecip
0 3
 
Messaggi: 40
Iscritto il: 16 ott 2006, 16:33

0
voti

[5] Re: ADC PIC16F877 - Frequenza di campionamento

Messaggioda Foto UtenteTardoFreak » 21 giu 2011, 13:12

Non complicarti la vita per niente. Usa un loop di ritardo che faccia passare i 20us e vivi felice. :ok:
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare


Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti