You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Added periodic sending of encoder position on CAN
5
6
6
7
### Changed
7
-
8
+
* Modified encoder offset calibration to work correctly when calib_scan_distance is not a multiple of 4pi
9
+
* Moved thermistors from being a top level object to belonging to Motor objects. Also changed errors: thermistor errors rolled into motor errors
8
10
* Use DMA for DRV8301 setup
9
11
* Make NVM configuration code more dynamic so that the layout doesn't have to be known at compile time.
10
12
* GPIO initialization logic was changed. GPIOs now need to be explicitly set to the mode corresponding to the feature that they are used by. See `<odrv>.config.gpioX_mode`.
11
13
* Previously, if two components used the same interrupt pin (e.g. step input for axis0 and axis1) then the one that was configured later would override the other one. Now this is no longer the case (the old component remains the owner of the pin).
12
14
13
-
### API Miration Notes
15
+
### API Migration Notes
14
16
17
+
*`odrive.axis.fet_thermistor`, `odrive.axis.motor_thermistor` moved to `odrive.axis.motor` object
15
18
*`enable_uart` and `uart_baudrate` were renamed to `enable_uart0` and `uart0_baudrate`.
16
19
*`enable_i2c_instead_of_can` was replaced by the separate settings `enable_i2c0` and `enable_can0`.
17
20
*`<axis>.motor.gate_driver` was moved to `<axis>.gate_driver`.
18
21
*`<axis>.min_endstop.pullup` and `<axis>.max_endstop.pullup` were removed. Use `<odrv>.config.gpioX_mode = GPIO_MODE_DIGITAL / GPIO_MODE_DIGITAL_PULL_UP / GPIO_MODE_DIGITAL_PULL_DOWN` instead.
22
+
*`<axis>.config.can_node_id` was moved to `<axis>.config.can.node_id`
23
+
*`<axis>.config.can_node_id_extended` was moved to `<axis>.config.can.is_extended`
24
+
*`<axis>.config.can_heartbeat_rate_ms` was moved to `<axis>.config.can.heartbeat_rate_ms`
19
25
20
-
# Release Candidate
21
-
## [0.5.1] - Date TBD
26
+
# Releases
27
+
## [0.5.1] - 2020-09-27
22
28
### Added
23
29
* Added motor `torque_constant`: units of torque are now [Nm] instead of just motor current.
30
+
* Added `motor.config.torque_lim`: limit for motor torque in [Nm].
24
31
*[Motor thermistors support](docs/thermistors.md)
25
32
* Enable/disable of thermistor thermal limits according `setting axis.<thermistor>.enabled`.
26
33
* Introduced `odrive-interface.yaml` as a root source for the ODrive's API. `odrivetool` connects much faster as a side effect.
27
34
* Added torque_constant and torque_lim to motor config
28
35
29
36
### Changed
30
37
***`input_pos`, `input_vel`, `pos_estimate_linear`, `pos_estimate_circular`, are now in units of [turns] or [turns/s] instead of [counts] or [counts/s]**
38
+
***`pos_gain`, `vel_gain`, `vel_integrator_gain`, are now in units of [(turns/s) / turns], [Nm/(turns/s)], [Nm/(turns/s * s)] instead of [(counts/s) / counts], [A/(counts/s)], [A/((counts/s) * s)].**`pos_gain` is not affected. Old values of `vel_gain` and `vel_integrator_gain` should be multiplied by `torque_constant * encoder cpr` to convert from the old units to the new units. `torque_constant` is approximately equal to 8.27 / (motor KV).
31
39
*`axis.motor.thermal_current_lim` has been removed. Instead a new property is available `axis.motor.effective_current_lim` which contains the effective current limit including any thermal limits.
32
40
*`axis.motor.get_inverter_temp()`, `axis.motor.inverter_temp_limit_lower` and `axis.motor.inverter_temp_limit_upper` have been moved to seperate fet thermistor object under `axis.fet_thermistor`. `get_inverter_temp()` function has been renamed to `temp` and is now a read-only property.
33
41
*`axis.config.counts_per_step` is now `axis.config.turns_per_step`
42
+
* Outputs of `axis.sensorless_estimator` are now in turns/s instead of electrical rad/s
43
+
* Fixed bug of high current during lockin-ramp caused by `motor::update()` expecting a torque command instead of current
44
+
* Fixed bug where commanded velocity was extremely high just after sensorless ramp when using `input_mode` INPUT_MODE_VEL_RAMP caused by `vel_setpoint` and `axis.config.sensorless_ramp.vel` being in different units
34
45
46
+
### Fixed
47
+
* Fixed bug of high current during lockin-ramp caused by `motor::update()` expecting a torque command instead of current
48
+
* Fixed bug where commanded velocity was extremely high just after sensorless ramp when using `input_mode` INPUT_MODE_VEL_RAMP caused by `vel_setpoint` and `axis.config.sensorless_ramp.vel` being in different units
0 commit comments