BitCloud Stack, Stromverbrauch beim Schlaf zu hoch

OP #2527584
Moin,
ich arbeite derzeit mit den BitCloud Stack von Atmel (Version 1.13.0). 
Zielplattform sind ZigBit Module (ATZB-24-A2, das mit zwei Antennen). 
Auf meinem Board befindet sich das ZigBit Modul, die 
Abblockkondensatoren, zwei LEDs und ein Pull-Up Widerstand am Reset. 
Also kaum mehr als das Nötigste.

Mein Vorhaben ist es, dass die als EndDevice konfigurierten Module alle 
30 Sekunden aufwachen, einen Sensor einlesen, den Messwert senden und 
den Rest der Zeit schlafen. Die Software ist auch fertig und läuft. 
Einziger hacken ist, dass die Module im Schlaf 210 bis 240 µA 
verbrauchen. Das ist weit mehr als die 6 µA aus dem Datenblatt von 
Meshnetics. Auch wenn ich weiß, dass der Stromverbrauch für den Timer2 
hinzukommt.

Mein Problem ist, dass die Module aus Batterien gespeist werden sollen 
und 200 µA um einiges zu hoch sind.

Mein Code zum schlafen legen:
1
static ZDO_SleepReq_t sleep_req;
2
static void ZDO_SleepConf(ZDO_SleepConf_t *conf);
3

4
void APL_TaskHandler(void)
5
{
6
  ...
7
  //Diese Stelle wird aufgerufen, getestet durch LEDs.
8
  //Ohne diesen Aufruf bleibt der Stromverbrauch bei einigen mA
9
  sleep_req.ZDO_SleepConf = ZDO_SleepConf;
10
  ZDO_SleepReq(&sleep_req);
11
  ...
12
}
13

14
...
15

16
static void ZDO_SleepConf(ZDO_SleepConf_t *conf)
17
{
18
  if (ZDO_SUCCESS_STATUS == conf->status)
19
  {
20
    //Nichts zu tun
21
    //Diese Stelle wird nachweislich erreicht
22
  }
23
  else
24
  {
25
    //Nochmal versuchen
26
    SYS_PostTask(APL_TASK_ID);
27
  }
28
}

In der halSleep.c habe ich alles auskommentiert, womit ein anderer 
Schlafmodus als der PowerSave eingenommen werden würde.

In der configuration.h wurde CS_END_DEVICE_SLEEP_PERIOD auf 30000L (30 
Sekunden) gesetzt.

Die Fuses sind auf internen Takt mit 8 MHz gestellt. Weiterhin ist nur 
die ISP Programmierung aktiv. JTAG und OCDEN sind deaktiviert.

Hat jemand von euch mit dem BitCloud Stack Erfahrungen und weiß, wie ich 
den Stromverbrauch senken kann? Wird der RF-Chip vielleicht nicht 
komplett abgeschaltet? Wenn nein, wie würde ich ihn abschalten können?
Am Taktausgang des Moduls liegt im Schlafmodus kein Takt an.

Danke im voraus

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.