0
\$\begingroup\$

I am trying to figure out how many batteries I will need, in order to power my 4-wheeled robot (based on an Arduino). I understand that it is not practical to power the Arduino and the wheels with only one 7.4 V LiPO battery. So I know that the Arduino power source is going to have to be different than the motor power source.

The specs for the motor are:

  • Stall Current: 3.6A
  • Free Current: 0.15A
  • All motor specifications are at 7.2 volts. Actual motor specifications are within 20% of the values above.

I need to have all four motors run for at least one hour. So the question is: Can all four motors be safely powered by one 7.4V LiPO battery, or am I going to have to have one battery for two motors?

The batteries that I have are 2200mAh, 1C continuous discharge.

\$\endgroup\$
  • \$\begingroup\$ you should be okay to run the arduino off one of these, and the motors off another one the same. The arduino should monitor the motor's battery though and stop using the motors once the battery gets down to 6V. You must recharge it at this point. supposedly if you use the motors "slowly" and "carefully" your 2.2 Amphour batteries will drive the motors constantly for over an hour without too much issue. If you have a lot of weight on your robot it may not though. \$\endgroup\$ – KyranF Oct 9 '14 at 14:03
  • \$\begingroup\$ "powered by one 7.4V lipo?" It depends. If all four motors are stalled there will be ~14A of current draw and your battery will last about ten minutes. (2.2/14 = .15 hours) \$\endgroup\$ – George Herold Oct 9 '14 at 14:39
  • \$\begingroup\$ @GeorgeHerold yeah, like that's going to happen.. 10 minutes of all 4 being stalled?? the motor controller will blow up before anything \$\endgroup\$ – KyranF Oct 9 '14 at 15:19
  • \$\begingroup\$ @KyranF depends on the controller and the batteries. 3.6A for a good motor controller is peanuts, but if the 1C on the batteries is very strict, it'll be the batteries blowing up. And a robot running into a wall = stalled motors if the tyres are any good. \$\endgroup\$ – Asmyldof Oct 9 '14 at 16:46
4
\$\begingroup\$

The answer to this questions is quite complex, but let's try to simplify it by making some assumptions and generalisations.

First assumption: You want it to work a minimum of 1 hour continuously without ever stopping. Second assumption: A movement lasts on average 30 seconds. Third Assumption: All motors will start cold at once. Fourth assumption: The weight of the robot is such that the motors take 3 seconds (10% of the move time) to go from stall current to running current. Fifth assumption: Under the weight of the robot the motors will on average use about 1/3 of their stall current. Sixth assumption: The motors will go from stall to run current linearly.

Now, some of these assumptions will be more true than others, for example the last one, is quite ridiculous to a mechatronic engineer, but I feel this is not the time to start with differential and integral calculus, so we're making a triangle. It's easier and "close enough", especially since all those other assumptions are shots in the dark without some test data. So be aware, that the final estimation is going to be off and that you should do some tests with the finished robot to see by how much.

Now, we have an average movement to calculate the energy profile of, 30seconds, of which the last 27seconds are continuous movement with fixed current (the 3second start up is different). For those first three seconds a "triangle" is added to the flat curve of the other 27 seconds, which has its peak at time t = 0s, with 3.6A and its base at the level current of 1.2A (1/3 of the stall current as assumed). So its height is 2.4A and it's width is 3 seconds. This is a bit weird way to give measurements, but it'll work out, I promise.

So, the "area of energy" in the motor curve for each motor is Area(triangle) + Area(linear). The area of the triangle is 0.5*base*height = 0.5 * 2.4A * 3s = 3.6As. The area of the rest (which also sits under the triangle, sketch it on paper if you need to verify) is height * width = 1.2A * 30s = 36As. The total area is: 39.6As. The time span (width) in total is 30 seconds, so to get the average instantaneous current consumption you just divide again: I(avg) = 39.6As / 30s = 1.32A.

Now, there's four motors, continuously running at the average current over the span of an hour, as we assumed up front. If you already know that it will only be running the motors about 75% of the time, you can start with a battery capacity of 75% of the answer. And so on with any other, but they will have to be able to handle a continuous current higher than their capacity (C). For example, is the battery is only 50% the capacity, the continuous current will be 2C for that battery. This is why I just made the assumption of continuous running, because you will need that capacity with a 1C capable battery anyway.

So, we get a continuous current of: 4 * 1.32A = 5.28A. Now because the battery pack can be charged up to 8.4V initially and the motor ratings are at 7.4V, we should include a safety margin of at least 25%: Average current: 1.25 * 5.28A = 6.6A.

And as such a minimum capacity of 6.6Ah. Or, three 2200mAh cells in parallel.

