Torque limits at low RPM

Hello!

We have been working on a winch system that is powered by a R100 90kv BLDC motor from T-motor, feedback from an AS5047 and supplied with 50V from a 12S battery. So far we have limited the system at 80A, since we don’t want to burn anything.
We seem to not be able to reach the expected performance goals of the motor at low RPMs with the Odrive. We have tested this motor on the same setup and higher loads with a bigger commutation-based ESC (hobbywing platinum 200A) and it seems to not have any problems moving the motor at low RPMs and full load (2-4 truns/s and a maximum torque of around 8Nm, with both ESC and motor not heating up).

We wanted to know whether we are reaching the hardware limitations of the ODrive Pro or the lack of torque comes from a poorly tuned system. Here is attached the datasheet of our motor and wanted to ask if peak torque at low RPMs was possible with a properly tuned ODrive Pro:


If our ODrive Pro is actually capable of using most of the performance of the motor, then our system tunning / set up is not good and will ask advise on that!

Thank you in advance :slight_smile:

Hi there,

You’re definitely not hitting the full ODrive Pro performance if that’s what you’re experiencing. Peak torque at low RPMs is a walk in the park for the ODrive :wink:

A few questions:

  • What control mode are you running the ODrive with? Torque control or velocity control?
  • Have you tuned your vel gains? vel_gain and vel_integrator_gain
  • What’s your motor’s vel_limit set to?

If you’re using ODrivetool, you can run odrivetool backup-config config.json, which’ll dump the ODrive’s configuration to config.json, which you can then upload here.

Hi! Thank you for the fast response!!

Here’s the config file:

This file contains the latest configuration we tested, but maybe not the best one we got.

We have tested all control modes with many gain configurations, but our goal was to have precise velocity control with smooth accelerations at high load.
What we have found is that once we reach a certain load, the motor doesn’t have enough torque to overcome inertia and friction of the system to start moving the load, we can even audibly hear the current flowing through the coils, which I’m not sure if that’s quite normal. We have also experimented consistent velocity oscillations when the motor is able to move a reasonable load (let’s say over 2-3Nm) and this might be what’s reducing the performance of the motor. We have tried to mitigate those oscillations varying the gains you mention and both encoder and current bandwidth, testing most possible combinations within the following ranges:

  • vel_gain: [0.05-1]
  • vel_integrator_gain: [0.3-15]
  • current_control_bandwidth: [100-1000]
  • encoder_bandwidth: [100-2000]

We have managed decently smooth velocities and accelerations at lower loads, but never on loads over 2Nm.

With torque control the oscillations are reduced a bit, but remain present. Nonetheless we still don’t manage to achieve the expected maximum torque.
With an available torque of 8Nm @80A (kt = 0.1 Nm/A) we should be able to perform our laod goals with a good margin, but we don’t seem to be near our goals for now.

We have limited our vel_limit = 40 turns/s. Without any load we were reaching a maximum of 42 truns/s with vel_limit at 60 rps.

If necessary, I’ll try to upload some graphs of the oscillations we are encountering later today.

Thank you!