mikrocontroller.net

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


Autor: ben91 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: rolfdegen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ben91 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ben91 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat nun jemand einen Tipp für mich?!

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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ben91 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht 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ß =)

Autor: ben91 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#define sleep() asm volatile ("sleep")

den oben rein und dann im quellcode

 sleep();

aufrufen.

Autor: Flo (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.