g76 canned threading using NGCGUI sub routine
28 Dec 2013 08:07 #42089
by Davenc
g76 canned threading using NGCGUI sub routine was created by Davenc
I copied a number of Johns routines from the library and have them setup on my cnc lathe. I'm AIR testing everything and have AIR tested the od, drill and taper subs and they work fine .i.e they move and cut in the correct directions watching the toolpath linuxcnc provide. The problem is I can't get the G76 sub to run properly even cutting AIR. I have my tool table setup and running with the other subs so it appears to be working and setup properly. I believe I have my synchronized motion setup properly because I have a stable smooth RPM meter on the panel using an index pulse and the 100ppr quadrature encoder running and have verified it has stable output on phase A and phase B using halscope.
I need assistance with the two items below.
1) I'm not sure how to test if the synchronized motion is working properly since it mainly used for threading?
2) The g76 sub routine starts out OK and moves the tool to the proper position to start threading from home but then it just stops without even attempting to cut AIR threads. I can see the tool path lines for threading setup on the display to the tool path looks valid. However I'm not seeing any errors why the canned threading stops. I have to manually stop it or it will just sit there. I have verified the contents of the g76 sub routine and it's ok, even copied it again and replaced the first one.
How do I trouble shoot this with no error codes?
Thanks,
Dave
I need assistance with the two items below.
1) I'm not sure how to test if the synchronized motion is working properly since it mainly used for threading?
2) The g76 sub routine starts out OK and moves the tool to the proper position to start threading from home but then it just stops without even attempting to cut AIR threads. I can see the tool path lines for threading setup on the display to the tool path looks valid. However I'm not seeing any errors why the canned threading stops. I have to manually stop it or it will just sit there. I have verified the contents of the g76 sub routine and it's ok, even copied it again and replaced the first one.
How do I trouble shoot this with no error codes?
Thanks,
Dave
Please Log in or Create an account to join the conversation.
28 Dec 2013 11:07 #42093
by Davenc
Replied by Davenc on topic g76 canned threading using NGCGUI sub routine
It's amazing that as soon as I post a thread for help I figure out what's wrong. I played around with inverting the par pins connected to the index and phase a & b. Once I found the right combination I have threading.
Please Log in or Create an account to join the conversation.
29 Dec 2013 07:33 #42133
by BigJohnT
Replied by BigJohnT on topic g76 canned threading using NGCGUI sub routine
You saved me from looking up this link...
gnipsel.com/linuxcnc/tuning/encoder.html
But here it is anyway in case another reader is in the same boat as you...
JT
gnipsel.com/linuxcnc/tuning/encoder.html
But here it is anyway in case another reader is in the same boat as you...
JT
Please Log in or Create an account to join the conversation.
29 Dec 2013 12:42 #42138
by Davenc
Replied by Davenc on topic g76 canned threading using NGCGUI sub routine
This is also missing from the documentation for running a encoder with quadrature output. The line below isn't in any of the synchronized motion docs and the step config wizard doesn't add it to the hal file even though you have assigned a parport pin to phase b. I just stumbled on it when searching for the G76 stalling problem.
setp encoder.0.x4-mode true
The same thread also suggested putting the "not" for the parport when the G76 stalls the moment the tool tip touches the work piece. This would save people quite a bit of trouble when setting up an encoder using both phase A & B.
net spindle-phase-a encoder.0.phase-A <= parport.0.pin-11-in-not
net spindle-phase-b encoder.0.phase-B <= parport.0.pin-12-in-not
net spindle-index encoder.0.phase-Z <= parport.0.pin-13-in-not
setp encoder.0.x4-mode true
The same thread also suggested putting the "not" for the parport when the G76 stalls the moment the tool tip touches the work piece. This would save people quite a bit of trouble when setting up an encoder using both phase A & B.
net spindle-phase-a encoder.0.phase-A <= parport.0.pin-11-in-not
net spindle-phase-b encoder.0.phase-B <= parport.0.pin-12-in-not
net spindle-index encoder.0.phase-Z <= parport.0.pin-13-in-not
Please Log in or Create an account to join the conversation.
29 Dec 2013 20:29 #42151
by BigJohnT
Replied by BigJohnT on topic g76 canned threading using NGCGUI sub routine
The pin encoder.n.x4 default is true so setting it true it does nothing.
Which thread are you referring to?
The only pin that makes sense to have to change the input from in to in-not on is the index pin.
JT
Which thread are you referring to?
The only pin that makes sense to have to change the input from in to in-not on is the index pin.
JT
Please Log in or Create an account to join the conversation.
30 Dec 2013 01:22 - 30 Dec 2013 01:24 #42165
by Davenc
Replied by Davenc on topic g76 canned threading using NGCGUI sub routine
John,
I looked and couldn't find it again without spending a bit more time.
Remember I'm running AIR threading but I can get your G76 coding to work by either.
This:
net spindle-phase-a encoder.0.phase-A <= parport.0.pin-11-in
net spindle-phase-b encoder.0.phase-B <= parport.0.pin-12-in-not
net spindle-index encoder.0.phase-Z <= parport.0.pin-13-in
Or this:
net spindle-phase-a encoder.0.phase-A <= parport.0.pin-11-in-not
net spindle-phase-b encoder.0.phase-B <= parport.0.pin-12-in
net spindle-index encoder.0.phase-Z <= parport.0.pin-13-in
If one of the phases inverted the G76 threading will stop the moment the tool point touches the work piece after moving from home.
I can also change the phaze Z to -in-not as long as I have one of the other two pins coming from the encoder inverted and it appears to work either way. I guess I won't know if it's really working or not until I actually try cutting some threads. I suspect my encoder www.lynxmotion.com/p-448-quadrature-motor-encoder-wcable.aspx requires this because of the way I have it physically mounted to my mini-lathe.
Running the spindle in the CW direction (picture view) forces the encoder to run in the opposite direction which causes the quadrature phase b to lead phase a. I'm going to assume that linuxcnc requires phase a to lead phase b which is what I'm doing by inverting one of them.
I needed the spindle bore open so the way I mounted the encoder was the easiest way I could think of and the parts were cheap to do so.
I looked and couldn't find it again without spending a bit more time.
Remember I'm running AIR threading but I can get your G76 coding to work by either.
This:
net spindle-phase-a encoder.0.phase-A <= parport.0.pin-11-in
net spindle-phase-b encoder.0.phase-B <= parport.0.pin-12-in-not
net spindle-index encoder.0.phase-Z <= parport.0.pin-13-in
Or this:
net spindle-phase-a encoder.0.phase-A <= parport.0.pin-11-in-not
net spindle-phase-b encoder.0.phase-B <= parport.0.pin-12-in
net spindle-index encoder.0.phase-Z <= parport.0.pin-13-in
If one of the phases inverted the G76 threading will stop the moment the tool point touches the work piece after moving from home.
I can also change the phaze Z to -in-not as long as I have one of the other two pins coming from the encoder inverted and it appears to work either way. I guess I won't know if it's really working or not until I actually try cutting some threads. I suspect my encoder www.lynxmotion.com/p-448-quadrature-motor-encoder-wcable.aspx requires this because of the way I have it physically mounted to my mini-lathe.
Running the spindle in the CW direction (picture view) forces the encoder to run in the opposite direction which causes the quadrature phase b to lead phase a. I'm going to assume that linuxcnc requires phase a to lead phase b which is what I'm doing by inverting one of them.
I needed the spindle bore open so the way I mounted the encoder was the easiest way I could think of and the parts were cheap to do so.
Last edit: 30 Dec 2013 01:24 by Davenc.
Please Log in or Create an account to join the conversation.
30 Dec 2013 01:39 #42167
by BigJohnT
Replied by BigJohnT on topic g76 canned threading using NGCGUI sub routine
Phase A and B indicate direction of rotation. If your encoder counts go down as you rotate the spindle forward then swap A and B. The in or in-not should not matter on phase A and B. To watch your encoder counts from Axis open Machine > Show HAL Configuration. Add the encoder count pin to the watch window and rotate your spindle.
Did you test the index as per my link?
Is the single sensor your index?
Is the encoder geared 1:1 with the spindle?
JT
Did you test the index as per my link?
Is the single sensor your index?
Is the encoder geared 1:1 with the spindle?
JT
Please Log in or Create an account to join the conversation.
30 Dec 2013 01:45 #42168
by BigJohnT
This behavior always means the index is not correct.
JT
Replied by BigJohnT on topic g76 canned threading using NGCGUI sub routine
2) The g76 sub routine starts out OK and moves the tool to the proper position to start threading from home but then it just stops without even attempting to cut AIR threads.
This behavior always means the index is not correct.
JT
Please Log in or Create an account to join the conversation.
30 Dec 2013 02:16 - 30 Dec 2013 02:18 #42169
by Davenc
Replied by Davenc on topic g76 canned threading using NGCGUI sub routine
John,
Yes the single sensor is my index and it is geared 1:1.
I can get the motion.spindle-index-enable to go true by using your method but it doesn't change when I rotate the spindle manually, it stays true regardless. Is this pin supposed to change states when the spindle-index pin changes states? I've verified that is happening every time the sensor hits the slot on the disk. My spindle sensor is a C3 board from cnc4pc.
Yes the single sensor is my index and it is geared 1:1.
I can get the motion.spindle-index-enable to go true by using your method but it doesn't change when I rotate the spindle manually, it stays true regardless. Is this pin supposed to change states when the spindle-index pin changes states? I've verified that is happening every time the sensor hits the slot on the disk. My spindle sensor is a C3 board from cnc4pc.
Last edit: 30 Dec 2013 02:18 by Davenc.
Please Log in or Create an account to join the conversation.
30 Dec 2013 02:25 - 30 Dec 2013 02:25 #42170
by PCW
Replied by PCW on topic g76 canned threading using NGCGUI sub routine
The signal you want to setp and watch is encoder.0.index-enable
(which should normally be linked to motion.spindle-index-enable in the HAL file)
(which should normally be linked to motion.spindle-index-enable in the HAL file)
Last edit: 30 Dec 2013 02:25 by PCW.
Please Log in or Create an account to join the conversation.
Moderators: piasdom
Time to create page: 0.094 seconds