Drone crash. Cause maybe spotted but I need help understanding the issue

Hello, I’ve built a simple quadcopter to learn more about photogrammetry and mapping, I’ve built it without previous experience but everything was working fine.

I’ve completed multiple test flights and some fully automated missions, all went well, and I was writing the various manuals I’ll need to fly it legally.
Then the country went into covid-19 lock down and I was unable to fly the drone at all.

Yesterday I was finally able to fly again, I wanted to test again the ESP-07 telemetry range but an annoying wind rose, so I decided to just fly close to me and test the overall behavior in windy conditions while messing with flight modes and the camera trigger.

The first 2 flights were perfect, the wind gusts were not a problem, but during the third attempt disaster stroke.

I heard the “flight mode change failed” message from the phone I was using with QGC, then the drone went down like a dead weight.
I was not swapping flight modes or using any command other than the main 4 channels at that time.

I did the mistake of turning off the RC so the drone engaged RTL but it was stuck into tall grass and went nowhere.
When I found it, it was still powered and the motors twitching (unable to spin due to grass), no visible damage, I immediately disconnected the battery.
I was able to do a bench test with no props on, motors/esc are not smoked but I need to know how to prevent the issue to happen again, next time I’ll not be this lucky.

Drone details:
X quadcopter 1750 grams
Battery: turnigy 4s 5200 mAh 12-24 C
Motors: Sunnysky v2806 650Kv
Props: Gemfan 12.38
ESC: HAKRC 35A Blheli_32
Controller: Radiolink Pixhawk (zener diode and cap installed)
Power module: The one supplied with the FC.
Gps: RadioLink M8N GPS SE100
RC TX: FLYSKY FS-i6X
RC RX: FS-iA10B
Extra voltage sensor: FS_CVT01
Telemetry: ESP-07S
Camera: Canon a2300
Camera trigger/power redundancy: Dr. Mad Thrust 5A HV BEC with Inbuilt Aux Controlled On/Off Switch
Copter version 3.6.12 (I was planning to upgrade to 4.0.X)

I’m using dshot 150 as suggested and MOT_PWM_TYPE is set to 4.
I’m using aux channels from 9 to 12 for the motors.

My failsafe options:
GCS: do nothing
Battery: do nothing (I measured it later and the voltage was more than 15V)
Radio: RTL
Crash check: Disabled

Radiochannels: (I have 10 channels max)
RC5: Flight modes
RC6: Nothing (reserved by arducopter)
RC7: Camera trigger
RC8: RTL
RC9: Motors emergency stop (this may be what crashed the drone)
RC10: Auto

Blheli_32 suite options:
Rev 32.7
Rampup power: 20%
Temp protection: 140 C
Low RPM Power Peotect: OFF
Low Voltage protection: OFF
Sine Modulation Mode: OFF
Stall Protection: Normal
Demag Compensation: LOW
Motor Timing: AUTO
Maximum Acceleration: 10.0% per millisecond
Minimum/Maximum Throttle: 1043-2000 (not calibrated, I’ve read there is no need for calibration with Dshot)
Brake on Stop: OFF
Non Damped Mode: OFF
PWM Frequency: 48 kHz

I may have spotted the problem looking at the RCIN section of the logs.
C9 and 10 have a sudden spike so automode and motor emergency stop are activated.
This may be the reason why the drone crashed down instantly and QGC told me “flight mode change failed” (I had no WPs mission loaded)

My automode is on a 2 position switch while the emergency stop is controlled by a rotary knob, I’ve not activated those by accident.

RTL mode works fine, tested in the past, the reason why it appears in the log it’s becouse I’ve turned off the radio by mistake right after the crash.

What is also weird is the behavior of RC 11-12-13-14, they are “activated” but I don’t have those channels in my radio equipment.

Could you help me to understand the nature of the issue?
I have problems uploading the log files, hope this works.
BIN: http://www.mediafire.com/file/764jntbo77u5qa0/2020-05-09_16-00-47.bin/file
LOG: http://www.mediafire.com/file/3h5s50qbolli4hw/2020-05-09_16-00-47.log/file

Thank you for your attention, sorry for the long post.

you have Motors emergency stop on RC9 and unfortunately you enabled it while your copter was in air at ~11m altitude

Indeed but I didn’t enabled it.
All RCIN channels from 9 to 14 went over 2000 at the same time activating motor interlock and auto mode.

