Question on Servo analog output scaling
- Krulli_Fräser
- Offline
- Senior Member
-
Less
More
- Posts: 54
- Thank you received: 5
11 May 2025 19:55 #328221
by Krulli_Fräser
Question on Servo analog output scaling was created by Krulli_Fräser
Hello all,
I have my milling machine running and following commands well. However, with a small endmill operating in tight quarters, I have some issues with the tool not following the toolpath exactly, I think there is some overtravel. I did the PID tuning months ago and was able to fine tune it after the machine is safely bolted down.
I rewatched some of RotarySMPs videos on the Schaublin conversion and he mentioned that the analog output voltage has to accurately reflect the speed resolution on the motor. Otherwise the initial voltage signal is not correct and the control has to compensate.
It just occured to me that I never adressed that. I have Linuxcnc configured to limit my travel speed to 5000 mm/min. However, the maximum speed the machine could run from the factory is triple that at 15000mm/min.
So this means the Servos only ever run at up to 1/3 of their full speed.
The way I understand it, when I command a rapid move, the Mesacard wants to give it the full 10V, leading to a really rapid move on the motor, way to fast for what linuxcnc anticipated, and that will cause some issues.
Can I change this in my Hal oder Ini files? I think there is a line with maximum output??
I can´t easily change the parameters in my drives, so I prefer changing this in the config.
I have my milling machine running and following commands well. However, with a small endmill operating in tight quarters, I have some issues with the tool not following the toolpath exactly, I think there is some overtravel. I did the PID tuning months ago and was able to fine tune it after the machine is safely bolted down.
I rewatched some of RotarySMPs videos on the Schaublin conversion and he mentioned that the analog output voltage has to accurately reflect the speed resolution on the motor. Otherwise the initial voltage signal is not correct and the control has to compensate.
It just occured to me that I never adressed that. I have Linuxcnc configured to limit my travel speed to 5000 mm/min. However, the maximum speed the machine could run from the factory is triple that at 15000mm/min.
So this means the Servos only ever run at up to 1/3 of their full speed.
The way I understand it, when I command a rapid move, the Mesacard wants to give it the full 10V, leading to a really rapid move on the motor, way to fast for what linuxcnc anticipated, and that will cause some issues.
Can I change this in my Hal oder Ini files? I think there is a line with maximum output??
I can´t easily change the parameters in my drives, so I prefer changing this in the config.
Please Log in or Create an account to join the conversation.
- PCW
-
- Away
- Moderator
-
Less
More
- Posts: 18571
- Thank you received: 5102
11 May 2025 21:14 #328233
by PCW
Replied by PCW on topic Question on Servo analog output scaling
The way I understand it, when I command a rapid move, the Mesacard wants to give it the full 10V, leading to a really rapid move on the motor, way to fast for what linuxcnc anticipated, and that will cause some issues.
That's not actually what happens. With velocity mode servos, tuning LinuxCNCs PID FF1 term is what mainly
determines the output voltage correspondence to requested velocity. If FF1 is tuned properly, the analog
output voltage will generate very close to the correct velocity in the drives. Any small per cycle or
cumulative errors are corrected by the P term position feedback.
One way to get a good initial value for FF1 is to set the analog scaling so it is equal to machine units per second
at 10V. In this case FF1==1.000
That's not actually what happens. With velocity mode servos, tuning LinuxCNCs PID FF1 term is what mainly
determines the output voltage correspondence to requested velocity. If FF1 is tuned properly, the analog
output voltage will generate very close to the correct velocity in the drives. Any small per cycle or
cumulative errors are corrected by the P term position feedback.
One way to get a good initial value for FF1 is to set the analog scaling so it is equal to machine units per second
at 10V. In this case FF1==1.000
Please Log in or Create an account to join the conversation.
Time to create page: 0.230 seconds