Pagina 1 di 1

Misurazioni analogiche

MessaggioInviato: 7 mar 2012, 23:07
da Galaxi93
In questo periodo sto programmando un PIC per un misuratore da pannello di un alimentatore. Nessun problema in particolare, ma volevo giusto dei chiarimenti su un fatto curioso (o almeno lo è per me).

Ho avuto la necessità di misurare una tensione che può arrivare a 50V, quindi l'ho "ridimensionata" con un partitore di tensione con un rapporto di circa 1:10. Quindi a 50V ho circa 5V in uscita. Il modulo ADC del PIC ha una risoluzione di 10bit e ciò significa che avendo un riferimento di tensione a 5V ogni "passo" è uguale a 5/1024 (0,004882V). Ma dato che la tensione misurata è un decimo di quella reale, devo moltiplicare quel valore per 10. Quindi avrei una risoluzione di 0,04882V. Inizialmente mi sono accontentato di questa risoluzione, ma poi vedendo che il valore oscillava sempre tra due o più valori vicini, ho deciso di fare una media tra 100 misurazioni. In questo modo ottengo risoluzioni maggiori. Ora ho una risoluzione di 0,01V e volendo mi posso spingere anche oltre! E il valore misurato corrisponde precisamente a quello reale.

Come è possibile ciò? Immagino poi di non aver fatto nulla di nuovo, quindi questa "tecnica" ha un nome?

Poi volevo fare una richiesta a Foto UtentePaolino: programmando ho avuto qualche difficoltà (ora quasi risolta) a scrivere un numero con la virgola su un LCD senza usare una variabile float (pesante per un povero 8bit). Sarebbe molto interessante un articolo su un uso diciamo avanzato di un LCD alfanumerico. Ovviamente tempo e voglia permettendo.

Re: Misurazioni analogiche

MessaggioInviato: 7 mar 2012, 23:56
da crestus
mmm ma spezzare il numero in cifre dovrebbe svincolare il tipo di origine dalla visualizzazione su LCD... :?
ti tocca però scrivere uno ad uno i numeri però.... :D

(ammetto la mia ignoranza su LCD però... :oops: )

Re: Misurazioni analogiche

MessaggioInviato: 8 mar 2012, 0:14
da DirtyDeeds
Galaxi93 ha scritto:quindi questa "tecnica" ha un nome?


Dithering ;-)

Re: Misurazioni analogiche

MessaggioInviato: 8 mar 2012, 9:27
da Paolino
Foto UtenteGalaxi93, ok ci penso. Vedrò di accontentarti :-)
Intanto: hai visto i due articoli che ho scritto sulla gestione degli LCD?

Ciao.

Paolo

Re: Misurazioni analogiche

MessaggioInviato: 8 mar 2012, 15:46
da Galaxi93
Paolino ha scritto:Vedrò di accontentarti


Grazie Foto UtentePaolino!

Paolino ha scritto:Intanto: hai visto i due articoli che ho scritto sulla gestione degli LCD?


Sisi li avevo già visti e sono cose che già conoscevo (anche grazie al tuo libro).

Nel mio caso sono riuscito a rappresentare le cifre in modo coretto: ho creato una funzione "stampa" che passandogli la riga, colonna, valore intero e posizione della virgola, mi stampa il numero in modo coretto (per es: stampa(1,1,1234,2); lui mi stampa alla prima riga, e prima colonna 12,34 ).
La funzione però è limitata a un numero di massimo 4 cifre. Se ti interessa posso pubblicare il codice.

Ciao,

Re: Misurazioni analogiche

MessaggioInviato: 14 mar 2012, 21:40
da PowerMosfet
Per il problema della virgola lo puoi risolvere elegantemente considerando internamente al micro la lettura in decine di mV e poi stampare sempre nella stessa posizione il punto. Basta che converti il numero in stringa e il . lo inserisci facilmente. Se hai un compilatore C dovresti avere anche questa funzione.

Per quanto riguarda la seconda domanda, quella della risoluzione, non so se è la stessa cosa del diethering ma è il concetto utilizzato in estremo anche nei convertitori sigma delta dove campionano a pochi bit (1) e poi fanno molte medie (spiegato brutalmente). Praticamente è dimostrabile che mediando è possibile aumentare il rapporto segnale rumore (che è un indice di quanto riesci a leggere con sicurezza) del segnale letto.