Servo tuning f-error spikes
After decreasing the P and increasing FF1 (according to PCW in a perfect world that’s the only value that matters in velocity mode) i get a positive spike followed by a negative one.
With FF2 the positive spike gets smaller, but the negative spike increases.
I played around with all the other available values for two days now and can´t get those spikes any smaller. I even played with backlash although the machine has ball screws.
On Y and Z the tuning was pretty straight forward with no issues, following tommylights tutorial.
Only decreasing the acceleration of X to 100 or lower helped, but judging by feeling, the original acceleration of the Sinumerik controller is around 750.
I tuned all my axis at an acceleration of 500.
So with the tuning as in the second picture when I take a dry run of the axis splash screen, the X axis starts to oscillate during the arc moves. The arc moves G2/3 are also really slow (half to a quarter speed) compared to the G1 moves. I set the feedrate of the program to 4000 just for testing purposes. Also G64 P0.01.
Red is Y-f-error, white is X-f-error and purple is X-pid-output.
When I program a circle (R=2 or R=20) with G2 in MDI, the move is fast and without oscillation, so not 100% sure if it is related to the X axis tuning issue.
Any thoughts are greatly appreciated.
Attachments:
Please Log in or Create an account to join the conversation.
Add an ini file to see your settings.
Also what parameters has servodrive? What interface is used to control servo?
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
- Posts: 5007
- Thank you received: 1441
Please Log in or Create an account to join the conversation.
What do you mean with "interface to control the servo"?
The original control is a sinumerik 820M. Today I found a manual describing its parameters. Under axis specific bits I could find a Kv-parameter and a Multgain. For X and Y they are identical: Kv=3332 and Multgain=2700. But I do not really understand what they are.
I attached the pages from the manual, but they are in german...
Nothing about P, I, D or FF1, FF2.
While I was there I found the acceleration for the X axis: acc=1000 (so 500 should be possible)
Also I friend with an oscilloscope was here today, we measured the analog in to one of the axis, when the Sinumerik is connected.
I don’t know for sure, but this doesn´t look trapezoidal, maybe that’s a part of the problem. But maybe its only bad measuring?
For now (during the retrofit) I often swap between lcnc and the Sinumerik controller. I guess changing parameters on the drives would affect the performance of the Sinumerik? I made everything directly pluggable, so changing controls is a matter of 5 minutes.
Please Log in or Create an account to join the conversation.
When turning the motor pulleys of X and Y, I can’t feel any backlash. (Like you can on most manual machines)
Between X and Y, maybe X takes a little bit more force, but X is hanging of the saddle and Y is just sitting on top of the main casting...
I can’t think of a proper way to measure the backlash though.
Here is a picture with the machine and the mesa setup:
Attachments:
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
- Posts: 5007
- Thank you received: 1441
Please Log in or Create an account to join the conversation.
You can check backlash with a dial indicator measuring movement of the table for x.y or mount it in the spindle for checking the z. Apply a force manually to see if the needle deflects. You can also check for lost motion when stepping electronically with a small increment and see if it registers on the indicator when reversing.
Most likely not your issue here.
Please Log in or Create an account to join the conversation.
As for interface - you control your servos with analog voltage reference as I understood.
I think you have big values of "P" parameters in ini file, try do decreese them.
Please Log in or Create an account to join the conversation.
Yes, that’s correct, the servos are controlled with 7i77 through +-10V. When the 10V output and the encoder input of X are disconnected, it slowly drifts. Only visible with dial indicator. Or if I wait some time then its visible by eye.As for interface - you control your servos with analog voltage reference as I understood.
P of X is 2, but with P=1 i get the same results. Should I decrease it even more?I think you have big values of "P" parameters in ini file, try do decreese them.
P of Y is at 6 and the Y axis f-error spike is below 0.01 mm.
Could maybe a loose head of the linear encoder cause such a problem? This just came to my mind. For the controller this would look the same as mechanical backlash.
I will check that tomorrow. The machine stands at a friend of mine, I sadly don´t have the space at home.
I tried pushing the X-axis by hand with an indicator on it, but I did this while the machine was on. No movement of the needle at all. I will try again tomorrow with the machine of.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
- Posts: 19209
- Thank you received: 6438
Loose P values will cause those spikes as the motor will react slowly to commands.
Please Log in or Create an account to join the conversation.