Document rev 32.x
Operation manual for BLHeli_32 ARM Rev32.x
BLHeli_32 firmware is the third generation BLHeli, following base
BLHeli and BLHeli_S.
BLHeli_32 is designed for superior functionality and performance,
primarily in multirotors and runs on ARM 32bit MCUs.
All codes implement damped light mode as default.
Damped light does regenerative braking, causing very fast motor
retardation, and inherently also does active freewheeling.
The code supports features to prevent sync loss. There are tuneable
parameters that can make the code run well even in the most
demanding situations, although default settings will work excellently
in normal operating environments.
The code supports regular 1-2ms pulse width input, as well as
Oneshot125 (125-250us), Oneshot42 (41.7-83.3us) and Multshot (5-
25us). Dshot is supported at any rate up to at least Dshot1200 and
Proshot at least up to Proshot1000. The input signal is automatically
detected by the ESC upon power up.
The code also supports a beacon functionality, where the ESC will
start beeping after a given time of zero throttle. This can be very
useful for finding lost crafts.
Document rev 32.x
Programming parameters:
Rampup Power:
Rampup power can be set to relative values from 3% to 150%. This is the maximum power
that is allowed when ramping up at low rpms and during startup. For low rpms, the maximum
power to the motor is limited, in order to facilitate detection of low BEMF voltages.
Rampup power also affects bidirectional operation, as the parameter is used to limit the power
applied during direction reversal.
During startup, the actual applied power depends on throttle input, and can be lower than the
maximum level set by the rampup power parameter, but the minimum level is a quarter of the
maximum level.
Motor Timing:
Motor timing can be set between approximately 1
0
and approximately 31
0
in approximately 1
0
increments (actual accurate values here are 15/16ths of a degree).
Typically a medium setting will work fine, but if the motor stutters it can be beneficial to
increase timing. Some motors with high inductance can have a very long commutation
demagnetization time. This can result in motor stop or stutter upon quick throttle increase,
particularly when running at a low rpm. Setting timing higher will allow more time for
demagnetization, and often helps.
This parameter can also be set to auto. I this case the code monitors demagnetization time,
and keeps timing as low as possible without having issues with demag. On well behaved
motors, timing can be low in the entire power range, and thereby max power can be reduced.
On not so well behaved motors, timing is increased as needed, and thereby improves margins
against sync loss.
PWM frequency:
Motor PWM frequency can be programmed in a range that is preconfigured by the ESC
manufacturer. Code revisions from Rev32.7.3 and on support variable pwm frequency.
Then you can configure motor pwm frequency to increase with increasing throttle.
The benefits of variable pwm frequency are:
- Low frequency for low throttle gives good active braking where it is most needed
- High frequency for higher throttle makes running smoother
- The variable frequency will work as dithering making running even more smooth
Document rev 32.x
Demag Compensation:
Demag compensation is a feature to protect from motor stalls caused by long winding
demagnetization time after commutation. The typical symptom is motor stop or stutter upon
quick throttle increase, particularly when running at a low rpm. As mentioned above, setting
high commutation timing normally helps, but at the cost of efficiency.
Demag compensation is an alternative way of combating the issue. First of all, it detects when
a demag situation occurs.
- In this situation, there is no info on motor timing, and commutation proceeds blindly
with a predicted timing.
- In addition to this, motor power is cut off some time before the next commutation.
A metric is calculated that indicates how severe the demag situation is. The more severe the
situation, the more power is cut off.
When demag compensation is set to off, power is never cut.
When setting it to low or high, power is cut. For a high setting, power is cut more
aggressively.
Generally, a higher value of the compensation parameter gives better protection.
If demag compensation is set too high, maximum power can be somewhat reduced for some
motors.
Sine Modulation Mode:
Sine modulation mode can give a few percent more efficient running, as well as smoother
running.
It is a pretty subtle effect. Power is modulated with a sine shape, following the top of a sine
wave through the commutation cycle so that the power when commutating shall be ideal for a
motor with sine shaped BEMF. Power is varied between sin(60deg)=87% when commutating
to sin(90deg)=100% in the middle of a commutation cycle, and then down again to
sin(120deg)= 87% at the end of the commutation cycle.
Maximum power is the same for sine mode as for regular mode, as when approaching full
power the ESC will transition smoothly into regular mode.
Varying power can only be done by varying pwm, so a high pwm frequency is preferable for
accurate sine mode operation. Still, even with 48kHz pwm frequency, a reasonable accuracy
of the sine modulation can only be achieved up to some 100k erpm. At higher erpms, the
motor still runs fine, but the quality of the sine modulation is degraded.
Due to the increased MCU processing for sine mode, max erpms is lower for sine mode than
for regular mode. Still it will generally be more than 300k erpm even for sine mode.
Sine mode is implemented from Rev32.6.
Document rev 32.x
Maximum Acceleration:
Maximum acceleration can be set between 0.1%/ms and 25.5%/ms. It can also be set to
maximum, in which case acceleration is not limited. Limiting acceleration is primarily
intended as a backup parameter that can be used in cases where too hard acceleration gives
desyncs.
When setting to e.g. 10%/ms, it means that the power applied to the motor is not allowed to
increase by more than 10% per millisecond.
Motor Direction:
Motor direction can be set to fwd, rev, bidirectional 3D, bidirectional 3D rev, bidirectional
soft and bidirectional soft rev. In bidirectional mode, center throttle is zero and above is fwd
rotation and below is reverse rotation. When bidirectional operation is selected, throttle
calibration is disabled.
There are two bidirectional modes from Rev32.6, bidirectional 3D and bidirectional soft.
The 3D mode applies more power when reversing direction, and also limits minimum throttle
to 6%. The soft mode applies less power when reversing, and does not limit minimum
throttle.
Startup Beep Volume:
Sets the volume of beeps during powerup.
Beacon/Signal Volume:
Sets the volume of beeps when beeping beacon beeps. The ESC will start beeping beacon
beeps if the throttle signal has been zero for a given time. Note that setting a high volume can
cause hot motors or ESCs!
Also sets the volume used for Dshot/Proshot initiated signal tones.
Beacon Delay:
Beacon delay sets the delay before beacon beeping starts.
Throttle Cal Enable:
If disabled, throttle calibration is disabled.
Minimum throttle, maximum throttle and center throttle:
These settings set the throttle range of the ESC. Center throttle is only used for bidirectional
operation. The values given for these settings are for a normal 1000us to 2000us input signal,
and for the other input signals, the values must be scaled.
For Dshot/Proshot input signal, these settings have no effect.
Document rev 32.x
Temperature Protection:
Temperature protection can be enabled or disabled. And the temperature threshold can be
programmed. The programmable threshold is primarily meant as a support for hardware
manufacturers to use, as different hardwares can have different tolerances on the max
temperatures of the various components used.
The ESC measures temperature within the MCU and limits motor power if the temperature is
too high. Motor power is limited over a range:
- If the temperature is above the threshold, motor power begins to be limited.
- If the temperature is above the threshold plus approximately 15
0
C, motor power is limited
to 25%. Motor power is not limited below 25%.
Low RPM Power Protect:
Power limiting for low RPMs can be enabled or disabled. Disabling it can be necessary in
order to achieve full power on some low kV motors running on a low supply voltage.
However, disabling it increases the risk of sync loss, with the possibility of toasting motor or
ESC.
Low Voltage Protection:
Low voltage protection can be set between 2.5V and 4.0V per lipo cell. Or it can be disabled.
When enabled, it will limit power applied to the motor if the battery voltage drops below the
programmed threshold. This feature is primarily intended for fixed wing crafts.
Current Protection:
Current protection can be enabled to limit current. If enabled, then current will be limited to
maximum the programmed value. The reaction time of the current limiting is quite fast, so
current will also be limited during accelerations.
The value given for current protection, is per ESC. So if setting limit to e.g. 40A for each of
the ESCs in a quad (using BLHeliSuite32 or the BLHeli_32 Android app), then the total
current limit for the four ESCs will be 160A.
Brake On Stop:
Brake on stop can be set between 1% and 100%, or disabled. When not disabled, the given
brake force will be applied when throttle is zero. For nonzero throttle, this setting has no
effect. This feature is primarily intended for fixed wing crafts with folding props.
On some ESCs this setting is not linearly programmable, it will just be enabled (at 100%
force for any setting 1%-100%) or disabled (this applies to ESCs that have “EN/PWM” style
fet drivers).
评论0