Arduino brushless ESC power limiter

Hi, i want to build an Arduino controlled electric skateboard using a 2500w 5065 skateboard brushless motor. I want to use a rc car ESC to control it since skateboard specific ESCs costs 100/200 dollars more than a hobby graded one. Skateboard specific ESCs have power limiting capabilities to prevent the ESC from burning the motor, i want to recreate that feature using Arduino so that I can limit the amps going to the motor to about 20a since i don't need a lot of power and i aim more to battery life. The ESC i want to buy is a 100a one which will be controlled from the Arduino which will read a potentiometer attached to it and adjust the power accordingly. To limit the current going to the motor i was thinking of adding a 200A hall current sensor to one of the power cables going from the battery to the ESC. Using the Arduino i will read the amps the ESC is drawing and if they are more than 20A i will lower the throttle (potentiometer) value so that the ESC will provide less power to the motor lowering the amps.

That's all theoretical, will that work or I'm better off spending 100$ more to get a proper ESC?
(The total project cost will be about 100$, so by buying a proper ESC i will double that)

Thanks :+1:

What voltage are you providing to the ESC?

What is the nominal voltage of the motor?

It seems reasonable that you could use the throttle to control the average current going to the motor. I would set up a PID loop where Setpoint is the desired current, Input is the measured average current, and Output drives the ESC. The throttle input would be used to pick the Setpoint from 0 to 20 (Amps).

The battery nominal voltage is 18v (5s lipo), and the motor is rated 11v to 48v

Could you please explain your idea better, it seems very good but i didn't understand it very well

Thank you.

A 2500W motor would draw about 52A at 48V. I think that means it would draw about 19.5A at 18V (351W). Maybe you don't need to do anything to limit the current draw to 20A.

Don't know which brand of ESC you are going with, but al lot of them are rated rather optimistically. They might list the max current capability for a brief time only.
You want to look at the continuous current rating, which too may be inflated and may require forced air cooling.

The motor will draw much higher amps at start up and you will want to keep this in mind, otherwise the initial acceleration will be quite anemic.

Sorry, but i'm actually building an e-bike, not a skateboard but i thought it would have been simpler to communicate my problem using a skateboard as an example. I will have a pedal sensor which will read the rpm of the cranks, i will then have the Arduino controlling the motor with a PID controller to keep the amps regulated. I will not have a throttle input as i want to keep everything as simple as possible and i want to control the motor just by pedaling. The problem is that if i set an amp limit to a fixed value suitable for going uphill that would not be suitable for flat ground since the motor will spin way faster trying to reach the set amp limit. (The motor will be mounted in a way that it will make the wheel spin through the same chain that the cranks are connected to, so the speed of the motor is dipendenti of the cranks speed) to avoid that i though of making a PID controller for regulating the amps and adjust the motor frequency accordingly, i will than compare the frequency given by the PID and constrain it to a certain value calculated from the cranks speed (let's say that the output rpm of the motor is constrained at 1% the rpm of the cranks). That will theoretical use max amp if needed but also not go too fast, right?

I will also set a cranks rpm limit below Wich the motor stops.

Sorry again for misleading you, thank you

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.