Forum: Mikrocontroller und Digitale Elektronik Wechselnde Stromversorgung bei einem Arduino Nano


von Beta R. (betaros)


Lesenswert?

Moin,

ich möchte mir eine Wetterstation aus einem Arduino Nano bauen und habe 
mir bereits alle notwendigen Teile besorgt und programmiert, bis auf die 
Stromversorgung.

Bisher habe ich einen Arduino immer über USB an meinem Computer 
verwendet und kenne mich daher leider noch nicht mit dem Thema aus. Für 
meine Wetterstation verwende ich bisher folgende Teile:

- BMP085
- DHT22
- Arduino Nano
- HC-06

Wenn ich mit meinem Voltmeter den Strom messe, dann komme ich auf nicht 
mal 1W. Daher habe ich mir eine Solarzelle mit 1W geholt, um genügend 
Strom am Tag zu haben.

http://www.ebay.de/itm/1x-7V-145mA-1W-90x90mm-Solarmodul-Solarzelle-Polykristallin-vergossen/260999025109?_trksid=p2047675.c100012.m1985&_trkparms=aid%3D444000%26algo%3DSOI.DEFAULT%26ao%3D1%26asc%3D23379%26meid%3D7889044833816790280%26pid%3D100012%26prg%3D10032%26rk%3D5%26rkt%3D10%26sd%3D351067136438

Nun muss die Wetterstation ja auch in der Nacht mit genügend Strom 
versorgt werden. Da habe ich an einen LiPo gedacht. Aber daraus ergeben 
sich bei mir zwei Fragen:

- Was für einen LiPo benötige ich, wenn die Station lange durchhalten 
soll?
- Wie bekomme ich den Wechsel zwischen Solarzelle und Akku hin?

Grüße
betaros

von Stromverdichter (Gast)


Lesenswert?

Wenn du Schlechtwetter-Perioden ausgleichen willst, musst du schon 1 
Monat überbrücken können.
30 Tage  24Stunden  1 Watt Verbrauch = 720 Wattstunden
Ich würde 2 so Fahrrad-Akku nehmen, die sind auch nicht so teuer
http://www.ebay.de/itm/Enerpower-Pedelec-Fahrradakku-Elektrofahrrad-Akku-24V-14-5Ah-Pedelec-365Wh-/251543431959?pt=Sport_Radsport_Fahrrad_Kindersitze&hash=item3a91282b17
Damit kannst du auch mal einen schlechten Monat überbrücken
Wechsel kannst du über eine Diode machen, einfach Solarzelle mit diode 
an Akku, Akku an Arduino.

von maschbauer (Gast)


Lesenswert?

bevor ich für über 100€ einen Akku kaufe, würde ich mal über Strom 
sparen nachdenken. 1W scheint mir extrem viel. Müssen denn alle 
Komponenten wirklich immer laufen? reicht es nicht, das Wetter in 
Intervallen zu messen?
Ich habe etwas ähnliches mit dem seeedstudio lipo rider gebaut:
http://www.exp-tech.de/Shields/Seeedstudio-LiPo-Rider-USB-Charger-Power-Booster.html
dazu eine 3w solarzelle und einen LiPo. Aber meine Schaltung braucht 
auch nur ein tausenstel an Strom, weil sie nur einmal pro Minute 
misst....

von Beta R. (betaros)


Lesenswert?

Danke für die schnellen Antworten!

Mit 1W meinte ich das die Solarzelle so viel erzeugen kann.
Ich habe eben normal nachgemessen und komme auf folgende Werte:

7.6 V * 0.06 A = 0,456 W

Mit Hilfe von Stromsparmodi habe ich auch vor den Arduino nur alle 5 
Minuten Werte zu sammeln, was denke ich auch den Verbrauch stark 
reduzieren wird.

Was den Anschluss angeht:
Solarzelle -> Diode -> Akku -> Arduino

Kann ich damit nich den Akku überladen?

Für den Akku habe ich mir eigentlich sowas vorgestellt:
http://www.ebay.de/itm/nVision-Sport-Lipo-5000-50C-7-4V-2S-Dean-Neu-Ovp-/310856729710?pt=RC_Modellbau&hash=item486081446e

von Lothar S. (loeti)


Lesenswert?

