Pages: [1] 2   Go Down
Author Topic: Lettura livello batteria lipo  (Read 688 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 82
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve, dovrei utilizzare una batteria lipo su un robot rover che sto costruendo,
dovrei trovare un modo per leggere il livello della batteria da arduino in modo che quando arrivi ad un livello troppo basso emetta un suono, qualcuno saprebbe dirmi come posso fare?
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 333
Posts: 22925
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Puoi far leggere il livello di tensione dall'Arduino tramite un pin analogico.
Devi solo assicurarti che il livello massimo di tensione che arriva al pin sia 5V, altrimenti danneggi la scheda. Se così non fosse, usa un partitore per portare la tensione nell'intervallo 0-5V sostenibile dal pin.

Con analogRead(pin) fai poi la tua lettura e prendi le decisioni nel caso il valore scenda sotto ad una cera soglia.
Logged


Offline Offline
Jr. Member
**
Karma: 0
Posts: 82
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Leo72 grazie per la risposta, devo utilizzare un batteria lipo da 2S (7,4V) quindi devo utilizzare per forza un partitore di tensione, quali resistenze devo utilizzare per creare un partitore di tensione adatto al mio scopo?
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 82
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho trovato questo schema:

potrebbe andare bene?
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 333
Posts: 22925
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I valori delle R sono troppo elevati, i pin analogici dell'Arduino lavorano bene con segnali d'ingresso con un'impedenza max di 10K.

Inoltre ecco un link:
http://it.wikipedia.org/wiki/Partitore_di_tensione

Ti spiega cos'è e come si calcola il valore di Vout partendo da Vin e dai valori delle 2 R.
Prendi come Vin il valore max che può assumere la tensione della batteria a piena carica, mettiamo 8V? 9V? Non so, questo lo sai tu (avrai dei dati del produttore, oppure prendi un tester e misuri questo valore).
Mettiamo 9V.
Per avere 5V usa 8K2 per R1 e 10K per R2, ottieni quasi 5V in uscita.
Logged


Offline Offline
Jr. Member
**
Karma: 0
Posts: 82
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie mille ancora per la risposta e per il tuo aiuto,
le batterie lipo da 2S a carica piena arrivano ad una tensione di: 8,40V,
facendo una ricerca ho trovato sul forum inglese questo: http://forum.arduino.cc/index.php?topic=92074.0
in pratica c'è proprio quello che devo fare io, solo che nello schema riparta in quella discussione ci sono resistenze da 100K e da 50K
Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 333
Posts: 22925
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

L'uso di R dal valore elevato è dettato dal fatto che a resistenza di valore più elevato corrisponde un minor passaggio di corrente. Essendo un progetto a batterie, usare R di piccolo valore accorcia la vita delle batterie stesse, per poco che scorra è comunque uno scorrimento continuo, in quel partitore.

Allora diamo nel mezzo, e cioè usa R dal valore più elevato (100K e 82K) ma nel contempo tu a livello di codice fai una lettura composta da almeno 5/10 analogRead, tenendo solo l'ultimo valore. In questo modo dai modo al circuito interno di caricarsi correttamente e di avere una lettura attendibile.
Logged


BZ (I)
Offline Offline
Brattain Member
*****
Karma: 270
Posts: 21842
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il problema del partitore con valori resistivi troppo alti é che l' entrata analogica per brevi momenti carica un condensatore interno con la tensione da misurare. In quel momento la sorgente deve dare la corrente neccessaria senza abbasare la tensione Parliamo di una corrente nella grandezza di un centinaio di µA. Questo si ottiene se si usa un partitore con resistenze sotto i 10kOhm oppure usando dei valori piú alti mettendo un condensatore in tra entrata analogica e massa. Questo si puó fare perché la tensione da misurare (batteria non cambia velocemente).
Ricordo anche che la tensione della batteria sarebbe da misurare senza carico perché il carico fa abbassare al tensione ai contatti della batteria a causa delle perdite di tensione sulla resistenza interna.
Ciao Uwe
Logged

Selvazzano Dentro - Padova
Offline Offline
Edison Member
*
Karma: 45
Posts: 1496
"Chi sa fa, chi non sa insegna"
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Io userei R1 = 3k9 ed R2 = 5k1: in questo modo 8.4V corrispondono a 4.76V
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 82
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve, ringrazio tutti per la risposta, scusate se rispondo solo adesso ma sono stato molto occupato con il lavoro,
comunque mi è venuto in mente che sul mio vecchio quadricottero avevo montato la scheda KK 2.0 che ha un pin per la lettura del livello della batteria, la lettura era davvero molto precisa sarebbe bello capire in che modo era collegato al pin analogico,
la scheda in questione è questa:http://www.hobbyking.com/hobbyking/store/__24723__hobbyking_kk2_0_multi_rotor_lcd_flight_control_board.html
comunque adesso faccio qualche prova, anche se non sono ancora proprio convinto su quali resistenze devo utilizzare.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 82
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Facendo una ricerca con google della scheda sopra indicato ho trovato una foto ad alta risoluzione,
nella foto si vede benissimo il pin: B+, che sarebbe proprio l'entrata del polo positivo della batteria per effettuare il monitor, siccome non conosco i componenti smd mi sapete dire che resistenze sono quelle collegate a quel pin?

questa è la foto: (La freccia in foto non l'ho fatta io è un immagine trovata con google)
Logged

Disperso nel nauseante oceano della burocrazia
Offline Offline
Edison Member
*
Karma: 77
Posts: 2461
Io sono l'ultimo,
e parlero' al vuoto
in ascolto.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se il pin e' il +B, quello e' collegato con in serie la resistenza da 22K (223) e verso massa la resistenza da 2K2 (222)

Il codice dei valori delle resistenze SMD lo leggi in questo modo: i primi due numeri sono il valore, il terzo numero e' il numero degli zeri da aggiungerci, quindi come in quel caso, 223= 22 piu 3 zeri, cioe' 22000, o 22K ... e cosi via ... ovviamente, il numero 220 non sono "220 ohm", ma 22 (22 piu nessuno zero) ... a volte per i valori bassi si usa sostituire una delle cifre con una "R", che puo fare anche da virgola, quindi 220 e 22R sono entrambe da 22 ohm, mentre 2R2 e' da 2,2 ohm, e R22 e' da 0,22 ohm, e cosi via ...
Logged

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 134
Posts: 9654
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se il pin e' il +B, quello e' collegato con in serie la resistenza da 22K (223) e verso massa la resistenza da 2K2 (222)

Corretto, però questo partitore ha un rapporto 11:1, decisamente alto per una batteria 2S, sui quadri la batteria va da due a sei celle il che giustifica l'utilizzo di un partitore elevato.
Il partitore ottimale per una 2S, max 8.4V (4.2V per cella) con batteria a piena carica, è composto da due R da 20k, tensione massima in ingresso 10V, impedenza d'uscita equivalente vista dal ADC 10k perché è data dal parallelo delle due R (teorema di Thevenin).
Logged

Disperso nel nauseante oceano della burocrazia
Offline Offline
Edison Member
*
Karma: 77
Posts: 2461
Io sono l'ultimo,
e parlero' al vuoto
in ascolto.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Io mi sono limitato a leggere i valori ... per Arduino e' un po troppo, il rapporto, ma bisogna vedere su quella schedina che tipo di lettura fa e che riferimento danno all'ADC ... e quello dai componenti non riesco a capirlo smiley-wink
Logged

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 134
Posts: 9654
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Io mi sono limitato a leggere i valori ... per Arduino e' un po troppo, il rapporto,

E' nell'ottica che la batteria può essere da 25.2 V (6S) con Aref a 3.3V.
Logged

Pages: [1] 2   Go Up
Jump to: