Velocity mode.Control problems

Hi! I am using Odrive 3.6. I have connected a motor with an absolute encoder. Performed calibration. My motor has 5 pairs of poles. The motor is connected to the ODrive without any loads on the shaft. I use a new motor. I want to control it in velocity mode. At small speeds of up to 10-12 revolutions per second, the motor works stably. As the sweeps increase, some spikes appear on the speed graph, the motor emits knocks and clicks. Begins to beat periodically. I tried to use the VEL_RAMP mode and additionally specified the inertia parameter from the motor’s utility. But it did not give the desired result.

I also fully rebuilt the vel_gain and vel_integrator_gain parameters. I tried to adjust the Encoder.Config.bandwidth. But I did not get stable work at speeds above 10-12. When the RPM increases above 25 rpm, a periodic crackling is heard and various errors appear after a few minutes. OVERSPEED and as a consequence UNKNOWN_TORQUE. But I have config.vel_limit = 1000 and config.vel_limit_tolerance =2. Also, sometimes the error CURRENT_SENSE_SATURATION appears, I configured the config.current_lim higher and config.requested_current_range parameters, but this did not always help.

What could be the reasons for this behavior of the motor? What is the reason for the crackling and beating? What can cause the throws on the speed chart? I tried to replace the motor with exactly the same new one, but the behavior in operation has not changed.

Previously, I set up other motors to work with ODrive and they rotated perfectly at speeds from 0 to 70 revolutions per second.

Can you please provide more information as to the motor and absolute encoder in question?

Hi! I have solved this problem. There was bad contact between the encoder connector and ODrive. After I replaced the wires with high-quality ones, the problem went away.

1 Like