G33 problems going in Z+ direction.

More
21 Mar 2020 05:25 #160963 by jtrantow
I would like to use G33 to cut/knurl some aluminum knobs and I'm having some trouble. I have G33 sync motion in the negative Z direction, but when I use G33 in the positive Z it seems to perform a rapid unsync'd motion and I get a joint following error. At this point, the G33 in the negative Z stops working and I need to exit LinuxCNC and restart it before it recovers.

M3 S33
G33 Z -10 K 4.0 ; This works fine.
G33 Z +1.0 K 4.0 ; This does a rapid move and yields a joint following error.

I am running Linux 2.9.0 pre something.
I am using quadrature + index signals and those signals seem fine as I have used G76 threading (always right handed) for years. Tonight, I tried G76 moving in the Z+ direction and it moves in sync with the spindle.

Here's what I think is relevant in my .hal file.

addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread

net spindle-position encoder.0.position => spindle.0.revs
net spindle-velocity-feedback-rps encoder.0.velocity => spindle.0.speed-in
net spindle-index-enable encoder.0.index-enable <=> spindle.0.index-enable
#
# Set up the quadrature Encoder.
#
setp encoder.0.counter-mode false
setp encoder.0.min-speed-estimate 1.0
setp encoder.0.position-scale 260.0

I would appreciate any help figuring this out.
Attachments:

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

More
24 Mar 2020 14:08 - 24 Mar 2020 14:09 #161349 by andypugh
It might not be you.
I am seeing unexpected behaviour in a simulator too.

It seems that successive G33 commands do not toggle index-enable.

This seems to intentional it allows for changes in pitch without a re-sync and blending between successive moves. But, as you have seen, it gives unwanted behaviour if there is a pause between successive G33 moves. (as is the case with MDI).

github.com/LinuxCNC/linuxcnc/issues/704

Are you running the G33 from G-code or from MDI?

My testing indicates that it should work fine from a G-code file, and also from MDI if you get the next move queued before the first has finished.

You can make things work just as badly in a G-code file by adding G4 pause commands between successive G33.
Last edit: 24 Mar 2020 14:09 by andypugh.

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

More
24 Apr 2020 17:08 - 24 Apr 2020 17:09 #165419 by andypugh
This has now been fixed. The fix will be in 2.8.

github.com/LinuxCNC/linuxcnc/issues/704
Last edit: 24 Apr 2020 17:09 by andypugh.

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

Time to create page: 0.084 seconds
Powered by Kunena Forum