Backlash vs "missing the mark"

More
13 Nov 2017 09:44 #101720 by Nitram
Hello.

My Z axis servo motors are tuned, minimal following errors and the ability to set tight deadband figures without hunting. The Z axis hits the target numbers within a few thousands of a mm.

Tested and set backlash. In the other axis' backlash is minimal. In the Z axis it is in the order of .055 mm. At some stage I will go back and take a look at replacing the axial contact bearings as the first step to reducing this figure.

For now though, the results of the backlash testing are accurate and repeatable, both up and down.
However, now with the BL figure in, whenever the machine moves in Z, it misses the target number by around .02 mm, then slowly creeps to the target value. When I take the BL figure out, the Z axis hits the numbers right on again. My quandary is, how can a BL figure affect the axis to miss the mark by that amount when without BL it hits the numbers very sweetly. In other words, BL is for direction reversal of a subsequent move, rather than stopping short or overshooting the current move.

I am rather surprised by this behavior. I did read that stepper motors require a max accel increase, but these are DC servo drives already tuned.

1. Does anyone have any thoughts on this?? and
2. Is there a parameter to set the velocity of the "fine tuning" when an axis has finished the move but is very slowly creeping to fine tune its final encoder position?

Thanks,
Marty.

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

More
13 Nov 2017 13:41 #101726 by Todd Zuercher
I believe that would be the responsibility of the I term in the PID. (PS: Using a large amount of I can lead to wind-up problems, so setting a value for pid.N.maxerrorI can be helpful.)

For what it's worth, on the machines I work with and how we use them, backlash compensation has been more trouble than it's worth, so I don't use it.

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

More
13 Nov 2017 14:49 #101727 by PCW
Replied by PCW on topic Backlash vs "missing the mark"
This can also happen if the pid.Nmaxerror term ( not pid.N.maxerrori ) is set to a small value
(you should set it to 0 = no limit for servos)

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

More
16 Nov 2017 03:25 - 16 Nov 2017 03:27 #101875 by Nitram
Just to check, does this variable from the ini file:
MAX_OUTPUT = 8.0

which links to this from the hal:
setp pid.x.maxoutput [AXIS_3]MAX_OUTPUT

Should actually also be set to zero for a servo drive as it would also seem to have the potential to limit the I gain output when correcting a small off target displacement in the same manner that limiting the pid.z.maxerror pin would?

I ask this because I have checked the pid.z.maxerror hal pin and it indicates 0, but I would assume that when an axis is very close to its target but has a sustained error, which the I gain corrects (in this case very slowly) could also be due to the MAX-OUTPUT limit limiting the rate of correction?

Thanks.
Last edit: 16 Nov 2017 03:27 by Nitram.

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

More
16 Nov 2017 13:43 - 16 Nov 2017 13:57 #101893 by PCW
Replied by PCW on topic Backlash vs "missing the mark"
The max_output setting limits the maximum output of the PID so if that's for an analog output
and its using the default scaling that would limit the output to +-8V so that's not likely the issue.

The PID maxerror setting is an input to the PID component that bounds the PID error (commanded - feedback)
to the maxerror setting, if maxerror is 0, no bounding is done so again, that's OK

So neither of those settings are a problem so maybe the next step is post your hal and ini files

Another thing that would help is to post a plot of the error, including the following error and PID output
Last edit: 16 Nov 2017 13:57 by PCW.

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

More
27 Nov 2017 12:06 #102384 by Nitram
Hi.
Just to provide some follow up to this thread, when tuning the PID loop, I ultimately had too much D. This was noted by the fact that the target would always be undershot. A function of too much D. Whilst the HAL scope was an exceptionally powerful tuning tool, I did ultimately, as a final tweak, have to go back to axis position following some moves in G90, to back off D to the point that the consistent undershoot was eliminated and to get the loop to hit the absolute target.
Thanks for all the help along the way!
Kind regards, Marty.

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

Time to create page: 0.067 seconds
Powered by Kunena Forum