Etan:
La cella di carico è dotata di uscita 4-20mA, a 0g corrispondono 4mA, a 100g ne corrispondono 20 mA.
Trattandosi di uno strumento di misura, leggo l'uscita del suddetto sensore su una resistenza di precisione (1%) da 250ohm.
Dato che la resistenza è al 1% è inutile usare un ADC con una risoluzione maggiore di 10 bit, 1024 step, in quanto l'errore introdotto dalla resistenza è 10 volte la risoluzione.
Esempio pratico, 20 mA sono 100 grammi, con 1024 count hai una risoluzione pari a 0.1 grammi, però la precisione della resistenza comporta che invece di leggere 100 grammi leggi un qualunque valore compreso tra 99 e 101 grammi.
Per fare la misura in modo preciso devi dare l'alimentazione a Avcc del 328 disaccoppiandolo dal Vcc generale del micro tramite una resistenza da 10-30 ohm e un condensatore da 100 nf, inoltre devi usare un riferimento di tensione molto preciso e stabile su Aref, va benissimo il riferimento a 1.1 V interno del 328.
Dato che su Arduino Avcc è in parallelo a Vcc a meno che non ti metti a modificare la scheda non puoi fare nulla per questa cosa, puoi solo usare il riferimento interno a 1.1V, con una resistenza da 55 ohm 1%, in modo da ottenere una stabilità e precisione nettamente migliori di quelle standard utilizzando come riferimento i 5V della alimentazione.
L'ideale è alimentare Arduino tramite una batteria o un alimentatore ben stabilizzato e pulito piuttosto che tramite la USB che ha valori di tensione mai esattamente a 5V ed è molto sporca.