I’m using a Holybro Tekko32 4-in-1 50A ESC with ArduPilot, and I want to understand how ArduPilot handles current limiting in this setup. If I gradually increase throttle, and when current exceeds a set threshold, the system should reduce output and keep the current within a safe limit.
I also tried using MOT_BAT_CURR_MAX in a test setup, but the current still exceeded the limit as I increased throttle through RC input. So I’d like to know whether ArduPilot can actually enforce current limiting in this kind of setup, what conditions it depends on, and how it differs from ESC-side current limiting.
I noticed a Current Limit setting in the AM32 configurator. I want to understand how this parameter actually works.
Apologies for posting in the wrong category, this is a multirotor setup. I’m testing on a single motor + propeller test bench using a Holybro Tekko32 F4 4-in-1 50A ESC running AM32 firmware, connected to ArduPilot.
The final goal is to implement overcurrent protection where if I gradually increase throttle and the current exceeds a set threshold, ArduPilot should automatically reduce motor output to bring the current back within a safe limit. I am currently trying to validate this behavior on the test bench before deploying it on the full multirotor.
I tried MOT_BAT_CURR_MAX but the current still exceeded the limit when I increased throttle via RC, so I’m not sure if this parameter actually throttles down the output or just acts as a monitoring value. Any guidance would be helpful!
IIRC our current limiting has fairly long time constant to not mess with attitude and altitude controllers and it also cant limit below hover throttle + margin for obvious reasons . I wouldn’t trust bench testing.
I understand that ArduPilot’s current limiting is meant to be slow enough not to interfere with attitude and altitude control, and that it won’t reduce below hover throttle plus margin.
I wanted to ask whether ArduPilot has any true overcurrent protection mechanism that can be used for bench-level safety, or if overcurrent protection should be handled entirely by this AM32 ESC or an external companion computer. Also, can this time constant be changed or tuned in ArduPilot, and if yes, how much is it typically set to?
Additionally, I want to perform these tests to showcase the OCP protection at bench-test level. I’m considering whether using an actual drone frame with 4 motors, tied down securely to the ground, would give more realistic results than a single-motor setup while still being safe for testing.
There is no OCP because hot battery is preferable to a crashed drone.
Neither ESC nor external computer can effectively limit current in a way that allows for safe ending of flight without use of parachute.
Bench tests are not reliable with Ardupilot. You should test in SITL or at least read the code and understand how bench testing will impact all relevant systems.