Motors do not spin the way I expected (no props on the benchtop)

Hi everyone

I am working with an octocopter. My issue is :

  • At 0 throttle 1 motor spins slowly
  • Increasing throttle makes other motors spin but 1 motor stops unless I move yaw and pitch stick in a certain direction but depending on pitch and yaw 1 motor stops and starts.
  • I’ve done accelerometer, ESC, compass and Radio calibration but nothing has worked.
  • There’s suspicion that it maybe instability due to when I tested the motors together first time, the propellers weren’t on and that confused the flight controller.

I’m curious if anyone has encountered this themselves and if there is a possible fix for this.

It’s irrelevant testing on the bench with the transmitter so those results are expected. Use Mission Planners Motor Test function to test motors.

That some motors stop completely is possibly concerning, despite the invalid test methodology. See the following articles:

https://ardupilot.org/copter/docs/connect-escs-and-motors.html

https://ardupilot.org/copter/docs/set-motor-range.html

Is this related to the EKF expecting the copter to tilt/move according to the inputs but it actually doesn’t?

I also have some sort of issue related to motors where I can go to the full RPM of something like 11200 using motor test but when I put my RC throttle to 100%, the max RPM the motors reach is about 7400. Don’t know if this will happen in flight. Broke a prop and waiting for a new one :grin:

Yes. It’s probably the most reported non-issue on the forum. It’s the gift that never stops giving. Many new users just don’t get it which is somewhat understandable.

What you describe is something like having Low RPM Power Protect enabled with low kV props but we don’t see much of that anymore as BLHeli_32 fades away.

I too wouldn’t have thought about it. I only literally figured it could be the EKF as I was asking you what the cause could be.

Regarding the motors, I have switched to Bluejay though

You could say EKF I suppose but it’s an open loop on a closed loop system. I once injured my hand on a servo-hydraulically controlled test rig under PID control by disconnecting the position sensor while the rig was active. No sensor feedback, the cylinder took off…

1 Like

Damn.

By the way don’t understand enough to know what “open loop on a closed loop” means but do you think that this could be the cause of my motor issue? I also see/hear vibrations on the motors if I move the throttle stick fast up to high thrillte levels but if I gently move it, not much vibrations/sounds nice.

Sorry if this is irrelevant to the OP’s question. I can make a new post if required

Open loop means that change in motor RPM doesn’t cause craft to change its attitude, attitude rate, acceleration etc.

It generally isn’t representative of control loop response in flight.

IMHO it can be used to test some things if you understand what you are doing. Namely that FC orientation matches expectation (though that can be more easily checked by looking at MP HUD)and that RC sticks cause response in the correct direction ex. pushing pitch forward causes aft motor(s) to spin up relative to front ones. But nothing else especially regarding control performance.

Open loop actually means there’s no feedback. The system may or may not respond as required but there’s no feedback to be fed into some sort of controller logic, right?

It’s semantics. ArduPilot is closing the loop on invalid feedback, usually resulting in runaway/saturated conditions that appear counterintuitive to the casual/ignorant observer.

Technically, an open loop controller works without feedback. For example, you could implement a (bad) cruise control scheme on a car by locking it out until you’re in high gear and then assuming that you achieve a given speed for a given throttle position (and accept the errors that would result from differing inclines and environmental conditions). Obviously, it’d be better to implement a closed loop controller that monitors speed and modulates throttle in response (the classic textbook PID example).

A more practical open loop controller does exist in the automotive world vis a vis EFI fueling based solely on a lookup table, which is how many engines are operated from initial cranking through at least a few seconds of warmup time (if not longer).

It’s impossible to achieve the kind of stability required for multirotors without closed loop feedback.

All that said, the “open loop” reference here is referring to static/invalid feedback to the closed loop controller, which, in effect, opens the loop, since the feedback is always incongruous to the commanded output.

3 Likes

Yes. That’s the case.