Arduino Forum upgrade scheduled for Monday, October 20th, 11am-4pm (CEST). Sorry for the inconvenience!
Pages: [1]   Go Down
Author Topic: Mega 2560 + Strom sparen?  (Read 1851 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

ich möchte gern den Stromverbrauch meines Mega reduzieren. Ich bin mit ein bisschen suchen auf diese Bibliothek gestoßen.
http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/

Scheint recht simpel zu sein, aber leider geht es nicht so recht. Ich bekomme folgende Fehlermeldungen


Code:
LowPower.cpp: In member function 'void LowPowerClass::powerDown(period_t, adc_t, bod_t)':
LowPower.cpp:298: error: 'BODS' was not declared in this scope
LowPower.cpp:298: error: 'BODSE' was not declared in this scope
LowPower.cpp: In member function 'void LowPowerClass::powerSave(period_t, adc_t, bod_t, timer2_t)':
LowPower.cpp:379: error: 'BODS' was not declared in this scope
LowPower.cpp:379: error: 'BODSE' was not declared in this scope
LowPower.cpp: In member function 'void LowPowerClass::powerStandby(period_t, adc_t, bod_t)':
LowPower.cpp:439: error: 'BODS' was not declared in this scope
LowPower.cpp:439: error: 'BODSE' was not declared in this scope
LowPower.cpp: In member function 'void LowPowerClass::powerExtStandby(period_t, adc_t, bod_t, timer2_t)':
LowPower.cpp:512: error: 'BODS' was not declared in this scope
LowPower.cpp:512: error: 'BODSE' was not declared in this scope


Was bedeutet das?


Grüße
Peter
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 274
Posts: 22162
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bitte sketch
Grüße Uwe
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

richtig. Hier ist er


Code:
#include "LowPower.h"

void setup()
{
    // No setup is required for this library
}

void loop()
{
    // Sleep for 8 s with ADC module and BOD module off
    LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
    // Do something here
    // Example: read sensor, log data, transmit data
}
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 274
Posts: 22162
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Auf http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/
steht in der 3. Zeile:
Quote
Supports all sleeping mode of ATmega328P:
Der Arduino Mega hat keinen ATmega328 sondern einen ATmega2560.
Ich befürchte daß die Bibiothek mit den 2560 nicht kompatibel ist.

Grüße Uwe
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gibt es da was ähnliches für den Mega? Oder wie macht man das? Der ArduinaSleepCode geht nicht so recht,...der Mega wollte nicht mehr erwachen.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hat keiner ne Idee:)?
Logged

Neuss
Offline Offline
Full Member
***
Karma: 1
Posts: 200
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hat keiner ne Idee:)?
Doch, ich hätte da was anzubieten:

1. Die Fehlermeldungen resultieren daher, dass BODS und BODSE nicht in der controllertyp-spezifischen Header-Datei für den 2560 definiert sind. Es handelt sich dabei um Bit-Nummern in einem speziellen Register des Controllers.

2. Das dürfte daran liegen, dass die Betriebsart "BOD Disable" beim ATMega 2560 nicht unterstützt wird (wohl aber beim 328P). Jedenfalls habe ich im Datenbuch für den 2560 nichts dergleichen gefunden.

3. Folglich dürfte Uwe mit seiner Vermutung richtig liegen, dass die Library nicht für den 2560 geeignet ist, weil der "nicht alles kann", was der 328P kann.

4. Könnte man als Tüftler versuchen, die Library so anzupassen, dass die beim 2560 nicht unterstützten Betriebsarten aus dem Programmcode herausgeworfen werden (und den Rest behalten). Das erfordert aber ganz sicher auch ein fleißiges Studium des Datenbuchs, um den Code der Library überhaupt zu verstehen.

5. Frage ich mich, ob es auf einem ATMega-Board Sinn macht, den eigentlichen Controller auf möglichst geringe Stromaufnahme zu trimmen, während die sonstigen Chips auf dem Board (z.B. Controller für USB<->RS232-Wandlung, Power-LED, usw.) von alledem nichts wissen.

Gruß
Wolfgang


Logged

Pages: [1]   Go Up
Arduino Forum upgrade scheduled for Monday, October 20th, 11am-4pm (CEST). Sorry for the inconvenience!
Jump to: