Power down RFM69HW - only power on when needed?

Started by labusr, March 25, 2014, 10:27:03 AM

labusr

Hello,
I'm trying to find a way to make a RFM69HW run on a home-made breadboard arduino on batteries for as long as possible.  If I have a voltage regulator that has an enable pin, can I power down the RFM69HW, and only power it up when needed?

So, most of the time, the Arduino processor will be in sleep.  The RFM69HW will be powered down completely.  Then on an event, the Arduino wakes up and uses the RFM69HW to send a packet.

But when I power up the RFM69HW, would I need to do the setup routine again?  Basically, I need to run the following lines every time I re-powerup the RFM69?

Quote
void setup() {

  radio.initialize(FREQUENCY,NODEID,NETWORKID);
#ifdef IS_RFM69HW
  radio.setHighPower(); //uncomment only for RFM69HW!
#endif
  radio.encrypt(ENCRYPTKEY);
  char buff[50];
  sprintf(buff, "\nTransmitting at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915);
  Serial.println(buff);
}


Instead of putting these lines in the setup() routine, I would have to move it to the main routine when I wake up the module?

I have yet to decide on a good 3.3 voltage regulator that's efficient at uA current draws.  I'm considering using a step-down regulator like the MCP1702, which is pretty efficient I think.  When the RFM69HW is in sleep mode and only drawing a few uA, I think the regulator's overhead current is fairly low also, but I"m not sure.

I've also considered a step-up regulator like the Pololu NCP1402 that can keep output voltage at 3.3V even when the battery starts to die.  But the step-up regulators use lots of current (1mA) even when the load current is very low.  That's why I might have to power down the regulator, and thus the RFM69, when not needed.

Felix

Yes you'd have to re-setup every time you power it up.
MCP1702 is what Moteinos uses.
Normally if you do it right in code, you would not have to remove power on the RFM69, and simply putting it to sleep by calling radio.sleep() will have it run in the few micro amp range which is negligible if you run on batteries. What you describe sounds like an unnecessary complication.

labusr

The sleep function on the RFM69 is a good solution for a step-down like the MCP1702, but for step-up regulator it wouldn't work because the step-up consume 1mA even if the load current is only a few uA.  I haven't been able to find a cheap, efficient step-up regulator that's still efficient for low power.  The step-up's do have an enable pin though, so that seems like the next best option.

Felix

Maybe the TPS61220 I use in powershield?
You have to keep in mind there's only so much efficiency that you can get when you step up. It's just physics...