Buon pomeriggio a tutti, ero in dubbio se postare la mia domanda su Generale o su Hardware..alla fine ho optato per Generale..
Avrei la necessità di misurare alcune tensioni "indicativamente" 0..10 V, dico indicativamente perché in realtà queste Tensioni vanno da -0,190 circa a 9,81.... valori che poi devo verificare con esattezza ma comunque lo "zero" in realtà è negativo, ed altre che invece "lavorano" al contrario.. vanno da 0,190 a -9,81..con la maggior parte dell'escursione in negativo.
Queste tensioni sono spillate da dei semplici "test point" di alcune apparecchiature ( quindi ho un Test Point per la massa ed un altro per ogni punto di misura che voglio effettuare ), solitamente uso un tester per verificare queste misure, ora vorrei usare Arduino Mega per farci poi delle registrazioni ed altre "cosette" .
Arduino Mega accetta 0..5V sui propri ingressi analogici( giusto ?), pensavo di utilizzare un semplice partitore di Tensione per portare nel range 0..5 V, ma poi quì ora mi sorgono un paio di dubbi..
1- come leggere le "tensioni negative";
2- da qualche parte avevo letto che Arduino usa come fondoscala il valore della sua tensione di alimentazione.. quindi non è detto che sia, per esempio, 9,81V ( come riportato ad inizio post).
Allego " uno schemino" per capire meglio, non ho disegnato i partitori di Tensione.
Avete qualche suggerimento?
Pensavo qualcosa tipo misurare la Tensione di Alimentazione ogni volta in qualche modo e poi usarla per "scalare" le misure dei vari ingressi.. ma per me è "America".. già troppo complicato
Per la prima domanda non so rispondere, ma per la seconda qualcosisa si, Arduino non usa la sua tensione di alimentazione come fondoscala ma come riferimento, più questa tensione è precisa più saranno precise anche le letture, volendo (ed è consigliabile) si può usare un valore di riferimento esterno, ad esempio io uso un MCP1525 che mi fornisce una tensione di riferimento precisa di 2,5V e ci misuro la tensione di una lipo a 7,4V e la tensione di un pannellino solare che arriva a vuoto a 21V. In ultimo calcola che Arduino fa una conversione A/D a 10bit il che comporta una risoluzione relativamente modesta se si devono misurare con precisione range estesi di tensioni.
Purtroppo NON puoi leggere tensioni negative e NON puoi dare in ingresso ad Arduno MEGA tensioni superiori ai +5V, quindi neanche su Aref.
Hai quindi una scala che va da 0 a 5V divisa in 1024 passi (0..1023, da cui, ogni passo ha una precisione di 4.8 mV).
Volendo, si può usare un Aref esterno di precisione (... ma sempre NON oltre i 5V) o quello interno da 1.1V (magari non sono esattamente 1.1V, ma sono piuttosto stabili).
In ogni caso varia 0 per 0V e 1023 per il valore di Aref ... qualsiasi "Aref < valore < 5V" ti darà sempre 1023 quindi, se metti un Aref a 2V hai 1023 a 2V, e a 3V sempre 1023 hai.
Valori superiori ai +5V possono essere facilmente riportati entro tale range con un partitore resistivo, mentre non puoi applicare direttamente valori negativi.
Altra soluzione è usare un ADC esterno, di maggiore precisione, collegato magari in I2C o SPI.
Ciao e grazie per le risposte, per quello che riguarda la tensione più alte di 5V pensavo, come dicevo sopra, di usare un partitore di corrente.
Mi resta il problema delle "tensioni negative" ed usare una tensione fissa come riferimento .....Gli ADC esterni "leggerebbero" tensioni negative ?
Altrimenti mi sa che per ora continuerò ad utilizzare il caro e vecchio multimetro allora
Molti modelli si ... ad esempio, LTC1856 ... oppure MAX1177 ... o anche ADS8517 ... e altri simili ... credo che per alcuni modelli ci siano anche delle breakout gia disponibili per Arduino ...