Arduino-Akku-Überentladungsschutz (O-DP)

Ich bekomme bald einen Arduino Uno und plane, einen 8-Zellen-NiMH-Akku (über die Strombuchse) zu betreiben. Unter der Annahme einer Grenzspannung von 0,9 V pro Zelle bedeutet dies eine Grenzspannung von 7,2 V. Wie würde ich es verdrahten, um die Spannung von <7,2 V zu erkennen und auszuschalten?

Würde dieser Schaltplan funktionieren?

#pseudo-code
if A0 < 3.65v then BUZZ
#buzz makes a square wave w/ PWM to PWM0

Manuelle Abschaltung, warnt Benutzer.

Ich denke, Sie benötigen zusätzliche Schaltkreise (neben dem Arduino Uno), um es ausschalten zu können. Der Uno selbst kann seine Stromversorgung nicht steuern.
"(über die Strombuchse)" Das ist nicht das, was Sie wollen.
Sie können die Eingangsspannung mit dem ATmega ADC erfassen (mit einem Widerstandsspannungsteiler, um die Spannung in den ADC-Bereich von 0-5 V von ATmega zu bringen) und dem Benutzer eine Rückmeldung geben, um das Ding auszuschalten (einen Summer ertönen lassen, einen Alarm auf einem LCD anzeigen). . Aber das ist nicht so cool...
@Ricardo Ich wollte es automatisch ausschalten lassen
Ich weiss. Ich weiß nur, dass der Uno allein es (an sich selbst) nicht schafft. Jemand, der sich besser auskennt, wird Ihre Frage beantworten. Die Antwort interessiert mich auch.
Das Einschalten des Summers fügt der Batterie nur MEHR Last hinzu, was nicht das ist, was Sie tun möchten, wenn sie bereits auf minimaler Spannung ist. Bleibt der menschliche Eingriff aus, beschleunigen Sie die Zerstörung der Batterie durch Tiefentladung. Wie Russell vorschlägt, sollte eine solche Warnung für eine höhere Spannung eingestellt werden. Dann möchten Sie bei "leer", dass die Last vollständig von der Batterie entfernt wird und nicht wieder aktiviert wird, bis die Batterie zumindest etwas aufgeladen ist.

Antworten (1)

Deine Lösung funktioniert im Prinzip.

Das Folgende funktioniert für jeden generischen uC (Mikrocontroller).
Sie könnten dies automatisieren, indem Sie einen High-Side-Schalter (MOSFET oder bipolar) bereitstellen, der mit einem kurzzeitigen Druckknopf eingeschaltet, vom uC gehalten und bei Bedarf vom uC ausgeschaltet wird. Es besteht dann keine Aussicht auf Pendeln oder Hysterese, wenn die Batteriespannung beim Entladen ansteigt, da sie im ausgeschalteten Zustand ausgeschaltet bleibt, bis der Benutzer sie einschaltet.

Größe R2 passend zum Ausgangsstrom.
MOSFETS können mit geringfügigen Änderungen für Q1 oder Q2 verwendet werden.
Wechseln Sie los! muss niedrig gehalten werden, bis der uC die Hold-On-Steuerung übernimmt.
Durch Hinzufügen eines Kondensators über SW1 kann die Schaltung für einen kurzen Zeitraum eingeschaltet bleiben, bis der Arduino übernimmt.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Für zusätzliche Punkte haben Sie einen Warnsummer mit einer etwas höheren Spannung, damit Sie vor der automatischen Abschaltung Maßnahmen ergreifen können (Hutspitze zu 46464).


Die Teilerwiderstände sollten so hoch sein, wie es die ADC-Spezifikation zulässt, um den verschwendeten Strom zu minimieren (hier nur etwa 0,5 mA, aber alles hilft).

0,9 V liegen weit unter der NimH-Entladekurve - insbesondere wenn der Strom <= C/5 ist, wie es normalerweise bei dieser Art von Anwendung der Fall ist. Ich würde näher an 1,0 V / Zelle verwenden. Höhere Abschaltspannungen ergeben eine wesentlich bessere Zellzykluslebensdauer bei nur geringer Verringerung der verfügbaren Batteriekapazität.

So verhindern Sie einen Brownout, wenn V_battery niedriger als das erforderliche Minimum ist Vout und ich halten Go! Knopf gedrückt?
@Martin Ich mache ähnlich wie oben in einem kommerziellen Produkt, verwende aber einen TLV431-Shunt-Regler als Einschaltdetektor. Wenn Vbat zu niedrig ist, drücken Sie GO! löst den TLV431 nicht aus. Derselbe IC wird auch verwendet, um die Schaltung einzuschalten und sie automatisch auszuschalten, wenn Vbattery zu niedrig ist. [TLV431 kostet in China etwa 2 Cent, was bei der Designentscheidung hilft :-). ][TLV431 ist eine 1,25-V-Version des üblichen 2,5-V-TL431 - sie haben einen weitaus niedrigeren minimalen Regelstrom]