Inhaltsverzeichnis:
- Schritt 1: Erforderliche Teile und Werkzeuge:
- Schritt 2: Schema und Funktion
- Schritt 3: Spannungs-, Strom- und Kapazitätsmessung
- Schritt 4: Auswahl des Lastwiderstands
- Schritt 5: Auswahl des MOSFET
- Schritt 6: OLED-Display
- Schritt 7: Summer für Warnung
- Schritt 8: Herstellung der Schaltung
- Schritt 9: Montage der Abstandshalter
- Schritt 10: Software
- Schritt 11: Exportieren von Seriendaten und Plotten auf Excel-Tabelle
- Schritt 12: Fazit
Video: DIY Arduino Batteriekapazitätstester - V1.0 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
[Video abspielen]Ich habe so viele alte Laptop-Batterien (18650) gerettet, um sie in meinen Solarprojekten wiederzuverwenden. Es ist sehr schwierig, die guten Zellen im Akkupack zu identifizieren. Früher in einem meiner Power Bank Instructable habe ich erzählt, wie man gute Zellen durch Messen ihrer Spannungen identifiziert, aber diese Methode ist überhaupt nicht zuverlässig. Also wollte ich wirklich eine Möglichkeit haben, die genaue Kapazität jeder Zelle anstelle ihrer Spannungen zu messen.
Update vom 30.10.2019
Sie können meine neue Version sehen
Vor einigen Wochen habe ich das Projekt mit den Grundlagen begonnen. Diese Version ist wirklich einfach und basiert auf dem Ohmschen Gesetz. Die Genauigkeit des Testers wird nicht 100% perfekt sein, aber er liefert vernünftige Ergebnisse, die verwendet werden können und mit anderen Akkus verglichen, so dass man gute Zellen in einem alten Akkupack leicht erkennen kann. Während meiner Arbeit habe ich festgestellt, dass es viele Dinge gibt, die verbessert werden können. In Zukunft werde ich versuchen, diese Dinge umzusetzen. Aber vorerst bin ich damit zufrieden. Ich hoffe, dass dieser kleine Tester nützlich ist, deshalb teile ich ihn mit euch allen. Hinweis: Bitte entsorgen Sie die schlechten Batterien ordnungsgemäß. Haftungsausschluss: Bitte beachten Sie, dass Sie mit Li. arbeiten -Ionen-Akku, der hochexplosiv und gefährlich ist. Für Sach-, Sach- oder Personenschäden übernehme ich keine Haftung. Dieses Tutorial wurde für diejenigen geschrieben, die Kenntnisse über die wiederaufladbare Lithium-Ionen-Technologie haben. Bitte versuchen Sie dies nicht, wenn Sie Anfänger sind. Bleib sicher.
Schritt 1: Erforderliche Teile und Werkzeuge:
Erforderliche Teile: 1. Arduino Nano (Gear Best / Banggood)2. 0,96 OLED-Display (Amazon / Banggood)3. MOSFET - IRLZ44 (Amazon)4. Widerstände (4 x 10K, 1/4W) (Amazon / Banggood)5. Leistungswiderstand (10R, 10W) (Amazon)6. Schraubklemmen (3 Nos) (Amazon / Banggood)7. Summer (Amazon / Banggood)8. Prototype Board (Amazon / Banggood)9. 18650 Batteriehalter (Amazon)
10. 18650-Akku (GearBest / Banggood)11. Abstandshalter (Amazon / Banggood) Erforderliches Werkzeug: 1. Drahtschneider / Abisolierer (Gear Best) 2. Lötkolben (Amazon / Banggood) Verwendetes Instrument: IMAX Balance Charger (Gearbest / Banggood)
Infrarot-Thermometerpistole (Amazon /Gearbest)
Schritt 2: Schema und Funktion
Schema:
Um den Schaltplan leicht zu verstehen, habe ich ihn auch auf eine Lochplatte gezeichnet. Die Positionen der Komponenten und der Verkabelung sind ähnlich wie bei meinem tatsächlichen Board. Einzige Ausnahmen sind der Summer und das OLED-Display. In der eigentlichen Platine sind sie drinnen, aber im Schaltplan liegen sie draußen.
Das Design ist sehr einfach und basiert auf Arduino Nano. Zur Anzeige der Batterieparameter dient ein OLED-Display. Für den Anschluss der Batterie und des Lastwiderstandes werden 3 Schraubklemmen verwendet. Ein Summer wird verwendet, um verschiedene Warnungen zu geben. Zwei Spannungsteilerschaltungen werden verwendet, um die Spannungen über dem Lastwiderstand zu überwachen. Die Funktion des MOSFET besteht darin, den Lastwiderstand mit der Batterie zu verbinden oder zu trennen.
Arbeiten:
Arduino überprüft den Batteriezustand, wenn die Batterie gut ist, geben Sie den Befehl zum Einschalten des MOSFET. Es lässt Strom vom Pluspol der Batterie durch den Widerstand fließen, und der MOSFET schließt dann den Weg zurück zum Minuspol. Dadurch wird der Akku über einen gewissen Zeitraum entladen. Arduino misst die Spannung am Lastwiderstand und dividiert dann durch den Widerstand, um den Entladestrom zu ermitteln. Dies wird mit der Zeit multipliziert, um den Wert in Milliamperestunde (Kapazität) zu erhalten.
Schritt 3: Spannungs-, Strom- und Kapazitätsmessung
Spannungsmessung
Wir müssen die Spannung am Lastwiderstand ermitteln. Die Spannungen werden unter Verwendung von zwei Spannungsteilerschaltungen gemessen. Es besteht aus zwei Widerständen mit Werten von jeweils 10k. Der Ausgang des Teilers ist mit den analogen Pins A0 und A1 von Arduino verbunden.
Der analoge Arduino-Pin kann Spannungen bis zu 5 V messen, in unserem Fall beträgt die maximale Spannung 4,2 V (vollständig geladen). Dann fragen Sie sich vielleicht, warum ich unnötigerweise zwei Trennwände verwende. Der Grund ist, dass mein zukünftiger Plan ist, denselben Tester für die Multi-Chemie-Batterie zu verwenden. So kann dieses Design leicht angepasst werden, um mein Ziel zu erreichen.
Strommessung:
Strom (I) = Spannung (V) - Spannungsabfall über dem MOSFET / Widerstand (R)
Hinweis: Ich gehe davon aus, dass der Spannungsabfall über dem MOSFET vernachlässigbar ist.
Hier ist V = Spannung am Lastwiderstand und R = 10 Ohm
Das erhaltene Ergebnis ist in Ampere. Multiplizieren Sie 1000, um es in Milliampere umzurechnen.
Also maximaler Entladestrom = 4,2 / 10 = 0,42A = 420mA
Kapazitätsmessung:
Gespeicherte Ladung (Q) = Strom (I) x Zeit (T).
Den Strom haben wir bereits berechnet, die einzige Unbekannte in der obigen Gleichung ist die Zeit. Die millis()-Funktion in Arduino kann verwendet werden, um die verstrichene Zeit zu messen.
Schritt 4: Auswahl des Lastwiderstands
Die Auswahl des Lastwiderstands hängt von der Menge des benötigten Entladestroms ab. Angenommen, Sie möchten die Batterie bei 500 mA entladen, dann ist der Widerstandswert
Widerstand (R) = Max. Batteriespannung / Entladestrom = 4,2 /0,5 = 8,4 Ohm
Der Widerstand muss etwas Leistung ableiten, daher spielt die Größe in diesem Fall eine Rolle.
Abgeführte Wärme = I^2 x R = 0,5^2 x 8,4 =2,1 Watt
Wenn Sie etwas Spielraum behalten, können Sie 5W wählen. Wenn Sie mehr Sicherheit wünschen, verwenden Sie 10W.
Ich habe 10 Ohm, 10W Widerstand anstelle von 8,4 Ohm verwendet, da er zu dieser Zeit in meinem Lager war.
Schritt 5: Auswahl des MOSFET
Hier wirkt MOSFET wie ein Schalter. Der digitale Ausgang vom Arduino-Pin D2 steuert den Schalter. Wenn dem Gate des MOSFET ein 5V-Signal (HIGH) zugeführt wird, kann Strom vom Pluspol der Batterie durch den Widerstand fließen, und der MOSFET schließt dann den Weg zurück zum Minuspol. Dadurch wird der Akku über einen gewissen Zeitraum entladen. Daher sollte der MOSFET so gewählt werden, dass er den maximalen Entladestrom ohne Überhitzung verarbeiten kann.
Ich habe einen n-Kanal-Leistungs-MOSFET-IRLZ44 mit Logikpegel verwendet. Das L zeigt, dass es sich um einen MOSFET mit Logikpegel handelt. Ein MOSFET mit Logikpegel bedeutet, dass er so ausgelegt ist, dass er sich vom Logikpegel eines Mikrocontrollers vollständig einschaltet. Der Standard-MOSFET (IRF-Serie usw.) ist für den Betrieb mit 10 V ausgelegt.
Wenn Sie einen MOSFET der IRF-Serie verwenden, wird er durch Anlegen von 5 V von Arduino nicht vollständig eingeschaltet. Ich meine, der MOSFET führt nicht den Nennstrom. Um diese MOSFETs einzuschalten, benötigen Sie eine zusätzliche Schaltung, um die Gate-Spannung zu erhöhen.
Daher empfehle ich die Verwendung eines MOSFET mit Logikpegel, nicht unbedingt IRLZ44. Sie können auch jeden anderen MOSFET verwenden.
Schritt 6: 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 128 x 64 und verwendet den I2C-Bus, um mit dem Arduino zu kommunizieren. Zwei Pins SCL (A5), SDA (A4) in Arduino Uno werden verwendet für Kommunikation.
Ich verwende die U8glib-Bibliothek, um die Parameter anzuzeigen. Zuerst müssen Sie die U8glib-Bibliothek herunterladen. Dann müssen Sie sie installieren.
Wenn Sie mit OLED-Display und Arduino beginnen möchten, klicken Sie hier
Die Anschlüsse sollten wie folgt sein
Arduino-OLED
5V -Vcc
GND GND
A4-- SDA
A5-- SCL
Schritt 7: Summer für Warnung
Um verschiedene Warnungen oder Warnungen bereitzustellen, wird ein Piezo-Summer verwendet. Die verschiedenen Warnungen sind
1. Batterie niedrige Spannung
2. Batterie Hochspannung
3. Keine Batterie
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 positiven Anschluss anzuzeigen.
Die Anschlüsse sollten wie folgt sein
Arduino Summer
D9 Pluspol
GND Minuspol
In der Arduino-Skizze habe ich eine separate Funktion beep() verwendet, die das PWM-Signal an den Summer sendet, auf eine kleine Verzögerung wartet, es dann ausschaltet und dann eine weitere kleine Verzögerung hat. Daher piept es einmal.
Schritt 8: Herstellung der Schaltung
In den vorherigen Schritten habe ich die Funktion jeder der Komponenten in der Schaltung erklärt. Bevor Sie die endgültige Platine herstellen, testen Sie zuerst die Schaltung auf einer Brotplatine. Wenn die Schaltung auf der Brotplatine perfekt funktioniert, dann bewegen Sie sich, um die Komponenten auf der Prototypplatine zu löten.
Ich habe eine 7cm x 5cm Prototypenplatine verwendet.
Montage des Nano: Zuerst zwei Reihen von Buchsenleisten mit jeweils 15 Stiften schneiden. Ich habe eine Diagonalzange verwendet, um die Header zu schneiden. Dann die Header-Pins löten. 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
Verkabelung: Machen Sie die Verkabelung gemäß Schaltplan. Ich habe farbige Drähte verwendet, um die Verkabelung herzustellen, damit ich sie leicht identifizieren kann.
Schritt 9: Montage der Abstandshalter
Montieren Sie nach dem Löten und Verdrahten die Abstandshalter an 4 Ecken. Sie bieten ausreichend Abstand zu den Lötstellen und Drähten vom Boden.
Schritt 10: Software
Die Software erledigt die folgenden Aufgaben
1. Spannungen messen
Nehmen Sie 100 ADC-Samples, addieren Sie sie und bilden Sie den Durchschnitt des Ergebnisses. Dies geschieht, um das Rauschen zu reduzieren.
2. Überprüfen Sie den Batteriezustand, um eine Warnung auszulösen oder den Entladezyklus zu starten
Benachrichtigungen
i) Niedrig-V!: Wenn die Batteriespannung unter dem niedrigsten Entladeniveau liegt (2,9 V für Li Ion)
ii) Hoch-V!: Wenn die Batteriespannung über dem voll aufgeladenen Zustand liegt
iii) Keine Batterie!: Wenn der Batteriehalter leer ist
Entladezyklus
Wenn die Batteriespannung innerhalb der Niederspannung (2,9 V) und Hochspannung (4,3 V) liegt, beginnt der Entladezyklus. Berechnen Sie Strom und Kapazität wie zuvor beschrieben.
3. Zeigen Sie die Parameter auf dem OLED an
4. Datenprotokollierung auf seriellem Monitor
Laden Sie den unten angehängten Arduino-Code herunter.
Schritt 11: Exportieren von Seriendaten und Plotten auf Excel-Tabelle
Um die Schaltung zu testen, habe ich zuerst einen guten Samsung 18650-Akku mit meinem IMAX-Ladegerät aufgeladen. Dann lege die Batterie in meinen neuen Tester. Um den gesamten Entlassungsprozess zu analysieren, exportiere ich die Seriendaten in eine Tabellenkalkulation. Dann habe ich die Entladekurve gezeichnet. Das Ergebnis ist wirklich toll. Ich habe dafür eine Software namens PLX-DAQ verwendet. Sie können es hier herunterladen.
In diesem Tutorial erfahren Sie, wie Sie PLX-DAQ verwenden. Es ist sehr einfach.
Hinweis: Es funktioniert nur unter Windows.
Schritt 12: Fazit
Nach einigen Tests komme ich zu dem Schluss, dass das Testergebnis recht vernünftig ist. Das Ergebnis ist 50 bis 70 mAh von einem Markenbatteriekapazitätstesterergebnis entfernt. Mit einer IR-Temperaturpistole habe ich auch den Temperaturanstieg im Lastwiderstand gemessen, der Maximalwert beträgt 51 Grad C.
Bei dieser Konstruktion ist der Entladestrom nicht konstant, sondern hängt von der Batteriespannung ab. Die aufgetragene Entladekurve ähnelt also nicht der Entladekurve im Datenblatt des Batterieherstellers. Es unterstützt nur eine einzelne Li-Ionen-Batterie.
In meiner zukünftigen Version werde ich also versuchen, die oben genannten Mängel in der V1.0 zu beheben.
Kredit: Ich möchte Adam Welch meinen Dank aussprechen, dessen Projekt auf YouTube mich dazu inspiriert hat, dieses Projekt zu starten. Sie können sich sein YouTube-Video ansehen.
Bitte schlagen Sie Verbesserungen vor. Geben Sie einen Kommentar ab, wenn Fehler oder Fehler auftreten.
Ich hoffe, mein Tutorial ist hilfreich. Wenn es Ihnen gefällt, vergessen Sie nicht zu teilen:)
Abonnieren Sie für weitere DIY-Projekte. Danke schön.
Empfohlen:
DIY So zeigen Sie die Zeit auf dem M5StickC ESP32 mit Visuino an - Einfach zu tun: 9 Schritte
DIY So zeigen Sie die Zeit auf dem M5StickC ESP32 mit Visuino an - Einfach zu machen: In diesem Tutorial lernen wir, wie Sie den ESP32 M5Stack StickC mit Arduino IDE und Visuino programmieren, um die Zeit auf dem LCD anzuzeigen
DIY, wie man eine cool aussehende Uhr macht – StickC – Einfach zu tun: 8 Schritte
DIY Wie man eine cool aussehende Uhr macht - StickC - Einfach zu machen: In diesem Tutorial lernen wir, wie man ESP32 M5Stack StickC mit Arduino IDE und Visuino programmiert, um eine Zeit auf dem LCD anzuzeigen und die Zeit auch mit den StickC-Tasten einzustellen
DIY Bluetooth Boombox Lautsprecher - HOW TO: 13 Schritte (mit Bildern)
DIY Bluetooth Boombox Lautsprecher | WIE MAN: Hallo! Vielen Dank, dass Sie sich dieses Projekt angesehen haben, dieses ist auf meiner Favoritenliste! Ich freue mich sehr, dieses tolle Projekt realisiert zu haben. Während des gesamten Projekts wurden viele neue Techniken verwendet, um die Gesamtqualität und das Finish der Spea
Rocola (DIY): 3 Schritte
Rocola (DIY): Rocola interactive que te allowirá reproducir tu música favorita en cualquier lugar que cuente con un toma corriente! Esta rocola cuenta con 3 canciones establecidas que puedes conservar o cambiar según tu gusto musical.La rocola cuenta con 3 boton
DIY Batterie Arduino und Raspberry Pi 3: 4 Schritte (mit Bildern)
DIY Batterie Arduino und Raspberry Pi 3: Hallo Also in diesem anweisbaren zeige ich Ihnen, wie ich meine Batterie für meinen Roboter mache. Ich brauche Strom für mein Arduino-Board (mich Auriga Makeblock Board basierend auf ATmega2560) und mein Himbeer-Pi (mit PS-Auge; Festplatte 2g …) Also brauche ich:_output 7.4v für die Ar