Sommario:

Tester di capacità della batteria Arduino fai da te - V2.0: 11 passaggi (con immagini)
Tester di capacità della batteria Arduino fai da te - V2.0: 11 passaggi (con immagini)

Video: Tester di capacità della batteria Arduino fai da te - V2.0: 11 passaggi (con immagini)

Video: Tester di capacità della batteria Arduino fai da te - V2.0: 11 passaggi (con immagini)
Video: Tester per pile con Arduino 2024, Dicembre
Anonim
Image
Image

Al giorno d'oggi sono ovunque false batterie al litio e NiMH vendute dalla pubblicità con capacità superiori alla loro reale capacità. Quindi è davvero difficile distinguere tra una batteria vera e una falsa. Allo stesso modo, è difficile conoscere la capacità conservata nelle batterie del laptop 18650 recuperate. Quindi, è necessario un dispositivo per misurare la reale capacità delle batterie.

Nell'anno 2016, ho scritto un Instructable su "Arduino Capacity Tester - V1.0" che era un dispositivo molto semplice e diretto. La versione precedente era basata sulla legge di Ohm. La batteria da testare viene scaricata tramite un resistore fisso, la durata di corrente e tempo viene misurata da Arduino e la capacità viene calcolata moltiplicando entrambe le letture (corrente di scarica e tempo).

Lo svantaggio della versione precedente era che durante il test, al diminuire della tensione della batteria, diminuisce anche la corrente, il che rende i calcoli complessi e imprecisi. Per ovviare a questo, ho realizzato il V2.0 che è progettato in modo tale che la corrente rimanga costante durante tutto il processo di scarica. Ho realizzato questo dispositivo ispirandomi al design originale di MyVanitar

Le caratteristiche principali di Capacity Tester V2.0 sono:

1. In grado di misurare la capacità della batteria AA / AAA NiMh / NiCd, 18650 Li-ion, Li-Polymer e Li FePO4. È adatto a quasi tutti i tipi di batterie con rating inferiore a 5V.

2. Gli utenti possono impostare la corrente di scarica utilizzando i pulsanti.

3. Interfaccia utente OLED

4. Il dispositivo può essere utilizzato come carico elettronico

Aggiornamento del 02.12.2019

Ora puoi ordinare il PCB e i componenti insieme in un kit da PCBWay

Dichiarazione di non responsabilità: si prega di notare che si sta lavorando con una batteria agli ioni di litio che è altamente esplosiva e pericolosa. Non posso essere ritenuto responsabile per eventuali perdite di proprietà, danni o perdite di vite umane in tal caso. Questo tutorial è stato scritto per coloro che hanno conoscenza della tecnologia agli ioni di litio ricaricabile. Si prega di non tentare questo se sei un principiante. Rimanga sicuro.

Forniture

Componenti utilizzati

Ora ordina PCB e tutti i componenti per costruire questo progetto in un kit da PCBWay

1. PCB: PCBWay

2. Arduino Nano: Amazon/Banggood

3. Opamp LM358: Amazon / Banggood

4. Display OLED da 0,96 : Amazon / Banggood

5. Resistenza in ceramica: Amazon / Banggood

6. Condensatore 100nF: Amazon/Banggood

7. Condensatore 220uF: Amazon / Banggood

8. Resistori 4.7K e 1M: Amazon / Banggood

9. Pulsante: Amazon/Banggood

10. Cappuccio con pulsanti: Aliexpress

11. Terminale a vite: Amazon / Banggood

12. Scheda prototipo: Amazon / Banggood

13. Stand-off PCB: Amazon / Banggood

14. Tubi termorestringenti: Amazon/ Banggood

15. Dissipatore di calore: Aliexpress

Strumenti utilizzati

1. Saldatore: Amazon / Banggood

2. Pinza amperometrica: Amazon / Banggood

3. Multimetro: Amazon/Banggood

4. Ventilatore ad aria calda: Amazon / Banggood

5. Tagliafili: Amazon / Banggood

6. Spelafili: Amazon / Banggood

Passaggio 1: diagramma schematico

Diagramma schematico
Diagramma schematico

L'intero schema è suddiviso nelle seguenti sezioni:

1. Circuito di alimentazione

2. Circuito di carico a corrente costante

3. Circuito di misurazione della tensione della batteria

4. Circuito dell'interfaccia utente

5. Circuito del cicalino

1. Circuito di alimentazione

Il circuito di alimentazione è costituito da un DC Jack (7-9V) e da due condensatori di filtro C1 e C2. L'uscita di potenza (Vin) è collegata al pin Vin di Arduino. Qui sto usando il regolatore di tensione di bordo Arduino per abbassare la tensione a 5V.

