Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Voltmetro usando ADC e PIC

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

0
voti

[1] Voltmetro usando ADC e PIC

Messaggioda Foto UtenteAndreaVez » 23 giu 2014, 10:34

Salve a tutti!
Durante l'anno scolastico avevamo fatto un voltmetro usando un adc (0804, da 8 bit), un PIC (16f628a) e un display LCD. Questo voltmetro misura la tensione continua da 0 a 5 positiva con sensibilità 20mV (o errore di misura, chiamatelo come volete). Un voltmetro cosi non è un granchè perciò ho pensato di modificarlo aggiungendo inanzitutto un partitore all'ingresso per poter ridurre le tensioni che voglio misurare da 0 a 50V, a 0-5V. Poi ho aggiunto due operazionali, un raddrizzatore per fare il modulo della tensione così riesco a misurare anche quella negativa che la segnala un altro operazionale configurato da comparatore. A parte il fatto che il raddrizzatore si usa di solito per la tensione alternata (quindi non sono sicuro se sia la scelta migliore per fare il modulo di una continua) e a parte le alimentazioni che vorrei mantenere uguali per entrambi gli operazionali con V-=0 e V+=5 e non so se vada bene al raddrizzatore, vorrei poter ridurre quell'errore di misura che con gli 8 bit dell'ADC, da 0 a 50 diventa 200mV che non va bene per tensioni per esempio da 0 a 5. Se il resto va bene, vorrei chiedervi se potete per favore trovare un modo per mantenere sti 200mV per le tensioni da 10V-50V, mentre per quelle da 0-10 ridurre al massimo a 40mV (penso che bisogna giocare sul partitore e mettere degli interruttori o pulsanti per la scelta).

PS: ho visto che ci sono soluzioni migliori su internet per fare il voltmetro ma usano integrati che non conosco, vorrei capire se c'è la possibilità di migliorare questa soluzione qua. Al massimo potrei ridurre tutto usando un PIC con ADC interno.

Ho messo solo il circuito che precede l'ADC perché il resto è troppo lungo da fare con fidocadj e non c'entra tanto con il problema.Il primo operazionale funziona da raddrizzatore (che ho trovato su internet) mentre il secondo da comparatore rispetto a massa.
R=10kOhm. Il trimmer è usato per avere una resistenza da 90kOhm sul partitore secondo i calcoli.

Avatar utente
Foto UtenteAndreaVez
0 3
 
Messaggi: 3
Iscritto il: 23 giu 2014, 9:08

1
voti

[2] Re: Voltmetro usando ADC e PIC

Messaggioda Foto Utentegill90 » 25 giu 2014, 2:35

Ciao,
allora, il circuito che hai postato necessita di un paio di considerazioni, in particolare il raddrizzatore di precisione:



Non capisco il segnificato della R in retroazione tra il partitore in ingresoo e l'ADC... perché l'hai messa? Per valutare quello che può o non può fare l'OPAMP, valuta l'escursione per tutti i possibili ingressi: vuoi che il tuo circuito funzioni solo per tensioni negative? In tal caso l'uscita dell'OPAMP assume un valore minimo di circa 0.6V (la caduta sul diodo D2): infatti D1 è spento e D2 è in conduzione. Quindi qui puoi utilizzare un'alimentazione singola, però la massima tensione sintetizzabile dall'OPAMP è 5V se l'OPAMP è rail-to-rail, ciò implica che la minima tensione che puoi misurare non sarà -5V ma circa 5-0.6V=4.4V circa, cioè 5V meno la caduta sul diodo. Rail-to-rail significa che la massima (e minima) tensione sintetizzabile sono molto prossime alle tensioni di alimentazione. Così un OPAMP suddetto se alimentato a +5V e 0V potrà portare l'uscita a massimo +5V e minimo 0V. Viceversa, un OPAMP non rail-to-rail sintetizzerà, ad esempio, al massimo +4.6V e al minimo 0.4V. Ovviamente per applicazioni del genere è d'obbligo un rail-to-rail, altrimenti i range di utilizzo si ridurranno drasticamente.
Per il comparatore, invece, suggerirei di invertire i due ingressi, così la presenza di una tensione negativa sarà segnalata da un'uscita alta, e da una configurazione a trigger di Schmitt per renderlo più resistente ai disturbi:



Detto ciò, per l'errore si può solo agire adattando al massimo il range in ingresso: se vuoi una modalità per il 0-10V e un'altra per il 10-50V basta solo metterci un commutatore:



Così avrai un partitore per il range 0-10V e un altro per i 0-50V. La risoluzione è dunque 40mV per il primo e 200mV per il secondo.
Avatar utente
Foto Utentegill90
4.146 3 7 12
G.Master EY
G.Master EY
 