Eventuell könnte auch eine amorphe 7,9V 10W Solarzelle in Verbindung mit 
einen 6V ca. 35Ah Bleiakku Deine Probleme zumindest verringern da sie 
auch bei nur diffusen Licht recht effizient ist und so einen kleineren 
Akku mit einfacherer Ladeschaltung erlaubt.

Grüße Löti

von maschbauer (Gast)


Lesenswert?

> Für den Akku habe ich mir eigentlich sowas vorgestellt:
> Ebay-Artikel Nr. 310856729710

Ja, den kannst du überladen. Der braucht eigentlich sogar einen 
Balancer. Vermutlich würde es trotzdem eine Weile gut funktionieren.... 
das ist wie bei den LEDs direkt an der Batterie, billig, geht eine 
weile, ist aber technisch Schrott, ineffizient und geht gehörig auf die 
Lebensdauer. Besser eine grössere Solarzelle, eine ordentliche 
Ladeelektronik, Strom sparen, dafür einen einfacheren Akku nehmen...

von Jürgen S. (jurs)


Lesenswert?

Beta Ros schrieb:
> Wenn ich mit meinem Voltmeter den Strom messe, dann komme ich auf nicht
> mal 1W. Daher habe ich mir eine Solarzelle mit 1W geholt, um genügend
> Strom am Tag zu haben.

Ein 1W Solarpanel liefert 1W wenn
a) die Sonne scheint und
b) das Solarpanel auf die Sonne ausgerichtet ist

Da es "am Tag" auch mal Wolken gibt (an manchen Tagen sogar nur Wolken), 
reicht ein 1W Panel niemals aus, um tagsüber 1W Leistung 
bereitzustellen.

Dein Konzept, den Außensensor mit 1W Stromverbrauch auszulegen, ist 
ziemlich hanebüchen.

Gängige Wetterstationskonzepte basieren auf einem System aus 
"Außensensoren" (extrem sparsam, ggf. Batteriebetrieb) und 
"Basisstation" (Netzbetrieb).

Extrem stromsparende Schaltungen, die Du mit der Arduino-Software 
programmieren kannst, mußt Du Dir selbst aufbauen, schaue Dir z.B. mal 
Bauanleitungen wie "Arduino on a breadboard" oder "Paperduino" an.

Dabei mußt Du alles weglassen, was Strom frißt, z.B. die "Power-On LED", 
und den Sensor die allermeiste Zeit in einem stromsparenden Sleepmodus 
betreiben. Dann wacht der Sensor z.B. alle 2 Minuten auf, macht schnell 
eine Messung, sendet die Messdaten und geht danach wieder 2 Minuten 
schlafen. So dass der Außensensor im Schnitt über die ganzen 2 Minuten 
weniger als 1 Milliampere benötigt.

Die am Netzgerät hängende Basisstation empfängt dann das Signal des 
Außensensors und verarbeitet es weiter.

Auch wird ein Luftdrucksensor wie der BMP085 natürlich am besten in 
einem Innenraum montiert. Denn Luftdrucksensoren sind in extrem hohem 
Maße temperaturempfindlich. Zwar hat der BMP085 eine eingebaute 
automatische Temperaturkompensation, aber wenn die Temperaturen stark 
schwanken, bekommst Du eben auch recht hohe Messtoleranzen. Die 
Messtoleranzen beim Luftdruck wären viel geringer, wenn Du den Luftdruck 
bei halbwegs gleichbleibender Zimmertemperatur erfassen würdest und 
nicht im Freien mal bei Frost und mal bei Sommerhitze.

von Beta R. (betaros)


Lesenswert?

Vielen Dank für die vielen Hinweise.

Das Konzept ein extrem sparsames Außenmodul zu haben und dann innen den 
Arduino, welcher die Daten auswertet erscheint mir günstiger, da ich den 
Arduino dann per USB am Raspberry Pi betreiben kann.

Für das Außenmodul könnte ich einen MSP430G2452 verwenden, mit dem ich 
bereits ein paar Erfahrungen gemacht habe.

Was ich mich aber frage: Wie kann ich meinem Arduino dann die Daten vom 
Außenmodul senden? Auch über Bluetooth oder gibt es da eine bessere 
Lösung?

von Jürgen S. (jurs)


Lesenswert?