2. Circuito di carico a corrente costante

Il componente principale del circuito è l'amplificatore operazionale LM358 che contiene due amplificatori operazionali. Il segnale PWM dal pin D10 di Arduino viene filtrato da un filtro passa basso (R2 e C6) e inviato al secondo amplificatore operazionale. L'uscita del secondo amplificatore operazionale è collegata al primo amplificatore operazionale in configurazione inseguitore di tensione. L'alimentazione a LM358 è filtrata da un condensatore di disaccoppiamento C5.

Il primo amplificatore operazionale, R1 e Q1 costruiscono un circuito di carico a corrente costante. Quindi ora possiamo controllare la corrente attraverso il resistore di carico (R1) modificando la larghezza dell'impulso del segnale PWM.

3. Circuito di misurazione della tensione della batteria

La tensione della batteria viene misurata dal pin di ingresso analogico Arduino A0. Due condensatori C3 e C4 vengono utilizzati per filtrare i rumori provenienti dal circuito di carico a corrente costante che possono degradare le prestazioni di conversione dell'ADC.

4. Circuito dell'interfaccia utente

Il circuito dell'interfaccia utente è costituito da due pulsanti e un display OLED I2C da 0,96 . Il pulsante Su e Giù serve per aumentare o diminuire la larghezza dell'impulso PWM. R3 e R4 sono resistori di pull-up per il pulsante Su e Giù -pulsanti. C7 e C8 sono usati per antirimbalzare i pulsanti. Il terzo pulsante (RST) è usato per resettare Arduino.

5. Circuito del cicalino

Il circuito del cicalino viene utilizzato per avvisare l'inizio e la fine del test. Un cicalino da 5V è agganciato al pin digitale D9 di Arduino.

Passaggio 2: come funziona?

Come funziona?
Come funziona?
Come funziona?
Come funziona?
Come funziona?
Come funziona?

La teoria si basa sul confronto di tensione degli ingressi invertenti (pin-2) e non invertenti (pin-3) dell'OpAmp, configurato come amplificatore unitario. Quando si imposta la tensione applicata all'ingresso non invertente regolando il segnale PWM, l'uscita dell'amplificatore operazionale apre il gate del MOSFET. Quando il MOSFET si accende, la corrente scorre attraverso R1, crea una caduta di tensione, che fornisce un feedback negativo all'OpAmp. Controlla il MOSFET in modo tale che le tensioni ai suoi ingressi invertenti e non invertenti siano uguali. Quindi, la corrente attraverso il resistore di carico è proporzionale alla tensione all'ingresso non invertente dell'OpAmp.

Il segnale PWM da Arduino viene filtrato utilizzando un circuito di filtro passa basso (R2 e C1). Per testare il segnale PWM e le prestazioni del circuito del filtro, ho collegato il mio DSO ch-1 all'ingresso e ch-2 all'uscita del circuito del filtro. La forma d'onda in uscita è mostrata sopra.

Passaggio 3: misurazione della capacità

Misurazione della capacità
Misurazione della capacità

Qui la batteria viene scaricata alla sua tensione di soglia di basso livello (3,2 V).

Capacità della batteria (mAh) = Corrente (I) in mA x Tempo (T) in ore

Dall'equazione di cui sopra è chiaro che per calcolare la capacità della batteria (mAh), dobbiamo conoscere la corrente in mA e il tempo in ore. Il circuito progettato è un circuito di carico a corrente costante, quindi la corrente di scarica rimane costante per tutto il periodo di prova.

La corrente di scarica può essere regolata premendo i pulsanti Su e Giù. La durata del tempo viene misurata utilizzando un timer nel codice Arduino.

Passaggio 4: creare il circuito

Fare il circuito
Fare il circuito
Fare il circuito
Fare il circuito
Fare il circuito
Fare il circuito

Nei passaggi precedenti, ho spiegato la funzione di ciascuno dei componenti del circuito. Prima di saltare per creare la scheda finale, prova prima il circuito su una breadboard. Se il circuito funziona perfettamente sulla breadboard, passa a saldare i componenti sulla scheda prototipo.

Ho usato la scheda prototipo di 7 cm x 5 cm.

Montaggio del Nano: prima tagliare due file di pin dell'intestazione femmina con 15 pin ciascuno. Ho usato una pinza diagonale per tagliare le intestazioni. Quindi saldare i pin dell'intestazione. Assicurati che la distanza tra i due binari si adatti all'Arduino nano.

