Progetti

   

Sponsor

   

Servizi

   
Benvenuto, Ospite
Nome utente: Password: Ricordami
  • Pagina:
  • 1
  • 2
  • 3

ARGOMENTO: Configurazione modulo ADC

Configurazione modulo ADC 1 Mese 3 Settimane fa #1

  • MicheleO.
  • Avatar di MicheleO.
  • Offline
  • Junior Boarder
  • Messaggi: 28
  • Karma: 0
Buona sera a tutti,

vorrei utilizzare gli ingressi analogici per 'leggere' la tensione di carica di una batteria e la corrente che eroga (tramite sensore). Ottengo valori oscillanti: misurando la tensione di una batteria da 1,5 V (a vuoto) ottengo oscillazioni anche di +-75 mv.

Credo di sbagliare ad impostare il modulo ADC.
Sto utilizzando un PIC18f4550 con quarzo a 4 MHz. Le impostazioni sono:

ADCON1=0b00001100;
ADCON0=0b00000100;
ADCON2 = 0b10010100;
ADCON0=ADCON0+0b00000101;

in modo da avere un tempo di conversione leggermente superiore ai 0.8 μs ed un tempo di acquisizione maggiore di 2.25 μs.
Corretto? Sto sbagliando qualcosa?

Grazie mille,
buona serata.
Ultima modifica: 1 Mese 3 Settimane fa da MicheleO..
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Configurazione modulo ADC 1 Mese 2 Settimane fa #2

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Offline
  • Moderatore
  • Messaggi: 4644
  • Ringraziamenti ricevuti 552
  • Karma: 52
Salve Michele,

i tempi di conversione vengono a dipendere dall'impedenza della sorgente di tensione che stai misurando.
Per quantificare l'errore che vedi bisognerebbe vedere anche lo schema elettrico.

Dal lato software puoi usare LTlib. ;)

Saluti,

Mauro
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: MicheleO.

Configurazione modulo ADC 1 Mese 2 Settimane fa #3

  • MicheleO.
  • Avatar di MicheleO.
  • Offline
  • Junior Boarder
  • Messaggi: 28
  • Karma: 0
Grazie mille per la risposta,

avendo problemi con i collegamenti originali, attualmente la batteria è collegata direttamente al pin del PIC. Assumo quindi la resistenza Rs (pag. 263 del datasheet) zero.

Quindi, Tc vale circa 0.6μs ed il Tacq vale circa 2μs.
Il clock dell'ADC è quindi 4 volte il tempo Tosc; il tempo d'acquisizione può essere 2Tacq. Considerando una resistenza minima di filo, contatto ecc di 200 ohm dovrei già settare 4Tacq. Quindi imposto 4Tacq. Corretto fin qui?

Consultando la guida 'XC8 Step by Step', le librerie ed il datasheet del PIC non ho trovato errori nel settare il registro ADCON2.

Grazie mille.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Configurazione modulo ADC 1 Mese 2 Settimane fa #4

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Offline
  • Moderatore
  • Messaggi: 4644
  • Ringraziamenti ricevuti 552
  • Karma: 52
Salve Michele,

un collegamento diretto non e' in generale cosa buona.
Per vedere gli effetti di R della tua sorgente nonché la capacita' della stessa di caricare C interno al sample ed hold dell'ADC, puoi mettere al massimo il tempo di acquisizione e conversione dell'ADC, piuttosto che cercare un tempo breve (minimo) come stai facendo.

Se allungando i tempi di acquisizione/conversione, il valore differenza rispetto a 75mV e' quello che puoi imputare al fatto che hai collegato direttamente la tua sorgente all'ADC.

Altro errore grande, anche se ora non lo hai specificato i dettagli del tuo schema,viene da Vref usata per l'ADC.
Se usi Vcc come riferimento, vuol dire che la tua accuratezza e' legata a Vcc ovvero al tuo LDO, che tipicamente puo' avere una tolleranza del 5%. Vcc=5V vuol dire 0.25V per cui il valore del tuo quanto e' diverso da quello che pensi.
Tutte le caratteristiche dell'LDO si ripercuotono/riflettono poi sulla tua accuratezza.

Per migliorare questo dovresti usare Vref esterna.

Vref dovrebbe anche avere un buffer al fine di poter supportare i picchi di corrente tipici dei convertitori SAR.

Le operazioni matematiche che usi per il calcolo di V e il modo con cui le tronchi, si sommano anche come errore.

Analizzando oltre, ci sono altri errori...

Saluti,

Mauro
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Configurazione modulo ADC 1 Mese 2 Settimane fa #5

  • MicheleO.
  • Avatar di MicheleO.
  • Offline
  • Junior Boarder
  • Messaggi: 28
  • Karma: 0
Effettivamente ho utilizzato Vcc come Vref.
Ho impostato i tempi massimi ma ottengo ancora errori elevati.
Ho inserito una resistenza tra batteria e piedino analogico del PIC da 2000 ohm. Le oscillazioni del valore sono ancora 'importanti'. Non riesco a stabilizzare la lettura anche cambiando valore della resistenza.

Successivamente ho applicato sul piedino Vref una tensione di 5 V. Ho verificato con l'oscilloscopio l'assenza di ripple di tensione. Ho abilitato da software il nuovo riferimento. Sui registri ADRESL e ADRESH rivelo ancora continue oscillazioni.

Come operazioni matematiche faccio una media. Ma per valutare il valore 'puro' del convertitore, attualmente leggo un solo campione in modo da non fare praticamente operazioni matematiche.

Grazie mille.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
  • 3
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Powered by Forum Kunena
   
© LaurTec 2006-2015