Firmware Release Notes
6.026
Variant differences
Feature | 900-000340-001 | 900-000340-002 | 900-000340-003 |
TTL Display protocols | ✗ | ✓ | ✗ |
CANopen | ✓ | ✗ | ✓ |
-
001 is suited to local throttle or remote communication based outdoor power equipment applications over ASI MODBUS or CANopen
-
002 is suited to throttle, pedal or remote command based applications over ASI MODBUS, and displays over TTL.
-
003 is suited to throttle, pedal or remote command based applications over ASI MODBUS or CANopen
New Features
-
Feature bit enabled DSP temperature derating
-
Added separate sensorless->hall transition frequency
-
Added support for a variable gain used for internal voltage rail monitoring
-
Added 'High Speed' functionality for up to +/- 256km/hr
-
Added 'Momentary' source for changing assist mode
-
Added 'Alternate Battery Limits' feature
-
Added support for the 'Alternate power limit' feature in Remote mode
-
Added 'Hall Position Compensation' motor feature to better compensate for mechanical variation in hall sensor placement at higher speeds
-
Added 'Delayed Input' functionality
-
Added 'Uncontrolled Regen Compensation' beta feature
Maintenance
-
Refactored analog saturation faults to support alternate hardware and simplify troubleshooting
-
Tweaked dynamic integrator anti-windup in local mode behaviour
-
Added level 1 feature bit requirement to manual Kcc parameter tuning
-
Cleaned up Hall functionality
-
Refactored missed CAN messages to only be checked while in the 'Operational' network state
-
Tweaked instantaneous phase current trip behaviour to improve noise rejection
-
Changed 'Delayed Input' to allow for inverted/falling edge delay
Bug Fixes
-
Fixed noisy throttle input derating power without faulting
-
Fixed throttle activity while cutoff active triggering fault with both 'Dual analog throttle' and 'Cutoff disables throttle' features active
-
Fixed bug with estimated battery power/current scaling factors being mixed up
6.025 rev02
Maintenance
- Faults3 ADC Range Fault downgraded to warnings2 bit 9 ADC Saturation Warning, refactoring feature for 6.026 release.
6.025
New Features
-
Added ‘Cruise control’ feature.
-
New Parameters:
-
Cruise Enable Source (address 1995) - Bit vector that allows selecting any of the digital inputs as a source for Cruise. Multiple inputs can be selected, but any of the input sources enabled being active will be considered an active input.
-
Cruise Motoring Torque (address 1993) and Cruise Braking Torque (address 1994). Controls the maximum amount of motoring/braking torque (in % of rated motor current) that can be applied to maintain speed, respecting battery current and protection limits.
- Note: This can override normal regen brake settings and assist mode limits.
-
Minimum Cruise Speed (address 1996) - Vehicle speed in km/h that must be reached before cruise control can be engaged. At vehicle speeds below this threshold, Cruise will not engage.
-
Cruise Input Mode (address 1997) - Allows selecting between 'Button' (value of 0) and 'Switch'(non-zero value, if more modes are added, this will be '1') input modes for cruise control. In 'Button' mode, a momentary press of the input source will be used to engage and disengage the feature (specifically the release of the button). In 'Switch' mode, the feature will disengage if the feature is active while the switch is in the ‘Off’ position and will engage if all the activation conditions are met and the switch transitions from ‘Off’ to ‘On’. All engage/disengage triggers have a 250ms debounce window.
-
Cruise Disengage Increase Threshold (address 2007) – Allows configuring the increase threshold required to trigger a Cruise disengage. The controller tracks the pedal, throttle and analog brake setpoints while cruise control is engaged. An increase in any of the setpoints above their minimum by more than this percentage will trigger cruise disengaging. This allows compensating for noise to prevent the feature from automatically disengaging instantly after engaging the feature while throttle, pedal or brake inputs are active.
-
-
Setup/Configuration:
-
Configure the Minimum cruise speed, Cruise motoring torque, Cruise braking torque, Cruise enable source, Cruise input mode, and Cruise disengage increase threshold parameters as described above.
-
Tune the speed regulator gains to match the desired cruise control behaviour (Speed regulator Ki and Speed regulator Kp)
-
Enable Features4 bit 14 Cruise Control.
-
-
Usage/Behaviour:
-
Drive the vehicle to a speed above the Minimum Cruise Speed, then engage cruise control either by momentarily activating the cruise enable source input (in 'Button' mode) or switching on the cruise enable source input (in 'Switch' mode). Reverse/Cutout inputs must not be active when Cruise is engaged, and the controller must not be in a ‘Faulted’ state.
-
The vehicle will maintain the speed at which the cruise control was engaged using the Speed regulator gains, limited in acceleration or deceleration torque by the Cruise Motoring/Braking torque settings, respectively.
-
Disengage the cruise control either by momentarily activating the cruise input again (in 'Button' mode) or switching off the cruise input (in 'Switch' mode). The vehicle will return to standard operation.
-
Cruise control will also automatically disengage if any of the following conditions are met:
-
The controller goes into a Fault state
-
There is an increase in Analog brake, Pedal or Throttle inputs by more than the configured disengage increase threshold.
-
Cutout or Reverse inputs are activated.
-
-
-
-
Added ‘RPM Foldback’ functionality to work alongside/in addition to vehicle speed limits (as opposed to the existing ‘RPM Limit’ parameter that replaces them).
-
New Parameters:
-
Motor RPM Foldback Start % (address 1990) – The % of Rated motor speed above which the controller will start to linearly cut torque from the motor for protection purposes.
-
Motor RPM Foldback End % (address 1991) - The % of Rated motor speed above which the controller will finish cutting torque from the motor for protection purposes.
-
-
Setup:
- Configure the two parameters described above to add a ‘motor speed limit’ by pulling back on the power when the motor RPM exceeds the foldback settings. Then enable Motor features bit 6 RPM foldback.
-
Behaviour:
- The controller will linearly de-rate the power it provides to the motor between the two protection parameters (in terms of percentage of the absolute motor speed). After exceeding Motor RPM Foldback End %, motor power will be cut altogether.
-
-
Added an additional feature to allow pedal input to ignore the throttle assist bypass.
-
Setup:
- Configure your 'Throttle bypass assist' feature as normal by enabling Features3 bit 0 Throttle bypass assist level including 0 assist or Features3 bit 5 Throttle bypass if assist level above 0 (address 1919). Then enable Features4 bit 15 Pedal Ignores Throttle Bypass (address 1974).
-
Behaviour:
- The controller will scale the pedal setpoint by the assist level prior to any throttle assist level bypass, prior to the controller check to determine whether to use the throttle setpoint or pedal setpoint. This will prevent a small throttle input from triggering a large torque increase when the bike is currently operating with a low assist level and high pedal input.
-
-
Added support for an additional cutoff input (alongside the first).
-
New Parameter:
- Secondary Cutoff brake sensor source (address 2005) – Indicates the desired additional cutoff brake input source, with the same options as the primary cutoff brake sensor source.
-
Setup:
- Enable Features4 bit 12 Dual Cutoff Sources (address 1974) and ensure that the Secondary Cutoff brake sensor source parameter is configured to the secondary source.
-
Behaviour:
- Either of the configured cutoff sources being active will force the controller to cut torque. Both cutoff sources will need to be idle before any torque output.
-
-
Added support for dual/redundant analog input throttles.
-
New Parameters:
-
Secondary throttle source for dual analog throttle (address 1983) – allows selecting the analog source for the redundant throttle, with the same options as the primary throttle sensor source.
-
Secondary throttle off voltage (address 1982) – The calibrated throttle voltage at the ‘zero’ setpoint value for the redundant throttle.
-
Secondary throttle full voltage (address 2004) – The calibrated throttle voltage at maximum throttle input for the redundant throttle.
-
Dual analog throttle fault threshold (address 1981) – The difference in calculated throttle setpoints between the primary and redundant throttle inputs that will trigger a fault.
-
secondary throttle setpoint (address 1718) – Read-only parameter that reports the calculated redundant throttle setpoint when the feature is configured and enabled.
-
-
Setup:
-
Connect both throttle inputs (primary and redundant) to their configured analog inputs.
-
Calibrate the primary throttle as normal.
-
Adjust the throttle until the voltage on the primary throttle is at the start of the throttle linear range (the Throttle off voltage +/- the Throttle deadband threshold for positive/negative slope).
-
Record the voltage on the redundant throttle input source as your Secondary throttle off voltage.
-
Repeat the last two steps for the end of the throttle linear range (using the respective ‘full’ voltage parameters and the Throttle deadband offset in the opposite direction).
-
Enable Features4 bit 3 Dual analog throttle (address 1974).
-
Adjusting the throttle through the full range should allow viewing both the throttle setpoint and the secondary throttle setpoint, which should match within a small margin of error for noise.
-
Configure the Dual analog throttle fault threshold to a % difference between the two setpoints that is desired to trigger a redundant source fault.
-
-
Behaviour:
- The controller firmware will calculate and display the secondary throttle setpoint. If the setpoint is ever more than the Dual analog throttle fault threshold different from the primary throttle setpoint, the controller will trigger a fault (Faults3 bit 3: Dual Throttle out of Range) and force the primary throttle setpoint to 0. This is a self-clearing fault which will reset once the throttle setpoints are within the maximum difference threshold.
-
Maintenance
-
Added two additional regen brake sources (throttle and abms analog inputs).
-
Added additional bi-directional throttle mode, where the positive/negative bands always map to throttle/brake inputs instead of positive/negative torque (meaning the positive band brakes while reversing and the negative band brakes while going forward). This requires not using the bi-directional throttle as a reverse input source.
- Bi-directional throttle previously always mapped the two throttle ranges (above and below the configured midpoint) to specific torque rotation direction, meaning that the ‘Forward’ throttle range would behave as a brake (and not throttle) while the vehicle is reversing. This was tweaked so that if the Bidirectional throttle was only being used as a regen brake source (and not a reverse input source), the ‘Forward’ throttle range would only be used for the throttle setpoint, and the ‘Reverse’ throttle range would only be used for the brake setpoint.
-
Added parameters for configuring Sine/Cosine analog input fault ranges: Encoder Sin Fault Range (address 1803) and Encoder Cos Fault Range (address 1815).
Bug Fixes
- Fix to EN flag not properly limiting vehicle speed when configured outside of display-specific protocols.
- EN Flag now limits all vehicle speed limit parameters to 27.5km/hr when set. This will change existing speed limit parameters when the flag is enabled if they are above the limit, and will function regardless of whether the limits are configured through a display protocol or directly over modbus or CAN.
6.024
New Features
-
Implemented low-speed noise threshold for encoder inputs to allow reducing encoder angle fluctuations due to analog input noise below a configurable motor speed.
-
Setup:
-
Configure the Encoder Noise Frequency Threshold (parameter 1989) to the desired electrical frequency below which the Encoder analog noise threshold (parameter 1867) will be utilized/active.
-
To convert an rpm value into electrical Hz, divide by 60 and multiply by the number of pole pairs.
-
e.g. For a threshold of 50RPM, with 6 electrical pole pairs, the Encoder Noise Frequency would be 5Hz (50 divided by 60, then multiplied by 6).
-
-
Configure the Encoder analog noise threshold (parameter 1867) to a value in volts that will an encoder input value to change by, before updating.
-
-
Behaviour:
-
Above the Encoder Noise Frequency Threshold, the encoder angle will update every PWM loop, regardless of how much or little the encoder analog inputs have changed.
-
Below the Encoder Noise Frequency Threshold, the encoder angle will only update when either of the analog input voltages has changed by at least the voltage defined by the Encoder analog noise threshold since the last encoder angle update.
-
-
-
Implemented auto-discover for Sine-Cosine encoder motors.
-
NOTE: This feature is not capable of running at switching frequencies higher than 12kHz. It is recommended to change the controller switching frequency to 10kHz, save, and power cycle the controller prior to performing this process. Switching frequencies below 13kHz will cause you to lose BT connectivity. Perform this action over TTL or CAN.
-
Ensure that the Encoder Cos V Source (parameter 1961) and Encoder Sin V Source (parameter 1960) are configured to match the two analog sinusoidal controller inputs of the encoder (autotune will detect and correct if they are swapped, but both sources must be mapped to these parameters).
-
Ensure that the motor parameters are configured to values close enough to actual values for controller to run in sensorless mode (same as performing hall discovery).
-
Perform any required preparations to allow the motor and output to spin freely and safely (e.g. ensuring the vehicle is lifted in the air securely, any brake solenoid is disengaged, any remote command source is not sending conflicting commands, etc…). We cannot ensure safety for you.
-
Set the Motor discover mode parameter to ‘5’ for “Encoder”.
-
Wait for the motor to stop spinning (should be around 30 or 40 seconds, depending on whether the sin/cos sources were swapped).
-
Read the encoder angle parameters and confirm that the autotune was successful. A successful autotune will have an autotune offset error (parameter 357) of less than 3 degrees and update the following parameters:
-
Encoder Sine/Cos High/Low Voltage (parameters 1956-1959)
-
Encoder offset (parameter 1962)
-
# of motor pole pairs & Encoder Sine/Cos V Source (parameters 78, 1960/1961) – These values will only be updated if the encoder autotune detects a different value than previously entered.
-
-
Save the autotuned parameters to flash and power cycle.
-
Note: If the switching frequency was lowered to perform this process, raising the switching frequency again might require power cycling to reset the calculated “runtime max switching frequency” parameter.
-
-
Added a feature for a shared regen brake and cutoff input, allowing the same input to act as cutoff/regen based on vehicle speed compared to a configurable threshold.
-
Setup:
-
Configure Regen braking as normal, using one of the analog inputs that can be utilized as a Cutoff source as well (Regen brake source to brake1 or brake2, Feature bit 4 Analog braking enable ).
-
Configure the Cutoff brake sensor source (parameter 248) to the same source.
-
Enable the Features4 bit 4 Regen and cutoff single source
-
Set Vehicle Speed threshold for Regen and Cutoff (parameter 1984) based on the desired speed threshold to switch between "Cutoff” behaviour and “Regen” behaviour.
-
-
Behaviour:
- If the cutoff/regen brake input is detected. Based on vehicle speed, the controller will either start regen braking if the speed of the vehicle is above Vehicle Speed threshold for Regen and Cutoff, and if the speed is less, the controller will treat the input as a cutoff input (that is active).
-
-
Added a feature to map throttle and pedal inputs to available current output instead of Rated motor current so that the full range of the throttle or pedal is usable even when the available output current is limited (such as due to Rated motor power, battery or other protections).
-
Setup:
- Enable Features4 (parameter 1974) bit 10 Inputs Scaled to Available Power
-
Behaviour:
-
When the feature bit is enabled, the requested torque command calculated from the throttle setpoint and/or pedal speed gain outputs (based on controller configuration) will be scaled by the current power limit of the controller.
-
E.g. If the power limit based on current/battery/motor/etc.. protections is 37% of the maximum, a 0-100% throttle input will correspond to a 0-37% requested torque output, allowing the full throttle range to be useable.
-
-
-
Added support for a bi-directional throttle, configurable as a reverse input source and/or for analog regen braking.
-
Setup:
-
Configure the throttle input as you would normally for a single direction throttle.
-
Set the Throttle sensor source to match the analog input being used.
-
Move the throttle as far as it can go in the “Forward” direction, and configure the Throttle full voltage to the voltage on the analog input at that point.
-
Move the throttle as far as it can go in the "Reverse” or “Braking” direction, and configure the Throttle off voltage to the voltage on the analog input at that point.
-
Configure the Throttle fault range to the voltage distance outside of the Throttle full voltage and Throttle off voltage parameters that indicate a throttle fault (either due to disconnection, a short, or damage to the throttle).
-
Configure the Throttle deadband threshold parameter to the amount of voltage inside the endpoints that should still provide the maximum command for the corresponding forward/reverse band.
-
-
Configure the Bidirectional Throttle Midpoint parameter (address 1987) to the midpoint of the bidirectional throttle range (at rest).
-
Configure the Bidirectional Throttle Deadband parameter (address 1988) to the desired voltage width of the neutral deadband in the bidirectional throttle.
-
This voltage will be centred on the Bidirectional throttle midpoint.
-
If different deadbands are desired for either end of the neutral band, the midpoint will need to be shifted higher/lower.
-
-
Configure the Reverse_Enable_Source and/or Regen brake source to ‘4’ for bidirectional throttle depending on desired behaviour, and enable the corresponding feature bits (Features bit 1 for reverse, and Features bit 4 for analog braking)
-
Enable Features4 bit 11 Bidirectional throttle.
-
-
Maintenance
-
Added range limits on the local speed mode ramp rates to prevent ramp rate overruns.
- The Speed mode Regen ramp and Speed mode positive acceleration ramp parameters (addresses 118 and 116, respectively) now have a range limit between 0 and 20 Rated motor speed per second.
-
Faults3 vectors added to the list of fault state triggering conditions now that the triggering bits have been tested more thoroughly.
-
Exceeding encoder voltage range faults, using the configured High/Low voltage limit parameters, plus a hardcoded 0.1V fault dead band for noise.
-
ADC Range Fault where if any of the ADC inputs are saturated (after input voltage divider >3.3V@DSP for 100 PWM periods), the controller will fault.
-
-
Refactored the Comm loss Limp Mode Interval parameter to use units of 1s instead of 1ms.
-
Re-added “anti-theft” enable time parameter to prevent activation of antitheft feature for a configurable delay on controller bootup.
-
Utilizes Antitheft enable time parameter (address 45).
-
If ‘0’, it has no impact on antitheft feature functionality.
-
If non-zero, prevents the antitheft feature from activating until the configured millisecond value amount of time has elapsed.
-
After the elapsed time, the feature will engage unless the vehicle speed is greater than 1km/hr in either direction or the input to disable the feature is active.
-
Bug Fixes
-
Fix to some Display protocol2 improperly parsing assist mode data from the port1 buffer on port2.
-
Fix to internal digital input value trackers not properly being initialized, causing an “input change” to always occur on the first check if any digital inputs are non-zero on boot.
6.023
New Features
-
Implemented high battery temperature protection.
-
Uses new parameters Hot battery foldback starting temperature address 1969 and Hot battery foldback ending temperature address 1970, and adds bit 8 to Warnings2 address 359 for Hot battery foldback
-
The feature is enabled when both new parameters are configured to positive integers.
-
Hot battery foldback starting temperature is the battery temperature in degrees Celsius at which the controller starts to reduce current discharge and regen due to battery temperature. If the battery temperature is above this threshold, the Hot battery foldback warnings2 bit will be set.
-
Hot battery foldback ending temperature is the temperature in degrees Celsius above which the controller will limit both current discharge and regen to 0.
-
The controller discharge and regen current will be linearly folded back to 100% down to 0% at battery temperatures between the two temperature parameters.
-
-
Added support for Vanguard batteries CAN protocols.
-
Updated the Battery management interface type 5/ModBus to work with remote current limits.
-
Added ‘Comm loss limp mode’ feature to derate power upon communication loss.
-
Comm loss limp mode, Features3 bit 14 to enable/disable
-
Requirements: Communication timeout parameters must be configured, and the controller must not use a remote source for throttle, analog brake or cutoff brake.
-
Uses new parameters: Comm Loss Limp Mode Speed address 1971, Comm Loss Limp Mode Power address 1972 and Comm loss Limp Mode Interval address 1973.
-
Comm Loss Limp Mode Speed: Fractional gain, in ‘per unit’, that corresponds to the speed multiplier when the limp mode feature is fully engaged.
-
Comm Loss Limp Mode Power: Fractional gain, in ‘per unit’, that corresponds to the power multiplier when the limp mode feature is fully engaged.
-
Comm loss Limp Mode Interval: Time, in milliseconds, over which the speed and power of the vehicle will linearly transition from the configured speed/power of the vehicle to the fractional portion of that value configured by the fractional gains for speed/power.
-
Example: If both the comm loss gain parameters (1971 & 1972) are configured to 0.4, the interval is set to 5000ms, and the bike is at 75% of max speed and power due to assist level, the bikes speed/power limit will linearly ramp down from 75% to 30% (0.4*75%) over the 5-second interval.
-
-
Added digital logic inversion bits for brake1, brake2, abms and throttle inputs.
-
Features4 bits 5, 6, 7 and 8 activate the inversion for the corresponding input
-
For each bit, when enabled (set to 1), the digital input bit corresponding to the Features4 bit will be inverted, thus inverting the behaviour of any peripheral mapped to that bit.
-
Note: There is one exception to this inversion. For the ‘alternate power switch source’ and ‘alternate speed limit switch source’ inputs, the ‘throttle’ mapping is mapped to the ‘throttle speed rating sw’ input instead of the ‘throttle digital’ input, which is the one inverted.
-
-
Added support for simultaneous throttle speed mode and pedal torque mode operation.
-
Features4 bit 2 activates this mode where the throttle is in speed mode, and the pedals are in torque mode with speed limits.
-
Make sure to set the ramp times for torque mode with speed limits and acceleration ramp and deceleration ramps for speed mode.
-
When in Control command source 4 (Throttle or Pedal), the higher input request out of the two will be used, and the corresponding mode of control will be applied. E.g. If the throttle setpoint is higher than the pedal speed gain (pedal setpoint), the motor will be controlled in speed mode and vice versa.
-
Maintenance
-
Features bit 2 Antitheft updated to function in Speed regulator mode values of ‘0/speed’ and ‘1/torque’ in addition to ‘2/torque mode with speed limiting’. Additionally, added a check to confirm that this feature is inactive before saving parameters to flash to prevent any modified parameters from being saved.
-
Update to automatic controller temperature fault clearing to check both DSP and powerboard heat spreader temperature instead of just the powerboard heat spreader temperature.
-
Reduced access level requirement of Open circuit voltage test window parameter to 1, and added hardcoded software limits. Up to 0.45.
-
Refactoring of Motor features bit 4: Single input motor temperature and speed pulses to allow for easier configuration and compatibility with both NTC and PTC thermistors.
-
Updated feature to work for all motor temperature input sources (bms, throttle, brake1 and brake2) instead of being hardcoded for brake2.
-
Refactored existing parameter voltage threshold for single speed + temperature source (address 243) to be used both as the threshold for considering the input a digital pulse vs. motor temperature reading (same as existing firmware), as well as being used as the threshold to trigger a ‘stuck input’, after a new configurable timeout.
-
Refactored Temperature threshold for Cadence detection (parameter 1951) to instead be Shared Motor Temp and Wheel speed timeout. Instead of being an additional motor temperature threshold level to trigger a stuck/faulted voltage, the controller will use this value as a timeout for continuous motor operation below the threshold. This new value will default to 5000 (5 seconds) when not configured, and the feature is enabled
-
General functionality will not change, but if stationary with the motor engaged (such as when providing minimal torque on a hill), and the sensor is in a ‘pulse active’ position, meaning the controller cannot see the actual motor temperature, the timeout will prevent the controller from damaging the motor due to overheating.
-
-
Exposed CAN mailbox overflow indicator on warnings2 and a message overflow counter for diagnostic and troubleshooting purposes.
-
Update to ADC sampling process and timing to work around silicon errata.
-
Added optional gate driver initialization mode to allow configurable charging of bootstrap capacitors based on hardware.
-
Refactoring of battery thermal protection to apply to both regen and discharge current limits.
-
Refactored ABS/Braking traction control from being always enabled in local control speed mode to being available in both local and remote speed modes and controlled by a Features3 bit 13 Enable ABS/Traction control. Functionality unchanged.
-
When the feature bit is enabled, the time of each hall transition, in seconds, is compared to 100 / (Rated Motor RPM * Motor Pole Pairs).
-
If the transition time, in seconds, exceeds the calculated threshold, the braking current limit is set to ‘0’. Otherwise, the braking current limit is calculated as normal.
-
For example, our Oak motor, with 8 pole pairs and ~3600 Rated motor RPM, this threshold is ~3.5mS.
-
Bug Fixes
-
Fix to Motor position sensor type 1 Hall start and sensorless run where in some situations, the firmware was not properly swapping to sensorless operation unless Hall errors occurred. Controller flags2 (formerly ebike flags2) bit 7 will show the status; 1 if sensorless, 0 if sensored.
-
Fix to Features2 bit 5: Throttle enables while rolling backward to properly calculate and show vehicle speed when the vehicle rolling backward while in ‘Forward’ mode and the throttle is not engaged.
-
Fix to Features3 bit 12: Disable modifying wheelsize via display protocol to properly check the correct bit and parameter when determining whether to prevent modification.
-
Fix DSP core temperature fluctuations in certain conditions.
6.022
Release skipped.
6.021
New Features
-
Features3 bit 12 Disable display wheelsize modification bit to allow/disallow displays from modifying wheel diameter parameter.
-
Added support analog brake out-of-range faults.
-
New parameters Analog Brake deadband range (address 1952) and Analog brake fault range (address 1953)
-
New faults2 (parameter 299) bit 15 Analog brake voltage out of range
-
Analog brake headband range – Range above minimum and below maximum that the analog input value, in Volts, that the sensor input must be before changing from the minimum/maximum braking response.
- eg. For an analog brake sensor voltage range of 1-4V, a deadband of 0.2V means braking will start at 1.2V, and reach the maximum braking value at 3.8V
-
Analog brake fault range – Range below minimum and above maximum that the analog input value, in Volts, that the sensor input must be before triggering an analog brake fault.
-
eg. For an analog brake sensor voltage range of 1-4V, a fault range of 0.2V means the controller will fault when a voltage below 0.8V or above 4.2V is measured on the brake input for a period of 100ms.
-
This fault will automatically clear if the voltage is within the valid range for 100ms.
-
-
-
Added RPM Limit (address 1954) as an alternate speed limit option in local mode.
-
If zero, this parameter has no impact.
-
If non-zero, this parameter is limited to a value between 1 and 15000 rpm, and will replace all of the “Vehicle maximum speed” parameters (123,124, 229 and 236) that are used for the speed control loop.
-
-
Added the ABMS pin as an additional Reverse_Enable_Source (address 1936).
-
When Reverse_Enable_Source is set to “3”, the analog BMS voltage input on controllers will be used to determine whether or not the controller is requested to operate in reverse.
-
This uses the BMS analog input treated as a digital value, where an input of less than 3V is considered a digital “Low”, and an input of greater than 3V is considered a digital “high”. Note that since this source is running through an ADC, if the voltage input is near the 3V threshold, this input could toggle repeatedly as noise shifts it above and below the threshold.
-
A digital “high” is used to request reverse operation, and a digital “low” is used to indicate forward operation.
-
-
Added a Motor features bit that allows for swapping between an external speed sensor and internally calculated motor speed at a defined current threshold.
-
New parameter Motor Current Threshold to Switch from External Sensor to Motor (Address 1963).
-
New Motor features (parameter 7) bit 5, Enable speed from motor and sensor.
-
If the feature bit is enabled, whenever the motor current exceeds the Motor Current Threshold to Switch from External Sensor to Motor threshold, the reported vehicle speed (address 260), and measured wheel rpm (address 313) will be calculated using the internal motor speed. Whenever the motor current is below the Motor Current Threshold to Switch from External Sensor to Motor threshold, the reported parameters will be calculated using the external wheel speed sensor.
-
If the feature bit is disabled, the values reported will be based on parameter configuration.
-
-
Added the option for remote power limiting.
-
New parameter Remote Power Limit (address 1704).
-
In local mode, this parameter has no impact.
-
In remote mode, if the parameter value is not set, it will default to 100%. If it is set, it will be limited to a non-inclusive value between 0 and 800% power. Values outside of those limits will default to 100%.
-
This parameter’s value will be multiplied by the Rated motor power parameter that is used based on the controller configuration to calculate the actual power that is used to limit the controller output.
-
-
Added a command to the firmware update register to allow resetting the controller in addition to jumping to the bootloader.
-
Uses the Load Firmware to Flash parameter (address 510).
-
If a value of 0x5FFF or 24575 is written to the parameter and the controller is idle, the controller will reboot.
-
-
Added the option of configuring the Kcc in addition to the Current regulator Ki and Kp when manually configuring the current regulator control loop gains.
-
Uses new parameter Current Regulator Kcc (address 1955).
-
When Current Regulator Bandwidth parameter (address 51) is set to ‘0’, this parameter adjusts the cross-coupling gain for the current regulator control loop.
-
When Current Regulator Bandwidth is non-zero [1 to 5000], this value will display the calculated cross-coupling gain used by the current regulator control loop.
-
-
Added “GPIO” as an additional option for assist mode source.
-
Uses the Assist mode source parameter (address 210).
-
When the Assist mode source is set to a value of ‘10’, the GPIO inputs of “CRUISE” and “PFS” are used to determine the assist level.
-
When the “CRUISE” digital input is active, the Display assist level command (parameter 501) will be set to ‘1’, the assist level will be set to the Assist gain 1 parameter (address 219), and the assist speed limit will be set to the Assist speed 1 parameter (address 241).
-
If the “PFS” digital input is not active, and the “PFS” digital input is active, the Display assist level command (parameter 501) will be set to ‘3’, the assist level will be set to the Assist Gain 3 parameter (address 245) and the assist speed limit will be set to the Assist Speed 3 parameter (address 251).
-
If neither the “CRUISE” nor the “PFS” digital input is active, the Display assist level command (parameter 501) will be set to ‘2’, the assist level will be set to the Assist gain 2 parameter (address 245), and the assist speed limit will be set to the Assist speed 2 parameter (address 246).
-
-
Added a new parameter to run motor discovery at different speeds
-
New parameterMotor Discovery Speed (address 1683).
-
If non-zero, used as a percentage of Rated motor speed utilized when performing motor discovery instead of the default of 25% Rated motor speed.
-
If zero, it utilizes the standard 25% Rated motor speed (same as previous) for motor discovery since 6.016. 50% prior to 6.016.
-
-
Added a new feature bit to choose whether power mapping is based on top speed or current assist level speed limit.
Maintenance
-
Tweak to PWM phase initialization to ensure better synchronization and efficiency.
-
Update to ADC sampling window to minimize sampling error.
-
Update memory map initialization to properly initialize sections of RAM that were previously reserved for future use.
-
Static and Dynamic Parameter initialization process overhaul to better detect flash status, correct for errors, and minimize flash write/erases required on boot.
-
Update to open phase fault detection to allow for a configurable phase current threshold difference before triggering a fault.
-
Dead time, Open loop and test mode control parameters are restricted to access level 2.
-
Added new parameters to allow for a higher resolution temperature reading.
-
Increased security on the read/write lock feature by extending password length and preventing bootloading while the read/write lock is active.
-
Read/write lock now utilizes 3 separate password input registers and 3 separate flash parameters that all must match to unlock the flash read/write feature.
-
Uses 4 new parameters, 2 new password setting locations, Flash Parameter Read Access Code 2 and Flash Parameter Read Access Code 3 (addresses 1964 and 1965), and 2 new password entering locations, Parameter read access code 2 and Parameter read access code 3 (addresses 1707 and 1708).
-
All 3 of the password entry locations (addresses 498, 1707 and 1708) must match the password save locations (addresses 62, 1964 and 1965), respectively.
-
Bug Fixes
-
CAN Protocol
-
Fix to delay on initial CAN transmission for some RPDOs in certain situations.
-
Fix to RPDO parsing to allow for parsing odd byte-count messages.
-
Fix to TPDO/RPDO address mapping to support the full Extended CAN address range.
-
-
TTL/Display Protocols
-
Fix to hardcoded port 2 display communication displays other than
-
Custom Bafang BMS from functioning properly.
-
Fix to Custom Bafang BMS protocol CRC validation.
-
Fix to receive buffer overflowing in certain scenarios.
-
-
Fix to Dynamic Flash saves impacting motor control.
-
Fixes to certain situations where regen braking plus reverse caused the controller to drive in reverse at low speeds without user input.
-
Fix to certain parameters not being properly marked as ‘read-only’ in certain situations.
-
Fix to CRUISE digital input toggling causing a reset of the commanded setpoint.
-
Fix to foldbacks not being properly applied in specific configurations.
6.020
New Features
-
Added new parameter for speed regulator Kp in Q10 (maximum kp can be 31)
-
Added new parameter for motor temperature short detection window
-
Added Digital throttle input (for redundant throttle input)
-
Added throttle sensitivity (throttle vs command mapping)
-
Enable Features2 bit 12 Throttle Sensitivity (address 174).
-
Set Throttle Sensitivity (address 2302) to a value between 0 and 8. The result will be a throttle setpoint equivalent to the following equation:
-
Output throttle Setpoint = 〖Input throttle Setpoint Value〗^ThrottleSensitivity
-
The input throttle setpoint value is a value between 0 and 100%.
-
-
Thus, a throttle sensitivity of 1 will give the same linear feedback as without this feature enabled. A throttle sensitivity of larger than 1 will provide a finer degree of control with low throttle input. A sensitivity between 0 and 1 will give a finer degree of control near-maximum throttle input.
-
-
Added KT display support
-
New parameter added to Enable reverse enable source (include digital input and remote)
-
Added dynamic flash writing to support
-
Odometer
-
Runtime
-
Boot counts
-
Flash erase counter
-
Faults and Faults2 history
-
Maintenance
-
Walk mode feature modified
-
Added new speed Kp and Ki for walk mode
-
Added parameter to use the motor RPM for walk mode
-
-
Changed Parameter CRC to include all params2 and params3
-
Max Min limits added to port1 and port2 baudrates
-
Read and Write lock function modification to include param2 and param3
-
Added ebike flags for active alternate speed and power
-
CAN emergency protocol updated to include faults2 and warnings2
-
Modified Global foldback parameters independent of remote commands (setpoints)
-
Speed mode positive acceleration and regen ramp parameters scale factor changed in dictionary
Bug Fixes
-
Fixed KM5s display speed writing and ignoring feature bit
-
Fixed block read/write using Modbus
-
Fixed braking at low speed (plug braking)