Warning-danger, motor starts even when disarmed before boot

Hi,

there is dangerous issue with APM 2.6 and ArduPlane 3.4.
I disabled preflight checks but I thought that motor wont run until I arm it.
But if I turn my transmitter on and then power my APM, I can start the motor before APM boots.
Right after boot is finished, APM turns motor off and cannot start until it is armed.

This is really dangerous!!! :imp:

Interesting.
Question: did you have the same exact setup and this did not happen before AP 3.4?

I don’t know if this issue is present in earlier versions.
Some user found the workaround though - setting ARMING_REQUIRE -> 2 which causes no pwm is sent to motor until APM is armed.
But he had to found this in code… which is quite suprising because I think this is an important safety issue which should be turned on in default.
And it should be docummented!

When you say you disabled the preflight checks do you mean you disabled the prearm checks?
How did you replicate this problem? Did you have the throttle up and then powered your plane? In this case most ESCs won’t send the signal through if they detect a high PWM input on startup.
Or did you push the throttle stick up a second after you powered the APM?
The ARMING_REQUIRE functionality is documented on this page.
plane.ardupilot.com/wiki/arming-throttle/
Thanks, Grant.

Steps to reproduce:

  • ARMING_CHECK 16
  • ARMING_REQUIRE 1
  • ARMING_RUDDER 1
  • connect APM (power module) to power source, let motor stick down, ESC “initializes” (beeps etc)
  • now move throttle up and motor starts spinning while APM is booting
  • when APM boots it turns throttle off as desired

Yep is a bug. The APM2 starts up with SOFT_ARMED disabled. If we change the “true” to a “false” on this line
github.com/diydrones/ardupilot/ … Util.h#L12
it fixes the problem.
We will look at doing a point release for APM 3.4 of plane and fixing this bug in it.
THANKS!!! Keep the reports coming.
Grant.

[quote=“gmorph”]…The APM2 starts up with SOFT_ARMED disabled. If we change the “true” to a “false” on this line
github.com/diydrones/ardupilot/ … Util.h#L12
it fixes the problem…[/quote]
Grant, I’ve tried this solution “on the bench” yesterday - throttle signal is not by-passed while APM2 boots anymore, but my BEC didn’t like the value of PWM signal for this phase - 400 microseconds - it was beeping until boot finished.
BTW, arming for AC3.2 works for me correctly on APM2.
I’ve marked it as issue on github before: github.com/diydrones/ardupilot/issues/3135

Please, take a look at this FR too: github.com/diydrones/ardupilot/issues/3136 ,
commits list:
github.com/mariansoban/ardupilo … 063b2e3364
github.com/mariansoban/ardupilo … f34d604c5e
github.com/mariansoban/ardupilo … d8b71d26b9
Thanks,
Marian

Hi Marian. Are you running on a Plane or a Copter? Plane has this feature ARMING_REQUIRE
plane.ardupilot.com/wiki/ardupla … parameters
Some ESCs prefer to have THR_MIN PWM sent rather then 0 PWM.
Thanks, Grant.

Hi Grant, I’m running it on Plane. I’ve tested it on two ESCs - both Turnigy Plush - and both didn’t like PWM pulse width while APM2 was booting after that fix/change of “soft arming”.
“Didn’t like” = ESCs were beeping the same way as for “no signal” option - ARMING_REQUIRE=2
I’ve measured pulse width and it was those 400 microseconds while boot and usual 990 after start (RC3_MIN value).
Thanks,
Marian