I engaged in my previous linear motor projects with their potential use in a 3D printer in mind. Linear motors offer very high control bandwidth, which is one factor limitating in 3D printer speed (although 3D printing at high speeds involves a lot more than just fast movement). Linear motors are almost certainly overkill for a 3D printer, but thats part of the point for me. I learned a lot about motor control and firmware development when I built my linear motor prototypes, but there is still more for me to learn (particularly making the controllers robust to unpredictable use) by integrating the prototypes I've built into a useful application. At the moment, most of the kinematic design is complete, but I've left many of the decisions about specific 3D printer parts for later, as availability of hobby parts fluctuates and new products are released.
First of all, I decided to use a cross-gantry design for the XY axes. These axes are the parts that move the most and the fastest, and the cross-gantry design has many advantages. First of all, design wise the X and Y axes are identical and behave the same kinematically (note that this is not true of a design such as a CoreXY printer). The cross-gantry design also won't have issues with gantry racking because each gantry must be actuated on both sides. One downside, however, is that the design requires 6 linear rails for the XY design, which increases the cost.
For the Z axis, I decided to use a triple leadscrew system, which allows for automatic bed leveling with kinematic mounts. Triple-Z setups have become popular recently in many DIY printer designs because it greatly improves the consistency of prints and overall rigidity. The only downside is, again, cost, since you need 3 separate Z actuators. I decided to use leadscrews for simplicity because the alternative, a belt drive, is more complex to design properly and less rigid.
I decided to use the typical aluminum extrusions, since they are readily available from many suppliers and easy to work with and assemble. I decided to use 3030 extrusions so I could fit MGN12 rails within the width of the profile.
I decided the simplest and quickest way to get a precise XY system was to use laser cut sheet metal parts for many of the components. I was also able to reduce both the number of unique parts and the overall part count using sheet metal parts.
Each carriage consists of a baseplate that is bolted to the carriage of a rail carries the gantry, a linear motor, and encoder.
For the Z axis, I used a 12mm leadscrew, which should be a bit better than the standard 8mm leadscrew in terms of rigidity. In order to avoid wobble in the leadscrew, the leadscrew is mounted at the bottom by a pulley held between two bearings, which reduces eccentricity of the leadscrew rotation and introduces another reduction stage for more precise motion.
I want to experiment with multiple extrusion system, so I designed a minimal tool plate that could be a versatile mount for various attachments.
For the time being, I designed a simple mount for an extruder I already have on hand and a couple fans for part cooling.