Hallo, der Attiny84 ist im DeepSleep und wacht per Interrupt auf, wenn einer von 2 GND Eingängen, von denen jeder mit PullUp auf 5V gezogen ist, geöffnet wird. Da standardmässig die beiden Eingänge an GND geschlossen sind verbraucht die Schaltung im DeepSleep 275µA. Nur zu Testzwecken um Fehler in der Schaltung auszuschliessen: Ist nur ein Eingang offen sind es 137µA und wenn beide offen sind es nur noch 0.1µA - also Schaltung ist ok. Obwohl die 275µA jetzt kein Problem darstellen wüsste ich gerne, ob ich den Verbrauch noch reduzieren kann ohne das Design zu ändern. Erläuterung: die beiden Eingänge sind Handy-Magnetladekabel und wenn eines davon von der Schaltungsbuchse abgesteckt wird, schaltet die Schaltung je nach offenem Eingang in den Fast- oder Slowcharge Modus. Danke für alle Antworten
Matthias G. schrieb: > Obwohl die 275µA jetzt kein Problem darstellen wüsste ich gerne, ob ich > den Verbrauch noch reduzieren kann ohne das Design zu ändern. Logisch: Größere Pullups verwenden. Offensichtlich fließt ja der größte Teil des Strombedarfs durch eben diese.
Ob S. schrieb: > Logisch: Größere Pullups verwenden. Und HF mit Kondensatoren blockieren. Noch besser: Wechsler-Kontakte ohne Pull-Widerstand verwenden.
Ob S. schrieb: > Logisch: Größere Pullups verwenden. Offensichtlich fließt ja der größte > Teil des Strombedarfs durch eben diese. >> Die PullUps ziehen doch nur den Eingang auf 5V der offen ist? Und wenn offen sind es nur noch 137µA bzw. 0.1µA
Monk schrieb: > Und HF mit Kondensatoren blockieren. Nicht unbedingt nötig. Kommt auf die Länge des Leiters zu den Kontakten an. Wenn die kurz genug ist und die Pullups groß genug sind, reichen die parasitären Kapazitäten bereits aus, um das in hinreichendem Maße leisten zu können. Problem ist eher: man kann die Pullups nicht beliebig groß machen, weil ab so 1..10MOhm die parasitären Leitfähigkeiten Richtung GND immer stärker wirksam werden und mit den Pullups einen Spannungsteiler bilden, der die resultierende Spannung am Eingang immer näher an die Umschaltschwelle zieht. Oberhalb 10M Pullup ist deshalb kaum noch praktikabel, selbst wenn die Platine sorgfältig gefertigt wurde und nur in einer "home-Umgebung" mit einigermaßen stabilem Klima eingesetzt wird.
Das sieht doch so aus als ob da einfach interne pullup-Widerstände an den kurzgeschlossenen Eingängen Strom ziehen. Die kann man per SW abschalten und durch was hochohmiges (z.B. 1MOhm) ersetzen.
Matthias G. schrieb: > Die PullUps ziehen doch nur den Eingang auf 5V der offen ist? Denkst du, die Widerstände verschwinden, wenn der Eingang auf GND gezogen wird? Das ist nicht der Fall.
Danke für alle Antworten. Mit jeweils 1MOhm Pullup bin ich bei 10,7µA. Es gibt noch viel zu lernen ;-)
Alternativ kannst du einen Timer benutzen, um den Mikrocontroller in regelmäßigen Intervallen aufzuwecken. Du kannst dann in den kurzen wachen Phasen die Pull-Ups einschalten, die Eingänge abfragen, dann die Pull-Ups wieder aus schalten.
> ... regelmäßigen Intervallen aufzuwecken ...
Womit sich unter 8 uA erreichen lassen sollte - aber, wie der Schwabe
sagt: "des macht de Kohl ned fett", verglichen mit den 10.7 uA.
S. L. schrieb: > Womit sich unter 8 uA erreichen lassen sollte - aber, wie der Schwabe > sagt: "des macht de Kohl ned fett", verglichen mit den 10.7 uA. Die 275uA machen den Kohl auch nicht fett - die Frage nach Verbrauchsteduzierung war nur interessehalber. Wegen des Cents Stromkosten im Jahr schraube ich das Gehäuse jetzt nicht mehr auf ;-)
Matthias G. schrieb: > der Attiny84 ist im DeepSleep und wacht per Interrupt auf, wenn einer > von 2 GND Eingängen, von denen jeder mit PullUp auf 5V gezogen ist, > geöffnet wird. Die Logik lässt sich nicht umdrehen: Im Sleep sind die Eingänge high und werden zum Aktivieren nach GND gezogen?
Matthias G. schrieb: > Danke für alle Antworten. > Mit jeweils 1MOhm Pullup bin ich bei 10,7µA. > Es gibt noch viel zu lernen ;-) Ja, vor allem daß du auf dem Holzweg bist. Ob exteren Pull-Ups 1k oder 1M haben ist egal, denn die "Last" ist einen extrem hochohmiger CMOS-Eingang mit Leckströmen im sub uA Bereich. Dein Fehler liegt woanders, vermutlich bei einem Eingang mit intern aktiviertem Pull Up, der extern auf GNE gezogen wird. Man braucht an sich auch keine externen Pull Ups. Entweder die internen aktivieren, dann muss das IO-Pin offen bleiben oder das IO Pina uf Ausgang schalten. Dann ist auch eagl ob es auf LOW oder HIGH gesetzt wird, wenn da nix dran hängt. Der ATtiny84 ist mit ca. 1uA bei 5V im Power Down Modus spezifiziert. Vermutlich hast du noch interen Module aktiv, welche Strom brauchen. Analogkomparator (der ist nach dem Reset immer aktiv), Brown out Detektor (per Fuses abschaltbar). Oder der Watchdog Oszillator.
:
Bearbeitet durch User
Matthias G. schrieb: > Die 275uA machen den Kohl auch nicht fett - die Frage nach > Verbrauchsteduzierung war nur interessehalber. > Wegen des Cents Stromkosten im Jahr schraube ich das Gehäuse jetzt nicht > mehr auf ;-) Ob das nur 1 Cent Stromkosten sind, hängt von der Anwendung ab. Wenn das eine abgesetzte Messstation ist, kann ein Batteriewechsel schnell mehr als das 10000-fache kosten.
Im Sleep sind die Eingänge LOW und wenn ich ein Magnet-Ladekabel vom im Gehäuse verbauten Handy-Anschlussadapter abziehe um es am Anschlussadapter des Handys anzudocken geht der entsprechende Eingang über den PullUp auf HIGH. Daraufhin schaltet ein monostabiles Relais die Stromversorgung-Masse für eine Alexa-Platine, ein als Master konfiguriertes HC05 wird für 5 sek eingeschaltet und ein bistabiles Relais in die dem verwendeten Kabel entsprechende Pos geschaltet. Das Handy erkennt die Verbindung mit dem HC05, pingt solange die Alexa-Platine an bis erreichbar, schaltet die Platine auf ON (GND) und schleift diesen Kontakt zur Kontrolle in den uC und gleichzeitig über das bistabile Relais zum Slow- oder FastCharge. Ist das Handy zu 80% geladen schaltet es die Alexa-Platine auf OFF, der uC registriert das, schaltet alles aus und geht wieder schlafen. Ziehe ich das Ladekabel dann vom Handy ab und docke es wieder am Gehäuse an, wacht der uC zwar wieder auf, erkennt aber LOW am Eingang und geht sofort wieder schlafen.
Falk B. schrieb: > Ja, vor allem daß du auf dem Holzweg bist. Ob exteren Pull-Ups 1k oder > 1M haben ist egal, denn die "Last" ist einen extrem hochohmiger > CMOS-Eingang mit Leckströmen im sub uA Bereich. Matthias G. schrieb: > Da standardmässig die beiden Eingänge an GND geschlossen sind Bei angenommenen 3.3V wären das dann schon einmal 6.6µA. (Da muss man schon aktiv kühlen)
Falk B. schrieb: > ... Entweder die internen aktivieren, dann muss das IO-Pin offen > bleiben ... oder das IO Pina uf Ausgang schalten... Die internen PullUps sind aktiviert, die IO-Pins sind INPUT_PULLUP und es liegt jeweils Masse an, also der Kontakt zu Masse ist geschlossen. Nur so kann ich erkennen, wenn ein Ladekabel abgezogen wird. Wenn beide Ladekabel abgezogen - also der Kontakt offen ist - sinkt der Verbrauch auf 0.1 uA
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.