Inhaltsverzeichnis:

DIY Arduino Batteriekapazitätstester - V2.0 - Gunook
DIY Arduino Batteriekapazitätstester - V2.0 - Gunook

Video: DIY Arduino Batteriekapazitätstester - V2.0 - Gunook

Video: DIY Arduino Batteriekapazitätstester - V2.0 - Gunook
Video: Akku Tester - selbst gebaut ! 2024, November
Anonim
Image
Image

Heutzutage gibt es überall gefälschte Lithium- und NiMH-Akkus, die durch Werbung mit höheren Kapazitäten als ihrer tatsächlichen Kapazität verkauft werden. Es ist also wirklich schwierig, zwischen einem echten und einem gefälschten Akku zu unterscheiden. Ebenso ist es schwierig, die Kapazität der geborgenen 18650-Laptop-Akkus zu ermitteln. Daher ist ein Gerät erforderlich, um die wahre Kapazität der Batterien zu messen.

Im Jahr 2016 habe ich ein Instructable über "Arduino Capacity Tester - V1.0" geschrieben, das ein sehr unkompliziertes und einfaches Gerät war. Die frühere Version basierte auf dem Ohmschen Gesetz. Die zu testende Batterie wird über einen Festwiderstand entladen, Strom und Zeitdauer werden von Arduino gemessen und die Kapazität wird durch Multiplikation der beiden Messwerte (Entladestrom und Zeit) berechnet.

Der Nachteil der früheren Version war, dass während des Tests mit abnehmender Batteriespannung auch der Strom abnimmt, was die Berechnungen komplex und ungenau macht. Um dies zu überwinden, habe ich die V2.0 entwickelt, die so konzipiert ist, dass der Strom während des gesamten Entladevorgangs konstant bleibt. Ich habe dieses Gerät hergestellt, indem ich das ursprüngliche Design von MyVanitar inspiriert habe

Die Hauptmerkmale von Capacity Tester V2.0 sind:

1. Kann die Kapazität von AA / AAA NiMh / NiCd, 18650 Li-Ion, Li-Polymer und Li FePO4 Akkus messen. Es ist für fast jede Art von Batterie mit einer Nennspannung unter 5 V geeignet.

2. Benutzer können den Entladestrom mit den Drucktasten einstellen.

3. OLED-Benutzeroberfläche

4. Das Gerät kann als elektronische Last verwendet werden

Update vom 02.12.2019

Jetzt können Sie die Leiterplatte und die Komponenten zusammen in einem Kit von PCBWay bestellen

Haftungsausschluss: Bitte beachten Sie, dass Sie mit Li-Ion-Akkus arbeiten, die hochexplosiv und gefährlich sind. Für Sach-, Sach- oder Personenschäden übernehme ich keine Haftung. Dieses Tutorial wurde für diejenigen geschrieben, die Kenntnisse in der wiederaufladbaren Lithium-Ionen-Technologie haben. Bitte versuchen Sie dies nicht, wenn Sie ein Anfänger sind. Bleib sicher.

Lieferungen

Verwendete Komponenten

Bestellen Sie jetzt PCB und alle Komponenten, um dieses Projekt in einem Kit von PCBWay zu bauen

1. PCB: PCBWay

2. Arduino Nano: Amazon / Banggood

3. Opamp LM358: Amazon / Banggood

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

5. Keramikwiderstand: Amazon / Banggood

6. Kondensator 100nF: Amazon / Banggood

7. Kondensator 220uF: Amazon / Banggood

8. Widerstände 4.7K & 1M: Amazon / Banggood

9. Druckknopf: Amazon / Banggood

10. Drucktastenkappe: Aliexpress

11. Schraubklemme: Amazon / Banggood

12. Prototypenplatine: Amazon / Banggood

13. PCB-Abstand: Amazon / Banggood

14. Schrumpfschlauch: Amazon / Banggood

15. Kühlkörper: Aliexpress

Benutztes Werkzeug

1. Lötkolben: Amazon / Banggood

2. Stromzange: Amazon / Banggood

3. Multimeter: Amazon / Banggood

4. Heißluftgebläse: Amazon / Banggood

5. Drahtschneider: Amazon / Banggood

