touch off don't zero the axis
12 Dec 2013 23:50 #41547
by jtc
touch off don't zero the axis was created by jtc
Please Log in or Create an account to join the conversation.
13 Dec 2013 01:47 #41557
by andypugh
Replied by andypugh on topic touch off don't zero the axis
Are you displaying actual or command coordinates? User or Machine ?
Please Log in or Create an account to join the conversation.
13 Dec 2013 02:33 #41558
by emcPT
Replied by emcPT on topic touch off don't zero the axis
Actual coordinates, relative.
The commanded are zero indeed. Is not clear why the actual position coordinates are not "near" zero. We understand the small flotation that we have (0.002), but we do not understand the value around witch the flotation is.
The commanded are zero indeed. Is not clear why the actual position coordinates are not "near" zero. We understand the small flotation that we have (0.002), but we do not understand the value around witch the flotation is.
Please Log in or Create an account to join the conversation.
13 Dec 2013 05:53 #41566
by andypugh
I wonder if your servo drives are not precisely zeroed, and what you see is the offset needed for the PID to correct that.
If I am right, then if you halve the P term you should see the values increase.
Replied by andypugh on topic touch off don't zero the axis
Actual coordinates, relative.
The commanded are zero indeed. Is not clear why the actual position coordinates are not "near" zero. We understand the small flotation that we have (0.002), but we do not understand the value around witch the flotation is.
I wonder if your servo drives are not precisely zeroed, and what you see is the offset needed for the PID to correct that.
If I am right, then if you halve the P term you should see the values increase.
Please Log in or Create an account to join the conversation.
13 Dec 2013 15:01 - 13 Dec 2013 15:12 #41573
by emcPT
Replied by emcPT on topic touch off don't zero the axis
This brings another interesting question.
The drives that we are using have a built in PID that can used to set and tune the motor directly in the drive (a PC connected to the drive with manufacturers software).
In linuxcnc we have set a PID 1,0,0 for all the axis as we are using the drive PID (that we calibrate before connect the drive to linuxcnc)
It is possible that we would get a better response (not only related with the zeroed, but overall moving response), if we used the linuxcnc PID instead of the drives PID? Would this be a better "by the book" setup?
Thank you
The drives that we are using have a built in PID that can used to set and tune the motor directly in the drive (a PC connected to the drive with manufacturers software).
In linuxcnc we have set a PID 1,0,0 for all the axis as we are using the drive PID (that we calibrate before connect the drive to linuxcnc)
It is possible that we would get a better response (not only related with the zeroed, but overall moving response), if we used the linuxcnc PID instead of the drives PID? Would this be a better "by the book" setup?
Thank you
Last edit: 13 Dec 2013 15:12 by emcPT. Reason: Spelling
Please Log in or Create an account to join the conversation.
13 Dec 2013 20:43 #41581
by andypugh
It is possible it might be better. It is also possible that it might be worse.
The drive PID has a tighter and faster loop. The LinuxCNC PID has bias/deadband/feedforward which the drive PID might not have (there is no way that the drive can have the same feedforward as LinuxCNC has, as it only has a single command channel)
Replied by andypugh on topic touch off don't zero the axis
It is possible that we would get a better response ... if we used the linuxcnc PID instead of the drives PID?
It is possible it might be better. It is also possible that it might be worse.
The drive PID has a tighter and faster loop. The LinuxCNC PID has bias/deadband/feedforward which the drive PID might not have (there is no way that the drive can have the same feedforward as LinuxCNC has, as it only has a single command channel)
Please Log in or Create an account to join the conversation.
13 Dec 2013 21:28 #41583
by emcPT
Replied by emcPT on topic touch off don't zero the axis
Now we cannot have a MIN_FERROR less than 0.1, that I suppose is 0.1mm what is too much. If fast movements this goes up to 6.4mm (in 10m/min movements)
The drive tuning shows a very good response what appears nothing to do with the actual error.
We will try now to use the Linuxcnc PID and do not use the drive PID (that I suppose need to set to P=1, I=0 and D=0).
The drive tuning shows a very good response what appears nothing to do with the actual error.
We will try now to use the Linuxcnc PID and do not use the drive PID (that I suppose need to set to P=1, I=0 and D=0).
Please Log in or Create an account to join the conversation.
13 Dec 2013 22:43 #41585
by PCW
Replied by PCW on topic touch off don't zero the axis
If not already set-up this way, I would set the drives in velocity mode
(so the drive itself closes the velocity loop). I would also set the analog scale
in HAL so the output scale is LinuxCNC's maximum per axis velocity (with 10V at the drive)
so for example if you X full axis speed at 10V is 100 mm/s you would:
setp hm2_5i25.0.7i77.0.1.analogout0-maxlim 100
setp hm2_5i25.0.7i77.0.1.analogout0-minlim -100
setp hm2_5i25.0.7i77.0.1.analogout0-scalemax (100 or -100 depending on feedback direction)
Then I would follow JT's velocity mode tuning tutorial:
gnipsel.com/linuxcnc/tuning/servo.html
With one proviso: If you set analog out scaling as shown above, a FF1 value of 1 is the best starting value
(so the drive itself closes the velocity loop). I would also set the analog scale
in HAL so the output scale is LinuxCNC's maximum per axis velocity (with 10V at the drive)
so for example if you X full axis speed at 10V is 100 mm/s you would:
setp hm2_5i25.0.7i77.0.1.analogout0-maxlim 100
setp hm2_5i25.0.7i77.0.1.analogout0-minlim -100
setp hm2_5i25.0.7i77.0.1.analogout0-scalemax (100 or -100 depending on feedback direction)
Then I would follow JT's velocity mode tuning tutorial:
gnipsel.com/linuxcnc/tuning/servo.html
With one proviso: If you set analog out scaling as shown above, a FF1 value of 1 is the best starting value
Please Log in or Create an account to join the conversation.
13 Dec 2013 23:17 #41586
by emcPT
Replied by emcPT on topic touch off don't zero the axis
Thank you, your suggestion is to maintain the PID on the drives?
It was not clear to me.
Drives are already at velocity mode.
It was not clear to me.
Drives are already at velocity mode.
Please Log in or Create an account to join the conversation.
13 Dec 2013 23:57 #41587
by PCW
Replied by PCW on topic touch off don't zero the axis
Yes, you want the drives to be in velocity mode which means they have a PI
velocity loop running in the drive.
LInuxCNC runs a PID position loop, the output of which is a velocity command.
The PID loop in linuxCNC will be mainly tuned with P, FF1 and FF2.
(I and D will normally be close to 0 if the drive itself is well tuned)
velocity loop running in the drive.
LInuxCNC runs a PID position loop, the output of which is a velocity command.
The PID loop in linuxCNC will be mainly tuned with P, FF1 and FF2.
(I and D will normally be close to 0 if the drive itself is well tuned)
Please Log in or Create an account to join the conversation.
Time to create page: 0.091 seconds