Takeoff mode mysteriously stopped working

A few weeks ago, I built a Nano Goblin. After a lot of help from you guys in this long thread, I finally got it working like a charm. I figured out how to hand launch it properly, and had 10+ successful flights in a row.

And then, it mysteriously just stopped working. Yesterday and today morning, I got it launched successfully only about 1/3 of the time. This evening I tried to hand launch it six times in takeoff mode, and all six were failures. Here is the log. Three times the motor refused to start, even though I can clearly see in the log that acceleration was above 15 m/s, GPS speed was above 4 m/s, pitch was not above 40 degrees, and roll was not more than 30 degrees from level. One time, the motor started, but at a throttle of 45%–even though my TKOFF_THROTTLE is set to 100%. On the final takeoff attempt, the plane rose a bit, and then dove into the ground at high speed, breaking a lot of the airframe and somehow causing the flight controller to reboot. This was the first serious crash I’ve had in a long time.

The thing I changed before these failures started happening is that I tried to flash my HiMax 25A ESC (this one) with Bluejay. It didn’t work, so I reverted back to BLHeli_S–except on default settings, because I foolishly didn’t write down the factory settings for this ESC. After this, the plane flies notably differently even when I can get it launched. For example, 30% throttle used to give it an airspeed of 15 m/s; now it’s closer to 12 m/s, and I have to go to 40% to attain an airspeed of 15 m/s. If anyone has the HiMax 25A ESC, I’d be very grateful if you could tell me the factory BLHeli_S settings.

But suboptimal ESC settings don’t explain the problems with hand launching, in particular the motor not starting (ThO=0) or starting with a different throttle than configured (ThO < TKOFF_THROTTLE) after all the takeoff conditions were met. What could be wrong? I compared the current Ardupilot parameter list with a parameter list I saved a while back, before all the problems started, and the only differences were that EK3_IMU_MASK is now 1 instead of 3 and SERVO_BLH_MASK is now 1 instead of 0. I set SERVO_BLH_MASK to 1 to configure the ESC, but I never touched EK3_IMU_MASK, and I have no idea why it’s a different value now.

My setup:

FC: Mateksys F405 WMN
Ardupilot: Plane 4.5.6
ESC: HiMax 25A ESC
Motor: Emax Eco II series 2207 motor 1900 kv
Battery: 3200 mAh 3s Li-ion pack

Bump. I’d appreciate any advice on debugging the problem of the motor not starting even when all of the conditions are met, because that still happens a lot.

can you post a new link to the log? that one gave me errors.

Here is a new link: strange_cant_take_off.bin - Google Drive

Thanks for your help!

The pitch went up, then the nose dropped as it sped up. All before the motor could catch up.

Typically I would say that it could be:

  • A bad throw, too nose high. the plane stalled before it could catch itself.
  • C of G is too far back. This will cause the plane to pitch up and there is often not enough authority to correct it, especially after take off. Your other comments about changes in cruise speed vs throttle also suggest a possible change in C of G so it’s worth considering. Did you move a component or is it possible the battery position changed?

For what it’s worth, the motor was commanded to 100%, and the matching increase in current flow suggests the motor was working. I can’t say if it was enough. You could compare the current to a known good take off and see how it matches.

Did the motor sound bad when you launched it?