Power to RPi3 - Battborg - Picoborg Reverse


Greetings fellow builders,

I'm building a small 4WD robot platform to use in future research of machine vision. For this I want to build a small-to-medium sized robot, however lacking the knowledge of robotics I come to you for some answers.

I came about your site, which offers tons of products and information. So I have decided to order some of your stuff. However, I've a few questions I'd like to get to the bottom of regarding one of your items.

1.) I want to buy Battborg and Picoborg, but I'm not quite sure how it works, power vise. If I attach a Battborg to a Picoborg (and also Picoborg to RPi3), then add a powersource to the Battborg connectors (V+, GND), will that power the motors (which are also attached) and the RPi3 simultaneously? Or do I always need a separate power source going in the Picoborg Reverse V+, GND connectors for the motors?

2.) Could I pontentially leave out the Battborg, and just power the motors and the RPi3 via Picoborg V+, GND connectors?

I hope I made myself clear enough:)

Thanks in advance!

piborg's picture

You can use the same battery to power both a PicoBorg Reverse and a BattBorg at the same time.
You will need the BattBorg as the PicoBorg Reverse does not provide the 5V for the Raspberry Pi.

First connect two wires to the V+ and GND pins on the BattBorg:

Next fit the BattBorg on top of the PicoBorg Reverse like this:

This will connect the BattBorg outputs to the Raspberry Pi via the two 3-pin cables.

Next wrap the two wires around to the V+ and GND on the PicoBorg Reverse and cut them to length:

Now get the wires from your battery / battery connector and connect the battery + and BattBorg V+ to the PicoBorg Reverse V+.
Then connect the battery - and BattBorg GND to the PicoBorg Reverse GND.

Finally connect the two 3-pin cables between the Raspberry Pi and the PicoBorg Reverse:

Now the battery should power both the motors and the Raspberry Pi ^_^

I see. Basically, in addition, you wire the Battborg and Pico in parallel to the powersource:) Thanks, much appreciated!

One more thing. If I had four motors that have (2 motors per channel of the Picoborg driver):

no load current = 0,25A @ 6V
stall current = 3,3A @ 6V
stall torque = 4 kgcm
gear ratio = 73:1
robot total weight = 4-5 kg (approx.)

Would your Picoborg suffice, since it provides 5A per channel? I know 3,3A is the ultimate upper limit, that would probably require a great deal of stall force, but nonetheless. What is your opinion? Also, what kind of battery capacity am I looking at, 1600mAh @ 6V, 2600mAh @ 6V?

If you could point me in the right direction, that would be great. Thanks again^^

piborg's picture

While 2x 3.3 A stall current is a bit over spec, there are some things you can do to reduce the maximum current drawn:

  1. Do not change between forwards and reverse drive instantly, let the motors stop first instead.
  2. Avoid sharp changes in speed, instead smoothly ramp the power up to the level needed.
  3. Avoid the worst case of setting 100% power while the motors are not yet moving.

If the PicoBorg Reverse starts making "squealing" sounds then it is using the power limiting functionality to prevent damage.
If this happens regularly it suggests the board is not really coping as too much current is being drawn.
In this case either use lower power settings or discontinue use.

As for the battery, BattBorg needs a minimum of 7V, so we usually suggest a 7.2V battery pack.
To get 6V from the PicoBorg Reverse you need to limit the power to a maximum of 83%:
6V ÷ 7.2V ≈ 0.83

I would take a wild guess of an average of about 0.5A per motor running normally under load.
As you have a total of 4 motors, this would be a draw around 2A in total.
The usage from the Raspberry Pi is probably low enough to ignore in this case.
This would mean that 2000mAh @ 6V would give about an hour of running.
The equivalent capacity required at 7.2V is:
(6V ÷ 7.2V) × 2000mAh ≈ 1700mAh

In summary the motors should be fine as long as you do not change speeds to harshly.
We would recommend a 7.2V, 1700mAh battery pack for about an hour of driving.
The scripts used to control the PicoBorg Reverse should be limited to 6V output, about 83% of max power.

How exactly should I limit the output to 6V? SInce I'll be using PWM, do I simply change the duty-cycle to 83%? Or do I have to do this using an additional voltage regulator on the output?

Thanks for the info! :)

piborg's picture

All you need to do is make sure the largest power level you give the motors is 0.83.

This can be done by multiplying the desired output level by 0.83 like this:

leftPower = .....  # Value for the left motors between -1.0 and +1.0
rightPower = ..... # Value for the right motors between -1.0 and +1.0

PBR.SetMotor1(leftPower * 0.83)
PBR.SetMotor2(rightPower * 0.83)

Just to make it clear, is the value you give in function PBR.SetMotor1(value * 0.83) just a duty cycle (PWM) value between 0 and 255? Like, giving it int 255, gives the motor 100% power (I used to do this using Arduino on my previous projects). But by multiplying it by 0.83, you just simply lower the duty cycle value, thus giving motor less power so it is possible to run not at 7.2, but at 6V?

I know I'm asking beginner questions, but usually these help me understand it through. Thanks:)

piborg's picture

Put simply, yes.
The only difference is that value is between 0.0 for 0% duty cycle to 1.0 for 100% duty cycle.

The PicoBorg.py library takes the 0.0 to 1.0 value and changes it to a 0 to 255 value internally.
This makes the code a little easier to read, for example PBR.SetMotor1(0.75) sets motor 1 to a PWM with a 75% duty cycle.

Subscribe to Comments for "Power to RPi3 - Battborg - Picoborg Reverse"