Servo tuning f-error spikes

More
05 Jan 2022 10:36 #230852 by Wieser
As I am tuning the axis of my mill, I am running into an issue with the X axis. All axis have Siemens servo motors driven by a Simodrive in velocity mode with tacho feedback to the drive. With a P-Value of 4 and all other values at 0, I get a constant f-error and some oscillations at the end (after reading tommylights servo tuning how to this behavior is normal/expected). Max f-error around 0,2[mm].
 

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.

More
05 Jan 2022 16:35 #230876 by aleksamc
I had experiance in adjusting analog servodrives. But for your problem is realy hard to understand problem.
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.

More
05 Jan 2022 20:54 #230898 by Todd Zuercher
Double check to make sure there are no mechanical problems with the X-axis causing excessive fiction or backlash. Compare how the screws for the X and Y turn by hand including changing directions.

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

More
05 Jan 2022 21:04 #230899 by Wieser
Replied by Wieser on topic Servo tuning f-error spikes
The Drive is a Simodrive 611 from 1989. The parameters are set with this little potis in the front, I guess? The INI file is attached.

 

 

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.
Attachments:

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

More
05 Jan 2022 21:17 #230900 by Wieser
Replied by Wieser on topic Servo tuning f-error spikes
I removed the way covers of X and all the sliding surfaces looked perfect and were oiled. The ball screws also looked like new. No dirt or grime at all.
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.

More
05 Jan 2022 21:25 #230901 by Todd Zuercher
If it is working fine with the original control, that would seem to point to some problem in Linuxcnc or the hardware connecting Linuxcnc to the drive. But what???

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

More
05 Jan 2022 23:11 #230908 by OT-CNC
Replied by OT-CNC on topic Servo tuning f-error spikes
I can’t think of a proper way to measure the backlash though.

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.

More
06 Jan 2022 10:50 #230935 by aleksamc
Disconnect all wires that correspond to speed reference to the motors - motor should stand still or move with smallest velocity as possible.
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.

More
06 Jan 2022 11:32 #230941 by Wieser
Replied by Wieser on topic Servo tuning f-error spikes

As for interface - you control your servos with analog voltage reference as I understood.

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.

I think you have big values of "P" parameters in ini file, try do decreese them.

P of X is 2, but with P=1 i get the same results. Should I decrease it even more?
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.

More
06 Jan 2022 12:17 #230948 by tommylight
Increase P untill it starts to vibrate when trying to jog, then lower the value a bit till there are no vibrations at stand still.
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.

Time to create page: 0.324 seconds
Powered by Kunena Forum