LowPowerLab Forum

Hardware support => MightyBoost => Topic started by: hkapanen on August 24, 2015, 09:36:00 AM

Title: Idle power (battery) consumption?
Post by: hkapanen on August 24, 2015, 09:36:00 AM
Hi,

I was wondering how much current does the device draw when idle ie switched 5V off and Moteino on lowpower-powerdown. There is at least the voltage divider (0.3mA?) for VBAT_COND and the permanent 5V output LED (1mA?). Anything else?

I'm thinking using MightyBoost+Moteino as an UPS for RasPi-based boat computer, which may be switched off for longer periods when not sailing. I want to avoid bleeding the LiPo dry in the meantime.

Thanks,

Harri
Title: Re: Idle power (battery) consumption?
Post by: Felix on August 24, 2015, 09:46:44 AM
Harri,
Thanks for your question. MBoost has an "PWR" led which draws a few mA all the time. Then there's the booster quiescent current (http://www.semtech.com/images/datasheet/sc4501.pdf) of "typical 1.1mA" in active mode and "typical 10uA" in shutdown mode - shutdown mode is not implemented on MightyBoost.
So ... it's not designed to be ultra low power mode because it doesn't generally need to be. The assumption is that MightyBoost boosting from battery takes over only when power is not available, that's the main function of this board. The given Moteino control sketch for MightyBoost is also not using any low power sleeping, so that uses around 15mA. You can certainly implement that and reduce it to way below 1mA.
I think with a little effort you can get it to be quite low power if you really need it to. You'd also need to shut down your Pi or load of course, otherwise that will drain your battery.
Title: Re: Idle power (battery) consumption?
Post by: hkapanen on August 24, 2015, 04:51:20 PM
Felix,

Thanks for the fast reply and pointing out the datasheet. Your impressive product comes with matching support!

While I understand the original design goal is not a perfect fit to my use case, it is so close that I just need to stretch it. :) I've been playing around with MBoost+Moteino a bit already, ripped the PWR LED off and implemented a control sketch with low power sleeping. I am yet to measure the exact power drawn, but would be good to get that milliamp off when everything else is shut down.

It seems that it would not be too difficult to hack in the shutdown mode controlled from a Moteino GPIO - any thoughts on that? Additionally, can you think of a convenient way to bring power-plugged-in-signal to appropriate Moteino pin for triggering a level-sensitive interrupt? I've got a fine-tipped soldering station and a microscope...

Thanks again,

Harri
Title: Re: Idle power (battery) consumption?
Post by: Felix on August 24, 2015, 05:21:34 PM
Quote from: hkapanen on August 24, 2015, 04:51:20 PM
It seems that it would not be too difficult to hack in the shutdown mode controlled from a Moteino GPIO - any thoughts on that? Additionally, can you think of a convenient way to bring power-plugged-in-signal to appropriate Moteino pin for triggering a level-sensitive interrupt? I've got a fine-tipped soldering station and a microscope...
See the datasheet, the SHUTDOWN is a active low, which means it's ON when the pin is HIGH and in SHUTDOWN when pin is LOW. That makes it easy to control with a GPIO. On MBoost that pin is hardwired to VCC so you'd have to cut the trace and wire it to Moteino.

Can you explain this part or rephrase: a convenient way to bring power-plugged-in-signal to appropriate Moteino pin for triggering a level-sensitive interrupt
Title: Re: Idle power (battery) consumption?
Post by: hkapanen on August 25, 2015, 04:00:23 AM
Agreed, shutdown control could simply be a cut trace wired to a GPIO (D7?) with a matching sketch. I was thinking a pull-up there as well, but it should not be necessary?

Do I read it right that Moteino is fed directly from the LiPo and it has it's own 3.3V regulator on-board but that voltage is not used by MBoost anywhere? Schematics would be helpful. ;)

Quote from: Felix on August 24, 2015, 05:21:34 PM
Can you explain this part or rephrase: a convenient way to bring power-plugged-in-signal to appropriate Moteino pin for triggering a level-sensitive interrupt

So I was thinking putting the Moteino on foverever-sleep when idle (no external power & switched 5V off) and use an external interrupt (pins D2 or D3?) to wake it up (=> switched 5V on) when power is plugged in. The problem is that I'm not sure where to take this wake-up signal from.

Btw, here is a description of my use case to provide additional context to my questions: On my boat, there is a RasPi tucked away behind a power switch without any other controls. No power/reset button etc. It needs to boot up when switched on and to shutdown down in a controlled manner when the power is cut. This is now nicely done with MBoost-Moteino-LiPo running a custom sketch and shutdown script in RPi. The part I want to optimize is LiPo drain when the system is off. The boat can be docked with all systems down for some weeks in a row, which should not suck the LiPo dry.

Many thanks,

Harri
Title: Re: Idle power (battery) consumption?
Post by: Felix on August 25, 2015, 09:37:43 PM
See photo of the Shutdown signal. You can cut the trace on the bottom and control the booster that way.
I guess you could use the uUSB input divided into an interrupt pin (d3, and not d2 if you have a radio on the Moteino).
Without really trying this myself it's just suggestions and assumptions though ... :P
Title: Re: Idle power (battery) consumption?
Post by: hkapanen on August 26, 2015, 04:56:30 AM
Thanks - I'll try these and let you know.

One more thing: any reason why not to change battery monitor divider to 1M+470k (to reduce the current bleed)? 
Title: Re: Idle power (battery) consumption?
Post by: Felix on August 26, 2015, 09:02:02 AM
The only reason was to reduce noise. But you can surely swap them. I would also piggy back a 0.1uF on the bottom resistor (1Meg) to lower noise.
Title: Re: Idle power (battery) consumption?
Post by: hkapanen on August 28, 2015, 08:52:49 AM
OK, did some power optimizations and quick LiPo current measurements on idle state (no external power, no load):
- default system with permanent 5V LED removed: 7.54 mA
- implemented sleep code: 1.53 mA
- booster shutdown board change and code: 0.38 mA

That's good enough for now. With a say 1000mAh battery it should provide some 100 days of safe idling. Moteino headers on my MBoost board are making it too cramped to replace resistor comfortably, but I may revisit this with a fresh board sometime in the future.

Felix - thank you for the support and awesome parts!
Title: Re: Idle power (battery) consumption?
Post by: Felix on August 28, 2015, 10:37:30 AM
Hey I'm glad to see the improvements and that you have it worked out.
I think a next revision of MBoost will have some kind of better support for SHUTDOWN mode or even a pullup with an option to control it via Moteino.
Do you control the overall output via SHUTDOWN now or do you still use the output enable pin too?
Title: Re: Idle power (battery) consumption?
Post by: hkapanen on August 28, 2015, 02:25:03 PM
I wired D7 to booster shutdown as it had an extra pad conveniently close to the booster chip, so it's controlled separately from the switched 5V enable. I guess they could be the same, though.

Looking forward to R3 featuring super-duper low power idle mode! Not to mention 12V ext power input, and...  ;)
Title: Re: Idle power (battery) consumption?
Post by: hkapanen on September 09, 2015, 04:27:30 AM
FWIW, here's my related Moteino code: https://github.com/hkapanen/sailpi_UPS
Title: Re: Idle power (battery) consumption?
Post by: Felix on September 10, 2015, 12:31:31 PM
I should add that the SHDN pin will not cut off the Vout voltage. It only stops the chip from boosting.
While in SHUTDOWN mode, Vin will be passed thorugh to to Vout (SW pin).
So controlling SHUTDOWN is only an advantage when you need to stop the chip from boosting and put it in very low 10uA quiescent current.
To cut off Vout of MightyBoost you still need to use MightyBoost's shutoff control (via D6).