Arduino-IDE: Tiny84 schlafen legen

Gast #5786501
Lesenswert?

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 #5786556
Lesenswert?

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.
Gast #5786574
Lesenswert?

> 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.
#5786590
Lesenswert?

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
Lesenswert?

> 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
Lesenswert?

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
Lesenswert?

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 #5786664
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren