zu meinem laufenden Projekt, das ich hier gestern detailliert vorgestellt habe, habe ich noch ein paar Fragen, die mir im Kopf rumschwirren:
möchte ich den Nano Clone (später durch einen Pro Mini 5V ersetzt) bei unterschreiten/erreichen einer bestimmten Akkuspannung in den Sleepmode versetzen. Ich habe gestern vergessen die Schaltung abzuschalten und der Akku hat sich dadurch entladen, zukünftig sollte ich so was verhindern, es wäre aber nicht schlecht wenn die Schaltung sich wieder aktiviert, sobald der Akku geladen wird. Die Akkuspannung wird über einen der Analogen Pins alle 2 Sekunden gemessen, daher meine Frage ob der Nano/Pro Mini über ein Event am Analogpin (Spannung >= 3,6V) wieder geweckt werden kann?
Nutze ich den LiPo-Charger von Adafruit und möchte den Ladevorgang und die Beendigung dessen im Nextion Display anzeigen lassen, daher war meine Überlegung wie folgt:
Der Charger hat 2 LEDs, einmal die rote CHG-LED und die grüne DONE-LED. An der CHG liegt beim Ladevorgang ca. 4,78V zw. Plus und GND an, wenn die DONE eine ähnlich hohe Spannung aufweist (kann ich erst messen, wenn der Akku geladen ist), kann ich beide "Signale" jeweils an Digitalpins auswerten? Sollte ich einen externen Pullup, bzw. den internen Pullup schalten?
Der Brownout Interrupt signalisisert zu geringe Versorgungsspannung. Damit könnte man dann den Arduino schlafen legen. Näheres siehe Datenblatt.
Wenn der Controller abgeschaltet werden soll, sollten alle Anschlüsse gegen Spannung von außen gesichert sein (Eingänge: Widerstand 1-10k einfügen), damit der Controller darüber nicht unkontrolliert hochfährt. Sind Signale bipolar, d.h. schalten zwischen zwei Spannungen hin und her, dann braucht man keinen Pullup.
DrDiettrich:
Der Brownout Interrupt signalisisert zu geringe Versorgungsspannung. Damit könnte man dann den Arduino schlafen legen. Näheres siehe Datenblatt.
Hi,
wie ich gelesen hab ist der Interrupt intern, bringt im meinem Fall leider nichts, da ich den Nano mit einem Step up/down an 5V versorge und der Booster zwischen 2,7-11,8V arbeitet. Den Akku wollte und sollte ich nicht unter 3,6V betreiben.
Wenn der Controller abgeschaltet werden soll, sollten alle Anschlüsse gegen Spannung von außen gesichert sein (Eingänge: Widerstand 1-10k einfügen), damit der Controller darüber nicht unkontrolliert hochfährt. Sind Signale bipolar, d.h. schalten zwischen zwei Spannungen hin und her, dann braucht man keinen Pullup.
Ich hab mir das wie folgt überlegt, korrigiert mich bitte, wenn das keinen Sinn ergibt:
Nano misst regelmäßig die Akku-Spannung an A7
Erreicht die Spannung <= 3,6V soll Sleepmode aktiviert werden
Wird Akku geladen (Pluspol des USB-Kabels an D3 und Ladeschaltung) Sleepmode deaktivieren
Sollte der Akku ausreichend geladen sein, kann der Nano im Standby bleiben und schaltet nur das Nextion Display in den Sleepmode, das funktioniert auch schon.
Als extra Funktion:
Bei Nutzung während der Ladung ändert sich die Batterieanzeige auf dem Nextion, sprich wenn D3 HIGH ist. Wenn der Ladevorgang beendet ist, erhält die Kathode der CHG-LED eine Sperrspannung von ~5V, diese Spannung versuche ich über D2 zu erkennen, damit sich das Symbol im Nextion wieder ändert. Hier muss es nicht unbedingt D2 sein, einen Interrupt benötige ich für diesen Teil der Funktion nicht und hat auch mit dem Sleepmode nicht viel nichts zu tun.
Ich muss mich jetzt noch mehr mit dem Sleepmode und den Feinheiten beschäftigen, vorher teste ich ob D2 und D3 die gewünschten Ergebnisse bringen, das ist aber jetzt noch Theorie.
Ich brauch zu dem Thema noch mal einen Rat, den Sleepmode hab ich erstmal hintenan gestellt und wollte die Ladeerkennung testen. Hat leider nicht funktioniert, da der 5V-Pin der Ladeschaltung im Batteriebetrieb 3,3V und die Kathode der CHG-LED 2,5-3,0V während der Ladung ausgeben und als HIGH erkannt, so weit ich weiß wird an den digitalen Pins des Nanos alles >= 2,5V als HIGH erkannt.
Also musste ein Spannungsteiler her und nach kurzer Suche habe ich über die Beschreibung (Abbildung 9), die Variante mit Widerstand und Zenerdiode gewählt:
Als Widerstand habe ich 1KOhm und als Zenerdiode 1N4728 (3.3V) gewählt, diese Konstellation hat funktioniert, der nächstgrößere Widerstand 4K7 war zu groß. Mit 1K gibt die Kathode ca. 2,2V während dem Ladevorgang aus und wird digital als LOW erkannt, ist der Akku voll kommen über 3V raus und wird digital auch als HIGH erkannt.
Soweit so gut, aber da ich mit der Materie nicht so bewandert bin, möchte ich wissen ob das so auf Dauer Ok ist?
Bevor ich das fest verlöte, möchte ich auf Nummer sicher gehen, besonders da ich R 1K und Diode für D3 (Ladeerkennung) übernehmen möchte.
michael_x:
Wenn ich das richtig verstanden habe, wird dann aber auch der Akku gleich wieder über 1k und Zenerdiode entladen?
So hab ich es allerdings noch nicht betrachtet... Ist was dran, ich beobachte mal den Verbrauch mit und ohne 1K+Zener.
Sobald die Chinesen meinen Pro Mini mal liefern, werde und muss ich die Platine neu planen, dann plane ich die so, dass ich die Spannung intern messen kann. Aber zumindest Gedanken kann ich mir ja vorher schon machen
Edit: Die erwähnten 3V waren am 5V-Eingang der Ladeschaltung, dort hängt zwar kein Verbraucher dran, aber ich hatte schon überlegt die Variante mit 1K+Zener an der Leitung ebenfalls einzubauen. Somit dann doch ein Verbraucher und Akku entlädt sich dadurch.
Gemeint war aktuell die Kathode der CHG-LED, aber die ist nur aktiv, solange die Schaltung am USB hängt, also geladen wird. Wenn der Verbrauch durch die Ladeerkennung zu hoch sein sollte, fällt die weg, ist eh nur für die Anzeige im Display und ein Luxusfeature.
Ich messe später mal den Stromverbrauch, ohne 1K und Zener hängt an der Leitung kein Verbraucher, also sollten die anliegenden 3V kein großes Problem sein. Aneinander vorbei geredet.
Die Konstruktion aus 1K und Zener verbraucht ca. 250-330 µA, steigt leicht je nach Ladezustand, trotzdem nur ein Bruchteil vom Gesamtverbrauch von ca. 100 mA. Kann ich aktuell mit leben
wapjoe:
Ok, es scheint zu funktionieren, aber kann der Spannungsstabilisator auf Dauer Schäden verursachen, sprich mehr kaputt machen als er hilft?
Du stellst die falschen Fragen. Wenn Du eine variable Spannung am Eingang von R1 messen möchtest, dann soll sie doch nicht stabilisiert werden, sondern Unterschiede sollen deutlich erkennbar bleiben. Deshalb nimmt man für Spannungsteiler zwei Widerstände, damit die Ausgangsspannung ein fester Bruchteil der Eingangsspannung bleibt.
Eventuell hast Du auch die Schaltung mit der Zenerdiode falsch verstanden. Mit R1 und Z vertauscht erscheint die Eingangsspannung um die Zenerspannung verringert am Ausgang.
Wenn Du eine variable Spannung am Eingang von R1 messen möchtest, dann soll sie doch nicht stabilisiert werden, sondern Unterschiede sollen deutlich erkennbar bleiben. Deshalb nimmt man für Spannungsteiler zwei Widerstände, damit die Ausgangsspannung ein fester Bruchteil der Eingangsspannung bleibt.
Eventuell hast Du auch die Schaltung mit der Zenerdiode falsch verstanden. Mit R1 und Z vertauscht erscheint die Eingangsspannung um die Zenerspannung verringert am Ausgang.
Ich will ja keine variable Spannung messen, also nur zum Teil, ich will ein digitales High oder Low erkennen, das Signal kommt im Form der Restspannung von der LED (LOW = ca. 3V/HIGH = ca. 5V). Alles > 2,5V wird beim Nano immer als High erkannt, daher wollte ich die Spannung reduzieren und das macht die Schaltung, Low und High werden jetzt sauber erkannt.
Ich kenne mich allerdings nicht aus, aber D1 und Z habe ich nach dem geposteten Schaltbild verdrahtet, D1 an Plus (Spannung von LED), Sperrrichtung der Diode (schwarzer Balken auf der Diode) an D1 auf GND uns Signal greife ich zwischen D1 und Z ab (an Digitalen Pin).
Auch wenn es in meinen Augen funktioniert, wäre ich um Verbesserungsvorschläge dankbar, will schließlich nicht mit dem Feuer (und Rauch) spielen...
Die Konstruktion aus 1K und Zener verbraucht ca. 250-330 µA, steigt leicht je nach Ladezustand
Wenn an + die Ladeschluss-Spannung von 4,2V anliegt, fallen davon ca. 1,2V am Widerstand ab und es fließt 1,2 mA. Sobald die Zenerspannung deutlich unterschritten ist, fließt kein Strom mehr, das Signal ist LOW (gerade so) und du musst nicht befürchten, dass diese Schaltung deinen Akku tiefentlädt. Ein echter Spannungsteiler würde in diesem Fall mehr Leckstrom ziehen. In diesem Zustand sollte der Arduino möglichst schlafen.
michael_x:
Wenn an + die Ladeschluss-Spannung von 4,2V anliegt, fallen davon ca. 1,2V am Widerstand ab und es fließt 1,2 mA. Sobald die Zenerspannung deutlich unterschritten ist, fließt kein Strom mehr, das Signal ist LOW und du musst nicht befürchten, dass diese Schaltung deinen Akku tiefentlädt. In diesem Zustand sollte der Arduino möglichst schlafen.
Danke, das hört sich schon mal gut an! Den Nano unter 3,6V schlafen zu legen, steht auf meiner Todo-Liste. Ich löte gleich mal die Schaltung zusammen, das Konstrukt aus 1K+Zener verwende ich zweimal:
Erkennung für "Akku fertig geladen", hier für wird die oben genannte LED angezapft und ist nur aktiv wenn geladen wird.
Erkennung für "Akku wird geladen", hier wird die Zuleitung von USB +5V -> Ladeschaltung angezapft, wenn keine Ladung anliegt, liegt ca. 3V an der Leitung an, durch 1K+Z sollte die Spannung soweit reduziert sein, dass ein LOW erkannt wird, sprich "wird nicht geladen", mit Ladespannung = HIGH.
Meine Erkenntnis für heute:
LEDs verzeihen keine Flüchtigkeitsfehler, nicht mal kleine... Kurzschluss durch kleine Lötzinnfäden, CHG-LED ist durchgebrannt, Platine zwar arbeitet noch, aber bringt mir so nichts. Fehler Korrigiert, mehrmals kontrolliert und Extraplatine eingesetzt, läuft ohne "Magicsound" und Qualm. :o
Zum Glück keine weiteren Schäden, aber die Dummheit und Unachtsamtkeit muss ich mir abgewöhnen!