Torsional Spring Replication?

Hi! I am working on a project trying to simulate a torsional spring using a motor. We want to adjust the stiffness of the simulated torsional spring in order to produce different results in our project by changing the torque of the motor. I currently plan on using the Odrive Pro to do this.

Does anyone have recommendations or advice on using the ODrive Pro? Is it good for adjusting torque values? I saw that the GUI has a torque control setting, any tips on using it? Thanks!

Hi! ODrive is definitely a great choice for this! The ODrive supports precise torque, velocity, and position control. Note you’ll need to know your motor’s torque constant (Nm/A) to ensure torque accuracy. Typically, the torque constant is 8.27/KV, where KV is the speed constant in RPM/V (a more commonly provided motor value).

You can specify a direct torque value in the GUI (or over USB, UART, or CAN), that’s typical. Note though that this will be a constant torque, and not a position-dependent torque as a torsional spring will provide. To simulate this, you can put the ODrive in position control mode with a vel_integrator_gain of 0 and a vel_gain of 1. Then, your pos_gain will be the spring constant, in units of Nm/revolution. If you have a desired spring constant in the units of Nm/rad, you can multiply it by 2pi to get Nm/revolution. However, if you just want a constant torque, then you can simply set the torque from your external motion controller (computer, microcontroller, etc).