Vibrating/adjusting motor when in position

Issue:

Hello guys,

I am using the dynamixel motor XH540-V150-R to rotate a plate. The motor and plate are coupled by gears.

I am having a issue where the motor is constantly trying to readjust its position when the actual position is good enough (present position is shifting between 0/1 pulse different than target position). In this scenario the motor has just stopped moving and should be done adjusting its position. The adjusting/vibrating will keep on going forever.

Please see the graph below:

The constant readjusting of the position makes a bad noise and I don’t think it is good for the motor.

Please note: I have already optimized the PID settings and the positioning cannot get better than this. There is a heavy weight that needs to be turned by the motor.

My question: is there any setting to stop the motor from readjusting e.g. after a certain threshold/time? I cannot find a setting that’s useful for this.

Please advise and thanks in advance,


DYNAMIXEL Servo:

XH540-V150-R


DYNAMIXEL Controller:

Dynamixel is controlled by a Beckhoff PLC with an RS485 interface.

Dynamixel operating mode: current-based Position Control Mode


Software Interface:

Beckhoff CoDeSys, Dynamixel Wizard 2.0

The Dynamixel XH540-V150-R has a resolution of 4096 pulses per 360° rotation,
which means 1 pulse ≈ 0.08789°.

Since the backlash is 0.25° (15 arcmin), it can be converted to approximately ±3 pulses of position fluctuation.
As a result, the Present Position may fluctuate within a range of ±3 pulses.

To mitigate this issue, it is recommended to set POSITION_D_GAIN to 0
to reduce the response to speed variations and prevent unnecessary fine adjustments.

2 Likes