6. Abisolierzange: Amazon / Banggood

Schritt 1: Schematische Darstellung

Schematische Darstellung
Schematische Darstellung

Der gesamte Schaltplan ist in folgende Abschnitte unterteilt:

1. Stromversorgungskreis

2. Konstantstrom-Lastschaltung

3. Batteriespannungs-Messkreis

4. Benutzerschnittstellenschaltung

5. Summerschaltung

1. Stromversorgungskreis

Die Stromversorgungsschaltung besteht aus einer DC-Buchse (7-9V) und zwei Siebkondensatoren C1 und C2. Der Stromausgang (Vin) ist mit dem Arduino-Pin Vin verbunden. Hier verwende ich den Arduino-On-Board-Spannungsregler, um die Spannung auf 5V zu senken.

2. Konstantstrom-Lastschaltung

Die Kernkomponente der Schaltung ist der Operationsverstärker LM358, der zwei Operationsverstärker enthält. Das PWM-Signal vom Arduino-Pin D10 wird durch einen Tiefpassfilter (R2 und C6) gefiltert und dem zweiten Operationsverstärker zugeführt. Der Ausgang des zweiten Operationsverstärkers ist in einer Spannungsfolgerkonfiguration mit dem ersten Operationsverstärker verbunden. Die Stromversorgung des LM358 wird durch einen Entkopplungskondensator C5 gefiltert.

Der erste Operationsverstärker R1 und Q1 bilden eine Konstantstrom-Lastschaltung. Jetzt können wir den Strom durch den Lastwiderstand (R1) steuern, indem wir die Pulsbreite des PWM-Signals ändern.

3. Batteriespannungs-Messkreis

Die Batteriespannung wird über den analogen Arduino-Eingangspin A0 gemessen. Zwei Kondensatoren C3 und C4 werden verwendet, um das Rauschen herauszufiltern, das von der Konstantstrom-Lastschaltung kommt, die die ADC-Wandlungsleistung verschlechtern kann.

4. Benutzerschnittstellenschaltung

Die Benutzerschnittstellenschaltung besteht aus zwei Drucktasten und einem 0,96-Zoll-I2C-OLED-Display. Die Auf- und Ab-Taste dient zum Erhöhen oder Verringern der PWM-Impulsbreite. R3 und R4 sind Pull-Up-Widerstände für die Auf- und Ab-Taste -Tasten C7 und C8 dienen zum Entprellen der Taster, der dritte Taster (RST) dient zum Zurücksetzen des Arduino.

5. Summerschaltung

Die Summerschaltung wird verwendet, um den Beginn und das Ende des Tests anzuzeigen. Ein 5-V-Summer ist an den digitalen Pin D9 von Arduino angeschlossen.

Schritt 2: Wie funktioniert es?

Wie funktioniert es?
Wie funktioniert es?
Wie funktioniert es?
Wie funktioniert es?
Wie funktioniert es?
Wie funktioniert es?

Die Theorie basiert auf dem Spannungsvergleich der invertierenden (Pin-2) und der nicht-invertierenden (Pin-3) Eingänge des als Einheitsverstärker konfigurierten OpAmp. Wenn Sie die an den nicht invertierenden Eingang angelegte Spannung durch Anpassen des PWM-Signals einstellen, öffnet der Ausgang des Operationsverstärkers das Gate des MOSFET. Beim Einschalten des MOSFET fließt der Strom durch R1 und erzeugt einen Spannungsabfall, der eine negative Rückkopplung an den OpAmp liefert. Er steuert den MOSFET so an, dass die Spannungen an seinem invertierenden und nicht invertierenden Eingang gleich sind. Der Strom durch den Lastwiderstand ist also proportional zur Spannung am nicht invertierenden Eingang des OpAmp.

Das PWM-Signal vom Arduino wird mit einer Tiefpassfilterschaltung (R2 und C1) gefiltert. Um die Leistung des PWM-Signals und der Filterschaltung zu testen, habe ich mein DSO ch-1 am Eingang und ch-2 am Ausgang der Filterschaltung angeschlossen. Die Ausgangswellenform ist oben gezeigt.

Schritt 3: Kapazitätsmessung

Kapazitätsmessung
Kapazitätsmessung