Messaggi: 1134
Iscritto il: 1 set 2011, 16:18

0
voti

[3] Re: Voltmetro usando ADC e PIC

Messaggioda Foto Utenteedgar » 25 giu 2014, 9:35

AndreaVez ha scritto: Un voltmetro cosi non è un granchè ...

I problemi di fondo sono due: la poca risoluzione e l'impossibilità di misurare tensioni negative.
Personalmente non amo mettere circuiti attivi che poi possono derivare e pregiudicare la qualità della misura, preferisco avere qualcosa che sia già adeguato di suo.
Invece di cercare di adattare un PIC a fare qualcosa per cui ha i suoi limiti, ti suggerirei di usare un ICL7106/7107. Con un minimo di sforzo hai un DVM con alimentazione singola, fondo scala +/- 200 mV e risoluzione 4000 punti, quasi 12 bit. L'ADC interno è a doppia rampa ed è specificato per misurare 0 con 0V in ingresso grazie all'autozero. L'IC costa qualche euro
Avatar utente
Foto Utenteedgar
10,0k 4 5 8
Master
Master
 
Messaggi: 5229
Iscritto il: 15 set 2012, 22:59

0
voti

[4] Re: Voltmetro usando ADC e PIC

Messaggioda Foto UtenteAndreaVez » 25 giu 2014, 15:05

gill90 ha scritto:Non capisco il segnificato della R in retroazione tra il partitore in ingresoo e l'ADC... perché l'hai messa?


Grazie per la risposta. Effettivamente hai ragione, non serve questa resistenza. L'ho trovato su internet ma non mi sono accorto che era praticamente quello che avevo già analizzato senza di essa, un raddrizzatore che non fa passare le tensioni negative, solo quelle positive. A proposito dei rail to rail - non sapevo che ci fossero e ho già propvato a fare una simulazione e funzionano meglio. :-) Però ritornando al problema: io vorrei fare proprio il modulo della tensione continua quindi vorrei che le tensioni negative diventassero positive perché l'ADC non va per tensioni negative (almeno questo). Non so se questo sia possibile con gli operazionali. Ho visto altri esempi di raddrizzatori di precisione usando 2 operazionali però sono di nuovo progettati per la tensione alternata e ci sono sempre i diodi in mezzo che potrebbero provocare cadute (penso). Perciò chiedo se c'è un alternativa con operazionali altrimenti ho pensato all'integrato CD4066 che contiene degli switch dentro pilotati da segnali digitali. A sto punto potrei usare il comparatore per verificare se la tensione è negativa e dal PIC mandare il segnale a questi switch usati in modo da invertire i contatti. Però se ci fosse una soluzione per farlo con operazionali mi risparmierei un integrato (dato che uso già un operazionale per la comparazione) e parte del programma.

Grazie edgar. Darò un'occhiata a questi integrati.
Avatar utente
Foto UtenteAndreaVez
0 3
 
Messaggi: 3
Iscritto il: 23 giu 2014, 9:08

0
voti

[5] Re: Voltmetro usando ADC e PIC

Messaggioda Foto Utentegill90 » 25 giu 2014, 15:37

Il problema non sono le cadute, perché in uscita ti ritroveresti sempre la tensione in ingresso in modulo. Il punto sono le massime tensioni che puoi misurare: in questo caso non potrai misurare meno di -4.4V circa, cioè non puoi arrivare al -5V perché l'operazionale sautra e oltre non ci puoi andare con una singola alimentazione da +5V. Utilizzare un integrato a switch CMOS secondo me è un'idea migliore, anche perché non ti servono particolari applicazioni ed è sufficiente invertire il senso della commutazione. A dire la verità io non ne ho mai usati quindi nella pratica non so dirti quanto sono le cadute resistive interne e le tensioni massime... Guardando il datasheet direi che può fare al caso tuo, ha una resistenza in stato ON piuttosto alta ma siccome a valle ci metti l'ADC si ritroverà una resistenza di ingresso molto elevata e di conseguenza non avrà cadute apprezzabili. Prova con questo sistema (intanto per la fascia [-5V, 0V]), e se funziona puoi aumentare anche il range di tensioni in ingresso. Non aspettarti grandi cose però!
Avatar utente
Foto Utentegill90
4.146 3 7 12
G.Master EY
G.Master EY
 
Messaggi: 1134
Iscritto il: 1 set 2011, 16:18

0
voti

[6] Re: Voltmetro usando ADC e PIC

Messaggioda Foto UtentePietroBaima » 25 giu 2014, 15:48

