-
-
Erfahrener Benutzer
Fleißiges Mitglied
SleepMode oder ähnliches
Hallo zusammen
Ich habe ein kleines Modul, dass mir Daten von einem Funkmodul abholt und auf einem Display anzeigt. Das Ganze wird mit einer 9V Batterie (oder bei höherem Stromverbrauch mehrere kleinere...) betrieben und hat nur einen Taster, um die Informationen auf dem Display zu wechseln...
Eigentlich dachte ich zuerst an einen zusätzlichen Schalter, der mir die 9V-Leitung unterbricht oder herstellt um das ganze ein- und auszuschalten. Jedoch habe ich mir jetzt gedacht, dass eine Schaltung mit nur einem einzigen Taster wirklich sehr "edel" wäre. Mein Ziel: Alle Peripherie (AVR, Display, Funkmodul, einfach das ganze Stromnetz) soll sich beim ersten Tastendruck einschalten. Die weiteren Tastendrücke werden dann als normale Befehle erkannt und schalten die Display-Infos durch... Nach einer gewissen Zeit (z.B. 30s) soll sich das ganze automatisch abschalten...
Hätte da jemand eine Idee wie ich das realisieren könnte? Das wäre wirklich eine sehr schöne Lösung!!
Gibt es da einen SleepMode vom AVR der beim Aufwachen einen Interrupt auslöst (mit dem man z.B. ein Transistor ansteuern könnte)?
Macht auch nichts, wenns dann immer ein paar mA zieht...
Ach ja: Alles sollte morgen Abend fertig sein und daher könnt ihr mir auch sagen, dass ich es gleich vergessen kann, wegen zu grossem Aufwand etc.... Dann bau ich halt den Ein/Aus Schalter ein...
-
Erfahrener Benutzer
Fleißiges Mitglied
Note: Ich weiss, dass ich das Problem mit FlipFlop und LM555 eigentlich lösen könnte, jedoch ist dann der Schaltungsaufwand eher wieder gross....
-
Erfahrener Benutzer
Robotik Einstein
Hallo surfer!
Ich konnte Deiner Beschreibung leider nicht entnehmen, in welcher Sprache das ganze programmiert werden soll!?
Hast Du schonmal einen AVR programmiert bzw. schonmal in das Datenblatt geschaut und nach Sleep gesucht? ;o) *schlaf gut*
Im Grunde genommen ist es sehr einfach!
-
Erfahrener Benutzer
Fleißiges Mitglied
Hallo Florain
Die Sprache habe ich noch nicht erwähnt... sorry...
Ich programmiere in C und bin (so kann ich das glaub langsam sagen) schon recht versiert im Umgang mit Atmel Controllern...
Werde mir mal die Sleep-Funktion anschauen....
-
Erfahrener Benutzer
Robotik Einstein
Hallo surfer!
Ich verschiebe Dich mal in AVR C-Programmierung, mit C kenne ich mich nicht so gut aus, aber das Ganze ist im Datenblatt recht gut beschrieben!
-
Erfahrener Benutzer
Robotik Einstein
Es gibt verschiedene Stromsparmode bei AVRs, von Idle über PowerDown bis StandBy.
In allen Modi bleiben INT0 und INT1 funktionsfähig, teilweise allerdings nur levelgetriggert. Sie wecken die CPU wieder auf.
Zum Stromsparen.
- Besten sleep-Mode auswählen
- Unbenötigte Komponenten wie ADC, AnaComp deaktivieren.
- CPU-Frequemz so klein wie möglich (Perscale, Quarz)
- Spannungsversorge so klein als möglich
- Unbenötigte Pullups deaktivieren (ziehen Strom wenn LOW gezogen)
- Fuses anpassen: Quarz/AVR-Oszillator-Treiberstufe braucht mehr power bei Konfig für eine noisy-Umgebung.
-
Erfahrener Benutzer
Fleißiges Mitglied
OK. Ich verwende den PowerDown Modus... funktioniert soweit. Nun möchte ich ihn über INT0 wieder aufwecken, jedoch will das nicht so ganz... Muss ich vor dem Sleep-Mode noch den Interrupt aktivieren?
Möchte mit ihn mit dem gleichen Schalter wieder "aufwecken". Mit einem "HIGH" am INT0....
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo
Du mußt den Int vorher einstellen wie du ihn brauchst, den entsprechenden PIN auf Eingang umschalten und dann den Sleep Modus setzen.
Gruß
Dieter
-
Erfahrener Benutzer
Fleißiges Mitglied
Ah OK. Jetzt hab ichs... Die Interrupts bleiben aktiviert... also genau gleiche Anwendung wie sonst...
Danke
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen