CoreXYZ: Implementation
The reference implementation is based on capstans and thread, to facilitate routing. Here is a visualization of the entire assembly, with printed parts in orange and the two thread loops in blue and red, respectively:
The height difference between the two loops is 20mm, which matches the effective diameter of every pulley/capstan used in the design.
Assembly
To quickly prototype the idea, I opted for linear rails + aluminum extrusions. All extrusions are cut to 250mm, except for the Z axis, which is 120mm long.
The x axis gantry is assembled first. The two stacks of pulleys on the left/right is common in classical coreXY designs.
After mounting motors, capstans and pulleys, the z axis can be added:
This build uses 1mm kevlar thread for transmitting motion. The ends are held in place by flat head screws.
Routing the thread through the capstan system is straightforward when starting from the distal corners of the frame:
The capstan's support system can be disengaged to facilitate thread routing, and should be placed back on the capstan as the last step:
The threads can be tensioned by lifting the entire top part of the Z axis. Note that when tensioning the thread, the Z axis motor (in the back of the frame) should be disengaged by unscrewing its support plate. This lets the two thread loops equalize their tension. Here is the completed build, after tensioning:
Note how the thread comes in and out of the capstan system at the same height. This is achieved by using the motor's capstan as an entry point, and the passive capstan as an exist point.
Here is a video showing the coupling between the Z and X motion:
Demo
Moving each motor individually explicitly shows the kinematics, producing a sequence of diagonal moves:
Here is a pure X, Y and Z motion that takes the kinematic model into account:
Those tests are performed with a speed of 300 mm/s, and an acceleration of 1200 mm/s². Here is a sequence of circular motions in the XY, YZ and XZ directions, demonstrating full coordination between the motors: