Arduino-IDE: Tiny84 schlafen legen

Gast #5786501
Moin,

ich versuche einen Tiny84 möglichst tief schlafen zu legen, irreversibel 
bis zum nächsten Start (das ist so gewollt).
1
#include <avr/sleep.h>
2
...
3
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
4
  sleep_enable();
5
  sleep_bod_disable();
6
  while(1) sleep_cpu();

Wenn ich das so mache, dann verbraucht der MC immer noch knapp 5mA, was 
viel zu viel sein dürfte.

Irgendwie schein da etwas nicht richtig zu funktionieren? Was mache ich 
falsch?
Gast #5786513
einen L7805.

Okay, das war es wohl. Wenn ich jedoch den MC aus der Fassung nehme, 
dann hat der Rest der Schaltung einen Verbrauch von 4,63mA. Die 370µA 
entfallen dann wohl auf den Tiny.
Gast #5786522
svensson schrieb:
> einen L7805.
>
> Okay, das war es wohl. Wenn ich jedoch den MC aus der Fassung nehme,
> dann hat der Rest der Schaltung einen Verbrauch von 4,63mA. Die 370µA
> entfallen dann wohl auf den Tiny.

Dann schläft der aber nicht, das braucht der wenn er aktiv ist.
Gast #5786556
Dann schläft er aber nicht richtig!

Was braucht er denn in Aktiv wenn du die LED mal rausnimmst?

Wobei ich jetzt mal nicht Fragen wie welches Level haben die nicht 
verbunden Pins, warum kein Tiny 13/25/45/85, warum trotz Linearregler 
versuchen mit der Software Energie zu sparen, etc. stelle.
#5786572
Wenn du wirklich Strom sparen willst solltest du bei allen nicht 
beschalteten pins den pullup aktivieren (nicht floaten lassen). Den adc 
auch deaktivieren wenn nicht schon getan. Und natürlich einen anderen 
Spannungsregler verwenden
Gast #5786574
> Was braucht er denn in Aktiv wenn du die LED mal rausnimmst?

8,2mA.

> welches Level haben die nicht verbunden Pins

frei in der Luft schwebend...

> warum kein Tiny 13/25/45/85

Dafür gibt es in der Tat keinen wirklichen Grund, außer daß ich den 
Tiny84 einmal ausprobieren wollte.

> warum trotz Linearregler versuchen mit der Software Energie zu sparen

Weil ich nicht vom Fach bin und diesen Typ halt kannte, der sich mit dem 
TO-220 Gehäuse auch noch gut verlöten läßt.
Die Idee mit dem Sleepmodus kam mir erst später. In der Tat ist es für 
diese Anwendung völlig egal, ob der noch 5mA verbraucht oder nicht. Ich 
dachte jedoch, ich probiere es einmal mit dem power_down.
Gast #5786582
Ok, setz mal bei allen ungenutzten Pins die Pullups und mess dann 
nochmal. Irgendwelche Pinchange/Int0 Interrupts hast du nicht aktiviert, 
oder den Watchdog?
#5786590
Falls es hilft: Vor ein paar Jahren experimentierte ich mit dem 
Schlafbetrieb mit einem modifizierten nackten Pro-Mini ohne 
Spannungsregler und Power-LED und einer eigenen Bord mit dem 1284P. Im 
Schlafbetrieb bei 3.3V verbrauchten beide uC rund 300nA. Programmiert 
war alles mit dem Arduino IDE.
Gast #5786604
> adc
Ist abgeschaltet.

> Irgendwelche Pinchange/Int0 Interrupts hast du nicht aktiviert, oder den 
Watchdog?

Ich habe nichts aktiviert, aber vielleicht die IDE?

Alle PINs sind jetzt auf Input mit Pullup.

Ergebnis: 4,992mA

Also, gleiches Resultat wie vorher im Rahmen der Meßungenauigkeit.
Gast #5786606
Gerhard O. schrieb:
> Vor ein paar Jahren experimentierte ich mit dem
> Schlafbetrieb mit einem modifizierten nackten Pro-Mini ohne
> Spannungsregler und Power-LED und einer eigenen Bord mit dem 1284P. Im
> Schlafbetrieb bei 3.3V verbrauchten beide uC rund 300nA. Programmiert
> war alles mit dem Arduino IDE.

Hast Du die 'Schlafroutine' für Arduino noch greifbar?

Ich bekomme beim ProMini 328@16MHz um 5µA bei laufendem Watchdog. Das 
reicht mir locker hin, liegt unter der Selbstentaldung der speisenden 
Akkus - dennoch würde mich interessieren, wie Du den Faktor 10 niedriger 
hin bekommst.
#5786632
Manfred schrieb:
> Gerhard O. schrieb:
>> Vor ein paar Jahren experimentierte ich mit dem
>> Schlafbetrieb mit einem modifizierten nackten Pro-Mini ohne
>> Spannungsregler und Power-LED und einer eigenen Bord mit dem 1284P. Im
>> Schlafbetrieb bei 3.3V verbrauchten beide uC rund 300nA. Programmiert
>> war alles mit dem Arduino IDE.
>
> Hast Du die 'Schlafroutine' für Arduino noch greifbar?
>
> Ich bekomme beim ProMini 328@16MHz um 5µA bei laufendem Watchdog. Das
> reicht mir locker hin, liegt unter der Selbstentaldung der speisenden
> Akkus - dennoch würde mich interessieren, wie Du den Faktor 10 niedriger
> hin bekommst.

Werde mal nachschauen wenn ich den PC anhabe. Wenn der WD aktiviert ist, 
dann brauchte der auch ein paar uA. Bei mir war der WD allerdings 
abgeschaltet. Das macht natürlich den Unterschied aus.
Gast #5786645
Interessanterweise ist das auch noch von der Versorgungsspannung 
abhängig.

Ab ca. 8V aufwärts pendelt sich der Verbrauch bei den 4,99mA ein.

Bei 5V liegt er nur noch bei 2,66mA.
Gast #5786664
svensson schrieb:
> Ab ca. 8V aufwärts pendelt sich der Verbrauch bei den 4,99mA ein.
> Bei 5V liegt er nur noch bei 2,66mA.

Elektronik erfordert, dass man logisch strukturiert an die Technik 
herangeht.

Wenn ich den Strom eines µC wissen will, messe ich in dessen 
Versorgungsleitung und nicht irgendwo in der Schaltung.

Gröber formuliert: Deine Beschreibungen sind unsinnig.
Gast #5786780
Das Datenblatt des ATtiny84 ist doch eindeutig:
"Power-Down Mode: 0.1 μA @ 1.8V".
Und das Diagramm unter 'Power-down Supply Current vs. VCC (Watchdog 
Timer Disabled)' zeigt eine ziemlich flache Kurve bezüglich Vcc, bleibt 
unter 0.15 uA bei Zimmertemperatur.
Gast #5786810
Gerhard O. schrieb:
> Manfred schrieb:
>> Ich bekomme beim ProMini 328@16MHz um 5µA bei laufendem Watchdog. Das
>> reicht mir locker hin, liegt unter der Selbstentaldung der speisenden
>> Akkus - dennoch würde mich interessieren, wie Du den Faktor 10 niedriger
>> hin bekommst.
>
> Werde mal nachschauen wenn ich den PC anhabe. Wenn der WD aktiviert ist,
> dann brauchte der auch ein paar uA. Bei mir war der WD allerdings
> abgeschaltet. Das macht natürlich den Unterschied aus.

Der WD braucht irgendwo um die 5uA (3-7uA abhängig von Vcc), kommt also 
sehr gut mit dem gemessen Wert hin.
Gast #5786832
Peter D. schrieb:
> Tim T. schrieb:
>> Ok, setz mal bei allen ungenutzten Pins die Pullups und mess dann
>> nochmal.
>
> Ist nicht nötig, die Eingangsstufen werden im Powerdown abgeschaltet.
> Allerdings ist der Analog-Komparator default aktiv und muß abgeschaltet
> werden.

Stimmt, im powerdown sind die Inputbuffer ja für alle Pins aus die nicht 
zum aufwecken genutzt werden, aber sollte der Analog Komparator nicht 
auch im Powerdown automatisch angeschaltet werden? Schon klar wenn man 
ACBG setzt bleibt die Bandgap Ref im PD aktiv, aber das ist ja nicht der 
Normalfall.
Gast #5787552
> auf 4,798mA

Dann die Hardware nochmals genauer ins Auge fassen, bei meinem 
ATtiny84A-PU (1127) kann ich die Stromaufnahme nicht mehr messen, liegt 
also unter 0.02 uA.
#5787597
Wieso versuchst du verbissen ein paar uA zu sparen wenn du immer noch 
den Spannungsregler mit 5mA Eigenbedarf nimmst?
Oder miss zumindest den Strom hinter dem Spannungsregler, alleine schon 
wegen der Messungenauigkeit in dem Bereich

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.