Hier wird die Batterie bis zu ihrer niedrigen Schwellenspannung (3,2 V) entladen.

Batteriekapazität (mAh) = Strom (I) in mA x Zeit (T) in Stunden

Aus der obigen Gleichung ist klar, dass wir zur Berechnung der Batteriekapazität (mAh) den Strom in mA und die Zeit in Stunden kennen müssen. Die entworfene Schaltung ist eine Konstantstrom-Lastschaltung, sodass der Entladestrom während der gesamten Testzeit konstant bleibt.

Der Entladestrom kann durch Drücken der Auf- und Ab-Taste eingestellt werden. Die Zeitdauer wird mit einem Timer im Arduino-Code gemessen.

Schritt 4: Herstellen der Schaltung

Den Kreislauf machen
Den Kreislauf machen
Den Kreislauf machen
Den Kreislauf machen
Den Kreislauf machen
Den Kreislauf machen

In den vorherigen Schritten habe ich die Funktion jeder der Komponenten in der Schaltung erklärt. Bevor Sie die letzte Platine herstellen, testen Sie zuerst die Schaltung auf einem Steckbrett. Wenn die Schaltung auf dem Steckbrett einwandfrei funktioniert, löten Sie die Komponenten auf der Prototypenplatine.

Ich habe das 7cm x 5cm Prototypenbrett verwendet.

Montage des Nano: Schneiden Sie zuerst zwei Reihen Buchsenleistenstifte mit jeweils 15 Stiften ab. Ich benutzte eine Diagonalzange, um die Header zu schneiden. Löten Sie dann die Header-Pins. Stellen Sie sicher, dass der Abstand zwischen den beiden Schienen zum Arduino Nano passt.

OLED-Display montieren: Schneiden Sie eine Buchse mit 4 Pins. Dann löten Sie es wie im Bild gezeigt.

Montage der Klemmen und Komponenten: Löten Sie die restlichen Komponenten wie in den Bildern gezeigt.

Verdrahtung: Nehmen Sie die Verdrahtung gemäß dem Schaltplan vor. Ich habe farbige Drähte verwendet, um die Verkabelung herzustellen, damit ich sie leicht identifizieren kann.

Schritt 5: OLED-Display

OLED-Display
OLED-Display
OLED-Display
OLED-Display

Um die Batteriespannung, den Entladestrom und die Kapazität anzuzeigen, habe ich ein 0,96-Zoll-OLED-Display verwendet. Es hat eine Auflösung von 128x64 und verwendet einen I2C-Bus, um mit dem Arduino zu kommunizieren. Es werden zwei Pins SCL (A5), SDA (A4) in Arduino Uno verwendet Für die Kommunikation.

Ich verwende die Adafruit_SSD1306-Bibliothek, um die Parameter anzuzeigen.

Zuerst müssen Sie die Adafruit_SSD1306 herunterladen. Habe es dann installiert.

Die Anschlüsse sollten wie folgt sein

Arduino-OLED

5V -VCC

GND GND

A4-- SDA

A5-- SCL

Schritt 6: Summer für Warnung

Summer für Warnung
Summer für Warnung
Summer für Warnung
Summer für Warnung
Summer für Warnung
Summer für Warnung
Summer für Warnung
Summer für Warnung

Um während des Starts und des Wettbewerbs des Tests zu warnen, wird ein Piezo-Summer verwendet. Der Summer hat zwei Anschlüsse, der längere ist positiv und der kürzere ist negativ. Auf dem Aufkleber des neuen Summers ist auch ein " + " markiert, um den Pluspol anzuzeigen.

Da die Prototypenplatine nicht genug Platz hat, um den Summer zu platzieren, habe ich den Summer mit zwei Drähten an die Hauptplatine angeschlossen. Um die blanke Verbindung zu isolieren, habe ich Schrumpfschläuche verwendet.

Die Anschlüsse sollten wie folgt sein

Arduino Summer

D9 Pluspol

GND Minuspol

Schritt 7: Montage der Abstandshalter

Montage der Abstandshalter
Montage der Abstandshalter
Montage der Abstandshalter
Montage der Abstandshalter

