100% Throttle, only CCW motors spinning fast?


This is a large scratch build HexA running 3.6.5. It’s been a long road, but I’ve been flying in Stabilize and Alt Hold in the past. PosHold would oscillate, and today was going to be the AutoTune day to get the GPS modes working…

I took off in Stabilize, and it popped right up! I intentionally yawed to point it in the direction I wanted, and then did it again. At that point it started to descend at a gentle enough rate, so I pushed the throttle up. All the way up… and it wouldn’t gain altitude.

Looking at the dataflash log after the fact, it looks like RCIn.CH3 tracked my throttle accurately, and CTUN.ThO did as well, but RCOU shows that only 3 motors (the CCW ones) made it to 65%, and the CW ones were much lower, around 30-45%.

I’ve dealt with baro and mag stuff in the past, and I thought that was all squared away. This dataflash log has no errors in it that I can see? I feel like I’ve learned a lot about the guts of ArduCopter, but this one’s stumping me. I did notice that ATT.Yaw and ATT.DesYaw never line up, but some forum posts suggest that might not be relevant for 3.6.

My current plan is to move the wires from the ESCs even further away from the compass, and look for a parameter I saw once about prioritizing attitude vs. altitude.

The only other piece of info that might be relevant is that I did all of the calibration using APM Planner 2 (Linux laptop). I can try redoing it using Mission Planner if anyone thinks that might help, although it’s tricky to do compass and gyro calibration when the thing is so big and heavy :slight_smile:

Edit: woops, meant to attach dataflash logs. 2 sec.

Edit 2: 69-12-31_18-00-00.bin (475.7 KB)

Just a quick suggestion are all your motors exactly vertical. I had a similar issue caused by motors not being vertical

Thanks! I will double check that for sure. There have been some uhhh rough landings shall we say, and it’s definitely possible something got tweaked along the way.

Edit: yeah… that makes a whole lot of sense. I feel kind of dumb for not having though of that. I checked over all the props to make sure there was no damage (excess drag on one seems like it would induce a yaw), but didn’t even think to check whether they were vertical…

I noticed a couple things in the log. First is what David described already: check your motor alignment. The flight controller is putting maximum effort into yawing clockwise, which probably means you have a motor alignment issue or a prop/motor direction wrong:

Graph: RC3 throttle input and rate controller yaw effort (1.0 is maximum effort)

Second, the altitude estimator is fatally confused. Do not fly this drone in altitude-controlled modes before addressing this problem:

  • Your rangefinder is stuck at <0.5 meters
  • Excessive Z vibrations

Altitude estimate (red) diverges severely from barometer (yellow). Green is EKF altitude innovation, which is a measure of how far off the EKF thinks the sensors are. It should be near 0. Rangefinder stays near 0 (orange).

Vibrations: try to get them <30, especially Z.

Woah, great catches! The rangefinder was definitely working fine before, but some things have changed since then.

@Anubis thanks a ton! I’m getting more and more comfortable trawling through dataflash logs, but there’s a lot there and I’m still learning. I really appreciate both the tips for things to look at and the explanations of how you found them.

Thanks gents! One of the wings had gotten tweaked. Once that got fixed, it flew like a champ in stabilize (not perfect yet, RATE.YOut is still around 0.1, so there’s probably another one that’s misaligned a bit too). The rangefinder’s still acting up, despite working awesome on the ground when I was testing. Remounting the FC with some more foam helped clean up a bunch of the VibeZ; it’s still not amazing, but Clip* all came out as 0, so that’s an improvement!