I am working on building an open source small to medium batch production printer. The goal is to create a grid of hotends that all move together to create multiple copies of the same object. I am looking to fill the space between injection molding and huge print farms. At maximum capacity there will be six 150mm square print areas with six hotends arranged in a 3 across 2 deep pattern. Since the bed will essentially be one continuous surface, hotends can be moved out of the way to create different print area arrangements.
The premise is that this printer can be treated as if it has one hotend, hopefully both in maintenance and actual use. This sets a standard of ease of use and low maintenance.
This project is particularly difficult because it goes beyond the capabilities of the most advanced 3D printer board on the market (Smoothieboard v1 5x). I will need to add Arduino powered PID control for six hotends, to control both analog thermistor sensor and mosfets for the heater cartridge. Additionally, I have four lead screw stepper motors for my z control. I am working on a manual system to level the nozzles, but I need a way to level the bed with the “effector grid”. Since I am using a motion system like the Ultimaker’s, there are four outer rails that all the hotends are connected to. They form a plane that I reference as the “effector grid”. I need to create a breakout that can control all four steppers both independently for leveling and trimming, but can also run them all at the same time during the 3D printing process as a unified z-axis. Smoothieware will treat this system as if it’s one stepper and one sensor. The breakout system will take the stepper motor data from the smoothieboard and a gcode command line for an internal auto leveling process (leveling the bed with the effector grid). I am planning to use either some sort of endstop or induction sensor as the z limit switch sensors.
Most of this stuff are just creative implementation of pretty standard Arduino systems, however I have very little experience with electronics and Arduino systems. I am first and foremost a mechanical person. Additionally, I need to figure out how to get the smootieboard to interface in the firmware and how to get those actions to happened using gcode.
One other thing I am looking at mostly for cost to performance benefits, is using lgus RJM-01-12 bushings instead of LMUU-12 linear ball bearings. Since the motion these bearings will see is both rotational and linear, I am wondering if there is any degradation of performance or accuracy with the Igus products. (Note. the igus bearing calculator says under these heavier than normal 3D printer load conditions, the bearings would still last forever.) My question really comes down to the motion dynamics and frictional forces put on the system. However, the frictional torque should still be minor as it is on a self-lubricating surface, only at a radius of 6mm, and the steppers should have no problem overcoming the low static frictional force before entering the lower dynamic friction.
Hopefully, it all works out.
I look forward to your thoughts and comments!
• Motion System: 6 Stepper Motors
o (XY) [2x 98Nm Steppers]. Ultimaker Style but with more cross arms. The perk of this layout is that those arms can be connected or disconnected from the belt to create different hotend alignments.
o (Z) [4 lead screw stepper motors].
• Extruder System: [Bowden, 1x 98Nm Stepper]. Since I have a max of six hotends that all should be printing the same part out of the same material, they should all be able to be run off the same stepper motor. I am building a custom extruder using dual gears and a stepper coupled to a 5mm shaft. I will line up six extruder assemblies here. The goal is to be able to handle flexibles.
• Electronics/Control: Smootieboard v1 5x with Arduino-powered breakouts (z-axis control w/ bed leveling, PID loops/auto-tuning and power control for 6 hotends).