Hallo,
ich bin zurzeit mit der Frage beschäftigt, ob ich meinen Arduino Uno in
den Energiesparmodus versetzen kann und ihn aber wieder aufwecken kann,
sobald er ein Signal empfängt...
Aber erstmal von vorne:
Das ist mein erster Beitrag in einem Forum, deswegen bitte ich um etwas
Rücksichtnahme.
Ich möchte mit meinem Uno ein Relais schalten, wenn der entsprechende
Befehl über einen 433hz Empfänger kommt.
Das funktioniert auch alles soweit, nur möchte ich jetzt die Batterie
länger nutzen/Energie sparen und habe davon gehört, das man den
Prozessor/ATmega328p in mehrere Arten von Energiesparmodis versetzen
kann.
Frage nun:
Welchen sollte ich nehmen und wie mach ich das ?
Im voraus schon mal
Vielen Dank
Simon.Sp
PS: Habe mich schon erkundigt, nur die meisten Beiträge die ich im
Internet fand waren auf Englisch und/oder unverständlich
Falk B. schrieb:> Siehe Sleep Mode.
Danke schonmal für deine Antwort, nur soweit war ich leider auch schon.
Meine Frage ist ja welche der Energiesparmodis sollte ich verwenden. (?)
Max schrieb:> das hat bei einem uno alles keinen sinn, da er spannungsregler usw auf> der platine hat, de auch im sleep strom verbrauchen
Ich hab ja auch nicht gesagt das er keinen Strom mehr verbrauchen soll,
sondern einfach nur WENIGER.
Um wirklich Strom zu sparen, solltest du einen Atmega328 (ist auch auf
dem Uno) als Stand-Allone verwenden.
Da ist der Regler und die Leds nicht mit drauf, die so viel Strom
verbrauchen.
Oder noch besser, einen ATtiny85. Der braucht normal schon sehr wenig,
im Stromsparmodus noch weniger.
Falk B. schrieb:> Power Down, aufwecken mit einem Pin Change Interrupt oder Low Level> Interrupt.
Also ich hab mir den Text zum Thema Sleep Mode selbst nocheinmal
durchgelesen und mir ist der Idle Mode aufgefallen...
~70% Engergíeeinsparung
Aufwecken per Interrupt
usw...
Klingt für mich erstmal passend.
Ich bin auf dem Gebiet Mikrokontroller noch etwas jung und mir würde
eine einfache und unkomplizierte Lösung reichen.
Es muss also nicht das beste vom besten sein.
Dieter S. schrieb:> Um wirklich Strom zu sparen, solltest du einen Atmega328 (ist auch auf> dem Uno) als Stand-Allone verwenden.>> Da ist der Regler und die Leds nicht mit drauf, die so viel Strom> verbrauchen.>> Oder noch besser, einen ATtiny85. Der braucht normal schon sehr wenig,> im Stromsparmodus noch weniger.
Erstmal vielen Dank das du dich so bemühst.
Deine Lösungsvorschläge mit dem Chip als Stand-Allone oder dem ATtiny85
sind mit Sicherheit gut und besser als meine, jedoch kleingen sie für
mich zu kompliziert und ich möchte auch nicht so einen großen "Umstand"
machen.
70% würden erstmal reichen, außerdem habe ich sowieso vergessen zu
erwähnen das es erstmal nur ein Prototyp ist
Hallo,
abgesehen vom schon genannten: welchen Empfänger nutzt Du? Der mß ja
schließlich laufen und empfangen und verbraucht damit auch ständig
Strom.
Wenn der Empfänger was empfängt, muß er sich ja dem Mega328 auf dem Uno
bemerkbar machen um den zu wecken.
Bei einem der üblichem OOK-433MHz-Empänger geht das nicht. Der Empfängt
ständig irgendwelchen Müll aus dem Umfeld und die Software auf dem Uno
entscheidet, ob es was erwartetes war oder nicht.
Der Uno wäre letztlich also ohnehin immer wach, weil sofort wieder vom
Empfängersignal geweckt werden würde.
Gruß aus Berlin
Michael
Michael U. schrieb:> Hallo,>> abgesehen vom schon genannten: welchen Empfänger nutzt Du? Der mß ja> schließlich laufen und empfangen und verbraucht damit auch ständig> Strom.>> Wenn der Empfänger was empfängt, muß er sich ja dem Mega328 auf dem Uno> bemerkbar machen um den zu wecken.> Bei einem der üblichem OOK-433MHz-Empänger geht das nicht. Der Empfängt> ständig irgendwelchen Müll aus dem Umfeld und die Software auf dem Uno> entscheidet, ob es was erwartetes war oder nicht.> Der Uno wäre letztlich also ohnehin immer wach, weil sofort wieder vom> Empfängersignal geweckt werden würde.>> Gruß aus Berlin> Michael
Hallo,
mit dem Empfänger...
Ich benutze folgendes Set:
"Aukru 3x 433 MHz Empfänger und Funk- Sende Modul Superregeneration
Wireless Transmitter-Modul Einbrecher Alarm 433M receiver module Burglar
Alarm für Arduino Raspberry pi"
Hoffe das hilft dir.
Ich habe vor das ganze auf einem Nano (Klon) umzusetzen, vorher aber auf
meinem (Uno) Prototyp auszuprobieren. Es ist aber auch generell
interessant für mich, auch wenn ich es wahrscheinlich nicht mehr auch
den Nano nutzen kann (Sleep Mode).
Gruß zurück aus Mülheim
Simon
Der Stromverbrauch vom Sender ist mir erstmal egal, den mich
interessiert "nur", wie ich generell mit/an dem Uno Strom sparen kann,
in dem ich so einen Sleep Mode nutze.
Das mit dem Sender ist sozusagen nur ein Beispiel von meinen aktuellen
Projekten, wo ich diesen Sleep Mode gerne nutzen würde.
Den am Sender kann ich ja sowieso nicht sparen.
PS: Wenn möglich, weiß jm ob ich einen Digitalen Pin vom Arduino auch
als Stromversorgung für den Empfänger nehmen kann ?
Simon S. schrieb:> Der Stromverbrauch vom Sender ist mir erstmal egal, den mich> interessiert "nur", wie ich generell mit/an dem Uno Strom sparen kann,> in dem ich so einen Sleep Mode nutze.>> Das mit dem Sender ist sozusagen nur ein Beispiel von meinen aktuellen> Projekten, wo ich diesen Sleep Mode gerne nutzen würde.
In deinem Thread sprichst du aber vom Empfänger und da muss ich Michael
völlig recht geben, das funktioniert nicht.
Wenn du Strom sparen möchtest, wird es mit dem Empfänger nichts.
Hier ist die Lösung mit einem reinen Controller evtl. doch besser.
Aber für deine Versuche, unabhängig vom Empfänger, kannst du es schon
über den Sleep Modus nutzen.
Simon S. schrieb:>> PS: Wenn möglich, weiß jm ob ich einen Digitalen Pin vom Arduino auch> als Stromversorgung für den Empfänger nehmen kann ?
damit empfängt er aber nix.
Das verstehe ich nicht ganz, den unabhängig von dem Empfänger
(ich korriegiere meine Aussage von letztens auf Empfänger)
kann ich doch am Uno Strom sparen, auch wenn der Empfänger weiterhin
viel Strom verbraucht ?
Simon S. schrieb:> Das verstehe ich nicht ganz, den unabhängig von dem Empfänger> (ich korriegiere meine Aussage von letztens auf Empfänger)> kann ich doch am Uno Strom sparen, auch wenn der Empfänger weiterhin> viel Strom verbraucht ?
Ja, sicher geht das. Nur wie oder durch welche Aktion möchtest du den
Uno dann aus dem Schlaf hohlen?
Der Empfänger fällt dazu aus.
Dieter S. schrieb:> Simon S. schrieb:>> Das verstehe ich nicht ganz, den unabhängig von dem Empfänger>> (ich korriegiere meine Aussage von letztens auf Empfänger)>> kann ich doch am Uno Strom sparen, auch wenn der Empfänger weiterhin>> viel Strom verbraucht ?>> Ja, sicher geht das. Nur wie oder durch welche Aktion möchtest du den> Uno dann aus dem Schlaf hohlen?> Der Empfänger fällt dazu aus.
Also sowie ich das gelesen habe kann der Arduino durch einen Interrupt
"geweckt" werden.
Der Emfänger ist ja an einen Interrupt angeschlossen...
Zu dem "Müll" den der Empfänger ja oft ausgeben soll, kann man
nachgucken wie stark die Interferenzen sind ?
Und würden sie einen Arduino wirklich die ganze Zeit wecken ?
Hallo Simon,
bezüglich des Sleep Modes gibt es ein sehr gutes Video auf YouTube von
Kevin Darrah, ist allerdings auf Englisch:
https://www.youtube.com/watch?v=urLSDi7SD8M
So wie ich das sehe kannst du den Empfänger schon über einen Pin vom
Arduino mit Strom versorgen, die ja theoretisch einen max. Strom von
40mA liefern sollen, meines Wissens brauchen die 433MHz Empfänger ja
blos um die 5mA.
Simon S. schrieb:> Also sowie ich das gelesen habe kann der Arduino durch einen Interrupt> "geweckt" werden.>> Der Emfänger ist ja an einen Interrupt angeschlossen...>> Zu dem "Müll" den der Empfänger ja oft ausgeben soll, kann man> nachgucken wie stark die Interferenzen sind ?> Und würden sie einen Arduino wirklich die ganze Zeit wecken ?
Das Rauschen des Empfängers erzeugt ein ebenso kräftiges Signal am
Datenpin, womit der Atmega immer einen Interupt auslöst.
Hallo,
Simon S. schrieb:> Ich habe vor das ganze auf einem Nano (Klon) umzusetzen, vorher aber auf> meinem (Uno) Prototyp auszuprobieren. Es ist aber auch generell> interessant für mich, auch wenn ich es wahrscheinlich nicht mehr auch> den Nano nutzen kann (Sleep Mode).
Der Nano ist ein Uno mit ein paar Teilen weniger drumrum, die mit der
Funktion des ATMega328 direkt überhaupts nichts zu tun haben, sie
betreffen nur die Spannungsversorgung.
Wenn, dann wäre ein ProMini und ein USB-seriell-Adapter sinnvoll.
Auch der ProMini ist ein Uno, nur fehlt ihm auch der USB-Wandler, der
auch Strom verbraucht und sich bei Uno und Nano nicht abschalten läßt.
Zu Deinem Empfänger gilt voll, was ich gesagt habe, der hat keinerlei
eigene Intelligenz.
Ich gehe mal davon aus, Daß Du die Arduino-Programmierumgebung benutzt,
da gibt es zum Thema Sleep-Mode doch durchaus lesbares, hier z.B.
http://shelvin.de/arduino-in-den-sleep_mode_pwr_down-schlaf-modus-setzen/
Ansonsten wirst Du nach Informationen zum Mega328 und Sleep suchen
müssen, unter dem Stichwort Uno oder Nano wirst Du einfach deshalb wenig
finden, weil es bei denen kaum lohnt, auf diese Art Strom zu sparen.
Gruß aus Berlin
Michael
Hallo zusammen,
um energie auf empfänger seite zu sparen gibt es eine möglichkeit die
noch nicht angesprochen wurde.
Man kann hergehen und anstatt permanent auf empfang zu lauschen das
komplette system (arduino und empfänger) einfach in festen zyklen
erwachen lassen.
das heisst das ein timer den arduino sagen wir mal alle 500ms erwachen
lässt, horcht ob was empfangen wurde und wenn nix da war wieder 500ms
schläft.
wenn das system normal 100 mal pro sekunde empfangen würde sparst du
also 98% energie ein (theoretisch. Es gibt sicher einschaltströme)
Mit den 500ms timer kann man nach belieben spielen und optimieren, da
ein nachteil dieser idee ist das eine leichte verzögerung zwischen
senden/empfangen entsteht.