Skip to content

z_testing: 0.20.1RC Testing Guide DRAFT

Chris L edited this page Sep 11, 2023 · 9 revisions

v0.20.1 Testing DRAFT

0.20.1 targets startup power issues found in 0.20 as first reported here. The overall startup logic has been improved, see PR#166

There are at least three common themes in the reports received so far:

  • Turtle mode
  • Crashes
  • Dynamic idle
  • High PID tunes

Turtle mode and bidirectional 3D mode are also impacted by this bugfix.

The response in a crash scenario depends on the users disarm speed, whether dynamic idle is enabled, throttle position, etc. If the motor is able to stall this bugfix will help limit damage after this. Startup limits have no effect when the motor is not stalled. Please read 0.20 Testing Guide for information on temperature protection which does apply when the motor has not stalled.

In the other two instances, the motor may not stall and may receive power up to the motor_output_limit set in Betaflight or any other flight controller firmware.

Testing background

The ESC cannot tell whether it is outputting too much current when the motor is stalled because there is no phase current feedback in any BLHeli_S ESC. This is an 'open loop'. The worst case scenario of this are burnt motors/ESCs etc.

Setting the lowest possible startup limits is the only thing that reduces the risk of this occurring.

The startup limits represent a lower throttle value (output PWM duty cycle) the controller uses on initial startup before setting the output cycle based on the input throttle value. The current this initial startup value corresponds to varies depending on the equipment.

Therefore there are three settings that need to be set correctly in order to ensure maximum reduction of risk.

Please briefly read through 0.20 Testing Guide to understand the goals of 0.20.

What are we going to test?

  • Minimum startup limit (Bluejay)
  • Maximum startup limit (Bluejay)
  • Minimum idle setting (Betaflight)
  • Log Motor RPM, Motor Outputs %, FC current.
  • OPTIONAL: Advanced logging see 0.20 Testing Guide

What do we need?

A drone with Blheli_S/Bluejay based ESCs and optionally with blackbox

If you have a drone with aggressive PIDs, please consider retuning or reverting to BF defaults when on v0.20.1

  • Bluejay 0.20.1 RC1 firmware files: from PR#166
  • Betaflight at 4.4.0 - on later versions there are currently some DSHOT bugs being worked out which makes it not suitable for testing yet

If you flashed previous rc versions of 0.20, please restore the default settings via esc-configurator.

Once you have completed the following steps, please post your reports containing drone size and voltage alongside the above information on the Discord testing channel or on PR#166

Testing minimum, maximum startup output limits (esc-configurator.com) and motor idle (Betaflight Configurator Motors tab)

For all values: Increase with caution. Do not increase more than is needed. Remember the goal is to find lowest values to give the maximum risk reduction.

  • Open ESC-Configurator, and set both minimum and maximum startup power using the following user reports as a guide:

    • 5" & 4S-6S - Min: 1010, Max: 1020, Idle 3% - Motors 2204 2400KV

    • 3" & 3S - Min: 1010, Max: 1030, Idle 3% - Motors 1303.3 5500KV

Propellers:

  • They spin and stop repeatedly - Increase motor idle by 3%. Check that dynamic idle is disabled.
  • Do not spin or weakly spin and stop - Increase both min/max startup power by 10. Repeat until motors start or they start and stop continuously.
  • Consistently spin on the initial values: Try reducing min/max startup power by 10 until they no longer start consistently and then repeat the above.
  • Start and then stall in flight - It could potentially happen when motor idle is really low, so set motor idle to a convenient value.
  • Fail to start when battery is low: Increase motor idle or min/max startup maximum startup power by 10.

The goal for this testing is find the lowest limits for the widest range of quads possible. This will help to reduce the risk for a wide range of users, and provide comparison to isolate increases that are unnecessary for the majority due to the result of failing motor bearing, larger motors etc

Testing lowest idle

Preferred: Static idle

Finding this value is best described in many of the tuning guides online. Any testing to decrease this setting is at the users discretion, as the craft may not recover from 0% throttle.

Risky/avoid on 1S and 2S: Dynamic idle

In current dynamic idle implementation, motor idle doesn't apply. On low voltage 1S kwads with high deadtime escs it makes harder to start the motors, so the only choice for pilots is to crank up min/max startup power unadvertedly disabling motor protection. In that case the risk of damaging the ESC is very high.

Due to the lack of closed loop operation, dynamic idle is very risky as it will continue to increase the motor speed in response to additional load when hitting objects or crashing. This means that the motors will continue to operate at or beyond full load for an extended period of time, possibly damaging the esc or the motors, during these crash scenarios.

Any testing of dynamic idle is done at your own risk. If you identify any issues with dynamic idle, an issue should be raised with the Betaflight team in the first instance. The BBL data mentioned above is critical in determining how much of a factor dynamic idle is playing. Find the lowest possible minimum RPM by working up in small increments is also recommended. Chris Rosser provides a good overview here: