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 also does active freewheeling.
Document rev 12.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,
at a rate up to around 500Hz.
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.
*: Governor arm mode is only supported with PWM input signal
**: Default startup method and power varies by ESC. Generally the stepped start is used for the original mCPX ESCs, and generally the default power is lower for larger ESCs.
*: Only enabled for some ESCs.
**: Default startup method and power varies by ESC. Generally the stepped start is used for the original mCPX ESCs, and generally the default power is lower for larger ESCs.
*: Only enabled for some ESCs.
**: Default startup method and power varies by ESC. Generally the stepped start is used for the original mCPX ESCs, and generally the default power is lower for larger ESCs.
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.
255
Document rev 12.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 12.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.
Document rev 12.x
Programming parameters for main/tail/multi:
The startup method selects which method is used to start the motor.
Stepped method first runs the motor as a stepper motor at a given power, rpm and acceleration. This is done for an rpm range selected by the rpm
parameter. Normal running begins after this.
Direct startup method runs the motor using back emf detection from the very start. In this mode power is given by the throttle used, but limited to
a maximum level. This maximum level can be controlled with the startup power parameter.
Startup power, rpm and acceleration are parameters that control the startup of the motor for the first initial rotations only (about a second or less).
Startup power sets the power applied to the motor in this phase.
Beware that setting startup power too high can cause excessive loading on ESC or motor!
Startup rpm is used for stepped method only, and sets the rotational speed with which the motor is started.
Startup acceleration is used for stepped method only, and sets the rate at which the motor is accelerated.
If required, these parameters can be used to optimize motor startup for different motors and loads.
Commutation timing can be adjusted in three steps. Low is about 00, mediumlow 80, medium 150, mediumhigh 230 and high 300.
Typically a medium setting will work fine, but if the motor stutters it can be beneficial to change timing.
Some motors with high inductance can have a very long commutation demagnetization time. This results in motor stop or stutter upon quick
throttle increase, particularly when running at a low rpm. Setting timing to high will allow more time for demagnetization, and often helps.
The throttle change rate parameter is an additional mechanism to avoid demagnetization problems. Setting this parameter to a low value will
result in slow changes in motor power. Which of course is not desirable in order to have a responsive motor, but in some cases it can be required.
This parameter determines how many steps motor power is allowed to increase for each new received input pulse. Full motor power is 255 steps.
So, e.g. for a 400Hz input rate and a throttle change rate setting of 2, motor power can change 2 steps every 2.5ms. Which means that zero to full
power will take (255/2)*2.5ms=319ms, which is really slow. On the other hand, the default setting of 255 means that motor power can change
from zero to full power instantly.
Please note that the throttle change rate parameter does not have any effect when running main governor or multi close loop.
High pwm frequency is around 20kHz, and low pwm frequency is around 8kHz.
One benefit of using a low pwm frequency is that the step from almost full power to full power becomes smaller. On the other hand, 8kHz is in
the audible frequency range, and also there is a step in power when the motor rotation frequency is equal to the pwm frequency.
Document rev 12.x
Loading...
+ 17 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.