Beta Ros schrieb:
> Für das Außenmodul könnte ich einen MSP430G2452 verwenden, mit dem ich
> bereits ein paar Erfahrungen gemacht habe.

Als stromsparende Außenmodule kannst Du problemlos auch Arduinos nehmen.

Allerdings gibt es extrem wenige fertige Boards, die für extrem 
batteriesparenden Betrieb ausgelegt sind und zum Beispiel über keine 
PowerOn-Led verfügen.

Eines der alten Boards, das sich für Batterieprojekte eignet, ist zum 
Beispiel das "Mini 05" Board, aber das ist inzwischen extrem selten noch 
im Handel zu finden.

Beim "Pro Mini" ist die Versorgungslage besser, das gibt es zum 
Spottpreis auch von Chinaversendern. Es hat zwar eine PowerOn-LED, aber 
dafür findest Du im Internet leicht eine Anleitung, welche Leiterbahn Du 
durchtrennen mußt, um die LED lahmzulegen.

Ansonsten mußt Du mit einem Atmega328 eine eigene Schaltung aufbauen: 
Controller, Strom dran, Sensoren dran, Funkmodul dran.

Um den Strombedarf weiter zu verringern und den Controller auch bei 
niedrigeren Spannungen zu betreiben, kannst Du dann mit "Arduino as ISP" 
die Fuses so setzen, dass das Board mit internem 8 Mhz Takt läuft, dann 
funktioniert das Board auch mit 3*AA Mignon-Batteriebestückung im 
sicheren Bereich von 4.5 Volt (volle Batterien) bis runter zu 3 Volt 
(leere Batterien).

> Was ich mich aber frage: Wie kann ich meinem Arduino dann die Daten vom
> Außenmodul senden? Auch über Bluetooth oder gibt es da eine bessere
> Lösung?

Mit einem Funkmodul. Bluetooth ist dabei die schlechteste, weil am 
meisten batteriefressende Lösung. Über Bluetooth kannst Du ja nur etwas 
senden, wenn Du ein Pairing zwischen Bluetooth-Master und -Slave 
bestehen hast. Das Pairing alleine dauert mehrere Sekunden, damit kannst 
Du keine Senderoutine machen, die den Microcontroller nur für Bruchteile 
einer Sekunde aufweckt, mißt, sendet und den Controller gleich wieder in 
den stromsparenden Sleepmode versetzt.

Die Funkanbindung ist das kniffeligste bei Batteriebetrieb. Auf 
derselben Frequenz wie Bluetooth arbeiten zum Beispiel die NRF24L01 
Module. Aber die müssen dann natürlich als Funkmodul angesteuert werden 
und nicht wie ein Serial-Gerät.

Bei internationalen Angeboten von Funkmodulen auf Frequenzbereich und 
Sendeleistung aufpassen: Nicht alles, was in der Wüste von Nevada legal 
als Funkmodul betrieben werden darf, ist auch gleichzeitig in Europa 
legal. In Europa gelten teils andere erlaubte Frequenzen und geringere 
maximale Sendeleistungen als anderswo.

Komplette Bastelprojekte existieren, zum Beispiel Jeenodes mit fertig 
ausgearbeiteter Hardware und Software:
http://www.digitalsmarties.net/products/jeenode

Oder Wireless-Sensoren auf Basis von Attiny (erfordert zusätzliche 
Corefiles in der Arduino-Software):
http://nathan.chantrell.net/tinytx-wireless-sensor/

Oder http://www.nanode.eu/

Oder auch hier gibt es mit den emonTx einen batteriebetriebenen 
Außensensor: http://openenergymonitor.org/

Also Bastelideen und auch fertige Lösungen gibt es genug.

Aber diese Lösungen basieren alle auf extrem batteriesparenden 
Außensensoren, die die meiste Zeit im Sleepmode verbringen und dabei auf 
einen Verbrauch von "fast Null" getrimmt sind, und die immer nur zum 
Messen ganz kurz aufwachen und die Daten funken.

Denn um irgendwo im Außenbereich 1 Watt elektrische Dauerleistung 
bereitzustellen, nur um ein 50 mA fressendes Standard-Entwicklerboard 
verwenden zu können, obwohl Du da keinen Netzanschluß hast, dürfte 
relativ aufwändig werden.

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.