- Configuring LinuxCNC
- Basic Configuration
- AC Servo tuning - Joint 0 following error at high velocities
AC Servo tuning - Joint 0 following error at high velocities
- abi9624
- Away
- New Member
-
Less
More
- Posts: 4
- Thank you received: 0
28 Apr 2025 13:05 #327215
by abi9624
AC Servo tuning - Joint 0 following error at high velocities was created by abi9624
Hi,
I am a newbie to Servo tuning. I made a linear guide (Travel length: 500 mm) and attached servo motor to it.
Servo Motor: Inovance MS1H2-10C30CB-A331Z-INT with 23 bit encoderServo
Drive: Inovance SV670P
Mesa card:7i97T
Servo drive is configured in speed mode and controlled through analog voltage - 10V. Followed the Servo tuning guide from this forum and tuned the P, FF1, FF2 values. Tuned with a displacement of 5mm.
This setup works upto 3000 mm/min for both continuous jogging and fixed length. Above 3000 mm/min, i am getting Joint-0 following error during continuous jogging and less error for small lengths and frequent errors for larger lengths.
I doubt whether the tuning is correct or not. Help me to solve this issue.
I have attached servo drive manual, INI file, HAL file and Hal Scope screenshots at 2880 mm/min and 6000 mm/min for both 5mm and 50 mm jogging.
Thanks in advance.
I am a newbie to Servo tuning. I made a linear guide (Travel length: 500 mm) and attached servo motor to it.
Servo Motor: Inovance MS1H2-10C30CB-A331Z-INT with 23 bit encoderServo
Drive: Inovance SV670P
Mesa card:7i97T
Servo drive is configured in speed mode and controlled through analog voltage - 10V. Followed the Servo tuning guide from this forum and tuned the P, FF1, FF2 values. Tuned with a displacement of 5mm.
This setup works upto 3000 mm/min for both continuous jogging and fixed length. Above 3000 mm/min, i am getting Joint-0 following error during continuous jogging and less error for small lengths and frequent errors for larger lengths.
I doubt whether the tuning is correct or not. Help me to solve this issue.
I have attached servo drive manual, INI file, HAL file and Hal Scope screenshots at 2880 mm/min and 6000 mm/min for both 5mm and 50 mm jogging.
Thanks in advance.
Please Log in or Create an account to join the conversation.
- PCW
-
- Away
- Moderator
-
Less
More
- Posts: 18606
- Thank you received: 5120
28 Apr 2025 15:06 - 28 Apr 2025 15:07 #327219
by PCW
Replied by PCW on topic AC Servo tuning - Joint 0 following error at high velocities
It looks to me like the FF1 term is different (too low) in the plots where the following
error tracks the velocity (higher velocity plots) Did you change some drive parameter
in these plots?
Also note that the velocity is not higher in the 6000 mm/m plots as it only gets to ~50 mm/s
(3000 mm/m) because of the acceleration bound
error tracks the velocity (higher velocity plots) Did you change some drive parameter
in these plots?
Also note that the velocity is not higher in the 6000 mm/m plots as it only gets to ~50 mm/s
(3000 mm/m) because of the acceleration bound
Last edit: 28 Apr 2025 15:07 by PCW.
Please Log in or Create an account to join the conversation.
- abi9624
- Away
- New Member
-
Less
More
- Posts: 4
- Thank you received: 0
30 Apr 2025 07:54 #327330
by abi9624
Replied by abi9624 on topic AC Servo tuning - Joint 0 following error at high velocities
Thanks for your quick reply.
I haven't changed any drive parameters.
Since i am new to Servo tuning, its quite confusing to conclude, whatever i am doing is correct or not. Now i have a fundamental question,
With the above setup is it possible to achieve 15,000 mm/min feedrate within 20 micron positional accuracy and +- 20 micron repeatability? I doubt whether the control loop is fast enough to reach this speed and accuracy ?
I haven't changed any drive parameters.
Since i am new to Servo tuning, its quite confusing to conclude, whatever i am doing is correct or not. Now i have a fundamental question,
With the above setup is it possible to achieve 15,000 mm/min feedrate within 20 micron positional accuracy and +- 20 micron repeatability? I doubt whether the control loop is fast enough to reach this speed and accuracy ?
Please Log in or Create an account to join the conversation.
- tommylight
-
- Away
- Moderator
-
Less
More
- Posts: 20255
- Thank you received: 6890
30 Apr 2025 14:11 #327343
by tommylight
Replied by tommylight on topic AC Servo tuning - Joint 0 following error at high velocities
In your ini file, you have limited max_output to 8, should usually be 10.
Here is a detailed tuning guide:
forum.linuxcnc.org/10-advanced-configura...ning-detailed-how-to
Do read it fully first so you know what parts to pay more attention, no skipping steps.
And do let me know if something there can be explained better.
Here is a detailed tuning guide:
forum.linuxcnc.org/10-advanced-configura...ning-detailed-how-to
Do read it fully first so you know what parts to pay more attention, no skipping steps.
And do let me know if something there can be explained better.
The following user(s) said Thank You: abi9624
Please Log in or Create an account to join the conversation.
- PCW
-
- Away
- Moderator
-
Less
More
- Posts: 18606
- Thank you received: 5120
30 Apr 2025 14:49 #327351
by PCW
Replied by PCW on topic AC Servo tuning - Joint 0 following error at high velocities
With the above setup is it possible to achieve 15,000 mm/min feedrate within 20 micron positional accuracy and +- 20 micron repeatability? I doubt whether the control loop is fast enough to reach this speed and accuracy ?
The main control loop in this case is in the drive, its velocity feedback loop.
The position control loop in LinuxCNC can run more slowly and maintain
high accuracy and repeatability. Note that at 15000 mm/m you move only 250
microns per ms, so it takes only relatively crude velocity commands to keep
within 20 microns. Note that as you increase acceleration, tuning becomes more
difficult as you run into various physical limits.
The main control loop in this case is in the drive, its velocity feedback loop.
The position control loop in LinuxCNC can run more slowly and maintain
high accuracy and repeatability. Note that at 15000 mm/m you move only 250
microns per ms, so it takes only relatively crude velocity commands to keep
within 20 microns. Note that as you increase acceleration, tuning becomes more
difficult as you run into various physical limits.
The following user(s) said Thank You: tommylight, abi9624
Please Log in or Create an account to join the conversation.
- abi9624
- Away
- New Member
-
Less
More
- Posts: 4
- Thank you received: 0
19 May 2025 21:39 #328761
by abi9624
Replied by abi9624 on topic AC Servo tuning - Joint 0 following error at high velocities
Hi Tommy and Peter. I took some time and tuned all three axis. Now i can jog continuously all three axes. I have attached halscope screenshots of all three axis. Can you please check whether the tuning is good or more need to be done ?
Please Log in or Create an account to join the conversation.
- PCW
-
- Away
- Moderator
-
Less
More
- Posts: 18606
- Thank you received: 5120
19 May 2025 23:31 #328762
by PCW
Replied by PCW on topic AC Servo tuning - Joint 0 following error at high velocities
Looks good, though probably needs a bit more FF1 tuning.
Are you using the "Calibrate" menu?
This makes it easy to adjust PID parameters while running.
If the following error is in the same direction as the velocity,
FF1 is too low, if the following error is in the opposite direction
of the error, FF1 is too high.
Are you using the "Calibrate" menu?
This makes it easy to adjust PID parameters while running.
If the following error is in the same direction as the velocity,
FF1 is too low, if the following error is in the opposite direction
of the error, FF1 is too high.
The following user(s) said Thank You: abi9624
Please Log in or Create an account to join the conversation.
- abi9624
- Away
- New Member
-
Less
More
- Posts: 4
- Thank you received: 0
20 May 2025 10:07 #328792
by abi9624
Replied by abi9624 on topic AC Servo tuning - Joint 0 following error at high velocities
I tuned the FF1 further. Now it looks better. Thank you.
But i am facing a different issue, on all axes, For X axis, i set a dial indicator at zero position and i started 25 full jog cycles for the total distance of 500 mm. For each cycle when the bed returns to the zero position, dial indicator displays a gradual drift away from zero position. Also after stopping the cycles, at rest the bed moves towards the zero position gradually. What could be causing this issue ? Please help me on this
Drift towards zero position at rest is not reflected in encoder and DRO.
But i am facing a different issue, on all axes, For X axis, i set a dial indicator at zero position and i started 25 full jog cycles for the total distance of 500 mm. For each cycle when the bed returns to the zero position, dial indicator displays a gradual drift away from zero position. Also after stopping the cycles, at rest the bed moves towards the zero position gradually. What could be causing this issue ? Please help me on this
Drift towards zero position at rest is not reflected in encoder and DRO.
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
Less
More
- Posts: 23328
- Thank you received: 4950
20 May 2025 11:45 #328801
by andypugh
Replied by andypugh on topic AC Servo tuning - Joint 0 following error at high velocities
The drift might be something physically slipping. Mark any shaft-to-pulley or coupler joints to be sure.
Hopefully it isn't the encoder slipping on the motor shaft, that would be very difficult to detect or fix.
It is unlikely to be lost steps in a closed-loop system, and also unlikely to be lost encoder counts, but it's not entirely impossible.
Hopefully it isn't the encoder slipping on the motor shaft, that would be very difficult to detect or fix.
It is unlikely to be lost steps in a closed-loop system, and also unlikely to be lost encoder counts, but it's not entirely impossible.
Please Log in or Create an account to join the conversation.
- PCW
-
- Away
- Moderator
-
Less
More
- Posts: 18606
- Thank you received: 5120
20 May 2025 13:10 #328808
by PCW
Replied by PCW on topic AC Servo tuning - Joint 0 following error at high velocities
You have
setp hm2_[MESA](BOARD).0.encoder.00.filter 0
(on all axis) You might try:
setp hm2_[MESA](BOARD).0.encoder.00.filter 1
In case it's a noise issue.
setp hm2_[MESA](BOARD).0.encoder.00.filter 0
(on all axis) You might try:
setp hm2_[MESA](BOARD).0.encoder.00.filter 1
In case it's a noise issue.
Please Log in or Create an account to join the conversation.
- Configuring LinuxCNC
- Basic Configuration
- AC Servo tuning - Joint 0 following error at high velocities
Time to create page: 0.099 seconds