Hoping to find some direction for solving my issue. I am using a 24V ODrive with the D5065 270KV along with the included 50W brake resistor (0.5 ohms) and a 24V 450W power supply. The motor provides a constant load in current control mode and during use is backdriven against that load at a variable rate. At very low currents (3-5A) I was constantly tripping the vbus voltage limit.
I reduced the power supply to output only ~20V and bumped up the brake resistor value in the software to 0.7 ohms. That helped a bit, but now I’m having the same issue at a currents of >=12A.
I also noticed that if the motor is backdriven very slowly, or very quickly, the resistor seems work properly. At certain backdriven RPMs (~800-1000) the voltage spikes heavily and trips the overvoltage error.
Any insight into what I’m seeing? Is a fix as simple as using a larger power resistor? I’m not sure how to solve this, or if this application just isn’t a good one for the hardware.
A side question (I’m sure it’s related), but during the backdriving of the motor, the power supply tends to click and I think the fan turns off momentarily - is this damaging the power supply?
We made significant improvements to the brake resistor handling in the Release Candidate (rc-v0.5.0). If you’re willing to try it, I can send you a .hex file to flash and some instructions on how to use it.
Nope, i was just about to build one for you and PM it. If you can build it yourself, that also works. What version of ODrive do you have? 3.6-24V?
Once in hand, you have to set:
odrv0.config.brake_resistance = <nominal value of brake resistor>
odrv0.config.enable_dc_bus_overvoltage_ramp = True
odrv0.config.dc_bus_overvoltage_ramp_start = 22
odrv0.config.dc_bus_overvoltage_ramp_end # Simply verify that the max voltage is approximately 26V
this will turn on the closed-loop feedback for the DC bus voltage. With the values i used above, it will be setup so that it will start to put more current into the brake resistor above 22 volts, up to maximum current at 26V. Make a note that if this is enabled and you power the device with a voltage above 22 volts, the brake resistor will always be drawing current, trying to get the bus voltage back down to 22 volts!
If you want a higher or lower value than 22 volts, change dc_bus_overvoltage_ramp_start
@Wetmelon Ah, okay. I’m not that fluent, so I guess if you don’t mind I’d gladly take the PM. Confirmed that I have 3.6-24V and thanks very much for the explanation, I’m excited to try that out!
@Wetmelon, thanks so much for sending the .hex file. I can now see the busvoltage spikes plateau at 22V, and I was able to increase the motor current without issue to the point where I must now build a more robust rig before I can take it any higher. Even so, it does appear that this has fully solved the issue.