Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Schematische Darstellung
- Schritt 2: Wie funktioniert es?
- Schritt 3: Kapazitätsmessung
- Schritt 4: Herstellen der Schaltung
- Schritt 5: OLED-Display
- Schritt 6: Summer für Warnung
- Schritt 7: Montage der Abstandshalter
- Schritt 8: PCB-Design
- Schritt 9: Montieren Sie die Platine
- Schritt 10: Software & Bibliotheken
- Schritt 11: Fazit
Video: DIY Arduino Batteriekapazitätstester - V2.0 - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
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
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?
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
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
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
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
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
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
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
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
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
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:
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