How not to fry a Motor Controller

I’m building a beach rover robot to deliver beach chairs and coolers across the beach. I burned out my motor controller the Diablo from piborg.

I need a motor controller that can handle a 36 volt battery pack with these parameters:

Battery Model: 36v 20ah
Nominal Voltage (V):36v
Nominal Capacity (AH): 20Ah
Cut off voltage: 30V
Rated voltage: 38.4V
Charging voltage: 43.8V
instantaneous Maximum Discharge Current (A): 100A
Maximum Continuous Discharge Current (A): 50A
BMS:50A
Cell Combination: 1-parallel 12-series
Cell Size (LWT):220145108mm/8.75.74.3inch

The 4 DC motors are 1 HP each and I would like to control them with a raspberry pi and a hacked PS3 controller. I think controller will do the job.

Am I missing anything? Will it handle the battery? Better options out there?

Thank you.

1 Like

Hello @Hughman ad welcome to the RobotShop forum,

The problem is not being able to handle the battery but withstanding the current drawn by the motors.

You mentioned you have 4 DC motors that are 1 HP, assuming you are using only one driver and that you are connecting two motors in parallel. They would consume around 23-27A each, so around 50A per channel.

You shared a datasheet that mentions two controllers: CCS_2xSHB35A and CCS_2xSHB50A. If you use two drivers you could use the CCS_2xSHB35A (which withstands 35A continuous per channel), and if you only want to use one you’ll need the CCS_2xSHB50A (which withstands 50A continuous per channel).

If you need more information on how to select a motor controller I suggest checking this tutorial:

I hope that helps!

1 Like

A motor controller that can handle a 36V battery pack with the specifications you’ve provided would be a good fit for your beach rover robot project. A few options you could consider include the Sabertooth 2x32 Motor Controller, the RoboClaw 2x60A Motor Controller, or the Dimension Engineering Sabertooth D2X. These controllers all have a high voltage rating and can handle high current loads, which is important for your application.

However, I would recommend double checking the compatibility of the chosen controller with your raspberry pi and PS3 controller. Also, you might want to check if the motor controller you choose can handle the power output of 4 1 HP motors.

It’s also worth noting that you may want to consider a BMS (Battery Management System) to protect your battery pack.

1 Like

Hi, You can use two CCS_2xSHB35A drivers for 4 motor as geraldinebc15 suggest. (CCS_2xSHB35A have working voltage <45 and continuous current 35A/Chanel) So it will work with your application.
But you can’t use CCS_2xSHB50A or RoboClaw 2x60A or Sabertooth 2x32 (Because the working voltage <35V)

2 Likes

@Hughman Welcome to the RobotShop Community. Care to share a photo (or CAD) of the robot? Really curious what it looks like. You might also want to consider the effects of being around high salt water (even the air will likely have a higher salt content).

1 Like

Thanks for the help thus far. It seems like this is the way to go? to use one you’ll need the CCS_2xSHB50A (which withstands 50A continuous per channel).

1 Like

Thanks you, yes I have a BMS in the battery pack. I just need to be sure a new controller talks to the raspberry pi and can understand python instructions.

1 Like

Hi @Hughman,

The controller supports PWM and UART commands so yes, you will be able to use it with a Raspberry Pi.

2 Likes

WOW! Shipping is more than the controller? But if I buy a tone of stuff to get free shipping then return the extras, I get free shipping but drive up the operating costs of robot shop. Something’s amiss here.

Hi, I see that is easy.
If the product don’t have any problem and just want to return. They still base on final a mount of that order to decide free shipping or not. But you can connect direct with Shop service to sure that.

Please note that according to Robotshop’s terms and conditions, you must also cover the cost of returning the products. Shipping fees will only be refunded if the return is a result of a shipping error on our part.

Also, note that free shipping is only available for products shipped by RobotShop. Marketplace vendors (Skus that start with RM) offer different shipping options.

2 Likes

CCS_2xSHB50A - this one looks like it can handle the amps, but has max volts of 30? My pack is 36 volts avg but has a high of 43/44. Should I go with this one instead? CCS_2xSHB35A. It handles the volts.

Board is $89, shipping $45 - to quote the great philosopher Shaggy, “Zoiks!”

Shipping costs depend on the warehouse where the product is located.

If you want to reduce shipping costs I suggest you enter the platform where you reside:

As I mentioned before RobotShop takes care of the shipping of “RB” products.

If you reside in the USA, the shipping of some products for purchases over $100 is free.

I have the board, but need some help connecting to the rpi. The board supports PWM and UART, which one is best for motor controller board? Also, which GPIO pins go where from the controller board? The instructions form the board manufacturer don’t show this. Help is greatly appreciated as I am a 5 year old with this stuff.

Hi,
I think the PWM is easy way for you, it is very simple, just config the PI’s pin as PWM signal. I see Raspberry have lib witch config any Pi’s Pin as Pwm. After config PI’s Pin as PWM (You need config two Pwms signal to control 2 channel of CCS_2xSHB35A), you just connect these pins with CCS_2xSHB35A’s PWM1, PWM2. (CCS_2xSHB35A are 2 hbridge channel)
But if you want to read more information from the driver, the UART is choose.

The board supports PWM, UART, Analog, and RC. You can choose which mode you prefer, PWM is one of the easiest modes, you simply need to connect your RPi following the connection diagram (page 8 on the manual).

If you don’t know what GPIO to use, simply look for the Raspberry Pi pinout or look for a tutorial online, for example:

The UART method means you would control the motors using serial commands, the protocol used is described on page 10.
This is an example of a library in Python (that you can use on a Raspberry Pi) for a DIFFERENT “motor controller”, actually for LSS servos, but it is a great example of how to implement serial communication with a Rpi.

The analog option allows to use of an analog signal (for example a potentiometer) to control the motors, you can also find tutorials online on how to do this.

And RC simply means you can use an RC receiver that supports PPM to control it remotely.

I hope that helps!

1 Like