Forum: Mikrocontroller und Digitale Elektronik Xbee ATmega328p Power saving am Sensor Node


von Aa B. (aaab)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

Ich habe hier eine primitive Wireless Sensor Netzwerk eingerichtet, mit 
ein Coordinator und einen Endpoint node. Hardware selber basteln dauert 
mir zu lange, deshalb habe ich zwei Arduinos genommen. :)

Coordinator besteht aus einem Arduino und XBEE konfiguriert als 
Cordinator, Endpoint besteht aus einem Arduino, verbunden mit XBEE und 
eine Bodenfeuchtigkeitssensor (FC-28-F). Der Coordinator oder Master 
empfängt  die gemessene, verarbeitete Sensordaten, über XBEE-->Rx 
Leitung und wird über LCD ausgegeben.(0.0-->trocken 3.3-->voll ins 
Wasser).

uC ist ATMEGA328p, das komplette projekt ist in C
implementiert, mit AVR-GCC Toolchain unter Ubuntu.

Ich habe zwei Fragen:
 - Hardware technisch gibt es eine bessere/optimale Lösung um den 
Endpoint Node zu versorgen, ich weiß dass den HW nur mit Power Bank zu 
versorgen ist vielleciht nicht die beste Lösung, sieht auch irgendwie 
nicht schön aus,
-  Ich habe zwar in die Source code (siehe main.c), Sleep mode, drin 
aber bin mir nicht sicher ob das ausreicht um das ganze sparsamer zu 
machen.

Ich wäre auf euer Feedback dankbar.

Grüße
Aa

von Stefan F. (Gast)


Lesenswert?

Wenn du das Power Management programmieren gelernt hast würden zwei oder 
drei Einwegbatterien in Größe AA für viele Monate Laufzeit genügen.

Allerdings kannst der Arduino Uno aufgrund seine Hardware Designs nicht 
wirklich Strom sparen. Dazu musst du schon einen Arduino Pro Mini (also 
ohne USB Anschluss) verwenden.

von Gerhard O. (gerhard_)


Lesenswert?

Stefan U. schrieb:
> Wenn du das Power Management programmieren gelernt hast würden
> zwei oder
> drei Einwegbatterien in Größe AA für viele Monate Laufzeit genügen.
>
> Allerdings kannst der Arduino Uno aufgrund seine Hardware Designs nicht
> wirklich Strom sparen. Dazu musst du schon einen Arduino Pro Mini (also
> ohne USB Anschluss) verwenden.

Aber nicht vergessen den Spannungsregler und den Vorwiderstand zum Vcc 
LED zu entfernen. Auch der Bootloader (Optiboot) muß für WD geeignet 
sein. Oder den BL überhaupt besser nicht zu verwenden. Ich kauf mir nur 
solche Pro-Minis mit Standard HC-49 Quarz um im Bedarfsfall mit anderen 
Quarzfrequenzen arbeiten zu können. Solche Pro-Minis muß man allerding 
suchen. Ein solch modifizierter PM schaffte es im Schlafbetrieb bei 3V 
unter 1uA zu verbrauchen.

von Aa B. (aaab)


Lesenswert?

Stefan U. schrieb:

> Allerdings kannst der Arduino Uno aufgrund seine Hardware Designs nicht
> wirklich Strom sparen. Dazu musst du schon einen Arduino Pro Mini (also
> ohne USB Anschluss) verwenden.


Viel kann ich da nicht sparen denke ich, da der XBEE modul muss auch 
versorgt werden. Aber Mini klingt nach eine gute Idee.

Gut dass Du HW Design sagst, ich habe vergessen die unverwendete Pins zu 
konfigurieren, dadurch spart man auch paar uA oder?
Ich bin mir auch nicht sicher wie man dass genau macht, DDRx als INPUT 
und Output PORTx als HIGH/Output oder?

von Stefan F. (Gast)


Lesenswert?

Ist egal, erfüllt beides seinen Zweck. Das Funkmodul kann man doch 
sicher auch irgendwie deaktivieren.
Ich diskutiere alkerdings ungern über Produkte von denen nichts bekannt 
ist. Du solltest wenigstens eine artikelnummer oder das zugehörige 
Datenblatt nennen.

von Aa B. (aaab)


Lesenswert?

Stefan U. schrieb:
> Ist egal, erfüllt beides seinen Zweck. Das Funkmodul kann man doch
> sicher auch irgendwie deaktivieren.
> Ich diskutiere alkerdings ungern über Produkte von denen nichts bekannt
> ist. Du solltest wenigstens eine artikelnummer oder das zugehörige
> Datenblatt nennen.

Das ist das XBEE was ich verwende, 
https://www.sparkfun.com/products/8742

Datenblatt ist hier: 
https://www.sparkfun.com/datasheets/Wireless/Zigbee/XBee-Datasheet.pdf

von Stefan F. (Gast)


Lesenswert?

Na dann durchforste mal das Datenblatt nach "power-down", da findest du 
was du brauchst.

von Aa B. (aaab)


Lesenswert?

Stefan U. schrieb:
> Na dann durchforste mal das Datenblatt nach "power-down", da
> findest du
> was du brauchst.

Jo hast Du recht, da gibt es einige Möglichkeiten, cyclic, asynchron 
usw. !!

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.