Motors disarm in auto mission. Help appreciated to diagnose

Have been bashing out the Km in auto grid patterns to try to check the gremlins. After about 200km, no problem until today. May be hard to diagnose as logging seems to have stopped.
What happened -
A few minutes into the grid pattern, message from TX Yaapu (Frsky X20) says RSSI critical and I saw 10db which quickly recovered to 50+. It was not far away at this time. Then TX says ‘motors disarmed’ .
Aircraft appeared to be following the grid line but descending. Manual throttle did nothing. I switched to manual and managed to glide to a safe landing. Manual control appeared normal but without throttle.
I cant see anything obvious in the logs, apart from they appear to stop. They dont show the switch to manual but seem to show my action on mode switch.
Matek H743 mk3. - mini snow goose twin motor.
Any ideas please.

RC6_OPTION is set to Arm/Disarm, and it shows a 1/4 second switch to the disarm state at the moment when the vehicle is disarmed. It probably subsequently fails a prearm check as a result of being airborne, so re-arming is not successful (the log messages end at disarming, so that is assumption on my part).

EDIT: Actually, EVERY channel shows that same 1/4 second drop in value at that moment, probably indicating that you have a receiver failsafe set to drop every channel low. If your receiver has the option, set its failsafe to “no signal,” instead, and let ArduPilot decide what to do using the Radio Failsafe feature.

Plane Failsafe Function — Plane documentation (ardupilot.org)

2 Likes

I think @Yuri_Rage is correct and the plane disarmed because RC6 dropped. I noticed all the RC signals at that point dropped and recovered, but interestingly that didn’t trigger the RC failsafe. I wonder if that’s because the disarm triggered first (not sure on that one).

I would double check the failsafe settings on your radio to make sure they are set to “no pulses”. Also with the earlier RSSI issues might be worth checking all the wiring and fixing of the RX system. There might be a cold solder joint, or poor connection somewhere that’s creating ghosts.

2 Likes

Yes I think Yuri is right. I dont remember setting RC6 to do that. I didnt set up RC6 on the TX at all. I must have thought it was a good idea at some point. All RC channels were set to ‘no pulses’ but I guess the FC assumes PWM minimum at that point.
Anyway, another lesson learned.

Thanks for help.

The autopilot assumes nothing. I’d revisit that receiver failsafe setting to be sure it’s set to “no pulses.” The log clearly shows all channels going to min PWM rather than a gap in data.

The expected outcome with a receiver set to no pulses would be 1/4 second of unresponsiveness while you had the RSSI warnings followed by resumed control (likely almost imperceptible).

They are all set to no pulses.
Was just testing RC failsafe, on the ground, props off. Switching off the TX during T/O mode did not change mode to RTL (my setting). Perhaps it would if T/O completed by reaching the required height.

Also when switching TX back on, mode changed to manual. I think I can set the TX startup mode value. Would be better if plane is not visible.

I don’t think your receiver failsafe is functioning properly. You should be able to trigger a radio failsafe after 1.5 seconds (FS_SHORT_TIMEOUT).

The failsafe is triggered when TX switched off, except in T/O mode.
I guess its detecting by one of the the other methods as the throtttle PWM does not drop below the trigger min. iIs on SBUS.
To be clear, on the tuning page, displaying PWM in values, when TX is switched off, if there are no pulses, the line should stop or disappear? It shows the same value as when TX turned off - like hold, but TX defiantly set to no pulse. Its possible its not actually doing that I suppose.

The TX has nothing to do with it. It’s the RX failsafe that needs to be set correctly. What receiver are you using?

The radio calibration page probably won’t be too helpful in diagnosing.

It looks like takeoff mode has some special handling for failsafes, such that it completes the takeoff stage before allowing a failsafe action to take place.

It’s an RX6R using ACCESS.
I think the failsafe I’m setting in the TX are sent to the RX. I’m setting ‘no pulse’ on all channels.
As I say, the FC definitely knows when the TX is turned off and then follows the short and long procedures I’ve set.

The original problem was obviously me experimenting with RC6 and forgetting I did that.

1 Like

Ok, all of that makes sense. The obvious key to avoid a repeat incident is removing that RC6 function, as you have.

I’m a bit lost as to why it did what it did on the problem flight, since “no pulses” should not give that result, even with an arm/disarm channel set. I wonder if you’ve discovered a bug? @tridge may be interested.

I understand the the original ‘no pulses’ situation where a RX would stop sending PWM out to the servo pins but now with RX -FC link over SBUS or similar its not clear (to me) what’s happening.
I guess there is some protocol message to say it’s lost TX link. The no pulses may still happen on the servo pins?

The way it SHOULD work is this:

RX loses connection to TX and immediately stops sending pulses. ArduPilot detects the loss of signal and begins a timer to failsafe (while keeping previous servo output consistent with last flight mode and RC commands). Timer expires, and failsafe action occurs.

2 Likes

Yes, Yuri is right. The RC 6 option was set to arm and disarm, exactly when the switch was toggled the plane was disarmed!. Lucky you had your control surface!!!

The switch wasn’t toggled. Read the rest of the topic. It seems there was an anomaly with the radio failsafe behavior.

I think I remember how RC6 ended up like that.
During building and ground testing I was using an X9D Tx. I set up RC6 to arm during motor/ESC testing.
I then bought a X20 Tx and didn’t set up any switches to RC6, just completely forgot about it as it was about 2 months before I was able to do a test flight.

I think I always set ‘no pulses’ but if RCin is monitored in the tuning page it still shows a value same as the moment the tx is turned off. Should this line disappear if it’s working properly? - ie no pulses.