XYZAC-TRT with removable 4th/5th axis

More
26 Jun 2022 18:59 #245948 by sliptonic
I have a small 4th/5th axis rotary like below.  This bolts to my mill table when needed but is not permanent affixed.  The motors are open-loop steppers so the configuration doesn't care if it's installed or not.  I have everything working with XYZAC trivkins and now I'm experimenting with XYZAC-TRT.  I can switch to TCP mode with M428 and jogging the A/C axes causes the XYZ to move as I would expect.  The positioning isn't right though.  So I assume I've still got something wrong with the offsets / pivot points.  This file has some interesting information about offsets and offsets for the rotation points. The corresponding example configs just set the rot-points to 0.

I've read through the (47 pages) of the TCP thread and the doc pages for 5 axis kinematics.  I'm still confused about how to properly locate the rotary in the machine coordinate system, especially if the rotary is installed and removed routinely.

I guess I'm asking for some guidance on developing a homing/touchoff routine that doesn't assume the rotary is permanently mounted.

Attachments:

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

More
27 Jun 2022 08:47 - 27 Jun 2022 08:51 #245986 by Aciera

X, Y and Z rot-point pins represent the offsets of the center of rotation of the C axis relative to the machine absolute zero


According to this explanation from the file you linked the -rot-point values are set to zero in the simulation config because the machine absolute zero is located at the centre of rotation of the C axis.
So you will have to decide where you setup the machine absolute zero on your machine and set the -rot-point values accordingly. You would need to ensure to mount your rotary/tilt assembly in exactly the same place each time or measure it's exact position after mounting it on the machine and adjust the -rot-point values.
Judging from the image you posted I would expect ' xyzac-trt-kins.y-offset' to be zero and 'xyzac-trt-kins.z-offset' to be a negative value.
Note that I don't have a 5-axis machine and all I can do is try to make sense of what I find in the simulation config. So should you find errors in the documentation please report them here.
Last edit: 27 Jun 2022 08:51 by Aciera.

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

More
27 Jun 2022 14:56 #246011 by sliptonic
Are there examples of how I can set the the offset hal pins from gcode during a probe routine?

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

More
29 Jun 2022 20:36 #246204 by andypugh

Are there examples of how I can set the the offset hal pins from gcode during a probe routine
 

You could link the HAL pins to G-code analogue outputs. 
net y-offset motion.analog-out-00 => kins.y-offset

And then
M68 E0 [100 - #5899]

Pin names are guesses, and the G-code expression is purely fictive. 
 

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

More
26 Jul 2022 18:42 - 26 Jul 2022 18:48 #248357 by sliptonic
I'm getting closer but my hal skills are holding me back.  Here's where I'm at.
I have a probe routine that starts with the rotary table roughly positioned and oriented and the probe in a known starting location.
It then probes a bunch of spots on the rotary, levels the A axis, orients the C axis and calculates the offsets for the center of rotation relative to the machine coordinates.  I store these in #4000-#4002.  Those get correctly written to the .var file.

Where I'm still stuck is setting the hal pins from the probing routine.  Per Andy's suggestion, I added these lines to my hal file
net x-offset motion.analog-out-00 => xyzac-trt-kins.x-rot-point
net y-offset motion.analog-out-01 => xyzac-trt-kins.y-rot-point
net z-offset motion.analog-out-02 => xyzac-trt-kins.z-rot-point
Startup gives an error that xyzac-trt-kins.x-rot-point is connected to a signal.

Assuming we get that sorted out, I assume I would do. 
M68 E0 [#4000]
M68 E1 [#4001]
M68 E2 [#4002]

At present, loading the probe routine with those lines complains.

On a related topic,  if the rotary doesn't move, how do I assign the value of #400x  to the corresponding hal pin on startup?
Last edit: 26 Jul 2022 18:48 by sliptonic.

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

More
31 Jul 2022 11:52 #248723 by andypugh
If the rot point is already connected to a signal, use the existing signal name instead. Or maybe it is already set up in some other way?

Search the HAL files for the pin name, then search for the associated signal name.

(net signal pin pin pin - is the format of a net command)

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

Time to create page: 0.099 seconds
Powered by Kunena Forum