linking U axis to X
- foam man
- Offline
- Senior Member
-
Less
More
- Posts: 63
- Thank you received: 4
11 Jul 2026 20:27 #347693
by foam man
linking U axis to X was created by foam man
hi I have a 4 axis hot wire foam cutter. i move each axis separate, but I'm wondering if the text below makes sense for, essentially moving U and V with X and Y commands. Thanks
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.
Please Log in or Create an account to join the conversation.
- tommylight
-
- Online
- Moderator
-
Less
More
- Posts: 21693
- Thank you received: 7415
11 Jul 2026 20:51 #347695
by tommylight
Replied by tommylight on topic linking U axis to X
Was this same question asked before on this forum?
-
P.S.
Still did not finish my build of a 4 axis foam cutter, so not yet at this point.
-
P.S.
Still did not finish my build of a 4 axis foam cutter, so not yet at this point.
Please Log in or Create an account to join the conversation.
Time to create page: 0.159 seconds