Che io sappia non si mette un raddrizzatore per misurare tensioni positive e negative.
In genere si aggiunge un offset a metà tensione di riferimento e si acquisisce.
In questo modo le tensioni di ingresso sono sempre positive.
Questo metodo, naturalmente, ha il costo di un bit, ma ci sono tecniche per stabilire il segno della tensione di ingresso (con il micro è sufficiente vedere se la tensione digitalizzata è superiore o inferiore a 2^(n-1) dove n è il numero di bit del convertitore) e poi, se la tensione è positiva, annullare l'offset e se è negativa porlo a fondo scala.
Credo che con il micro non sarebbe troppo difficile da fare.
In genere la rete di ingresso consiste in soli elementi passivi con qualche MOS per il cambio del fondo scala (ma con il micro si potrebbe configurare una o più uscite in open-drain e utilizzare direttamente il MOS della logica di uscita).

Previo che se io dovessi davvero fare un voltmetro con un micro cercherei di ricondurmi ad una misura in frequenza, facendo, per esempio, un voltmetro a integrazione doppia.

Sarebbe bello avere il parere di Foto UtenteDirtyDeeds, se ha un attimo di tempo.

Ciao,
Pietro.
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12206
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[7] Re: Voltmetro usando ADC e PIC

Messaggioda Foto UtenteTardoFreak » 25 giu 2014, 16:14

Io taglierei la testa al toro ed utilizzerei un ad a 16 bit con interfaccia I2C come QUESTO.
Per fare un voltmetro va più che bene e costa pochissimo, meno di 2 euro.
Ovviamente con 0 centrale (senza raddrizzatore, a metà della tensione di ingresso come ha detto Foto UtentePietroBaima).
Si otterrebbero comunque 15 bit in positivo e 15 in negativo.
"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

[8] Re: Voltmetro usando ADC e PIC

Messaggioda Foto Utenteedgar » 25 giu 2014, 19:04

AndreaVez ha scritto:Grazie edgar. Darò un'occhiata a questi integrati.

Dimenticavo: non a caso una buona parte dei multimetri economici sul mercato usa come ADC il 7106
Avatar utente
Foto Utenteedgar
10,0k 4 5 8
Master
Master
 
Messaggi: 5229
Iscritto il: 15 set 2012, 22:59

3
voti

[9] Re: Voltmetro usando ADC e PIC

Messaggioda Foto UtenteDirtyDeeds » 25 giu 2014, 19:37

PietroBaima ha scritto:In genere si aggiunge un offset a metà tensione di riferimento e si acquisisce.


Sì, in genere si fa così. Per poterlo fare, però, la tensione di riferimento dell'ADC deve essere accessibile.

Ciò detto, volendo fare un voltmetro con caratteristiche decenti, opterei per una delle seguenti possibilità:

  1. Sostituzione dell'ADC con un delta-sigma bipolare: ce ne sono di buone caratteristiche a prezzo contenuto. Eventualmente il micro può essere utilizzato, oltre che per interfacciare l'ADC, anche per realizzare un sistema di auto zero nel caso non fosse presente nell'ADC. Visto che l'OP sta già usando un ADC esterno al micro, questa mi sembra la strada più percorribile.
  2. Se le specifiche non sono stringenti si può pensare di prendere un micro con ADC interno e poi metterci un po' di circuiti ausiliari per traslare il campo di misura e per migliorare un po' le caratteristiche.
  3. Realizzare, come suggerito da Foto UtentePietroBaima, un ADC discreto controllato dal micro. Farei questa scelta solo se volessi realizzare un voltmetro con caratteristiche superiori a quelle degli ADC comunemente trovabili in commercio, con tutte le difficoltà che questo comporta, però (e a quel punto cercherei di realizzare un ADC a integrazione multipla o un delta-sigma).

gill90 ha scritto:se vuoi una modalità per il 0-10V e un'altra per il 10-50V basta solo metterci un commutatore:




Questo non è, in generale, un buon modo per fare un partitore variabile: perché?
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[10] Re: Voltmetro usando ADC e PIC

Messaggioda Foto Utentegill90 » 25 giu 2014, 20:12

DirtyDeeds ha scritto:Questo non è, in generale, un buon modo per fare un partitore variabile: perché?

Azzardo che ho omesso un disaccoppiatore per rendere il partitore insensibile alla circuiteria a valle, giusto?
Avatar utente
Foto Utentegill90
4.146 3 7 12
G.Master EY
G.Master EY
 
Messaggi: 1134
Iscritto il: 1 set 2011, 16:18

Prossimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 113 ospiti