Forum: Mikrocontroller und Digitale Elektronik "Power-Down-Mode" mit ATtiny13 funktioniert nicht


von ben91 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebes Forum!

Ich habe folgendes Problem und erhoffe mir vielleicht hier die Lösung zu 
finden:

Seit einiger Zeit, entwickle ich eine 10W-LED-Taschenlampe,
welche mithilfe eines Mikrocontrollers (ATtiny13) gesteuert wird.
Dies Funktioniert bisher auch alles prächtig, bis auf das kleine Detail
der Stromaufnahme im Stand-By-Betrieb (5mA).
Daher habe ich mir gedacht, ich verwende dazu den Power-Down-Mode des 
Mikrocontrollers, um den Energiebedarf rapide zu senken
und somit die Akkus zu schonen. Obwohl dies laut Datenblatt (siehe 
Anhang)
nicht all zu schwer schien, habe ich es bisher nicht geschafft,
diesen Modus zu aktivieren (==> den Strombedarf <5mA zu senken).
Ich verwende den internen 9.6MHz RC-Oscillator,
welcher für meine Zwecke vollkommend ausreicht.
Im Anhang findet ihr meinen (äußerst simplen) Quelltext für den 
Power-Down
Mode, ein Auszug aus dem Datenblatt, sowie die von mir gesetzten 
Fuse-Bits.

Meine Frage nun an euch:  Habe ich denn alles richtig gemacht 
(programmiert) oder etwa ein Bit vergessen (übersehen zu setzen)?!


Vielen Dank, bereits im Voraus

lg Ben91

von rolfdegen (Gast)


Lesenswert?

Hallöchen..

Wie sieht deine Schaltung und der Rest des Programms aus. Vlt. wird der 
Prozessor durch eine andere Programm-Routine ständig wieder aus dem 
Sleep-Modus geweckt.

Ich würde den Sleep-Modus durch eine Tastenabfrage (on/off) an einem 
Interrupt-Pin in einer Interrupt-Routine aktivieren oder deaktivieren 
und nicht in der Hauptprogrammschleife.

mfg Rolf

von ben91 (Gast)


Lesenswert?

Hallo Rolf!

Ich habe mal probeweise nur den power-down-Mode auf dem uC aktiviert & 
er benötigt denoch den selben Strom, als hätte ich diesen Modus gar 
nicht eingeschaltet  :-(
Schaltungsmäßig sind am Controller nur Vcc und GND angeschlossen.

Was gibt es da den  für eine logische Erklärung?!

lg Ben91

von ben91 (Gast)


Lesenswert?

Hat nun jemand einen Tipp für mich?!

Leider hängt bei mir das ganze Projekt vom Energie-Verbrauch des 
Controllers ab :-(

von Peter D. (peda)


Lesenswert?

ben91 schrieb:
> Ich habe mal probeweise nur den power-down-Mode auf dem uC aktiviert &
> er benötigt denoch den selben Strom, als hätte ich diesen Modus gar
> nicht eingeschaltet  :-(

Da hatter auch recht, Du hast ihn nicht eingeschaltet.
Dazu brauchts noch den Sleep-Befehl.

Und das Main darf nicht ins Niemandsland laufen, da gehört ne 
Endlosschleife rein.


Peter

von ben91 (Gast)


Lesenswert?

Hallo Peter,

danke für deine Antwort!
Das mit der Endlos-Schleife habe ich vergessen hinein zu schreiben.
Dennoch funktioniert der Sleep-Mode nicht ... wie meintest du 
aktivieren?
Gibt es dazu denn einen speziellen Befehl?!

lg Ben91

von Lehrmann M. (ubimbo)


Lesenswert?

Was hältst du davon wenn du mal deinen Code hier postest ?
Ansonsten würde ich behaupten Zeile 86 ... genau da müsste der Fehler 
sein !
Spaß =)

von ben91 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Der Quellcode ist oben bereits angeführt.
Hier habe ich die überarbeitete Version nochmal gepostet.

Wie kann ich denn den Power-Down-Mode aktivieren?!

lg Ben91

von Flo (Gast)


Lesenswert?

#define sleep() asm volatile ("sleep")

den oben rein und dann im quellcode

 sleep();

aufrufen.

von Flo (Gast)


Lesenswert?

Nachtrag: kann sein dass es dieses Define in der sleep.h schon gibt. ;-)

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.