But! Make sure the batteries are also rated for a peak current of four motors stalling during at least the 3 seconds of run in, or you will need extra cells in parallel! So the peak current of 3 cells parallel has to be at least: 3.6A * 4 = 14.4A. Or per cell: 14.4A/3 = 4.8A, which is 4.8 / 2.2 = approximately 2.2C.

Now, if you put them parallel, please make sure you first balance them together with resistors for a while, like so:

schematic

simulate this circuit – Schematic created using CircuitLab

In this drawing I am assuming you have ready-made packs that you don't want to take apart, but that do have a balancing wire. If there's no balancing wire: Take them apart and rebuild them! (Be careful not to damage cells! That will cause serious problems with potential bodily harm.) It's the only safe way! So you can use the above drawing with the balance wires. Then, when you've let that balance the cells through the resistors for several hours, connect the packs in parallel through the balancing wires, to get a pack like this:

schematic

simulate this circuit


If you have separate cells, or you have taken apart the battery packs to get separate cells, balance them in separate groups, so only the lower three together and only the upper three together. Like this:

schematic

simulate this circuit

Then solder them together without the resistors per group of parallel batteries, put them in series, add a balancing wire to the middle point of the finished pack.

Now, here's a very important thing to do: Make sure you have a way to balance-charge the finished pack! If you don't the lifetime of your batteries will be halved or worse! So after you have built the new pack, use a balance charger to fully charge both the cell stages before you start using it, or one of the two stages may get damaged very soon.


EDIT1: Another very important thing I forgot to mention just now, which I thought of when commenting above, is that you NEED to protect the batteries in your robot.

The batteries cannot handle the stall current of your motors, maybe the motors will get too hot as well, so when there's a stall current for more than 3 to 5 seconds, the robot might be stuck and you need to shut off power to the motors!

You can do this with your Arduino and a current sensing resistor, or you can put an independent limiting switch inside your battery pack. If you like reading and doing the exercise, this answer I gave last night could give you some inspiration (blatant advertising of 6 hours of work! ;-) ). Scroll down to Edit1 there.

With an extra two transistors you can replace the reset button by an I/O from the Arduino. But if you involve the Arduino, a current sensor and a bit of programming is much easier.

\$\endgroup\$
  • \$\begingroup\$ I have special lipo batteries from: dfrobot.com/index.php?route=product/product&product_id=489 that can be charged and balanced simply through a 9V/1A power adapter. Also the only wire that comes out of the battery is a 2.1 mm barrel jack. From what I understand(sorry if I mistook anything wrong from your response, im only a first year tron student), I can buy three of these battery packs and put them in an arragement like this: zbattery.com/c.288557/connecting_parallel.gif to put those three packs in parallel.Am I on the right track or did I miss something crucial? \$\endgroup\$ – Manan Oct 9 '14 at 17:21
  • \$\begingroup\$ I would charge each pack individually and make sure all these battery packs are at the same voltage before connecting them in parallel. Right? \$\endgroup\$ – Manan Oct 9 '14 at 17:40
  • \$\begingroup\$ @Manan Unfortunately that may not be possible. It depends on the electronics inside the battery pack. I cannot vouch for the electronics' reliability or ability to cope with connecting in parallel. Alternatively I cannot say if the pack will even allow you to draw a stall current at all, because the electronics inside probably will block off, so you'd need, IF it's possible at all, many more packs to support that. As I say in my answer: the only guaranteed safe way is connecting all cells together as drawn, not just the outside of the packs. \$\endgroup\$ – Asmyldof Oct 9 '14 at 19:48
  • \$\begingroup\$ Hi, quick update: I have decided to forgo those motors for more powerful motors and have decided to go from 4 to 6 motors. The motors on the left will be wired in parallel and so will the motors on the right.The specs for these are : Recommended motor voltage: 2 – 7.5 V Stall current at 7.2 V: 6.6 A per motor No-load current at 7.2 V: 420 mA per motor \$\endgroup\$ – Manan Oct 15 '14 at 19:25
  • \$\begingroup\$ From the website: "The motors are intended for a maximum nominal operating voltage of 7.2 V (2V minimum), and each has a stall current of 6.6 A and a no-load current of 420 mA at 7.2 V. Since the motors will briefly draw the full stall current when abruptly starting from rest (and nearly twice the stall current when abruptly going from full speed in one direction to full speed in the other), we recommend a motor driver capable of supplying the 20A combined per-channel stall current of these motors at 7.2 V." According to this(from the motor's site), I need 40 A in total to meet the power req. \$\endgroup\$ – Manan Oct 15 '14 at 19:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.