Montieren Sie nach dem Löten und Verdrahten die Abstandshalter an 4 Ecken. Es bietet ausreichend Abstand zu den Lötstellen und Drähten vom Boden.

Schritt 8: PCB-Design

PCB-Design
PCB-Design

Ich habe den Schaltplan mit der Online-Software EasyEDA gezeichnet, nachdem ich zum PCB-Layout gewechselt habe.

Alle Komponenten, die Sie im Schaltplan hinzugefügt haben, sollten dort übereinander gestapelt sein und bereit sein, platziert und geroutet zu werden. Ziehen Sie die Komponenten, indem Sie an den Pads greifen. Platzieren Sie es dann innerhalb der rechteckigen Begrenzungslinie.

Ordnen Sie alle Komponenten so an, dass die Platine minimalen Platz einnimmt. Je kleiner die Leiterplattengröße, desto günstiger sind die Herstellungskosten der Leiterplatte. Es ist nützlich, wenn diese Platine einige Befestigungslöcher hat, damit sie in einem Gehäuse montiert werden kann.

Jetzt müssen Sie routen. Das Routing ist der unterhaltsamste Teil dieses gesamten Prozesses. Es ist, als würde man ein Puzzle lösen! Mit dem Tracking-Tool müssen wir alle Komponenten verbinden. Sie können sowohl die obere als auch die untere Ebene verwenden, um Überlappungen zwischen zwei verschiedenen Spuren zu vermeiden und die Spuren kürzer zu machen.

Sie können die Seidenebene verwenden, um dem Board Text hinzuzufügen. Außerdem können wir eine Bilddatei einfügen, sodass ich ein Bild meines Website-Logos hinzufüge, das auf die Tafel gedruckt werden soll. Am Ende müssen wir mit dem Kupferflächenwerkzeug die Massefläche der Leiterplatte erstellen.

Sie können es bei PCBWay bestellen.

Melden Sie sich jetzt bei PCBWay an, um einen Gutschein in Höhe von 5 US-Dollar zu erhalten. Das bedeutet, dass Ihre erste Bestellung kostenlos ist, nur Sie die Versandkosten bezahlen müssen.

Wenn Sie eine Bestellung aufgeben, erhalte ich 10% Spende von PCBWay für einen Beitrag zu meiner Arbeit. Ihre kleine Hilfe kann mich ermutigen, in Zukunft noch mehr großartige Arbeit zu leisten. Danke für Ihre Kooperation.

Schritt 9: Montieren Sie die Platine

Platine zusammenbauen
Platine zusammenbauen
Platine zusammenbauen
Platine zusammenbauen

Zum Löten benötigen Sie einen anständigen Lötkolben, Lötzinn, Nipper und ein Multimeter. Es ist eine gute Praxis, die Komponenten entsprechend ihrer Höhe zu löten. Löten Sie zuerst die Komponenten mit geringerer Höhe.

Sie können die folgenden Schritte ausführen, um die Komponenten zu verlöten:

1. Schieben Sie die Komponentenbeine durch ihre Löcher und drehen Sie die Platine auf die Rückseite.

2. Halten Sie die Spitze des Lötkolbens an die Verbindungsstelle zwischen Pad und Bein des Bauteils.

3. Führen Sie das Lot in die Verbindung ein, so dass es rund um die Leitung fließt und das Pad bedeckt. Sobald es rundherum geflossen ist, bewegen Sie die Spitze weg.

Schritt 10: Software & Bibliotheken

Software & Bibliotheken
Software & Bibliotheken
Software & Bibliotheken
Software & Bibliotheken
Software & Bibliotheken
Software & Bibliotheken
Software & Bibliotheken
Software & Bibliotheken

Laden Sie zuerst den beigefügten Arduino-Code herunter. Laden Sie dann die folgenden Bibliotheken herunter und installieren Sie sie.

Bibliotheken:

Laden Sie die folgenden Bibliotheken herunter und installieren Sie sie:

1. JC_Button:

2. Adafruit_SSD1306:

Im Code müssen Sie die folgenden zwei Dinge ändern.

1. Aktuelle Array-Werte: Dies kann durch Anschließen eines Multimeters in Reihe mit der Batterie erfolgen. Drücken Sie die Aufwärtstaste und messen Sie den Strom, die Stromwerte sind die Elemente des Arrays.

