Can you set a limit on power draw from an ESC using Arduino?

Hello there, I'm new to Arduino and RC electronics/mechanics however I do have an interest in these things, and have got a question which I hope would be answered.

Is there a way using Arduino that can limit the power draw from a battery to the ESC.
For example(https://hobbyking.com/en_us/turnigy-dlux-250a-hv-14s-60v-esc.html) for this ESC, would I be able to set a limit on how much power can be drawn? Or I suppose set a limit on how much current can be drawn(I think voltage here is constant for esc). Also how would I be able to do this?

Perhaps a current regulator circuit between the battery and the ESC?

What do you think the resulting voltage would be after the current limit is reached? Do you want the voltage to go to zero?

It looks as a symptomatic fix to me, instead of scoping your set-up in a way that you can't overload your ESC or battery C-rating.

A solution I can think of is using a 200 Ampere hall element current sensor (e.g. ACS758) in series with the Battery, and then let the Arduino lower the servo throttle signal, when the ampere's exceed your battery or esc rating. This would mean you put the Arduino in-between your servo signal generator (RC Receiver?) and the ESC.
It reads the RC throttle servo signal and as long as the ampere is lower than your threshold it will send it 1:1 to the ESC.

But it makes me curious why you would need this.

To give a hypothetical situation for context, a motor would be lifting a weight to a certain height, which for the weight, I'm thinking the value could be electronically transferred to the arduino chip so it can receive it. (the weights value would be read by a load cell)

If the power required to lift the weight exceeds the current/'power' limit, then the height of the weight should slowly decrease as voltage decreases, or another proportional value. If the current limit is reached, then everything should just stay as it is. It's only when the limit is exceeded, changes occur.

Hopefully that helps :slight_smile:

Does you r weight change as it is lifted? That is what I get from your hypothetical description.

No, the weight would stay the same as it is lifted. It should be constant throughout

Okay, thank you, it sounds like a very good solution! I have to ask though, in regards to the hall effect sensor and the arduino, would I be able to program a threshold, i.e. 7 amps for example. And then everything functions as you stated?
So the limit wouldn't be from the limit of the battery, but rather the limit set in the arduino programming.

Yes, you can choose any threshold, as long as it is not higher than the ampere sensor rating (200A in my example). Though when it is 7A you should not need that very expensive 250 A HV ESC, but can do with a $5.- 20A esc. and a matching (more sensitive) current sensor (e.g. a 50A sensor) would bring a better resolution.

Okay, I’ve got a few questions, what would happen if if became higher than the ampere sensor?
I picked the 250A ESC as it’s the suggested ESC to work with a turning rotomax 150cc out runner motor, so I had thought using an esc with a lower amperage value wouldn’t be suitable. So I take it that a 20A ESC is more suitable in this case, can I ask why the sensor for this ESC has a higher amperage value? For the 250A, you suggested a 200A rated sensor.

Although after taking some time to do some research, the motor takes a batteries of 14s lipo, but the 20A esc takes batteries of 2-3s. Would the limiting current feature of this setup alleviate this issue with me using a 2-3s lipo battery with that motor?

How about a link to motor you're talking about? Is it https://hobbyking.com/en_us/turnigy-rotomax-150cc-size-brushless-outrunner-motor.html (the make is Turnigy not turning).

If so that is a 10kW motor specified for 14S and almost 200A. It is unlikely it would move even slightly on 7A and it certainly wouldn't work on 2S or 3S

Steve.

The sensor will report 200A (it's max), even if the current is more than 200A.

I start to think you are designing without enough experience with mechanics/electronics and therefore designing for a problem that may or may not even exist. Suggesting to run a 150KV 10KW brushless outrunner on 2S or 3S makes me think so.

I think you can get better quality recommendations when you share your intended application, instead of asking about details of a solution at the risk of starting with the wrong solution in the first place.

When I would have to design a hoist mechanism, I would take a small motor and use gearbox to get the required torque.

The amount of power needed to lift the weight would not change with height (within reason, I asssume you are not lifting to orbit), except for some slight effect such as the increased diameter of a takeup reel as you add layers of cable. Better solution would be to weight the load before the lift to see if it is within specs.

Yes that is the motor, turning was a typo.
I thought that it may have not worked with 2-3s lipo so I was a bit unsure, thanks for clarifying.
Would using a current sensor on a 200A ESC be the way to go then?
The power would be ~350 W, but the voltage would remain constant at around 51.8V
So to lower the power the current would be decreased, and wouldn’t get any higher than a certain current value.

Yes I’ve got little to no experience with mechatronics or electronics, just very experienced with being somewhat seriously curious, I’m in high school currently, so sorry for any suggestions that may seem a bit unorthodox.

To explain my application, it’s a platform fitted with two propellers and motors that can lift a weight up by 30cm.

The Turnigy RotoMax 150cc out runner motor I know is capable of lifting a lot of weight so that’s why I’ll be using them.

However the power coming from the motor is too powerful, the power should be around 350 W to lift the weights and the platform to a height of 30cm. So I’m trying to find a way to get the platform to stay hovering at 30cm, which I thought limiting the power may work, or using a barometer, but I’ve decided to see if the former idea may lead or split off to a better solution. Hope that helps

Confusing. There are plenty of BLDC outrunners around 350-500W. What made you think it would be a good idea to use a very expensive motor capable of 20-30 times the power you say you need?

And if your "platform" is free standing then your chances of getting it to "hover" reliably with only 2 motors is poor. There's a reason why drones usually have 4 or more motors.

Steve

I am looking for a thrust of ~120kg, which each of these motors provide 60kg each. Hence I decided to use them. I originally was thinking of BLDC outrunners with the range of power you've stated, but I'm not very sure they would have a very strong thrust capacity, as they'd need enough force to lift the weights off the ground first. If I have said anything wrong, do correct me.
As for getting it to 'hover' reliably, I am taking the concept that two motors can do that from the chinook helicopter. Obviously a flight controller with a gyroscope or something of that sort would help with this I assume.

You do not control the lift by limiting the current to the motors. Control the rotational speed of the motors (that is what the ESC does), and/or control the pitch of the propellers.

The Chinook can do that because (like any helicopter) it can change the rotorblade pitch to maintain stability. A helicopter with only a small tailrotor to compensate for torque, can do this with just one rotor.

I suspect that building a quadcopter with 4 motors with 40kg thrust will be easier to build, as that is "just" upscaling proven technology.

But with 2 rotors can be done (has been done)
https://www.avidroneaerospace.com/

Okay, thank you. Am I right in assuming that to remain at a fixed height(altitude), you’d have to make sure the rotational speed of the motor/props is suitable for that height/altitude? I’m thinking that the rotational speed would have to remain constant to keep a constant height. I could be wrong though, do tell.

I’m also thinking that as weight increases the throttle increases and vice versa(vertical movement only). I’m thinking of using a load cell arduino(takes in weight) with a flight controller that sends the information to the ESC which changes the rotational speed respective to the weight it needs to keep at a fixed altitude. Does this make sense? Or are there somethings that need to working on/somethings missing