I have in mind an application that would need to use 2 brushless motors as generators with a maximum combined generation power of 1000W to be safe. Does this seem feasible with the 56V hardware ?
Do you need to drive the motors? Or use them purely as generators? If they’re only generators I don’t think the Odrive provides any benfits, though I’m not totally sure.
The precise application would be for a kayaking home trainer. So basically the idea is the paddler holds the paddle shaft, which is linked with two cables to two pulleys linked to the motors. And I would like to precisely emulate the water resistance curve.
So the motor would have a cycle with two phases:
- The stroke phase where they act as generators at relatively low speed with a precisely adjustable torque depending on various parameters (the main one is speed). Typical absorbed power would be 300W, cable speed 8m/s, tension force 300N
- The reel back phase, where they act as motors at higher speed with low torque (the goal is just to keep the cable under tension while the paddle swings back forward). Typical power would be 100W, cable speed 12m/s, tension force 10N
This brings another question: is the torque controllable while in generator mode ?
In any case I believe that I would need to add a new control mode to the firmware in order to be able to react fast enough but I’m fine with that.
Quick answer to your questions:
regarding your loads: In the stroke phase, do you have 8m/s and 300N at the same time? If so, your power should be closer to 2400Watts peak. Electrical power is less of course, due to motor and inverter efficiencies.
I am really not sure about the max power of the AUX Output of the Odrive , you might want to check with oscar or so if it your generated power (and thus both peak and continous RMS current) is below the Odrive current and thermal limits.
Resistors with 1Kw thermal power are surely available. Most resistors can be overloaded for a short amount of time. You average power from a human will probably be below 500Watts for sure, depending on the fitness
Yes, Torque (== proportional to current) is controllable in “generator mode”. You just use current commands (negative or positive depending on your desired torque) and can update them fast over UART/CAN.
IF the motor acts as a generator or needs power to apply the desired torque/current is up to physics and depends on current speed and commanded torque.
Not sure if a new control mode in the firmware is necessary! You probably do have some kind of external control board (Arduino, Rapsberry, custom, etc.) for all the functions. Why not just generate torque commands there and leave odrive in current control mode only?
You surely need position feedback for your closed loop control, which you can get from odrive or from the encoders directly.
We did use a setup with fast Torque updates (200Hz) from an arduino with almost zero problems in the past!
If your control software is small enough, you do not need much external connectivity and you have the programming skills, you can probably also run everything on the odrive.
Nice! Thanks a lot for this info I will continue investigating this solution then. I didn’t think 200Hz from external controller would be possible that is awesome and probably more than enough!
Your project sounds interesting.
Do you have a way to determine when to change the force on the paddle to go from in the water to in the air? Is is based on how much cable is paid out?
Can you tell me why you need a resistor? Granted the user is putting energy into the system. But as long as back emf voltage that is generated by the user back driving the motor is less than the battery/bus voltage (plus some for the needed torque), you can just put the heat into the motor winding.
Hi Vincent, one of the people on Discord has been building a bike trainer where the ODrive motor acts as a generator. I just updated the RazorsEdge firmware to use the new brake resistor logic we developed together, so you should be able to do this out of the box with no issues (provided you flash RazorsEdge)