2. Vcc: Sie verwenden ein Multimeter, um die Spannung am Arduino 5V-Pin zu messen. In meinem Fall sind es 4,96V.

Aktualisiert am 20.11.2019

Sie können den Low_BAT_Level-Wert im Code gemäß der Batteriechemie ändern. Es ist besser, einen kleinen Spielraum über der unten angegebenen Abschaltspannung zu nehmen.

Hier sind die Entladeraten und Abschaltspannungen für verschiedene Lithium-Ionen-Akkus:

1. Lithium-Kobalt-Oxid: Abschaltspannung = 2,5 V bei 1C Entladerate

2. Lithium-Mangan-Oxid: Abschaltspannung = 2,5 V bei 1C Entladerate

3. Lithium-Eisen-Phosphat: Abschaltspannung = 2,5 V bei 1C Entladerate

4. Lithiumtitanat: Abschaltspannung = 1,8 V bei 1C Entladerate

5. Lithium-Nickel-Mangan-Kobalt-Oxid: Grenzspannung = 2,5 V bei 1C Entladerate

6. Lithium-Nickel-Kobalt-Aluminiumoxid: Abschaltspannung = 3,0 V bei 1C Entladerate

Aktualisiert am 01.04.2020

jcgrabo, schlug einige Änderungen am ursprünglichen Design vor, um die Präzision zu verbessern. Die Änderungen sind unten aufgeführt:

1. Fügen Sie eine Präzisionsreferenz (LM385BLP-1.2) hinzu und verbinden Sie sie mit A1. Lesen Sie während des Setups den Wert ab, der bekanntermaßen 1,215 Volt beträgt, und berechnen Sie dann Vcc, wodurch Vcc nicht mehr gemessen werden muss.

2. Ersetzen Sie den 1-Ohm-5%-Widerstand durch einen 1-Ohm-1%-Leistungswiderstand, um Fehler zu reduzieren, die vom Widerstandswert abhängen.

3. Anstatt einen festen Satz von PWM-Werten für jeden Stromschritt (in Schritten von 5) zu verwenden, erstellen Sie ein Array von gewünschten Stromwerten, die verwendet werden, um die erforderlichen PWM-Werte zu berechnen, um diese Stromwerte so genau wie möglich zu erreichen. Anschließend berechnete er die tatsächlichen Stromwerte, die mit den berechneten PWM-Werten erreicht werden.

Unter Berücksichtigung der oben genannten Änderungen überarbeitete er den Code und teilte ihn im Kommentarbereich mit. Der überarbeitete Code ist unten angehängt.

Vielen Dank an jcgrabo für Ihren wertvollen Beitrag zu meinem Projekt. Ich hoffe, dass diese Verbesserung für viele weitere Benutzer hilfreich sein wird.

Schritt 11: Fazit

Abschluss
Abschluss
Abschluss
Abschluss
Abschluss
Abschluss
Abschluss
Abschluss

Um die Schaltung zu testen, habe ich zuerst einen guten Samsung 18650 Akku mit meinem ISDT C4 Ladegerät geladen. Schließen Sie dann die Batterie an den Batteriepol an. Stellen Sie nun den Strom nach Ihren Wünschen ein und drücken Sie lange die „UP“-Taste. Dann sollten Sie einen Piepton hören und der Testvorgang beginnt. Während des Tests überwachen Sie alle Parameter auf dem OLED-Display. Die Batterie entlädt sich, bis ihre Spannung ihren niedrigen Schwellenwert (3,2 V) erreicht. Der Testvorgang wird durch zwei lange Pieptöne beendet.

Hinweis: Das Projekt befindet sich noch in der Entwicklungsphase. Sie können sich mir für Verbesserungen anschließen. Geben Sie Kommentare ab, wenn Fehler oder Fehler auftreten. Ich entwerfe eine Leiterplatte für dieses Projekt. Bleiben Sie in Verbindung, um weitere Updates zum Projekt zu erhalten.

Hoffe, mein Tutorial ist hilfreich. Wenn es dir gefällt, vergiss nicht zu teilen:) Abonniere für mehr DIY-Projekte. Danke schön.

Empfohlen: