DC Bus Over Voltage correction

Hi,
I am new to using Odrive and was getting the above error while using current control in a braking application.

Setup: Attached a custom resistor (500w @ 1Ohm) for dissipation, but the resistor value in Odrive config is set to 2 Ohms, assuming a compensation for connectors and wires. I had tried setting the value to 1 ohm initially but the error was more pronounced at that time.

Odrive : 24V version V3.6
Firmware : 0.4.12
What is the reason for this issue? Will going with a resistor of lower resistance, like 0.5 Ohm resolve the issue?

Probing around the configuration settings I saw dc_bus_undervoltage_trip_level = 8.0 (float)
dc_bus_overvoltage_trip_level = 24.0 (float). Is it safe to increase this value to 30V (since the supply has capacitors with rating of 35V inside) without damaging Odrive?

Thanks in advance

Firstly, I would upgrade your firmware. The 0.5 versions have much improved control of the braking resistor, for example, allowing you to charge a battery and only use the resistor to limit the current into the battery and avoid overcharging it.

What was the error? :stuck_out_tongue:

Thanks for the input, but I am not planning to add a battery. Cost reasons. I was referring to the same error, DC Bus Over voltage. I was getting this error much frequently when I reduced the resistor value in the config to match that of the resistor.

Is there a software limit to how much current is passed throught the resistor?

Sometimes that means the inductance of your supply wires is too high, or your supply is finding it difficult to regulate the voltage and overshoots. Adding more capacitance might help. Upgrading firmware probably will help.
However, if you are planning to run at >24v, you should use the 56V version. I don’t see much reason for the 24V version to exist, tbh.

Inductance could be an issue, I could definitely look into this. Thanks for the suggestion.

However, if you are planning to run at >24v, you should use the 56V version. I don’t see much reason for the 24V version to exist, tbh.

This gives me an idea, maybe I can put the supply to 20V, so that there is headway to the error trigger.

If you could answer honestly, how difficult is the firmware update from a windows machine?

Thanks
Aku

:scream:
Don’t you have a Raspberry Pi or something? :stuck_out_tongue_closed_eyes:

Joking aside, I have done firmware updates on Windows sometimes, with odrivetool. It does work. You might have to screw around with “Zadig” to get libusb-win32 into the correct mode though.

1 Like

Don’t you have a Raspberry Pi or something?

I do, thanks for the tip.

No. The capacitors on ODrive are rated to lower than that, so they will be damaged.

If you could answer honestly, how difficult is the firmware update from a windows machine?

See “Upgrading from 0.4.12” here: https://docs.odriverobotics.com/#upgrading-from-0412

In 0.5.1, there is a closed loop feedback controller available for controlling the dc bus voltage that can help with this error.

odrv0.config.enable_dc_bus_overvoltage_ramp = True
odrv0.config.dc_bus_overvoltage_ramp_start = <Power supply voltage> + 2

By default, the brake resistor only runs in “feedforward” mode, where we estimate the bus current by looking at the current going into / out of the motors, then if the motor is in a “Generating” mode, it turns the brake resistor on to dissipate the energy being generated. The “Dc bus overvoltage ramp” looks at the actual DC bus voltage and adds additional brake resistor current to help bring the bus voltage down. Just make sure you set the “ramp start” above your normal operating voltage, or it will think the power supply is too high and try to send it straight through the brake resistor :slight_smile:

1 Like