PietroBaima ha scritto:Dovrei fare una lunga dissertazione (che ti risparmio) su quanto sia difficile ottenere tutta la risoluzione dell'ADC.
Il micro che usi tu ha una risoluzione di 12 bit, che su una scala di 5V significa che la risoluzione di 1LSB= 5V/2^12 cioè 1.2mV circa
Questo significa che per sfruttare bene tutti i 12bit disponibili, il rumore e l'errore di ingresso all'ADC deve essere trascurabile rispetto a 1.2mV. Quanto trascurabile? Questo dipende.
Se hai bisogno davvero di tutti i 12bit allora dovrai stare circa 40dB sotto in tensione, altrimenti se ti basta una risoluzione inferiore calcoli la risoluzione che ti serve, tiri fuori il numero di bit necessari e scarti gli ultimi LSB che non ti servono (se ti servissero, per esempio, solo 8 bit campionando a 12bit scarteresti i 4bit meno significativi).
1.2mV-40dB significa che l'errore che fai deve essere non superiore a 12 uV.
Ottenere una precisione del genere non è banale.
Il primo fattore che devi considerare è che se inserisci una Z di ingresso in serie all'ADC questa finirà per realizzare un partitore di tensione con la Z di ingresso del microcontrollore.
Se la Z di ingresso del micro fosse stabile potresti considerarla e correggerla dopo, ma il problema è che, leggendo il data sheet, troverai dei valori compresi fra un minimo ed un massimo, che ti daranno una incertezza non compensabile.
Per questo è necessario inserire in serie all'ingresso una impedenza che, anche nel caso peggiore, generi un contributo trascurabile.
Per questo in genere si inserisce un OPAMP con una bassa Z di uscita oppure, in molti casi, un condensatore in parallelo all'ingresso che, nella banda di utilizzo, abbassi la Z complessiva.
A questo punto però, come capita sempre, inserendo qualcosa si inseriscono anche altri problemi.
Uno di questi è la non idealità dell'OPAMP.
E' vero che gli ingressi di un OPAMP non assorbono corrente? No.
Assorbono una corrente piccola, ma non nulla.
Se voglio usare tutti i 12 bit (cioè, ricordo, l'errore deve stare dalle parti di 12uV) non posso più trascurare questa corrente, detta "corrente di bias".
Ti risparmio i calcoli, ma ti riporto i risultati. Per minimizzare l'effetto della corrente di bias sull'uscita di un OPAMP le Z ai suoi ingressi devono essere più basse possibili e più uguali possibili fra di loro.
Sul morsetto invertente dobbiamo inserire una resistenza per realizzare il clipper, e quella non la possiamo proprio evitare, per cui, per minimizzare l'effetto sull'uscita, siamo costretti a metterne una uguale anche dall'altra parte.
Gli ingressi a FET di cui parlavo servono poi per rendere le correnti di bias piccole, che male non fa di certo.
Già con 12 bit queste considerazioni diventano importanti.
Poi ci sono considerazioni sul PCB, sulla EMC e molto altro.
Dove lavoro ci sono dei progettisti analogici che si occupano solo di elettronica front-end.