Calculating current consumption.

Hello!

My latest project will be battery powered and will contain a cellular module to send/receive text messages.

The current prototype (complete aside from the cellular module) uses a peak of ~95mA (including the arduino -- powered via dc jack). According to the datasheet (pdf) of the cellular module I'll be using (sm5100b) it will use about 13mA on idle with a max peak of 130mA during RX bursts. I'm not too sure what the Average @PCL5/8 means (page 10 of the datasheet). I won't be sending much at all, perhaps one per day, two at most. The bulk will be receiving txt messages.

I'm trying to figure out the best battery to use, but I am not sure the best way to factor the occasional 2-3 second bursts into things. I know that an 850mAh battery will give me about 5.5 hours of full current with the gsm on idle, but how would one easily factor in say 10 incoming text messages per day?

On a related note, is my power regulation sufficient? Assuming an input voltage of 5.5v minimum... Here's the current schematic:

KE7GKP: Is this a rechargeable battery?

It will be, yes.

KE7GKP: What kind of battery life are you expecting?

I'd like to get a whole 'day' if possible, by day I mean 8-9 hours or so.

KE7GKP: If rechargeable, are you keeping it charged with solar or wind, etc?

DC jack or possibly usb jack, not sure yet..

KE7GKP: Why does the motor need to operate on regulated power?

It's a small pager vibration motor, the datasheet says it's rated for 3v, but in reality it's running just fine (for extended periods of time) at 5v drawing ~95ma (which is being limited to around 65-70 via R8.

KE7GKP: Why not run the Arduino on 3.8V?

I hadn't thought of that, will it run reliably at that voltage?

It's a portable unit (the true nature is 18+, and likely not suitable for the forums, feel free to PM if you want details) which will be recharged at home via a dc transformer, or a usb cable.

I guess the root of my question is: knowing the maximum usage of my circuit, ~95mA without the GSM included, I know that a 850mAh battery will last for X hours.. How would you calculate the average usage of the GSM module if the peaks are short and sporadic?

My circuit will use a max of 95mA no matter what, so the math is easy. However the GSM module uses a max of 20mA during idle (which is where it's at 99% of the time), but it jumps to 350-400mA for a few seconds during reception. Heh, math is not my strong suit.

As for the battery itself... I need a minimum of 3.8v for the sm5100, so at least that... capacity? That's the question I'm trying to figure out :)

Thanks for the help :)

I know the life will depend on the capacity... My question is how do I determine what my average current consumption is when I have to take into account short high-draw bursts?

For some reason I neglected to think about the bidirectional nature of GSM, so you're right that I have to account for bursts of 2A or so... again... my question is: How do I account for short bursts of large current draws in an otherwise low current device? (motor on full and gsm in idle = ~120mA).

In more detail:

I want to determine the battery capacity required to buy me X hours of life.

As an extreme example, let's say that the device draws a constant 120mA current @ 3.6v. Throughout the day, it receives 20 incoming text messages, but doesn't send any, resulting in 20 short bursts upwards of 2120mA.

What formula/algorithm/procedure/etc would I use in order to come up with an answer?

nickvd: I know the life will depend on the capacity... My question is how do I determine what my average current consumption is when I have to take into account short high-draw bursts?

For some reason I neglected to think about the bidirectional nature of GSM, so you're right that I have to account for bursts of 2A or so... again... my question is: How do I account for short bursts of large current draws in an otherwise low current device? (motor on full and gsm in idle = ~120mA).

In more detail:

I want to determine the battery capacity required to buy me X hours of life.

As an extreme example, let's say that the device draws a constant 120mA current @ 3.6v. Throughout the day, it receives 20 incoming text messages, but doesn't send any, resulting in 20 short bursts upwards of 2120mA.

What formula/algorithm/procedure/etc would I use in order to come up with an answer?

You need a integration function, much like your house kilowatt/hour meter. Your billed on total power consumed over a month. Your battery cares about only total power consumed until it's charge capacity is exhausted. The math isn't always easy but then you have to decide if it's easier to try and mathematical predict or just run the system and see how long the battery charge lasts in normal operation, and get a bigger battery if it doesn't meet your requirements.

Lefty

Heh, okay then... I guess I can balance math with trial and error. I understand that real-world performance is wildly variable, and really all I wanted to try and figure out is an approximate size of battery to start with... There's no sense in spending money on a battery that would never even have a shot, or spending too much money on an overkill battery (any more than 6-8 hours would not be needed, as it would be charged every day anyway).

So based on everything said so far, this is what I've come up with using the following assumtions...

  • 6 hours of run-time is required.
  • The device will be running at full-load with the gsm module in idle (~120mA).
  • The device will spend approximately 100 seconds receiving text messages (20 x 5 second bursts -- how long do text messages take to receive?).
  • That it will use the max of 2000mA for the whole duration (which is not likely).

If I understand everything correctly:

6 hours - 100 seconds = 5.9722222 Max Motor: (5.9722222 * 0.120) / .7 = 1.02380952 Max GSM: (0.0277778 * 2.120) / .7 = 0.08412705

Therefore... theoretically, I need a 1200mAh battery that is able to supply the requisite peak current draw.

Am I anywhere close to being in the ballpark?

A quick search brought me to these:

http://www.megabatteries.com/item_details.asp?id=14690&cat_id=51

KE7GKP: I think you are on the right track for specs. I wouldn't think that the transmit mode (2000mA) would be anymore than 20-30% of the (very brief) communication time. That is why I suggested only a 1000mAH battery.

GSM allocates timeslots to handsets - handsets can't transmit outside of their slot (there are 8 slots) so the maximum duty cycle is 12.5%, so if TX requires 2A (say), then the average is 250mA for transmit side.

It is important that the power supply can deal with the peak pulses without stress though, so a low-internal-resistance battery is important (not usually a problem with lithium batts).

How long does it take to receive/send a text message? Can I assume that using my higher end estimates I should be more than good enough choosing something in the 1200mAh range?

Also, is there an easy way to test my code running at 3.3v? The only arduino I have available to me is my Duemilanove. However I do have a few spare atmega328's, 2 of them have been burnt with the Uno bootloader (brand new still sealed from sparkfun).

I've built many standalones in my day, just none at 3.3v, nor at 8mhz. I'm sure my program will function just fine at half speed, but I am worried about the timing abilities.. is 1000mS @ 16mhz still going to be 1000mS at 8mhz? Supreme accuracy is not really required, but if it is way off it would mess with the patterns I wrote.

I know I'll have to change the fuses, but I am completely blind as to how...