I am facing a problem with my odrive 3.6 56V. My motor (6354 190kv) is equipped with incremental encoder - amt102 (8k pulses per revolution). I start the odrive and perform index search. Everything work ok at the begining. However over some time, the motor gets weaker and weaker, and the current neccessary to move or hold current setpoint increases. The degradation happens faster if I perform some movements. I have measured the force required to hold the position versus amps: initially 7.5A is needed to create 3kg force on my gantry and after some time 40A gives only 2kg. It looks like the encoder is sliiping but It is not. If it would slip on motor axis, rebooting and performing index search would not solve the problem, right? Full encoder offset search should be neccesary but rebooting and index search fixes the problem temporarily.
I also often get CURRENT_LIMIT_VIOLATION after executing motion with speed around 20, and after that the motor performs worse: less torque, more current to hold the position without any external load.
I guess it must be happening due to some interference in the encoder readings thats result in mismatch between real rotor position and what odrive thinks it is.
here is my config, maybe I should change some bandwidth?
motor/config/current_control_bandwidth: 250 motor/config/current_limit: 35 motor/config/requested_current_range:45.0 encoder/config/bandwidth: 1000
I tried to prevent this:
- I have twisted motor cables with ferrite ring (about 0.5 m long)
- I have a shielded encoder error (shield is connected to odrive GND and the encoder GND)
- Motor and encoder cables are not close to each other
I swapped motor, encoder and odrive itself but it is still happening. The interesting fact is that I use second motor but smaller with 3.5m long cables and the same encoder and I did not encouter problems there.
Do you think that the problem is the mounting of my encoder? It is really close to the motor
Do you have any ideas how could I overcome this?