FBL2360 - Closed Loop Speed Position Question

6 years 5 months ago #29533150 by mpthompson
I'm running a robot where by each of the six wheels is controlled by a BLDC driver motor attached to a FBL2360 controller operating in "Closed Loop Speed Position" mode.

The description for this mode is:

Closed Loop Speed Position Control - In this mode, the controller computes the position at which the motor must be at every 1ms. Then a PID compares that expected position with the current position and applies the necessary power level in order for the motor to reach that position. This mode is especially effective for accurate control at very slow speeds.

For the most part, things are working great. This operating mode allows me to drive the robot accurately at very low speeds.

However, after driving the robot for several minutes it develops a shaking, almost as if it has Parkinson's disease. From the best I can determine, the problem is each motor being independently controlled in "Closed Loop Speed Position", each motor maintains it's own expectation of where it should be. Then over time the expected position maintained by each motor diverges by a significant degree. When this occurs the wheels begin "fighting" each other to achieve their desired position. It's this fighting that I see as the shaking.

To fix the issue, I temporarily lift the wheels off the ground, let the motors seek to their desired position and the shaking goes away until the motors again diverge significantly after drive for several more minutes.

The question I have: When operating in "Closed Loop Speed Position" mode, is there a command or sequence of commands that will "reset" the expected position of each motor? If there is, this will allow me to prevent the wheels fight each other after their expected positions diverge and should quiet the shaking I observe as the motors fight each other.



Please Log in or Create an account to join the conversation.

Moderators: tonysantoni
Time to create page: 0.057 seconds