I don’t know if it is a bug or if it’s related to electrical interferences.

Whats is your radio control?
Does it have failsafe function ?

Radio: FLYSKY FS-i6X
Receiver: FS-iA10B
My radio failsafe is set on RTL

Max channels 10, using s.Bus.

I really don’t know how channel 11-12-13-14 got activity, my radio does not support them.
Activity on channel 1 to 8 looks normal.

You witnessed radio receiver fail safe action.

most receivers have pre configured action to execute once transmitter signal is lost.

either it will default all channels to high (like your case) or the opposite.

it is safety thing how to decide your device power loss/singnal loss behavior.

it is your choice to decide if you want it to fail safe --> excuse emergency interlock.
or fail dangerous --> do nothing and keep last good value.

check your Rx/Tx manuals you will find over-there.

good work for a first build! and maybe next time you can do your fail-safe tests on the bench, as you witnessed there are many things that can be overlooked.

all the best!

The failsafe option of the “RX settings” in the radio menu is OFF for all 10 channels.
In the logs of the crash only the channels from 9 to 14 got set to maximum.

Also, the drone was quite close to my position when it crashed, 20 meters maximum.
In the last test, before covid-19, I reached 184 meters with no radio or telemetry problems; I had to stop since I lost visual line of sight.

Is turning off the radio a method to trigger receiver failsafe?

I just did a small test
-Armed with no propellers
-Throttle to 50%
-Turn off radio.

The drone switched to land mode then disarm since I was in stabilize mode with no gps signal (indoor). Repeated with GPS lock and the drone activated RTL mode on radio turn off.

I looked at the experiment logs and there is no max value being set on channel 9 to 14 like what happened during the crash.

I remember that I was worried about flyaway situations, months ago while doing the radio setup, and I did a similar bench test.
The results were ok: the drone was detecting a radio loss and activating the failsafe.
So I thought that my radio was using the ““No Signal” method” to trigger failsafe and I was good to go, I set a fs_pwm anyway and I left the failsafes OFF on the radio.

However, in the failsafe section of mission planner (Initial setup->mandatory hardware->Failsafe) I can only see 8 channels.
In the logs of the crash the first 8 channels are acting like expected but from channel 9 onward the maximum value is being set.
Is there a problem with pixhawk 1 clones and failsafe settings on more than 8 channels receivers?
I know it is an old board type.

If I manually set the failsafe for channel 9 and 10, from the radio menu, will it override whatever happened during the crash?

I noticed there is no change in throttle value during the time Tx was OFF. Rc1-Rc4 kept same values. throttle needs to cross the min threshold to detect fail save in your case 975 or all channels should stop outputting pulses to flight controller (depend on your Rx configuration) but non of that happened.

only toggle switches get activated.

in your experiment logs what was Rc1-Rc4 behavior? kept same value or crossed trigger threshold? means how your FC detecting radio fail safe activation?

then we can see what’s going on from there.

a quick internet search shows that OFF means your channels will keep the last value and will not trigger fail-safe you may investigate this further.

Also, try switching transmitter ON/OFF several times and see what are the radio readings on ch9-ch14 to confirm if the high spike will occur again or not.

I hope this helps.

On failsafe activation the pwm values do not change, the last known value is kept.
This means that failsafe action should never trigger due to low PWM on the throttle signal, <975, since the minimum value of my throttle is above 1000.

However, my radio is not triggering failsafe with the min_thr method but trough the:
“Receiver configuration for No-Signal method”

It is described in the middle of this page: https://ardupilot.org/copter/docs/radio-failsafe.html

I remember that, during the initial setup, I was not sure what was the failsafe method used by my receiver. I did a bench test and failsafe was triggered without the need of specific channel settings on the radio menu so i left them turned OFF.

I did another bench test, earlier today, where I messed with all radio channels, turned the radio ON and OFF multiple times and activated the motor emergency stop from the smartphone using QGC.
I was not able to replicate what happened during the crash, the odd behavior on channels 9 to 14 remains a mystery.

Is the issue really caused by the radio?
Suddenly, in the span of 0.3 seconds, the signal on all channels greater than 8 went to the maximum value and immediately returned to the minimum, even channels my RX is not supporting (it’s 10 channel max).
It makes no sense, all other channels behaved normally and the failsafe options are the same on all channels.

