Picoborg Rev Parallel Connection?

Hi PiBorg

I would like to increase the Amps output to my DC Motors up to 10 amps per Motor. I have now purchased 2 Picoborg Rev. I have a Battborg attached to one of them to power my Raspberry Pi3 and I also have a Triborg. Can I just use the Triborg to Parallel connect everything Identically. Except for the one Picoborg Rev with the Battborg connected?

Im only powering 2 DC Motors and I would just like to use my Robot like a normal Diddyborg but with higher Amp motors. As much as possible I dont want to use the daisy chain system because I dont need 4 separately controlled DC motors and I would like to use the altered diddyWeb.py WebUI to control the Robot.

Im also using a 4s Lipo with a 10amp fuse and plan to use another 10amp fuse for the other board as well.

Your thoughts on this would be appreciated.

Angel

piborg's picture

That should work fine, we have had multiple PicoBorg Reverses connected in this manner and it all works fine.

What you will need to do is:

  1. Connect the battery to V+ and GND on both PicoBorg Reverses
  2. Follow the Multiple Boards setup instructions to give each board a new I2C address
  3. Make sure your scripts only use PBRx.SetMotors, not PBRx.SetMotor1 or PBRx.SetMotor2.
    Failing to make this change could damage the boards!

If you have any photos of your robot we would love to see them ^_^

Thanks for the quick reply.

I was able to change both of boards I2c addresses into 10 and 11. However I dont know what to do after that. Should I insert this script somewhere? If so and Where? Sorry I dont code.

# Setup the library ready for use
import PicoBorgRev
# Board #1, address 10
PBR1 = PicoBorgRev.PicoBorgRev()
PBR1.i2cAddress = 10
PBR1.Init()
PBR1.ResetEpo()
# Board #2, address 11
PBR2 = PicoBorgRev.PicoBorgRev()
PBR2.i2cAddress = 11
PBR2.Init()
PBR2.ResetEpo()

And if I change all the PBRx.SetMotor1 or PBRx.SetMotor2 to PBRx.SetMotors that means that all use one board for one motor and Parallel the outputs of each board to the DC motor? My idea was more like Parallel the left outputs of both boards to power one motor and parallel the right output for the other motor. Will that work?

Anyway Ill do what you advice, your way would be more tested and proven.

Can I also use this on the metalWeb.py WebUI? Do I have to change the script on the metalWeb.py also?

I attached some pics of the robot and Ill send more pics after I finish, Maybe a youtube video too. Im building this for a company who does Laser Scanning. Im planning to mount a Faro scanner on it and Scann canals vents or any tight area hard for a person to squeeze in. My Idea would be to connect the Raspberry Pi to the Scanners Wifi and connect my Laptop with a Wifi amplifier to connect to the scanner and control the Pi. hope it all goes well.

Images: 
piborg's picture

Paralleling the outputs between the boards is not a good idea!
Put simply the timing of the outputs will not match and will cause a short circuit through the boards.

What you should do is connect one side of the right motor to both M1+ and M2+ on board #1.
Then connect the other side to both M1- and M2- on the same board.
For the left motor do the same thing with board #2.

You should replace the whole "Setup the PicoBorg Reverse" section in diddyWeb.py to the setup code you have:

#Setup the PicoBorg Reverses
import PicoBorgRev
# Board #1, address 10
PBR1 = PicoBorgRev.PicoBorgRev()
PBR1.i2cAddress = 10
PBR1.Init()
PBR1.ResetEpo()
# Board #2, address 11
PBR2 = PicoBorgRev.PicoBorgRev()
PBR2.i2cAddress = 11
PBR2.Init()
PBR2.ResetEpo()

Then go through and replace

            # Set the outputs
            driveLeft *= maxPower
            driveRight *= maxPower
            PBR.SetMotor1(driveRight)
            PBR.SetMotor2(-driveLeft)

with

            # Set the outputs
            driveLeft *= maxPower
            driveRight *= maxPower
            PBR1.SetMotors(driveRight)
            PBR2.SetMotors(-driveLeft)

Next change all of the global lines from

global PBR

to

global PBR1
global PBR2

Finally change the status LED line towards the bottom from

PBR.SetLed(True)

to

PBR1.SetLed(True)
PBR2.SetLed(True)
Subscribe to Comments for "Picoborg Rev Parallel Connection?"