E normale che la v internal reference cambi a seconda che arduino (MEGA 2560) sia alimentato da batteria pin 5v o da usb, premetto che è una cinesata.
La sto utilizzando per poter leggere la tensione della batteria che alimenta arduino stesso , è una lipo 3.7 v , tensione che pare non infastidisca il buon funzionamento, riduco la tensione di circa 10 volte con un partitore e la metto nel pin A0, mi ha messo la pulce nell orecchio il fatto che la tensione misurata ai capi della batteria con il tester dava una notevole discrepanza tra la fase di carica e quella in scarica , in pratica quando arduino è collegato tramite usb
la batteria viene messa sotto carica con arduino connesso in usb.
Ti consiglio la lettura di questo documento
Ci sono molte cose da tenere conto per una migliore conversione dei dati ![]()
La tensione di alimentazione viene normalmente usata come persona di rifeimento. La tensione di riferimento é quella tensione che corrisponde al valore massimo dei ADC ovvero 1023.
Il ATmega2560 ha 2 tensioni di riferimento interne di 1,1V e 2,56V. Puoi usare un partitore resistivo per abbassare la tensione e usare una delle tensione di riferimento interne, ma questo consuma corrente della batteria.
L'alternativva é misurare la tensione dei 5V usando il secret voltmeter.
Ciao Uwe
Giusto come alternativa ... usare un riferimento di tensione esterno, ad esempio TL431A (oppure TL431B, piu preciso, qui il datasheet della serie ) settato per i classici 2.5V ...
... (anche il 432, cambiano i pin ma e' la stessa cosa)
Grazie a tutti la mia perplessità era piu che altro se fosse la qualità scarsa essendo un clone o è la normalità, dovendo misurare il livello di tensione di batteria posso convivere col problema che poi problema non è ma nei successivi mie progetti una variazione del riferimento ulteriormente abbassato di qualche mv può dare differenze notevoli
Be', ad esempio, dal datasheet del micro, si vede che il riferimento interno ad 1.1V puo andare da 1.0 ad 1.2 ... puo sembrare poco, ma siamo sul piu o meno 10% ... se ti serve precisione, meglio un riferimento esterno ![]()
Etemenanki:
Giusto come alternativa ... usare un riferimento di tensione esterno, ad esempio TL431A (oppure TL431B, piu preciso, qui il datasheet della serie ) settato per i classici 2.5V ...... (anche il 432, cambiano i pin ma e' la stessa cosa)
Tra l'altro su aliexpress te li tirano dietro, ma leggendo il datasheet non ci ho capito molto su come collegarli per un Vref più preciso ![]()
al momento devo leggere il valore della batteria per tagliare l'alimentazione prima che il livello sia critico e quindi direi che non disturba eccessivamente ma il prossimo progetto che ho in mente dovrei leggere un sensore di Rogowsky che da tensioni di pochi mV per ogni ampere,comunque debbo dire che la vref cambia solo cambiando il tipo di alimentazione ma vuoi tramite usb vuoi tramite pin 5 v rimane costante almeno per quanto posso rilevare con li mio tester.
E normale che la v internal reference cambi a seconda che arduino (MEGA 2560) sia alimentato da batteria pin 5v o da usb, premetto che è una cinesata.
È una cosa normale. Dipende dalla USB.
Ciao Uwe
Gianky00:
...ma leggendo il datasheet non ci ho capito molto su come collegarli per un Vref più preciso
Il sistema piu semplice di tutti e' usarlo come riferimento a 2.5V, collegto come in figura 20 del datasheet, anodo a massa e catodo insieme al ref ... (EDIT: si usa in pratica come uno zener variabile fra 0 e 2.5V ad alta precisione)
la resistenza la puoi mettere da 470 ohm per dargli circa 10mA, input e' il 5V, e VKA e' la tua tensione di riferimento da dare all'ingresso AREF del micro, mettendoci anche un condensatore fra AREF e massa, in genere 100n bastano ... ovviamente poi i circuiti con cui leggerai le tensioni in ingresso al micro dovranno essere dimensionati per un fondoscala di 2.5V come lettura massima (cioe' daa 0 a 2.5, non piu da 0 a 5), ma quello e' il minimo ... basta giocare con il valore delle resistenze dei partitori di tensione ...
Grazie mille Etemenanki!!!