Hello,
I am using ODrive S1 to control a CubeMars R60 motor (motor link: https://www.cubemars.com/product/r60-kv115-outrunner-torque-motor.html) in a pulley gear system.
Brief Overview of the System:
The system has two transmission stages. The first one is a pulley attached to the motor with a timing belt (transmission ratio 4.8). The second stage is a gear system with a transmission ratio of 5.625, so the total transmission ratio is 27. I am using a torque sensor to measure the torque at the output. I am using passthrough torque control in ODrive S1, not the ramped one (based on my application requirement). I am also using the enable pin to make the ODrive go into the active state.
I calibrated the ODrive S1 with the web GUI and then used my own embedded code (board: STM32 Nucleo) to perform the torque control operation.
Problem Faced in Sinusoidal Torque Control:
Summary: The torque tracking is not symmetric in the sine sweep if a larger torque is commanded (it is symmetric in the lower torque case). Also, it produces jittery current values in one direction of the sine sweep, and at that time, the motor makes a weird R2D2-like sound. FYI, I calibrated the torque sensor, so I am sure it is working fine. Details below.
I commanded a lower torque, 0.75 Nm to the motor (20.25 Nm at output). The results are listed below:
#Color legends: Grey = Output commanded torque, Green = torque sensor value, Red = ODrive measured torque producing current (Iq).
Highest Peak:
Torque Deviation: 4.8% overshoot
Current value (10.55 A) matches the commanded motor torque (0.75 Nm) and torque constant (0.072) based current (10.42 A)
Lowest Peak:
Torque Deviation: 3.13% overshoot
Current value (10.49 A) matches the commanded motor torque (0.75 Nm) and torque constant (0.072) based current (10.42A)
Then, I commanded a larger torque, 1.3 Nm to the motor (35.1 Nm at output). The results are listed below:
It creates jittery current values and weird motor sound at those jittery points.
Problem Faced in Step Response Torque Control:
#Color legends: Blue = Output commanded torque step, Purple = ODrive error code (disarm reason).
If I command any negative step input beyond 0.8 Nm to the motor, ODrive shows error code 8 (missing encoder estimate error). The step torques start from 0.75Nm, then increase in the following sequence: -0.75–> -0.8–> -0.85–> -0.9 Nm.
No error at -0.8 Nm step input.
Error code 8 at -0.85 Nm step input at motor.
If the step torque command is on the (+)ve side, then this 0.8 Nm threshold does not produce error code 8.
Can you please tell me what could cause this type of behaviour in the torque performance?