Servo parachute not triggering

I am working on a vehicle on which I have installed a servo parachute. It is a spring parachute driven by a single servo that I have connected to the PWM_MAIN_5 output.
I have enabled the flight termination with the parameter CBRK_FLIGHTTERM=0 and configured the attitude trigger parameters (FD_FAIL_P, FD_FAIL_R, etc).
And finally I have also defined the failsafe values for the different PWM outputs, in this case the most important one is the parachute output PWM_MAIN_FAIL5 = 1900.

CBRK


PWM

I have also tested that the servo works and moves correctly from the QGC actuators tab.

The problem comes when I try to check the automatic trigger, which does not work.

To test the automatic triggering I arm the drone without propellers, give it gas and lift it off the ground so that it goes from “takeoff” to “flying” (since if the failure detector trips during takeoff it only disarms the drone and therefore does not trigger the parachute).
Then I rotate the drone to more degrees than the ones configured in FD_FAIL_P/R. The failure detector goes off but it does NOT switch the PWM outputs to their failsafe values, it switches them to the disarmed values.

I have done multiple tests and so far I have not been able to get the configured failsafe values to be written to the PWM outputs after a flight termination.

And given the results I am getting, I do not feel safe to test it in flight.

I would appreciate it if someone could help me.

I attach a log here: https://review.px4.io/plot_app?log=a3a29e40-cfa7-4d05-9b18-099b34fdf0b8

UPDATE:

I have been doing more tests and still have the same result. What I see is that after changing to flight termination a disarming by lockdown is done and the outputs are never set to their failsafe values, they are set to the disarming values. That is why the parachute never triggers.


qgc terminate_3

It is as if it thinks it is still on takeoff and that is why it only disarms. But as far as I can see the “takeoff_status” has already passed to value 5 which is “Flight”.

I have also tried to enable the “External Automatic Trigger System (ATS)” and it works fine. When it receives a high PWM signal through the AUX5 port, flight termination is triggered.

qgc terminate

But this flight termination also triggers a disarming by lockdown.

Hi @AngelAlbeniz ,

Thanks for reporting this. I was able to reproduce the issue and fixed it here: Commander: fix parachute trigger by bresch · Pull Request #24349 · PX4/PX4-Autopilot · GitHub

Could you please test this change and confirm that it fixes it?

1 Like

Hi @bresch

Thank you very much for the quick response and fix. I’ve bench tested it and now it’s working fine.

In the next few days I will test it in flight on this test platform. I will update with the results.

Attached are screenshots and flight log:

LOG: https://review.px4.io/plot_app?log=18aad1e7-c892-40ea-8aa7-dfa2181ed9a6