I am developing a program for school students to experience a “day in the life of a software engineer”. In the program, the school students will build the ‘mission control’ for a ‘rover’ and then use what they’ve built to guide the rover to a destination. Their role is to build the mission control, mine is to come prepared with the rover (and software engineering know-how). Unfortunately, I know almost nothing about robotics and electronics. But I’m hoping those here can help!
EDIT: A little more detail on the project. The Raspberry Pi will be connected to the internet using 4G, and will have a GPS dongle and a high-quality camera attached. The students will guide the robot from a remote location (well outside the building) to a spot in the building, driving over rough terrain.
I already have the Raspberry Pi. I am keen to purchase the following:
I would like to know what else I would need to buy to build the robot side of the project. I understand I will need batteries to power both the Wild Thumper and the Raspberry Pi - but what will I need to buy to power both (I believe they run at different voltages, which I understand means I need to buy something to handle that) for up-to 4 hours? Would 2 x Rechargeable NiMH Battery Pack: 7.2 V, 2200 mAh, 3x2 AA Cells, JR Connector be sufficient? Is there anything else, e.g., wires, other bits, that I would need to buy to build this robot?
I am happy to follow tutorials, etc., to build the robot - just wanting to know that I’m working with the right gear.
The maximum current output from the battery just for the motors would be around 13.2A, using this number to also power the Pi and any peripherals (I would hope the motor isnt stalling for 4 hours) you would be looking at around 50 AH battery which is absolutely huge. You could definitely get away with a smaller battery provided you arent running the motors at stall loads.
We’d be looking for a batter with a 7.2V output but since they range so much we’ll also need a regulator.
PS: there are quite a few assumptions in here where I use the absolute maximum power that a component will use. the full engineering process would include doing some calculations for how much power you would be using in theory then backing it up with some tests.
I’m assuming this means using maximum energy? I would expect not - I would think the motor would probably be used for about 1-2 hours tops, and certainly I don’t think it would need maximum power for that.
So which specific products could I buy that would at least get me to the testing phase of the project?
I can’t speak for Liam, but I assume he just means that the motors aren’t constantly stopped and trying to move against something very hard to move, as this is when they will draw their maximum 6.6A current.
Additionally, it’s worth noting that the Simple Motor Controller boards feature a regulator that can take anywhere from 5.5 to 30V, and a Battery Elimination Circuit (BEC) to power a Pi or any other 3.3V/5V peripheral (although there isn’t a current rating, so keep an eye out for undervoltage
One more thing to consider is that the stall currents for 2 motors a side is 13.2A, I’m just discussing controller choices with my colleagues, as it’s tricky to find one that supports the higher current, but a low enough voltage for the motors (6V). I’ll keep you posted!
Sounds like a cool project, I’ve recently taken the plunge into designing some 150gram combat robots so I’ve been down a similar rabbit-hole.
Component choices are tricky because each part is based on the previous part, the battery choice will be made for you by the choice of all the other parts.
Since we have locked in the choice of motors we can use their operating voltage and stall current to select the motor driver to control them.
In order to use 4WD with differential steering, one driver will control the left wheels and the other will control the right, both drivers will have two motors wired in parallel.
The voltage rating of our driver will need to be similar to the motor’s 6V
The current rating is more strict and will be based on the stall current of both motors 6.7A * 2 = 13.4A.
The stall current will only occur when the motor is attempting to drive at full speed with the shaft locked and unable to turn.
These motor drivers have similar voltage ranges to the one you suggested but will have the extra current headroom required.
Battery selection means you have to make a few assumptions about how the robot will run.
If we assume all the motors will be driving at full power, they will each draw around half their stall current based on the motor curve.
So four motors at half of stall current is: 4 * 3.3 = 13.2A
Our battery will have a capacity in AmpHours, if we want to draw our operating current for 2 hours then we can calculate the capacity needed as:
13.2A * 2 hours = 26.4Amphours (or 26400 milliamp hours as some batteries use).
This is a pretty hefty battery requirement so perhaps swapping in several batteries will be easier than one huge one, provided the battery can still provide the 26.4A continuous current.
A bit of a tricky problem, 150gram combat robots only need to run for 3 minutes to finish a match
Thanks Trent - I really appreciate you walking me through this!
I think, in this case, we might just have to change the requirements to be more realistic. If we wanted to run the Pi for roughly 2 hours, and allow for 15 minutes of driving time, would the maths be something like the following:
Raspberry Pi (based on these values for Raspberry Pi 4B): 1.2 * 2 = 2.4A
No worries OlSnacky, nothing checks that I’ve understood my own designs like trying to explain decisions to someone else!
Using the Raspberry Pi page you linked I’d allow the typical bare-board current consumption (600mA) then add in the maximum USB draw (1.2A), just in case you want to add a bunch of peripherals like a camera later and have a conservative estimate.
Those two numbers give us the Pi’s instantaneous current draw of 0.6A + 1.2A = 1.8A
To work out what we consume over two hours that’s current multiplied by the duration to get Amp-hours
1.8A * 2 hours = 3.6Amp-hours
As for the motor drivers with 15 minutes runtime:
Using our earlier calculation of 3.3A operating current across 4 motors to give an instantaneous draw of 13.2A and a duration of 15 minutes for:
13.2A * 0.25 hours = 3.3Amp-hours
I’m not sure what the other half of your calculation represents, but I’ve neglected the current draw of the motor drivers themself.
One tricky bit is that each Amp-hour requirement we have calculated will be for a given operating voltage. So our 3.6Amp-hours for the Pi will be for a 5.1 Volt supply and the 3.3Amp-hours for the motors will be for our motor voltage of around 7-ish volts.
We should be able to supply both from the same battery using a regulator or a Battery Eliminator Circuit (sometimes called a BEC) to regulate the voltage down for the Pi, just so long as our BEC can handle the 1.8A continuous current load.
The next part is making sure we can find a battery that has the right specs for capacity (Amp-hours), continuous current (Amps), and instantaneous/burst current (Amps) with a nominal 7.2 Voltage.
There is definitely an argument to be made for just using a tried and tested combination of components instead of deriving it all part by part as we are doing, but unfortunately this robot is a scale larger than that I’m familiar with so I don’t know the go-to options off the top of my head.
I’m not sure what the other half of your calculation represents
On the Wild Thumper page it says:
no-load current of 420 mA at 7.2 V
I took this mean the “idling” current draw of the motor. Is this an incorrect interpretation?
I think James mentioned in his post that the motor controllers we are looking at have a:
regulator that can take anywhere from 5.5 to 30V, and a Battery Elimination Circuit (BEC) to power a Pi or any other 3.3V/5V peripheral
So I’m hoping that’s sufficient for our needs.
I had a look around the website for something OTS that could be used as the battery. Of course, happy to buy the individual components and put them together if that’s going to give us the battery we need
I think in this case the no-load current refers to spinning the motor at top speed with no resistance on the shaft. You get the maximum torque at minimum speed so conversely, you get minimum torque (no-load) at maximum speed.
The motors at idle shouldn’t be supplied with any current, and the current drawn by the drivers should be negligably small.
I’m having trouble finding a current limit for the BEC that is integrated into the board, that isn’t a show stopper though, if the integrated one isn’t powerful enough you could use something like this to step the battery voltage down to a level the Pi is happy with:
So I’ve been doing a little bit of reading on batteries. If I bought 10 x Polymer Lithium Ion Battery (LiPo) 18650 Cell (3.7V 2600mAh, Solder Tab) and built them into battery pack with a 2x5 configuration would that be sufficient? I feel like this should work, but have been led to understand that after the batteries have been discharging for a while the voltage may drop below the required 7.2V.
I was just reviewing some of the resources I was using to get my head around batteries and realised it would make more sense to just share them. This playlist by Battlebots Team Witch Doctor is designed at walking school-aged children though assembling a robot kit and explaining each part. It’s basic but it is still very relevant to adults.
Assembling a custom LiPo pack is certainly an option but is something that carries a fair amount of risk to a novice, personally, I’ve only bought assembled LiPo packs at the size I need.
NiMH batteries are pretty robust and good for high power loads but will be larger than a LiPo option.
My understanding is that LiPo batteries are king in terms of energy storage, current delivery, weight, size, and sometimes cost, the big downside is that they are fragile and when things go wrong with LiPo you have a big problem on your hands.
So I checked the numbers and I don’t think the voltage drop over time will be a problem, the two motor drivers I linked previously have a minimum voltage of 6.5V and 5.5V respectively, so we have a little headroom to work with.
I think you will run into problems with discharge current rate limits, fortunately, the solution there is just to add more batteries in parallel.
I’ll post my math below so someone can check my numbers.
Cells arranged with 2-series 5-parallel will have a voltage of:
3.7V * 2 cells = 7.4V
Each cell has a standard discharge rate of 0.2C and a maximum discharge rate of 1C. C is the capacity of the cell (2600mAh). At Full discharge rate we can pull:
2600 * 1 * 5 cells = 13000mA or 13A
So that won’t cover the motors at a typical operating current and certainly won’t be enough for a stall which would need at least 26.4A
I’ll have a look around and see if I can find an RC car/drone battery that might be suited to the task, they have some seriously impressive current delivery.