forked from Ackmaniac/bldc
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG
201 lines (166 loc) · 8.32 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
=== FW 3.37 ===
* Temperature compensation on KI in addition to the observer resistance.
* Configurable FOC current filter (useful for slow abs max current setting).
=== FW 3.36 ===
* Added handbrake current commands to the simple CAN interface.
* Added D-term filter to position and speed controllers.
=== FW 3.35 ===
* Added option to disable nRF transmission (option in Transmit Power parameter).
* Fixed servo output driver for all hardwares and removed software servo driver.
=== FW 3.34 ===
* Added motor PID position to COMM_GET_VALUES.
* Inverted direction angle normalization in mc_interface.
* Use relative current mode in APP_ADC to support multiple ESCs with different current limits.
=== FW 3.33 ===
* Fixed CAN-bus baud rate update.
=== FW 3.32 ===
* Added CAN-bus baud rate setting.
=== FW 3.31 ===
* Option to decrease temperature limits during acceleration to still have braking torque left.
* Added PID speed control mode to ADC app.
=== FW 3.30 ===
* Activated iterative observer for better operation at high ERPM.
* Check for NAN and truncate some FOC variables.
* Speed controller windup protection improvement.
=== FW 3.29 ===
* Disabled throttle limit scaling for now.
* Increased packet timeout.
=== FW 3.28 ===
* DC_CAL timeout.
* Added board configuration file to avoid braking at boot.
* Shorter default fault stop time.
* Lower default PPM ramping time.
* Configurable beta value for motor thermistor.
* Individual throttle curves for acceleration and braking.
=== FW 3.27 ===
* Watt hour reset bug fix
* Changed the way custom applications are implemented.
* FOC: high current sampling mode.
=== FW 3.26 ===
* Current limit bug fix. It is now possible to apply break past the RPM limits.
* Openloop RPM calculation bug fix.
=== FW 3.25 ===
* APP multi-VESC PID control: send current instead of duty cycle for better load sharing.
* Added relative current commands to mc_interface and comm_can.
* APP ADC: added mode ADC_CTRL_TYPE_CURRENT_REV_BUTTON_BRAKE_ADC.
* APP ADC: changed behavior when throttle and brake ADC channels are used simultaneously for smoother combination.
* APP ADC: ramping support.
* Flux linkage measurement: Added extra try with high integrator value.
=== FW 3.24 ===
* Changed back inductance calculation since that seems to work much better in practise. (TODO: Have a closer look at why)
=== FW 3.23 ===
* Improved inductance measurement (bug fix).
* Multiple tries with different settings on flux linkage measurement.
* Observer improvements for high speed operation and better performance across the whole speed range.
* Compile time option to disable override limits.
=== FW 3.22 ===
* Added hardware-specific limits to configuration parameters.
* Permanent NRF bug fix.
=== FW 3.21 ===
* Fixed regression in PID speed controller.
=== FW 3.20 ===
* PID speed control: Set prev_error to error when the PID is off to make the start smoother.
* Improved spinup algorithm for flux linkage and bldc parameter measurement.
* APP ADC: Configurable center voltage for channel 1.
* APP_UARTCOMM: Keep the processing thread running when stopping the app in case the configuration is made from the UART port itself.
* Commands: Return results of long running commands to the port they came from even if commands come in between and change the last port.
=== FW 3.19 ===
* Added terminal plugin hook implementation. Inspired by https://github.com/vedderb/bldc/pull/28
* Moved sampling buffers to CCM to free some RAM.
* Added hardware info terminal command.
* NRF init SPI check fix.
* Sampled data is now transmitted in floating point with scaling done at the ESC. This avoids hard-coded scaling in ESC Tool.
=== FW 3.18 ===
* NRF init SPI check.
* Permanent NRF: reconfigure NRF pins to SPI pins on init failure in case the permanent NRF is not mounted and behave as if there is no permanent NRF.
=== FW 3.17 ===
* Temperature filtering.
* FOC: temperature resistance compensation.
=== FW 3.16 ===
* FOC: stator saturation compensation parameter.
* FOC: Another update for the fix for throttle limits to prevent loosing range at high speed when the battery current limit is lower than the motor current limit.
* DRV8301: over current protection settings added to configuration.
* DRV8301: Reset command andded to terminal.
* DRV8301: Log fault code read over SPI.
* DRV: Check for faults in ADC interrupt to catch the state as fast as possible.
* Send phase samples as well with the sampling function.
* New sampling modes for debugging.
* BLDC and DC: Configurable switching frequency
* FOC detect: increase minimum switching frequency for motor spinup to make it possible to detect high kv motors at high voltage.
* FOC: observer gain scaling parameter for low modulation.
=== FW 3.15 ===
* FOC: added the option for FOC sampling in both V0 and V7 to mcconf, so that it can be changed without recompiling the firmware.
* FOC: tweaked repetition counter and preload to get cleaner waveforms with low latency.
* FOC: Input voltage filterting and vd/vq filtering while undriven for more stable performance.
=== FW 3.14 ===
* Different throttle curve modes
* Improved FOC sensorless startup.
=== FW 3.13 ===
* Throttle curve for PPM, ADC and Nunchuk.
* Updated fix for throttle limits to prevent loosing range at high speed when the battery current limit is lower than the motor current limit.
* APP PPM ramping.
* APP ADC and PPM current range bug fix for some control modes.
=== FW 3.12 ===
* APP PPM throttle center setting.
=== FW 3.11 ===
* BLDC detect: disable direction inversion before detecting parameters.
* FOC speed control: remove supply voltage scaling since that does not make any sense in current control mode.
* BLDC speed control: added current-based speed controller option.
* BLDC: heavier RPM filtering.
* Speed control: option to disable braking in speed control mode.
* Added wattage limits. Useful for following laws for electric vehicles in some regions.
* Use override current limits to scale throttle inputs in apps. Will prevent the throttle from loosing rage at speed if e.g. the battery current limits are lower than the motor current limits.
=== FW 3.10 ===
* BLDC: removed cycles_running variable.
* BLDC: update ADC sampling in correct order to avoid corrupt samples when the switching frequency changes a lot at once.
* Terminal: print fault duty cycle state with one extra decimal.
=== FW 3.9 ===
* Configuration option for inverting the motor direction.
* STM32 96-bit unique ID readout.
=== FW 3.8 ===
* Communication protocol update for floating point variables. This breaks almost all compatibility with old firmwares.
=== FW 3.7 ===
* Delay after app and motor conf write.
- Fixes NRF bug.
- Fixes glitches if throttle is given while updating the configurations.
* Lock mc_interface while storing configuration.
* Nunchuk app local timeout.
- Prevents the output thread from blocking other outputs after being used before.
* Lock MC interface while storing configurations to flash.
=== FW 3.6 ===
* spi_sw for NRF stop bug fix.
=== FW 3.5 ===
* App NRF pairing.
* App nunchuk chuk error restore bug fix.
=== FW 3.4 ===
* HW version built into firmware.
- Allows ESC Tool to only list firmwares compatible with the hardware.
=== FW 3.2 ===
* hw_60 support.
* hw_das support.
* DRV8301 support.
- SPI implementation.
- Some terminal commands.
* DRV8313 support.
* 3 shunt support.
* Phase shunt support.
* Global RPM limit for both BLDC and FOC.
* Hall sensor software filtering.
* SPI software filtering.
* The software filters remove the need for hardware filtering on the sensor port, making it work for all different sensors without modification.
* Handbrake function for FOC (open loop braking).
* FOC updates and fixes.
- Current control signs.
- Control loop integrator fixes.
- Phase delay compensation and minimization.
- More consistent flux linkage detection.
- Resistance and inductance measurement bug fix that could cause a reboot.
- Timer sampling improvement and cleanup.
- Support for sampling in V0 and V7 when using phase shunts.
* Fix reboot on over temperature fault code.
* Motor temperature measurement and soft backoff.
* Terminal command for rotating magnet field generation (ACIM experimentation).
* Prevent motor start command during initialization.
* Hardware specific default configuration support.
* Stop functionality for apps so that reboots are not required anymore when changing app.
* EEPROM emulation bug fix: https://github.com/vedderb/bldc/issues/27