Dead in the water on 7i92 config

More
02 Apr 2016 04:06 #72553 by dannym
I was using the jog wheel on the XHC to try to move it. I've found this super-valuable because it's easy to set the zero and X/Y work coords while walking around a big router, far from the PC. Has an LCD coordinate readout, too.

In Joint mode, I could set the XHC's dial to X, Y, or Z and turn the handwheel and X, Y, or Z moved. It was a very slow move and the "Step ++" button to change the step speed did nothing.

Honestly I'm not clear on what "Incremental" jog is. A jog wheel, however, is going to mean moving the commanded position +0.1", +0.2", +0.3", +0.4", +0.5"... incrementally. As opposed to "G91 G0 X0.5" = move X +0.5 from wherever it is now. Or "right arrow", being "keep moving as long as this arrow is held, then decelerate when released" which is not a specific destination.

I did see that G91- which I know as "relative mode", is referred to as "incremental mode". But all 3 examples above are all relative to the current position.

Is "incremental jogging" the fact that you've got incremental step, step, step off the jog wheel? But even if it didn't handle it as I'd like, it'd be basically implemented as a string of "G91 G0 X0.1" commands, which is awkward because that would seem to require fullstop after each one.

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

More
02 Apr 2016 09:14 #72557 by andypugh
One final attempt to explain, then I am giving up. I have had enough of repeating this.

You can _not_ use a jogwheel in World Mode with a non-trivial kinematics in the released version of LinuxCNC.

You can use a jogwheel if you use the joints_axes12 branch of LinuxCNC.

You can use a jogwheel if you use a trivial kinematics and link the axes using the "gantry" HAL module.
linuxcnc.org/docs/2.7/html/man/man9/gantry.9.html

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

More
02 Apr 2016 13:25 #72567 by Todd Zuercher

Honestly I'm not clear on what "Incremental" jog is. A jog wheel, however, is going to mean moving the commanded position +0.1", +0.2", +0.3", +0.4", +0.5"... incrementally. As opposed to "G91 G0 X0.5" = move X +0.5 from wherever it is now. Or "right arrow", being "keep moving as long as this arrow is held, then decelerate when released" which is not a specific destination.

I did see that G91- which I know as "relative mode", is referred to as "incremental mode". But all 3 examples above are all relative to the current position.

Is "incremental jogging" the fact that you've got incremental step, step, step off the jog wheel? But even if it didn't handle it as I'd like, it'd be basically implemented as a string of "G91 G0 X0.1" commands, which is awkward because that would seem to require fullstop after each one.


A jog wheel move is essentially a series of incremental jogs, hence why it doesn't work. Listen to Andy, he is one of the smarter, most helpful people on the forum.

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

More
03 Apr 2016 19:21 #72643 by dannym
So I'd like to do trivkins, but I'm unclear on this. With gantrykins, I just did "loadrt gantrykins" and made the axis associations in the HAL file.

I need Joint 0 and Joint 3 tied together as the X axis, with the ability to home each side to resolve racking.

"loadrt trivkins" works. It appears I need to find the source code for trivkins somewhere, alter it, and recompile somehow?

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

More
03 Apr 2016 21:25 #72654 by andypugh

"loadrt trivkins" works. It appears I need to find the source code for trivkins somewhere, alter it, and recompile somehow?


No, that is all you need to do.

Then you need to link the axes using the "gantry" component, as described in the man page, and as done in the sample configuration.

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

More
03 Apr 2016 23:46 #72662 by dannym
linuxcnc.org/docs/2.5/html/man/man9/kins.9.html

I don't quite follow, I don't see anything about a "gantry" component. Where would a sample config be?

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

More
04 Apr 2016 01:10 #72665 by Todd Zuercher
It has nothing to do with kinimatics, (other than being used with trivkins). It is a hal component, Andy posted a link to the man page a few posts up.
linuxcnc.org/docs/2.7/html/man/man9/gantry.9.html
It was just added in version 2.7.4 and I don't think there is any mention of it in the regular documentation. But I think there may be an example config somewhere.
That said the man page makes it look like setting it up shouldn't be too hard even without an example.

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

More
04 Apr 2016 07:04 #72682 by dannym
This is rough for me too here... but I still don't get it. I just need to link Joint 0 and Joint 3 under the X axis. The homing needs to be worked out, but later. The "personality" part is baffling.

The example I found is wiki.linuxcnc.org/cgi-bin/wiki.pl?GantryPlasmaMachine

It uses 2x steppers on Y, and trivkins, but there's no gantry.anything going on here. What I did see was:

#Y2 signal setup:
#Mod to slave Y(1) and Y2:
net Y2.pos-fb hm2_7i43.0.encoder.03.position => pid.3.feedback
net Y2.pos-out pid.3.output => hm2_7i43.0.stepgen.03.velocity-cmd

# Add an offset to the position command to remove racking.
# No offset when homing, but apply after homing to adjust the homed error
net Y.pos-cmd axis.1.motor-pos-cmd => sum2.6.in0
setp sum2.6.gain0 1
setp sum2.6.gain1 1
setp sum2.6.offset 0
net home-status mux2.8.sel
setp mux2.8.in0 [AXIS_3]ANTI_RACK_POSITION_OFFSET
setp mux2.8.in1 0
net Y2Offset mux2.8.out sum2.6.in1
net Y2.pos-cmd sum2.6.out pid.3.command


And I don't know if that's some off-label hack or the way it's done or what. The pos-fb and pos-out are just the pid.3 and stepgen.03, not tied to the Y1's pid/stepgen 01 instance. So the "net Y.pos-cmd axis.1.motor-pos-cmd => sum2.6.in0" seems to be where the magic happens.

But the way that summing and anti-racking works is still unclear to me. It's got me concerned about just copying in something where I don't understand most of the code and I don't need the anti-racking homing just yet- but will eventually.

Current .hal file enclosed, just because.
Attachments:

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

More
04 Apr 2016 08:54 #72686 by andypugh
Treat anything on the Wiki with great suspicion. There is no way to tell when it was written and it might not even have been true when it was written.

I will try one more time, but this really is feeling like talking to a brick wall.

The gantry HAL component manpage is here:
linuxcnc.org/docs/2.7/html/man/man9/gantry.9.html

The sample config is here:
github.com/cdsteinkuehler/linuxcnc/blob/...e/Probotix/Comet.hal

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

More
05 Apr 2016 05:25 #72767 by dannym
Well I made a best-effort (attached) to integrate what was done in comet.hal into this 7i92 config. Still kinda guessing, the [PRUCONF](DRIVER) part I changed to the hm2_[HOSTMOT2](BOARD) I'm using.

What I get is that the pin hm2_[HOSTMOT2](BOARD).stepgen.00.position-cmd isn't found. I've looked through all that and yeah stepgen uses position-fb and velocity-cmd. Not sure where to go from here. Pretty suspicious I've screwed up more things than that.
Attachments:

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

Time to create page: 0.395 seconds
Powered by Kunena Forum