Leggere tensione pin Analogico con il minimo consumo.

Ciao ragazzi , sto lavorando ad un progetto dove devo leggere una tensione una sola volta nel funzione setup() . Avendo in ingresso una tensione maggiore di 5V devo inserire nel mio circuito un partitore di tensione che attenui la tensione in modo da poterla leggere. Qui iniziano i problemi , ipotizzando che io suddivida una tensione di 9V utilizzando due resistore da 4.7K , in quanto due da 10K farebbero passare troppa poca corrente , sotto alle specifiche in corrente dei ADC , avrei un consumo statico non minore di 500uA. Una corrente molto elevata che porterebbe ad una scarica prematura della batteria. Avevo pensato di usare un Op Amp come buffer , ma anche lui consumerebbe "molta" corrente. Avete delle idee?
PS: Allego lo schema del regolatore di tensione che sto usando per alimentare un Atmega328p

Usi un partitore con resistenze di valore più elevato e, per evitare i problemi con l'impedenza richiesta dal ADC di Arduino, sull'ingresso metti un condensatore da 100nF che ti aiuta ad avere la corrente necessaria per il S/H :slight_smile:

Guglielmo

Grazie Guglielmo , fino a che valori posso spingermi?

Dato che devi fare una singola lettura all'avvio, se puoi attendere una manciata msec. per dare tempo al condensatore di raggiungere la piena carica, puoi anche arrivare e superare il MΩ (es. 2 da 470KΩ vanno bene).

Guglielmo

Grazie mille

Relativamento al tempo di attesa prima di leggere, per dare tempo al condensatore che aggiungi di caricarsi, ricorda che ..

download.png
... secondo me, se aspetti 2 RC sei già oltre il 80% della carica e non dovresti avere problemi a fare una lettura :wink:

Guglielmo

download.png