Diffondo alcune mie considerazioni già inviate a Pixy.
Il suggerimento di Pixy è corretto, ma io porterei l'offest a 2500 mV o a metà del range di linearità dell'operazionale o del campo dell' ADC.
Supponiamo che il convertitore ADC abbia un Vreference di 5 V e acquisca un segnale da 0 a 5 V:
a 0 v legge il numero 0
a 5 V legge il numero 1024 "1111111111" 10 bit a 1 in binario.
se gli applichiamo 2,5 V legge 512,
possiamo sottrarre al valore letto il numero 512:
a 5 V segna + 512
a 2,5 V segna 0
a 0 segna -512 V.
Il dilemma del progettista è:
1)applicare al convertitore AD la sola semionda positiva (si toglie l'offset di 2,5 V)
oppure
2) si applica l'intera sinusoide rispetto ai 2,5 V?
La soluzione 1 ottimizza la risoluzione del convertitore, ma non sono sicuro che l'operazionale lavori come operazionale/raddrizzatore ideale, poi suppone che il segnale in ingresso sia una sinusoide perfetta e che basti mezza sinusoide per caratterizzarlo.
La soluzione 2 perde mezza risoluzione, ma garantisce che gli operazionali funzionino sempre in linearità; è valida anche per una tensione continua di entrambe le polarità. Poi se si campiona almeno ogni millisecondo per 100 campioni, il microcontrollore potrebbe poi visualizzare la forma d'onda su un display grafico, realizzando la funzione di oscilloscopio, se no a cosa serve un controllore?, basta un multimetro in ac per misurare la tensione.
Volendo si potrebbe, sempre rispettando il centro scala a 2,5 V, amplificare con uno stadio accoppiato con condensatori in ingresso e uscita, ma si perde la capacità di misurare correnti in continua del sensore ad effetto hall; io sponsorizzo l'accoppiamento con un trasformatore amperometrico, che "guadagna in tensione" quello che si vuole senza mettere operazionali.
