Hey,
I am using Odrivr 3.6 to control a scooter motor (Xiaomi M365). I have a 2 ohm braking resistor and a 24V power supply. When I turn the motor manually too fast, the DC bus reaches 25V, while the resistor only burns 1 A. Shouldn’t Odrive be able to burn 24 V / 2 Ohm before the bus voltage increases?
How are you measuring the 1A across the resistor? I’d double check the connections, and make sure there isn’t a high resistance connection in there accidentally (e.g. an alligator clip). It could also be the case that you’re just overspeeding the motor (making the back-emf voltage higher than the bus voltage), which the ODrive is unable to deal with.
Thank you for the very quick reply!
I made another measurement, measuring the voltage over the 2 ohm resistor. It didnt even reach 1 V (so <0.5 A) while the DC bus increased by 2V.
Its a big motor, so i guess there is a lot of back emf?
Is this expected behavior? Where does the braking resistor get its current from? As I understand your message, its not from the DC bus?
Is there a way to make the dumping of current into the resistor more aggressive?
How are you measuring the voltage? Since the ODrive PWMs the voltage, something like a multimeter won’t show the actual brake duty. You’d have to use an oscilloscope or similar.
However, yes, I’d bet you’re just turning the motor too fast. The scooter has a top speed of 30 km/h with a 220mm diameter tire and a nominal battery voltage of around 36V. So that’s 345mm tire circumference → 1.5k RPM → kv of 41.66 RPM/V. So turning it faster than ~900-1000 RPM will cause a higher back-emf voltage than the bus voltage.
Is this expected behavior?
Yes. When the motor’s back-emf is higher than the supply voltage, it takes a different path back through the inverter, and the ODrive isn’t able to actually control the current – it just gets dumped back into the bus. The ODrive also isn’t able to detect the current, so it can’t enable the brake resistor to compensate. This is a phenomena that happens in essentially all inverters / motor controllers – I once killed a scooter by going too fast down a hill ![]()
Where does the braking resistor get its current from? As I understand your message, its not from the DC bus?
It’s from the DC bus; if the brake resistor current is equal to the regenerated current, then no current will flow back to the bus – it’ll all “stay inside” the ODrive.
My recommendation here would be to raise the bus voltage if possible.
Thanks again for the detailed explanation. Yeah I was using a multimeter, sadly dont have an osci here right now. I made a short test and increased the supply voltage by 7V and it slightly increased the maximum speed I can turn the motor before the bus voltage increases.
For a 36V motor, is the 36 V just the optimal working point and I can go higher with the supply voltage? The Xiaomi M365 has a 36V li ion battery so its fully charged voltage would be 42V.