BLHeli firmware is designed for use in brushless ESCs in
helicopters, multirotors, planes and more.
The firmware supports a multitude of ESC hardware.
There are three versions of the code:
- Main: Intended for helicopter main motor, and supports:
Soft spoolup
Governor
Low voltage limiting
- Tail: Intended for helicopter tail motor, and supports:
Rapid throttle response
Idling (the motor runs a few seconds after throttle is
zeroed, in order to avoid stops in the air)
Bidirectional operation
- Multi: Intended for multirotor motors, and supports:
Rapid throttle response
Closed loop operation
Bidirectional operation
All codes run the motor smoothly and with good throttle
linearity.
All codes support a damped light mode (on hardware that
support it).
Damped light does braking, causing very fast motor
retardation, and inherently does active freewheeling.
Document rev 14.x
All codes support features to prevent sync loss. This is mostly
required in multirotor applications. There are tuneable
parameters that can make the code run well with almost any
motor.
All codes support 1kHz, 2kHz, 4kHz, 8kHz and 12kHz PWM
input signal in environments where the ESC takes its input
from a source that would normally drive a brushed motor.
The code also supports regular 1-2ms pulse width PPM input
or OneShot125 (125-250us), at a rate up to almost 4kHz.
The input signal is automatically detected by the ESC upon
power up.
All codes support 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 14.x
Programming functions and parameter values:
Programming parameter value table main:
Function 1 2 3 4 5 6 7 8 9 10 11 12 13
1 - Governor P gain 0.13 0.17 0.25 0.38 0.50 0.75
2 - Governor I gain 0.13 0.17 0.25 0.38 0.50 0.75
3 - Governor mode
4 - Governor range
5 - Low voltage limit (/cell) Off 3.0V 3.1V
6 - Startup power** 0.031 0.047 0.063 0.094 0.125 0.188 0.25 0.38 0.50 0.75 1.00 1.25 1.50
7 - Commutation timing Low MediumLow
8 - Pwm frequency High
9 - Demag compensation
10 - Rotation direction
11 - Input pwm polarity
*: Governor arm mode is only supported with PWM input signal
**: Default startup power varies by ESC. Generally the default power is lower for larger ESCs.
*: Only enabled for some ESCs.
**: Default startup power varies by ESC. Generally the default power is lower for larger ESCs.
***: For code revs 14.4 and before, dither range was 7/15/31/63.
If for some reason there is an error in the eeprom/flash write operation (e.g. due to loss of power or low voltage), defaults will be loaded.
Document rev 14.x
Programming parameter value table multi:
Function 1 2 3 4 5 6 7 8 9 10 11 12 13
1 - Closed loop P gain 0.13 0.17 0.25 0.38 0.50 0.75 1.00 1.5
2 - Closed loop I gain 0.13 0.17 0.25 0.38 0.50 0.75 1.00 1.5
3 - Closed loop mode HiRange MidRange LoRange
4 - Multi gain 0.75 0.88
5 - Startup power** 0.031 0.047 0.063 0.094 0.125 0.188 0.25 0.38 0.50 0.75 1.00 1.25 1.50
6 - Commutation timing Low MediumLow
7 - Pwm frequency
8 - Pwm dither*** Off 3
9 - Demag compensation Off
10 - Rotation direction
11 - Input pwm polarity
*: Only enabled for some ESCs. From code rev 14.4, damped light is default on the ESCs that support it. For prior code revisions, high is default.
**: Default startup power varies by ESC. Generally the default power is lower for larger ESCs.
***: For code revs 14.4 and before, dither range was 7/15/31/63.
If for some reason there is an error in the eeprom/flash write operation (e.g. due to loss of power or low voltage), defaults will be loaded.
Document rev 14.x
Programming parameters for main:
In the governor “tx” mode, the throttle value while running sets the speed target for the governor.
In this mode, the throttle curve when flying should be flat.
In the governor “arm” mode the maximum throttle seen during the arming sequence will set the speed target for the governor.
Note that governor “arm” mode is not supported for PPM input signal.
In the governor “setup” mode the governor target is stored in the ESC. It’s default value is 70% (about 4800rpm on mCPX with a 6pole motor
and an 8T pinion). The value can be changed with configuration software.
In governor “arm” and “setup” modes, the throttle curve when flying does not influence headspeed.
Throttle curve can be set to a V-curve for the desired main to tail mix (this mix is in the mCPX 3in1).
Throttle must be above 20% in these modes. Values below 20% will cause spooldown.
Governor P gain sets the proportional gain for the governor.
This setting controls the gain from speed error to motor power.
Governor I gain sets the integral gain for the governor.
This setting controls the gain from integrated speed error (summed over time) to motor power.
Governor range sets the available range of speeds that the governor can operate on.
- For the high range, throttle values from 25% to 100% will lead to governor targets from 70000 to 208000 electrical rpm
- For the middle range, throttle values from 25% to 100% will lead to governor targets from 39000 to 156000 electrical rpm
- For the low range, throttle values from 25% to 100% will lead to governor targets from 20000 to 89000 electrical rpm
The low range is primarily intended for low pole count motors (e.g. 2-pole inrunners).
The low voltage limit sets the voltage at which motor power is reduced.
Motor power is reduced while at this voltage, but only temporarily, and full power is resumed if the voltage rises again.
Low voltage limiting can also be disabled.
Document rev 14.x
Programming parameters for multi:
In the closed loop mode, the throttle value while running sets the rpm target of the motor.
Closed loop P gain sets the proportional gain for the rpm control loop.
This setting controls the gain from speed error to motor power.
Closed loop I gain sets the integral gain for the rpm control loop.
This setting controls the gain from integrated speed error (summed over time) to motor power.
Closed loop mode sets the range of speeds that the control loop can operate on.
- For the high range, throttle values from 0% to 100% linearly correspond to rpm targets from 0 to 200000 electrical rpm
- For the middle range, throttle values from 0% to 100% linearly correspond to rpm targets from 0 to 100000 electrical rpm
- For the low range, throttle values from 0% to 100% linearly correspond to rpm targets from 0 to 50000 electrical rpm
When closed loop mode is set to off, the control loop is disabled.
Programming parameters for tail/multi:
Tail/multi gain scales the power applied to the motor for a given input. Note that this is only for PWM input, for PPM input it has no effect.
Beware that a low tail/multi gain will also limit the maximum power to the motor.
Tail idle speed is the speed of the motor during the delayed stop.
Rotation direction can be set to "bidirectional" for tail and multi codes.
In this mode, center throttle is zero and above is fwd rotation and below is reverse rotation.
Bidirectional operation is only supported for PPM input signal.
When bidirectional operation is selected, programming by TX is disabled.
Direction change performance can be somewhat controlled by startup power. Higher startup power can give faster reversal, but at some point it
can also lead to motor occasionally stalling.
Document rev 14.x
Loading...
+ 15 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.