Atmel BLHeli SiLabs Operation manual Rev12.x

Operation manual for BLHeli SiLabs Rev12.x
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.
Document rev 12.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 method** Stepped Direct - - - - - - - - - - ­7 - 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 8 - Startup rpm 0.67 0.80 9 - Startup acceleration 10 - Commutation timing Low MediumLow 11 - Throttle change rate 2 3 4 6 8 12 16 24 32 48 64 128 12 - Damping force 13 - Pwm frequency High 14 - Demag compensation 15 - Rotation direction 16 - Input pwm polarity
*: 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.
Tx
High
0.4
VeryLow
Off Normal Positive
Arm* Setup Off - - - - - - - - -
Middle Low - - - - - - - - - -
3.2V
1.00
0.7 1.0 1.5 2.3 - - - - - - - -
Medium
Low MediumLow MediumHigh
Low
Low High - - - - - - - - - ­Reversed - - - - - - - - - - ­Negative - - - - - - - - - - -
DampedLight
1.25 1.50 - - - - - - - -
MediumHigh
- - - - - - - - - -
3.3V 3.4V - - - - - - -
High - - - - - - - -
High Highest - - - - - - -
1.00
1.00
Default values are marked in bold green.
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.
1.5 2.0 3.0 4.0 6.0 8.0
1.5 2.0 3.0 4.0 6.0 8.0
255
Document rev 12.x
Programming parameter value table tail:
Function 1 2 3 4 5 6 7 8 9 10 11 12 13 1 - Tail gain 0.75 0.88 2 - Tail idle speed Low MediumLow Medium 3 - Startup method** Stepped Direct - - - - - - - - - - ­4 - 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 5 - Startup rpm 0.67 0.80 6 - Startup acceleration 0.4 0.7 1.0 1.5 7 - Commutation timing Low MediumLow 8 - Throttle change rate 2 3 4 6 8 12 16 24 32 48 64 128 9 - Damping force VeryLow Low MediumLow MediumHigh High 10 - Pwm frequency 11 - Demag compensation 12 - Rotation direction 13 - Input pwm polarity
*: 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.
High
Off Normal Positive
Low
Low High - - - - - - - - - ­Reversed Bidirectional - - - - - - - - - ­Negative - - - - - - - - - - -
1.00
1.00
Medium
DampedLight*
1.12 1.25 - - - - - - - -
MediumHigh
1.25 1.50 - - - - - - - -
MediumHigh High - - - - - - - -
- - - - - - - - - -
High - - - - - - - -
2.3
- - - - - - - -
Highest
- - - - - - -
255
Default values are marked in bold green.
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 12.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 - Low voltage limit (/cell) 6 - Startup method** Stepped Direct - - - - - - - - - - ­7 - 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 8 - Startup rpm 9 - Startup acceleration 0.4 0.7 1.0 1.5 10 - Commutation timing Low MediumLow 11 - Throttle change rate 2 3 4 6 8 12 16 24 32 48 64 128 12 - Damping force VeryLow Low MediumLow MediumHigh 13 - Pwm frequency 14 - Demag compensation Off 15 - Rotation direction 16 - Input pwm polarity
*: 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.
Off
0.67
High
Normal Positive
3.0V 3.1V 3.2V 3.3V 3.4V - - - - - - -
0.80 1.00 1.25 1.50 - - - - - - - -
Low DampedLight*
Low
Reversed Bidirectional - - - - - - - - - ­Negative - - - - - - - - - - -
1.00
Medium
High - - - - - - - - - -
Off
1.12 1.25 - - - - - - - -
MediumHigh
- - - - - - - - - -
- - - - - - - - -
2.3
High - - - - - - - -
High
- - - - - - - -
Highest
- - - - - - -
2.0
2.0
3.0 4.0 6.0 8.0
3.0 4.0 6.0 8.0
Default values are marked in bold green.
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