Montaggio del display OLED: tagliare un'intestazione femmina con 4 pin. Quindi saldalo come mostrato nell'immagine.

Montaggio dei terminali e dei componenti: saldare i restanti componenti come mostrato nelle immagini.

Cablaggio: Eseguire il cablaggio secondo lo schema. Ho usato fili colorati per realizzare il cablaggio in modo da poterli identificare facilmente.

Passaggio 5: display OLED

Display OLED
Display OLED
Display OLED
Display OLED

Per visualizzare la tensione della batteria, la corrente di scarica e la capacità, ho utilizzato un display OLED da 0,96 . Ha una risoluzione 128x64 e utilizza un bus I2C per comunicare con Arduino. Vengono utilizzati due pin SCL (A5), SDA (A4) in Arduino Uno per la comunicazione.

Sto usando la libreria Adafruit_SSD1306 per visualizzare i parametri.

Innanzitutto, devi scaricare Adafruit_SSD1306. Poi l'ha installato.

I collegamenti dovrebbero essere i seguenti

Arduino OLED

5V -VCC

GND GND

A4-- SDA

A5-- SCL

Passaggio 6: cicalino di avviso

Cicalino di avviso
Cicalino di avviso
Cicalino di avviso
Cicalino di avviso
Cicalino di avviso
Cicalino di avviso
Cicalino di avviso
Cicalino di avviso

Per fornire avvisi durante l'inizio e la competizione del test, viene utilizzato un cicalino piezoelettrico. Il cicalino ha due terminali, quello più lungo è positivo e quello più corto è negativo. L'adesivo sul nuovo cicalino ha anche il segno " + " per indicare il terminale positivo.

Poiché la scheda prototipo non ha spazio sufficiente per posizionare il cicalino, ho collegato il cicalino alla scheda principale utilizzando due fili. Per isolare la connessione nuda, ho usato un tubo termoretraibile.

I collegamenti dovrebbero essere i seguenti

Cicalino Arduino

D9 Terminale positivo

GND Terminale negativo

Passaggio 7: montaggio dei distanziatori

Montaggio dei distanziatori
Montaggio dei distanziatori
Montaggio dei distanziatori
Montaggio dei distanziatori

Dopo la saldatura e il cablaggio, montare i distanziatori ai 4 angoli. Fornirà spazio sufficiente ai giunti di saldatura e ai fili da terra.

Passaggio 8: progettazione PCB

Progettazione PCB
Progettazione PCB

Ho disegnato lo schema utilizzando il software online EasyEDA dopo essere passato al layout del PCB.

Tutti i componenti che hai aggiunto nello schema dovrebbero essere lì, impilati uno sopra l'altro, pronti per essere posizionati e instradati. Trascina i componenti afferrando i relativi pad. Quindi posizionalo all'interno del bordo rettangolare.

Disporre tutti i componenti in modo tale che la scheda occupi il minimo spazio. Più piccola è la dimensione della scheda, più economico sarà il costo di produzione del PCB. Sarà utile se questa scheda ha dei fori di montaggio su di essa in modo che possa essere montata in un contenitore.

Ora devi instradare. Il routing è la parte più divertente di questo intero processo. È come risolvere un puzzle! Utilizzando lo strumento di tracciamento dobbiamo collegare tutti i componenti. È possibile utilizzare sia il livello superiore che quello inferiore per evitare la sovrapposizione tra due tracce diverse e accorciare le tracce.

Puoi usare il livello Seta per aggiungere del testo alla lavagna. Inoltre, siamo in grado di inserire un file immagine, quindi aggiungo un'immagine del logo del mio sito Web da stampare sulla lavagna. Alla fine, usando lo strumento dell'area del rame, dobbiamo creare l'area di massa del PCB.

Puoi ordinarlo da PCBWay.

Iscriviti ora a PCBWay per ottenere un coupon da US $5. Ciò significa che il tuo primo ordine è gratuito, solo che devi pagare le spese di spedizione.

Quando effettui un ordine, riceverò una donazione del 10% da PCBWay per un contributo al mio lavoro. Il tuo piccolo aiuto potrebbe incoraggiarmi a fare un lavoro più fantastico in futuro. Grazie per la collaborazione.

Passaggio 9: assemblare il PCB

Assemblare il PCB
Assemblare il PCB
Assemblare il PCB
Assemblare il PCB

Per la saldatura, avrai bisogno di un buon saldatore, saldatura, pinza e un multimetro. È buona norma saldare i componenti in base alla loro altezza. Saldare prima i componenti di altezza minore.

È possibile seguire i seguenti passaggi per saldare i componenti:

1. Spingere le gambe del componente attraverso i loro fori e girare il PCB sul retro.

2. Tenere la punta del saldatore alla giunzione del pad e alla gamba del componente.

3. Inserire la saldatura nel giunto in modo che scorra tutt'intorno al cavo e copra il pad. Una volta che è fluito tutto intorno, allontanare la punta.

Passaggio 10: software e librerie

Software e librerie
Software e librerie
Software e librerie
Software e librerie
Software e librerie
Software e librerie
Software e librerie
Software e librerie

Innanzitutto, scarica il codice Arduino allegato. Quindi scarica le seguenti librerie e installale.

Biblioteche:

Scarica e installa le seguenti librerie:

1. JC_Button:

2. Adafruit_SSD1306:

Nel codice, devi cambiare le due cose seguenti.

1. Valori degli array correnti: questo può essere fatto collegando un multimetro in serie con la batteria. Premi il pulsante su e misura la corrente, i valori correnti sono gli elementi dell'array.

2. Vcc: si utilizza un multimetro per misurare la tensione sul pin Arduino 5V. Nel mio caso è 4.96V.

Aggiornato il 20.11.2019

È possibile modificare il valore Low_BAT_Level nel codice in base alla chimica della batteria. È meglio prendere un piccolo margine sulla tensione di interruzione indicata di seguito.

Ecco le velocità di scarica e le tensioni di interruzione per vari tipi di batterie agli ioni di litio:

1. Ossido di cobalto di litio: tensione di interruzione = 2,5 V a velocità di scarica 1C

2. Ossido di litio e manganese: tensione di interruzione = 2,5 V a velocità di scarica 1C

3. Fosfato di ferro e litio: tensione di interruzione = 2,5 V a velocità di scarica 1C

4. Titanato di litio: tensione di interruzione = 1,8 V a velocità di scarica 1C

5. Ossido di cobalto di manganese e nichel di litio: tensione di interruzione = 2,5 V a velocità di scarica 1C

6. Ossido di alluminio cobalto e nichel di litio: tensione di interruzione = 3,0 V a velocità di scarica 1C

Aggiornato il 01.04.2020

jcgrabo, ha suggerito alcune modifiche al design originale per migliorare la precisione. Le modifiche sono elencate di seguito:

1. Aggiungere un riferimento di precisione (LM385BLP-1.2) e collegarlo ad A1. Durante l'impostazione, leggere il suo valore che è noto essere 1.215 volt, quindi calcolare Vcc eliminando così la necessità di misurare Vcc.

2. Sostituire il resistore da 1 ohm 5% con un resistore di potenza da 1 ohm 1% riducendo così gli errori che dipendono dal valore della resistenza.

3. Anziché utilizzare un insieme fisso di valori PWM per ogni passaggio corrente (con incrementi di 5), creare una matrice di valori correnti desiderati che è stata utilizzata per calcolare i valori PWM necessari per ottenere tali valori correnti il più vicino possibile. Lo ha seguito calcolando i valori correnti effettivi che saranno raggiunti con i valori PWM calcolati.

Considerando le modifiche di cui sopra, ha rivisto il codice e lo ha condiviso nella sezione commenti. Il codice modificato è allegato di seguito.

Grazie mille jcgrabo per il tuo prezioso contributo al mio progetto. Spero che questo miglioramento sarà utile per molti più utenti.

Passaggio 11: conclusione

Conclusione
Conclusione
Conclusione
Conclusione
Conclusione
Conclusione
Conclusione
Conclusione

Per testare il circuito, ho prima caricato una buona batteria Samsung 18650 utilizzando il mio caricatore ISDT C4. Quindi collegare la batteria al terminale della batteria. Ora imposta la corrente in base alle tue esigenze e tieni premuto a lungo il pulsante "SU". Quindi dovresti sentire un segnale acustico e la procedura di test inizia. Durante il test, controllerai tutti i parametri sul display OLED. La batteria si scarica fino a quando la sua tensione raggiunge la soglia di basso livello (3,2 V). Il processo di test sarà terminato da due lunghi segnali acustici.

Nota: il progetto è ancora in fase di sviluppo. Puoi unirti a me per eventuali miglioramenti. Sollevare commenti in caso di errori o errori. Sto progettando un PCB per questo progetto. Resta connesso per ulteriori aggiornamenti sul progetto.

Spero che il mio tutorial sia utile. Se ti piace, non dimenticare di condividere:) Iscriviti per altri progetti fai-da-te. Grazie.

Consigliato: