arcs in 4 axis mode
- foam man
- Offline
- Senior Member
-
Less
More
- Posts: 62
- Thank you received: 4
10 Oct 2022 13:23 #253881
by foam man
arcs in 4 axis mode was created by foam man
I realized too late though that I can't use the I J or R command to make circles when in 4 axis mode XYZA
is it possible to do this?
is it possible to do this?
Please Log in or Create an account to join the conversation.
- Henk
- Offline
- Platinum Member
-
Less
More
- Posts: 408
- Thank you received: 92
11 Oct 2022 04:25 #253929
by Henk
Replied by Henk on topic arcs in 4 axis mode
You can program arcs with any config as long as the linear axes support the plane that your arc is in.
So with a xyza machine you can program arcs in g17,g18,or g19 planes.
Arc moves cannot ontain A axis words.
So with a xyza machine you can program arcs in g17,g18,or g19 planes.
Arc moves cannot ontain A axis words.
Please Log in or Create an account to join the conversation.
- foam man
- Offline
- Senior Member
-
Less
More
- Posts: 62
- Thank you received: 4
11 Oct 2022 13:44 #253964
by foam man
Replied by foam man on topic arcs in 4 axis mode
so I would almost have to write the code for a circle using xz ya
this machine is a 4 axis hot wire for cutting foam and has 2 operating modes
I'd like to use 2 axis mode because I can use g2 g3 for quick circles, but because z slaves to x and a to y, z and a don't use their own calibration number. they use their masters number. Even though the difference is not a lot, it makes for an inaccurate machine
hence using 4 axis mode, but then I can't use g2 g3 for arcs plus having to use 2 separate buttons to jog basically one axis
I figured maybe it would be possible to tell the machine toslave z to x, and a to y
but use their own calibration number. so far no luck
this machine is a 4 axis hot wire for cutting foam and has 2 operating modes
I'd like to use 2 axis mode because I can use g2 g3 for quick circles, but because z slaves to x and a to y, z and a don't use their own calibration number. they use their masters number. Even though the difference is not a lot, it makes for an inaccurate machine
hence using 4 axis mode, but then I can't use g2 g3 for arcs plus having to use 2 separate buttons to jog basically one axis
I figured maybe it would be possible to tell the machine toslave z to x, and a to y
but use their own calibration number. so far no luck
Please Log in or Create an account to join the conversation.
- foam man
- Offline
- Senior Member
-
Less
More
- Posts: 62
- Thank you received: 4
04 Jul 2026 23:08 #347523
by foam man
Replied by foam man on topic arcs in 4 axis mode
hi I know its been a while for this post, but I'm wondering if this makes sense for, essentially moving U and V with X and Y commands.
The Fix:
How to make UV emulate XY while keeping their own step calibrations.
To force U and V to mirror X and Y while preserving their independent step calibrations, you must link the signals before the math calculates the motor steps.
In LinuxCNC, you do this by linking the motion controller outputs to both sets of joints, rather than linking the step generators directly.
Open your machine's main .hal file and look for the lines connecting motion.coordinate-system to your joints. Change them to route like this
:hal# Force Joint 2 (U) to listen to the X-axis motion command
net x-output motion.coordinate-system.0.pos-cmd => joint.0.motor-pos-cmd joint.2.motor-pos-cmd
# Force Joint 3 (V) to listen to the Y-axis motion command
net y-output motion.coordinate-system.1.pos-cmd => joint.1.motor-pos-cmd joint.3.motor-pos-cmd
Use code with caution.Why this fixes the calibration issue:
The Signal: LinuxCNC outputs a raw request in millimeters (e.g., "Move X to 50.0mm").The Split: The HAL lines above take that 50.0mm request and send it to both Joint 0 (X) and Joint 2 (U) simultaneously.The Calibration: Joint 0 looks at its own SCALE setting in the .ini file to convert 50.0mm into steps for the X motor. Joint 2 looks at its own independent SCALE setting in the .ini file to convert 50.0mm into steps for the U motor.
The Fix:
How to make UV emulate XY while keeping their own step calibrations.
To force U and V to mirror X and Y while preserving their independent step calibrations, you must link the signals before the math calculates the motor steps.
In LinuxCNC, you do this by linking the motion controller outputs to both sets of joints, rather than linking the step generators directly.
Open your machine's main .hal file and look for the lines connecting motion.coordinate-system to your joints. Change them to route like this
:hal# Force Joint 2 (U) to listen to the X-axis motion command
net x-output motion.coordinate-system.0.pos-cmd => joint.0.motor-pos-cmd joint.2.motor-pos-cmd
# Force Joint 3 (V) to listen to the Y-axis motion command
net y-output motion.coordinate-system.1.pos-cmd => joint.1.motor-pos-cmd joint.3.motor-pos-cmd
Use code with caution.Why this fixes the calibration issue:
The Signal: LinuxCNC outputs a raw request in millimeters (e.g., "Move X to 50.0mm").The Split: The HAL lines above take that 50.0mm request and send it to both Joint 0 (X) and Joint 2 (U) simultaneously.The Calibration: Joint 0 looks at its own SCALE setting in the .ini file to convert 50.0mm into steps for the X motor. Joint 2 looks at its own independent SCALE setting in the .ini file to convert 50.0mm into steps for the U motor.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
Time to create page: 0.086 seconds