Hello All,
I have a bit of a head scratcher I am working through on one of my systems. The bird was coming in for a landing and was approximately 2m AGL when it experienced a sudden loss of current; going from ~31A to ~.7A over a duration of approximately 2.5 seconds. During this current loss, the voltage stayed more or less consistent at 22.3V (voltage swelled by about .5V). Nearly at the same time that there was a loss of current, there was a loss of communications between the GCS and bird. Due to the failsafe’s in place the bird went into RTL mode. At no point during this flight did the bird crash, despite not receiving current for a relatively long duration(2.5 seconds only 2m from the ground).
What do you think are possible causes/failures that could contribute to this failure? Any help is appreciated, and if I can come up with a solution to this I will be sure to share it. Attached is a screen capture of the event in question, and the associated log can be located by following the second link.
The only odd bit I can see is around that last RTL where it looked like the craft was already touching the ground but not declared as Landed. Then it rose and continued in Loiter until landed.
The only other thing I can think of is a freak updraft reducing current draw , but this is not supported by the fact that GPS altitude and Baro data closely match. If that were the case you’d expect to see GPS at a constant Alt and Baro data varying.
It’s “ideal” to measure battery capacity and percent and set failsafes based on that, as you have. The only problem is when connecting a battery that is not fully charged, or having to disconnect and reconnect the battery. Although there’s plenty of issues with measuring battery voltage and trying to determine a batteries actual capacity, I feel it’s still the safest way to cover all situations. I would set these assuming you are using 6 cell Lipo:
BATT_ARM_VOLT,22.10
BATT_CRT_VOLT,21.00
BATT_LOW_VOLT,21.60
BATT_FS_CRT_ACT,1
BATT_FS_LOW_ACT,2
MOT_BAT_VOLT_MAX,25.20
MOT_BAT_VOLT_MIN,19.80
Use the BATT_FS_LOW param to trigger RTL, dont wait until critical level to try and return to home.
At critical level the craft should Land to save itself.
The MOT_BAT params are essential for proper thrust scaling to suit changing battery voltage. You’ll get better control with these set correctly.
You may want to rerun Autotune after setting those, just for some slight improvement.
xfacta,
Thank you for taking a look at this issue, the help and insight is appreciated. To add some clarity and answer your questions, see the following:
The bird was approaching for a landing and was very close to it but did not complete the landing. It was between 1 and 1.8m above the landing site. It then rose to the preset RTL height followed by the pilot regaining control and landing it using loiter mode.
I agree with you on the freak updraft theory, but like you said the GPS and Baro data do not support that. Thus contributing to this one being a bit of a head scratcher.
The battery being used at the time of this log was a 6s 22000mAh Solid State battery. I have the battery low set to 30% and critical set to 15%, based off a lua script (represented by voltR) that is a smoothing curve that accounts for the sag and swell of the battery.
I do have BATT_FS_LOW set to RTL and BATT_FS_CRT set to land. MOT_BAT params are set via a known calibration source. I will look into the Autotune to see what improvements might be generated through that process.