-
-
Notifications
You must be signed in to change notification settings - Fork 21
Marlin2ForPipetBot: five axis CNC
Copyright 2022 - 2024 DerAndere
The Marlin2ForPipetBot branch adds support for true simultaneous 5 axis machining with rotational tool centerpoint control (TCPC) for multi axis CNC machines. It adds the G-code G43.4 which is a command to control the tool centerpoint (TCP) relative to the part during multi axis machining. To set up Marlin2ForPipetBot for a 5 axis CNC machine, follow these instructions.
several settings must be configured correctly to make G43.4 (TCPC) work, as described below. To set the correct kinematics for this machine geometry, enable this option in Configuration.h:
#define PENTA_AXIS_TRT
For machines with a tilting rotating table (XYZAC or XYZBC) the MRZP offset is the position of the center of rotation (P) in machine coordinates. The center of rotation is usually the center of the top surface of the tilting rotating table when all axes are at position 0 (in machine coordinates). The offsets are equal to the distance along the respective axis (X, Y, Z) from the origin O(0,0,0) to the center of the top surface of the tilting rotating table when all axes are at position 0.
Figure 1: MRZP offsets of a CNC machine with five axes (XYZAC), featuring a tilting rotating table. Note that the image shows the machine in a state where all axes are at position 0 (in machine coordinates) so that the tilting rotating table is oriented horizontally. For the depicted machine, the MRZP Z offset would be -217.00. Copyright 2024 DerAndere. This image is licensed under the Creative Commons Attribution 4.0 International license (CC BY 4.0).
The machine in figure 1 would thus have the following settings defined in Configuration.h:
#define DEFAULT_MRZP_OFFSET_X 280.83
#define DEFAULT_MRZP_OFFSET_Y 185.25
#define DEFAULT_MRZP_OFFSET_Z -217.00
DEFAULT_ROTATIONAL_JOINT_OFFSET_X, DEFAULT_ROTATIONAL_JOINT_OFFSET_Y, DEFAULT_ROTATIONAL_JOINT_OFFSET_Z
Figure 2: Rotational joint Z offset of a CNC machine with five axes (XYZAC) with a tilting rotating table. Note that the image shows the machine in a state where all axes are at position 0 (in machine coordinates) so that the tilting rotating table is oriented horizontally. The rotational joint Z offset is represented as distance dz.
For the machine depicted in figure 2, rotational joint offsets would be set as follows in Configuration.h:
#define DEFAULT_ROTATIONAL_JOINT_OFFSET_X 0.00
#define DEFAULT_ROTATIONAL_JOINT_OFFSET_Y 0.00
#define DEFAULT_ROTATIONAL_JOINT_OFFSET_Z 50.00