mirror of
https://github.com/odriverobotics/ODrive.git
synced 2026-08-18 09:29:03 +08:00
Changed default dc max negative current, updated changelog
This commit is contained in:
@@ -1,13 +1,23 @@
|
||||
# Unreleased Features
|
||||
Please add a note of your changes below this heading if you make a Pull Request.
|
||||
|
||||
# Releases
|
||||
## [0.5.2] - 2021-05-05
|
||||
### Added
|
||||
* Added phase balance check to motor calibration and MOTOR_ERROR_UNBALANCED_PHASES to error enums
|
||||
* Added polarity and phase offset calibration for hall effect encoders
|
||||
* [Mechanical brake support](docs/mechanical-brakes.md)
|
||||
* Added periodic sending of encoder position on CAN
|
||||
* Support for UART1 on GPIO3 and GPIO4. UART0 (on GPIO1/2) and UART1 can currently not be enabled at the same time.
|
||||
* Thermistors now have a 2nd order lowpass filter applied to reduce noise
|
||||
* 2-norm current clamping is used for AC induction motors
|
||||
* Added spinout detection to detect incorrect encoder offset and ENCODER_ERROR_INCORRECT_OFFSET to error enums.
|
||||
* Added AARCH64 support to libfibre
|
||||
|
||||
### Changed
|
||||
*
|
||||
* Step/dir performance improved! Dual axis step rates up to 250kHz have been tested
|
||||
* Apply_config is called for encoders after a successful direction find
|
||||
* Full calibration sequence now includes hall polarity calibration if a hall effect encoder is used
|
||||
* Modified encoder offset calibration to work correctly when calib_scan_distance is not a multiple of 4pi
|
||||
* Moved thermistors from being a top level object to belonging to Motor objects. Also changed errors: thermistor errors rolled into motor errors
|
||||
@@ -31,6 +41,7 @@ Please add a note of your changes below this heading if you make a Pull Request.
|
||||
* A system-level error property was introduced.
|
||||
* Added `torque_mirror_ratio` and use it to feed-forward `controller_.torque_output` in `INPUT_MODE_MIRROR`
|
||||
* Accumulate integer steps in step/dir to avoid float precision errors
|
||||
* Circular setpoint mode must be enabled when the step/dir interface is used.
|
||||
|
||||
### API Migration Notes
|
||||
* `axis.config.turns_per_step` changed to `axis.controller.config.steps_per_circular_range`
|
||||
|
||||
@@ -105,7 +105,7 @@ struct BoardConfig_t {
|
||||
//!< otherwise the ramp feature is disabled.
|
||||
|
||||
float dc_max_positive_current = INFINITY; // Max current [A] the power supply can source
|
||||
float dc_max_negative_current = -0.000001f; // Max current [A] the power supply can sink. You most likely want a non-positive value here. Set to -INFINITY to disable.
|
||||
float dc_max_negative_current = -0.01f; // Max current [A] the power supply can sink. You most likely want a non-positive value here. Set to -INFINITY to disable.
|
||||
uint32_t error_gpio_pin = DEFAULT_ERROR_PIN;
|
||||
PWMMapping_t pwm_mappings[4];
|
||||
PWMMapping_t analog_mappings[GPIO_COUNT];
|
||||
|
||||
+10
-1
@@ -163,6 +163,9 @@ The tool you're looking at is a fully capable Python command prompt, so you can
|
||||
|
||||
You can read more about `odrivetool` [here](odrivetool.md).
|
||||
|
||||
## Debugging
|
||||
If any of the following steps fail, print the errors by running `dump_errors(odrv0)` in `odrivetool`. You can clear errors by running `dump_errors(odrv0, True)` or `odrv0.clear_errors()`.
|
||||
|
||||
## Configure M0
|
||||
<div class="alert" markdown="span">Read this section carefully, else you risk breaking something.</div>
|
||||
<div class="note" markdown="span">There is a [separate guide](hoverboard.md) specifically for hoverboard motors.</div>
|
||||
@@ -193,8 +196,14 @@ The motor will be limited to this speed. Again the default value is quite slow.
|
||||
You can change `odrv0.axis0.motor.config.calibration_current` [A] to the largest value you feel comfortable leaving running through the motor continuously when the motor is stationary. If you are using a small motor (i.e. 15A current rated) you may need to reduce `calibration_current` to a value smaller than the default.
|
||||
|
||||
### 2. Set other hardware parameters
|
||||
`odrv0.config.enable_brake_resistor`
|
||||
Set this to `True` if using a brake resistor. You need to save the ODrive configuration and reboot the ODrive for this to take effect.
|
||||
|
||||
`odrv0.config.brake_resistance` [Ohm]
|
||||
This is the resistance of the brake resistor. If you are not using it, you may set it to `0`. Note that there may be some extra resistance in your wiring and in the screw terminals, so if you are getting issues while braking you may want to increase this parameter by around 0.05 ohm.
|
||||
This is the resistance of the brake resistor. You can leave this at the default setting if you are not using a brake resistor. Note that there may be some extra resistance in your wiring and in the screw terminals, so if you are getting issues while braking you may want to increase this parameter by around 0.05 ohm.
|
||||
|
||||
`odrv0.config.dc_max_negative_current` [Amps]
|
||||
This is the amount of current allowed to flow back into the power supply. The convention is that it is negative. By default, it is set to a conservative value of 10mA. If you are using a brake resistor and getting `DC_BUS_OVER_REGEN_CURRENT` errors, raise it slightly. If you are not using a brake resistor and you intend to send braking current back to the power supply, set this to a safe level for your power source. Note that in that case, it should be higher than your motor current limit + current limit margin.
|
||||
|
||||
`odrv0.axis0.motor.config.pole_pairs`
|
||||
This is the number of **magnet poles** in the rotor, **divided by two**. To find this, you can simply count the number of permanent magnets in the rotor, if you can see them.
|
||||
|
||||
Reference in New Issue
Block a user