XYZAC-TRT with removable 4th/5th axis
26 Jun 2022 18:59 #245948
by sliptonic
XYZAC-TRT with removable 4th/5th axis was created 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.
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.
27 Jun 2022 08:47 - 27 Jun 2022 08:51 #245986
by Aciera
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.
Replied by Aciera on topic XYZAC-TRT with removable 4th/5th axis
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.
27 Jun 2022 14:56 #246011
by sliptonic
Replied by sliptonic on topic XYZAC-TRT with removable 4th/5th axis
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.
29 Jun 2022 20:36 #246204
by andypugh
And then
Pin names are guesses, and the G-code expression is purely fictive.
Replied by andypugh on topic XYZAC-TRT with removable 4th/5th axis
You could link the HAL pins to G-code analogue outputs.Are there examples of how I can set the the offset hal pins from gcode during a probe routine
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.
26 Jul 2022 18:42 - 26 Jul 2022 18:48 #248357
by sliptonic
Replied by sliptonic on topic XYZAC-TRT with removable 4th/5th axis
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
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.
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?
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
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.
31 Jul 2022 11:52 #248723
by andypugh
Replied by andypugh on topic XYZAC-TRT with removable 4th/5th axis
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)
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.096 seconds