Forum: Mikrocontroller und Digitale Elektronik BitCloud Stack, Stromverbrauch beim Schlaf zu hoch


von Klaus P. (emperorl0ser)


Lesenswert?

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

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.