I was thinking about the possibility of electrical noise messing up with my RX but shouldn’t I see a fluctuating, “dirty”, line of pwm values in the graph? Shouldn’t all channels show some kind of disturbance?

EDIT:
I analyzed the logs with https://plot.dron.ee/
It reports some radio errors:

  • ERRORS *

  • 16:05:58 FLIGHT MODE: VEHICLE WAS UNABLE TO ENTER FLIGHT MODE AUTO

  • 16:06:03 RADIO: RADIO LATE FRAME

  • 16:06:03 RADIO FAILSAFE: OCCURED OR FAILED TO INITILIASE

What is strange is that radio late frame error should occur after 2 seconds of no radio signal.

“Late Frame : no updates received from receiver for two seconds”

If I remember correctly the drone was responsive to command, it went down all of a sudden.
I see normal RCIN activity on the main 4 channels just before channel 9 and 10 spiked to maximum.

Also, the attempted mode swap to auto, that failed, happened before the radio failsafe got triggered
Due to the fact that auto mode is activated by channel 10 looks like the radio failsafe got triggered after the sudden spike to maximum value of channel 9 to14 and it is not the cause of it.

make sense.
what happens as follows:

  • got radio glitch that activated motor interlock and cleared in a split second.
  • that caused all your motors to shut off and start again which causes loss of control.
  • after 5 seconds FC recognized a radio fail-safe situation and initiated RTL by that time quad already on the ground but your motors kept spinning thinking that RTL is active till you unplug power later.

do you remember if quad falls out of the sky immediately after you switch off your radio? and did you switch back immediately?

maybe you can upload some photos of your wiring? mainly Rx and FC connections.

I would also doubt the telemetry/QGC communication not sure how it can cause this communication glitch but it is worth investigating also.

I have stumbled on an older issue that looks very similar to yours!

https://discuss.ardupilot.org/t/cumulation-of-crashes-due-to-seemingly-weird-input-pixhawk-4/35537/75

@rmackay9 or @tridge maybe can help with this? an un-commanded RC input(motor interlock) that caused a crash?

I hope this is helpful

Almost:
The radio failsafe activated after the crash, when the drone was already on the ground.
It was triggered by me, I turned the radio OFF while I was approaching the crash site.
A very stupid thing to do, the drone was still armed becouse I disabled crash check from arducopter and low RPM power protect from the ESC.
Lesson leanerd.

Apart from the glitch that sent max value in channel 9 to 14, forcing motorlock, the drone was working fine before and, maybe, even after the crash.
Maybe if I was flying at 50 or more meters the crash could have been avoided, after 0,3 seconds motor interlock was cleared and the drone was still armed.

This are the servo rail connections of my FC:
https://imgur.com/S5AxPWI

Aux1 to 4: Motors, I am using Dshot 150
Main out 1: Camea trigger switch
Main out 3: Cap
Main out 6: Bec to power the servo rail and camera trigger / power redundancy
Main out 8: Zener diode to keep VCC inside the 5v range and avoid a board restart.

My camera trigger is this thing:

It’s connected to the power distribution board and acts as a BEC (main out 6 connection) and a switch (main out 1 connection), I’m using CHDK method to trigger a canon a2300.
Looks cheap, I paid mine 3 €, but has a built in faraday cage and worked right off the bat.

I had to flip the RX position to have better antenna placement, installing antennas with 13 inches propellers is problematic.
One of the antenna cables is close to the battery-power module connection but that part of the wire should be insulated.
The active part of both the antennas are installed on the legs:
https://imgur.com/aqXVklM

My RCin cable goes from the FC to the servo port of the RX:
https://imgur.com/afC8nzu

I’m using SBUS protocol to have access to 10 channels, the RX can output PWM, PPM, IBUS and SBUS the flight controller only accepts PPM and SBUS.
I selected the protocol from the radio menu.

The SENS port is connected to this thing:

I’ve replaced the 2 single pin wires with a balance connector since it’s easier to plug in the balance port of the battery and it keeps the balance cable in place during flight.

I’m starting to think my problem may be related to the radio protocol being used, that may explain why only some of the RCIN channels glitched, including channels I cannot use with my radio (11 to 14).

EDIT:

Tnx, I’ll take a look later.

检查飞控全部参数列表中,11-14通道是否有设置了的