Hello, so just for some context, we’ve got a single leg robot in our lab with two geared 105Kv 21 pole pair 2Nm BLDC motors which are both controlled by a 56V (48V supply) v3.6 ODrive (fw 0.5.5). We’re controlling them in torque control mode over CAN at 500hz with the control bandwidth turned down to 500rad/s. Each motor has a 4096cpr encoder and the maximum velocities I’ve seen are about 15 turns/s. We also aren’t using any of the GPIO’s.
Recently we’ve been trying to get it to jump higher, but for higher impact landings the ODrive appears to cut out and dump_errors displays the system error ODriveError.TIMING_ERROR, and I’m really not sure what could be causing this. I also can’t work out what error in the firmware corresponds to this error in odrivetool. Any help very much appreciated!
I’ve just had a look at the ODrive specifications page and I think I could be hitting the 35000 eRPM / # of motor pole pairs speed limit with ground impacts. This gives 27.7 turns/s which it could be getting close to. @madcowswe would this cause the timing error?
That could be a possibility, but it should be quite a decent power supply (TTi QPX1200SP) and we haven’t had any issues in the past. I’ve tried lowering the torque control bandwidth from 500rad/s to 100rad/s but this didn’t seem to change when it cuts out.
@Wetmelon@madcowswe I’m really struggling to find what could be triggering this error in the firmware because searching for TIMING_ERROR in the github firmware doesn’t have any results?
So I finally got to the bottom of this. dump_errors was actually reporting the error incorrectly. The system had an error value of 4 which corresponds to a ODRIVE_ERROR_DC_BUS_OVER_VOLTAGE error. A scope on the power supply also showed the bus voltage rising higher than it should so I just enabled the brake resistor voltage ramp and now everything is working great.