When using either one or both motors, the ODrive will throw an ERROR_CURRENT_SENSE_SATURATION and sometimes an ERROR_DRV_FAULT when the current nears 35 amps with trap_traj position control.
Here are some of the current ODrive settings (Full motor.config dumps below):
current_lim = 55
current_lim_margin = 5
requested_current_range = 120
calibration_current = 16
dc_max_nagative_current = -55
current_control_bandwidth = 2000
I believe that the CPR is 4000, but I will need to double check that after Thanksgiving. Would an incorrect CPR be able to cause this issue?
The vel_integrator gain is 0 because I wasn’t able to get the liveplotter working at the time of tuning. It works now, but I haven’t gone back to update it.
After double checking: The Cycles per Revolution of the encoders is 1,000 and the Pulse per Revolution = Count per Revolution is 4,000 (which is what the CPR is set to).
Additionally, I have raised the vel_integrator gains based on the instructions in the documentation (0.5 * bandwidth * vel_gain) after finding a bandwidth of around 200 Hz (5 ms settling time) from the live plotter
This sounds to me like it has something to do with the current controller, but that can be influenced heavily by the encoder. What do you have set for the encoder bandwidth?
We had been using a Valefod LM2596 DC to DC Voltage Regulator to step down two 4s Lipo batteries to 25 volts. We didn’t realize that the Voltage Regulator had a low max output current (documented at 3 amps). After switching to a single 6s Lipo and not using the regulator, the ODrive appears to be functioning as expected!