Forum: Mikrocontroller und Digitale Elektronik Stromverbrauch im Sleep zu hoch


von Christian (Gast)


Lesenswert?

Hallöchen,

Ich habe hier einen Attiny88 so programmiert, dass er in den Power Down 
Modus geht und nach 8 Sekunden durch den WDT aufwacht. Nun ist mir 
aufgefallen: Er braucht knapp 0,2mA @ 3,7V, was viel höher als erwartet 
ist. Leider habe ich mit Sleep Modes und auch Attinys nicht so viel 
Erfahrung. Muss ich vielleicht noch irgendwelche Module deaktivieren? 
Für Tipps wäre ich sehr sehr dankbar. Das hier sind die relevanten 
Instructions:
1
wdt_reset();
2
WDTCSR |= (1<<WDCE) | (1<<WDE);  
3
WDTCSR = 0b01100001;
4
DIDR0 = 0b11111111;
5
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
6
sleep_mode();

von Peter II (Gast)


Lesenswert?

wie sieht denn die Hardware aus - der Stromverbrauch kann auch bei 
offenen Eingängen  oder externen PullUps oder Spannungsteilern 
entstehen.

von Christian (Gast)


Lesenswert?

Die Hardware ist recht simpel:

- Versogung durch einen Lipo Akku
- µC hängt am Akku
- Akkuspannung wird mit Spannungsteiler gemessen, der durch MOSFET 
abgeschaltet werden kann
- LDO LP2912 mit enable Eingang hängt am Akku uns ist im Sleep Modus 
disabled
- Diverse LEDs hängen zwischen LDO und µC Pin
- Ein Piezo hängt zwischen Akku und µC Pin
- Ein kleiner Motor hängt am LDO und kann durch MOSFET geschaltet werden
- 10K Pull Up auf Reset Pin

Insgesamt sehe ich nichts, was aus den Controller oder direkt aus dem 
Akku Strom ziehen könnte. Der LDO ist nachweislich abgeschaltet und 
sollte laut Datenblatt weit unter dem gemessenen Stromverbrauch liegen.

von Christian (Gast)


Lesenswert?

Ich habe parallel rumprobiert und festgestellt, dass der ADC einen 
großen Teil des Stroms verbraucht hat! Nun bin ich nur noch bei 21µA. 
Das ist schon viel besser, aber immer noch nicht ganz da, wo ich hin 
möchte...

von g457 (Gast)


Lesenswert?

> [..] rumprobiert und festgestellt, dass der ADC einen großen Teil des
> Stroms verbraucht hat!

Datenplatt Kapitel 7.3.1 'Analog to digital converter' hast Du gelesen? 
Und wenn Du schon dabei bist, dann nimm auch noch gleich den Rest von 
Kapitel 7.3 mit.

Nix für ungut.

von Christian (Gast)


Lesenswert?

Jaja, das muss ich mir jetzt natürlich gefallen lassen. Habe ich schon 
gelesen, aber nicht nochmal, seit ich das Strom Problem habe. Und 
auswendig gelernt hatte ich es nicht :p

von Sascha W. (sascha-w)


Lesenswert?

Christian schrieb:
> Ich habe parallel rumprobiert und festgestellt, dass der ADC einen
> großen Teil des Stroms verbraucht hat! Nun bin ich nur noch bei 21µA.
> Das ist schon viel besser, aber immer noch nicht ganz da, wo ich hin
> möchte...

schau dir mal noch das PRR an, und schalte alles ab was du nicht 
brauchst. Brown-Out solltest du auch abschalten.
Im übrigen kann man die Versorgungsspannung ohne externe Bauteile messen 
- ARef=Vcc und dann die interne Referenzspannung messen.

Sascha

von M. K. (sylaina)


Lesenswert?

Christian schrieb:
> Er braucht knapp 0,2mA @ 3,7V, was viel höher als erwartet
> ist.

Taktquelle? Oder anders gefragt: Wieviel Strom erwartest du und warum?

Ansonsten: Um Module abzuschalten durchsuche mal das Datenblatt nach 
PRR: Power Reduction Register ;)

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
Noch kein Account? Hier anmelden.