DYN2 with Step/Dir and Linear Scales Tuning

More
06 Mar 2021 18:08 #201201 by silden
Hi All,
I am having issues to get my CNC mill turned utilizing the DYN2 servos in Step/Dir and 1um linear scales. in general the f-error is right around 2-4 um during the move.
At the end of the move the machine overshoots always by 0.015 and the PID brings it back to 2um.
I tried already adding back lash comp with mediocre results. It’s better at lower speeds and straight lines, and no difference in circles.

Can anyone may give me a hint what causes the spike?
Attachments:

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

More
06 Mar 2021 20:30 #201209 by chris@cnc
Finding 15µ is a challenge. Every control manufacturer rejects tuning on the telephone. 15µ tuning in a forum is suicide. Well I have nothing to lose and I hope you will forgive me. First, how far can we trust this scope. I think we also have a latency period that leads to measurement errors. Second, how is your measurement system connected? I think servo -> amplifier and scale -> encoder card right?
With this arrangement it is very difficult to do better. There is no time for linuxcnc to control it better.
And we are not sure is the error real? The test could be milling a circle and checking it on the measuring machine. If you see peaks at the quatrant end, it is often a backlash or acceleration problem. And you can try to change the following parameters: acceleration, backlash, PID. But it takes time.
Perhaps you also have the option of connecting the scale directly to the amplifier. This is how we avoid the problem of latency. The internal control loop is faster than via linuxcnc.
Lastly, check again how it works without scale. And compare endor data with stepgen position. This is a good way of identifying mechanical problems.
Good luck Chris

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

More
06 Mar 2021 21:24 #201217 by PCW
Assuming the first spike represents a positive acceleration,
you may be able to make some improvement with more FF2

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

More
06 Mar 2021 21:31 #201218 by silden
Hi Chris,
Thank your for your suggestions.

The screen shot is from the HAL scope. I am not sure if is correct or not, but would guess that it is. It is repeatable.
The signal flow is scale -> PID -> step gen ~> DYN2.
The scale can’t be connected directly to the drive.
I measured the backlash last year and there was none. I am planning to retest this today.
The machine has less than 20hrs of machine time. and the linear rails and ball screws are new and oversized.
the weird thing is that it does the same spike at the end of the move at 500mm/s and 8000mm/s.

I know that I can flatten the overall control loop with tuning the PID.
I tried to run the DYN2 with +-10V and the spike was gone, but the drive behaves rather wired under analog control.

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

More
06 Mar 2021 21:39 #201219 by PCW

the weird thing is that it does the same spike at the end of the move at 500mm/s and 8000mm/s.


Actually that's expected if FF2 is not optimized because the error is proportional to acceleration
not velocity.

This may also be something you can tune with the drives FF2 = acceleration feed forward
= inertia compensation

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

More
06 Mar 2021 22:21 #201226 by chris@cnc

FF2 = acceleration feed forward
= inertia compensation

just didn't know how to set this ratio in the Linuxcnc until now. Learned something again. Thanks PCW ...

Second note. Your f-error may be too small. Here 10µ - 20µ are okay. Your servo is faster than you can measure and so it drives ahead. With the f-error, you have to include the latency and give more priority to a clean stop.

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

More
06 Mar 2021 23:06 - 07 Mar 2021 00:20 #201230 by silden
Hi PCW,

This was the key to fight the spike.
I’ve set the FF2 form 0 to 0.0005 ant it did the trick. the spike is down to 4-5um which is within the standard deviation.
will FF0 help with the spike at the start or should I reduce the Max Accel down from 1000? the motor is well below 50% load for a G0 of 9000mm/s. therefore I don’t think it is a limitation of the servos.

Edit:
We added FF3 of 0.000015 and the spike in the beginning is gone.
Thank you to everyone who helped us with this
Last edit: 07 Mar 2021 00:20 by silden. Reason: add information

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

Time to create page: 0.069 seconds
Powered by Kunena Forum