Motor Balance - Fail (strange pattern)

Greetings! I’m flying a 450 quad using PX4 with firmware 3.5.3 and Mission Planner 1.3.50.0.

First off, the quad flies very well: no problems with autotune, very stable, stays in one place with position hold, etc.

Second, the motors and ESCs (935kv and 30a ESCs) remain cool throughout a typical 10-minute flight.

My problem is this: I’m getting motor balance warnings and failures in the flight logs and it’s always the same pattern. Motors 1 & 2 are similar (on the low side), and 3 & 4 are similar (on the high side). Thinking maybe I have an ESC problem, I changed them out with different ones but the problem remains. Here’s the auto-analysis data from my last flight:

Size (kb) 12518.888671875
No of lines 146230
Duration 0:07:25
Vehicletype ArduCopter
Firmware Version V3.5.3
Firmware Hash 1a85c237
Hardware Type
Free Mem 0
Skipped Lines 0
Test: Autotune = UNKNOWN - No ATUN log data
Test: Brownout = GOOD -
Test: Compass = GOOD - mag_field interference within limits (14.01%)

Test: Dupe Log Data = GOOD -
Test: Empty = GOOD -
Test: Event/Failsafe = GOOD -
Test: GPS = WARN - Min satellites: 6, Max HDop: 4.2
Test: IMU Mismatch = GOOD - (Mismatch: 0.59, WARN: 0.75, FAIL: 1.50)
Test: Motor Balance = FAIL - Motor channel averages = [1458, 1512, 1595, 1615]
Average motor output = 1545
Difference between min and max motor averages = 157
Test: NaNs = GOOD -
Test: OpticalFlow = FAIL - FAIL: no optical flow data

Test: Parameters = FAIL - ‘THR_MIN’ not found
Test: PM = GOOD -
Test: Pitch/Roll = GOOD -
Test: Thrust = GOOD -
Test: VCC = GOOD -

The only other weird thing I see is the “THR_MIN not found” failure, but I don’t know what if anything to make of that. Given the pattern, I think we can rule out CofG as an issue.

Didn’t mean to end it quite so suddenly! I want to point out again that the quad flies quite well. If anyone has any insights to this issue, please let me know!

Thanks.

Erm…post the log ?

Oops. Sorry!
https://1drv.ms/u/s!AgUSon7GqaypgdQO41Jb2JCMBPY7mg

Hmmm.

There is an imbalance between each pair of motors.1+2 are working much less than 3+4 to maintain a level hover.You can see that at the end of the flight.That could be an accelerometer calibration problem (can’t see one in the parameters) or the motors running slightly out of plane.Maybe a bit of twist on the motor mounts ? Maybe as simple as getting the CoG right before take off (much easier to do on a hexacopter :grin: ).

I also found some stuf I don’t understand in the servo outputs.Correctly listed as the four motors but the other figures look like a Taranis calibration set whereas mine look like pre-set firmware values.I haven’t got a clue about those numbers or whether they only come into effect if using the channel for something switch operated.

Mine-

PARM, 248483880, SERVO1_MIN, 1100
PARM, 248483956, SERVO1_MAX, 1900
PARM, 248484035, SERVO1_TRIM, 1500
PARM, 248484498, SERVO1_REVERSED, 0
PARM, 248484594, SERVO1_FUNCTION, 33
PARM, 248484675, SERVO2_MIN, 1100
PARM, 248485033, SERVO2_MAX, 1900
PARM, 248485111, SERVO2_TRIM, 1500
PARM, 248485218, SERVO2_REVERSED, 0
PARM, 248485603, SERVO2_FUNCTION, 34
PARM, 248485689, SERVO3_MIN, 1100
PARM, 248485772, SERVO3_MAX, 1900
PARM, 248486037, SERVO3_TRIM, 1500
PARM, 248486149, SERVO3_REVERSED, 0
PARM, 248486582, SERVO3_FUNCTION, 35
PARM, 248486670, SERVO4_MIN, 1100
PARM, 248486763, SERVO4_MAX, 1900
PARM, 248486851, SERVO4_TRIM, 1500
PARM, 248487127, SERVO4_REVERSED, 0

Yours -

PARM, 48704371, SERVO1_MIN, 982
PARM, 48704443, SERVO1_MAX, 2006
PARM, 48704519, SERVO1_TRIM, 1494
PARM, 48704614, SERVO1_REVERSED, 0
PARM, 48704898, SERVO1_FUNCTION, 33
PARM, 48704979, SERVO2_MIN, 982
PARM, 48705066, SERVO2_MAX, 2006
PARM, 48705144, SERVO2_TRIM, 1494
PARM, 48705392, SERVO2_REVERSED, 0
PARM, 48705501, SERVO2_FUNCTION, 34
PARM, 48705583, SERVO3_MIN, 1053
PARM, 48705670, SERVO3_MAX, 1954
PARM, 48706005, SERVO3_TRIM, 1053
PARM, 48706151, SERVO3_REVERSED, 0
PARM, 48706269, SERVO3_FUNCTION, 35
PARM, 48706445, SERVO4_MIN, 982
PARM, 48706538, SERVO4_MAX, 2006
PARM, 48706627, SERVO4_TRIM, 1494
PARM, 48706752, SERVO4_REVERSED, 0
PARM, 48707201, SERVO4_FUNCTION, 36

Microsoft OneDrive

dronekit-la picks this up:

         {
            "evilness" : 50,
            "evilness-is-deprecated" : "Use severity-score",
            "reason" : "Imbalance detected in Yaw axis",
            "series" : [
               "RATE.R",
               "RATE.P",
               "RATE.Y",
               "RCOU.C1",
               "RCOU.C2",
               "RCOU.C3",
               "RCOU.C4",
               "RCOU.C5",
               "RCOU.C6",
               "RCOU.C7",
               "RCOU.C8"
            ],
            "severity-score" : 50,
            "status" : "FAIL"
         }

Suggest checking your motor alignment - and that they stay aligned under
load. This is often caused by a motor being at a slight angle to the others.

1 Like

Jagger and Peter,

Thanks for the help. Jagger’s mention of accelerometer calibration sounded hopeful because I didn’t feel I had done a particularly good job calibrating it when I first assembled the copter. So I took my time and recalibrated the accelerometer as carefully and accurately as I could. I also put together a (very) simple rig to evaluate CofG. Left side/right side was well-balanced but the copter was heavy on the back end (no jokes here). I correctly this by sliding the battery forward when I strapped it in.

I also recalibrated the radio and changed the endpoints to 1100/1900, with 1500 as center. This is now reflected in the RC MIN, MAX and TRIM values. However, the SERVO values Jagger mentioned are unchanged. And they do look like the raw numbers out of my Taranis radio. I’m confused about the purpose of the SERVO values. I can see they are supposed to represent the individual motors but beyond that I have no idea. Information on this topic is pretty sparse.

Anyway, I flew the copter this afternoon and much as I hate to admit it, the motors still show an imbalance. The numbers are very similar to those in the previous log. Peter, I’ll look into the alignment issue next.

https://1drv.ms/u/s!AgUSon7GqaypgdRrlLhe7wJx2HPkHw

FYI, the frame for my 450 quad is the inexpensive FlameWheel type, made of hard ABS. 935kv motors and 1045 props. Does anyone know if the quad arms are prone to twisting with this setup?

Peter, any ideas on how to check the alignment of each motor relative to the others under load?

Quickest and easiest way to do it static is to make sure all the prop tips stay in relation to each other,So moved to be level with one prop it has to stay level when moved to the adjacent prop.

I’ve heard some of those frames twist a bit.Depends on your luck.You can get alloy arms for them.There are thousands of them flying (but I don’t know how well).

With accelerometers and end points out of the way it’s probably something physical.It may be a low performing motor dragging it’s partner down (I bought a thrust stand for finding stuff like that out).

Emax motors ? Do they all sound the same when you flick the props around by hand ? I am a bearing changer freak.I do not like rough bearings anywhere.Except in my old Land Rover of course…

Jagger, I took your suggestion about a possibly low performing motor and put together a homemade thrust tester. I used a simple servo consistency tester (the kind where you can dial in an arbitrary pulse width) and a digital gram scale (the kind you can buy on Amazon for less than fifteen bucks, preferred by drug dealers, I’m sure). The same ESC and battery were used throughout. To test, I would simply put a 1045 prop on upside down, zero the scale and take measurements.

Anyway, the results definitely support your suggestion. Motors 3 & 4 are weaker than 1 & 2, with 4 being the weakest by far. This is only my third build, but I used EMAX motors on a 250 quad without running into this problem. They ship already configured for CW or CCW props. The CW shafts are reverse threaded. The reason I mention this is perhaps the CW and CCW motors run down different assembly lines. Not that this would excuse the difference, but it might explain it.

I want to say thanks for all the support I received. I doubt I could have resolved the issue without it. A small pdf showing my measurements is attached.

Motor Balance Measurements.pdf (192.4 KB)

I have a set of those motors in a Quanum Nova and they are ok but…I’m thinking of some bearings all around on them as I noticed one being a bit noisy.I don’t use them much though nowadays what with my big toys.I do have a proper thrust stand too(which is fun and scary with 18" prop and 5010 motor on it).

As your’s sound a bit iffy you could swap the ESCs about and see if it’s them.There’s not a lot to go wrong on a motor bar a dead short or a collapsed bearing but the ESCs are minefields of possible faults.An underperforming diode can rob power.So can a FET or a solder joint.If a component is getting ready to blow (and there are plenty on an ESC) I can see it dropping available power to the motor.So a set of cheap mini ESCs may be a good investment.A set of 20A mini ZTWs is very reasonable at the minute for instance.

Nearly all of my motor failures have actually been ESC failures.Sometimes with flames.And smoke.Only one was when I stabbed the windings with an overlong screw.User error - please replace user and start again.

But don’t let me discourage you from buying some expensive great quality motors.Just an example.I haven’t got a set.Yet.

You’re welcome for the help.It’s what Ardupilot is all about.

EDIT.I just saw you used a ingle ESC for the tests so ignore my ESC rant above. :grinning:

Wow @peterbarker you just made my day. I had exactly the same issue (motor imbalance + drone had issues keeping its yaw) and after rectifying the horizontality on one of my motors the problem went away! Good catch.