In the post following this one, I’ll start talking about the specifics I’m taking in modeling the initial part of the Enigma machine I’m pursuing: the three rotors.
Currently, I’m done (I think) modeling all the rotor components and am a little over halfway printing the parts out. The only things I’m really at a loss for how to deal with is the copper-alloy based electrical pads/springs/contacts, but I’ve decided to forgo the electrical components for now. Yes, someone will inevitably point to the few brands of electrically conductive PLA filament for 3D printers, but these are some tiny pieces. Which is a good segue into the topic of some of the intricacies I’ve learned about 3D printing from this project so far.
For those of you new to 3D printing, I should start with how it works. There’s a few techniques, but my 3D printer (and most commercially viable home-based printers) use a method called FDM, or fused deposition modeling. Basically, the printer builds the object you want to print layer-by-layer starting from the bottom. For most of what I’m printing, I’m doing it at 0.1mm per layer. So, the software takes the 3D model, and slices it up into a bunch of 0.1mm layers, and then tells the printer to squirt out the right amount of plastic while moving in the X/Y axis to finish that layer. I should add that the printer head is running at about 210 degrees Celsius for the type of material I’m printing. The printer Z-axis then lifts by 0.1mm, and it repeats the process building on the prior layer. From a practical perspective, this means that my X/Y axis tolerances are tighter than my Z-axis tolerances. Yes, I could go to a lower layer height, but that carries some issues. I’ve done some testing with some tolerance testing designs and have found that that I have X/Y slop slightly better than 0.2mm.
I had printed a few things at 0.05mm layer height before, and while the detail is beautiful, you start running into some issues. You see, when you’re printing thicker layers (say 0.2mm or 0.3mm), you’re squirting out a large amount of molten plastic that easily binds to the layer before. When going smaller and smaller, the ability of the plastic to adhere to the prior layer is diminished slightly. Also, you start running into the limits of what the machine can actually do — the nozzle I’m printing out of has a 0.4mm wide hole, so you’re asking the printer to just push less and less plastic through to get even smaller layer heights. I’m not sure what the technical term is for this, but it seems things start not working well when you go smaller and smaller. If I wanted, I could go to a finer nozzle width, but that means the printer has to make many more passes to get the same width of plastic out, which slows down print times quite drastically. If I were to estimate, at this point, for each rotor (and there are three), it’s probably taking about 18 hours of print time to do all the parts. Did I mention the rotors are some of the smallest parts of the printer?
The drawings that I mentioned before are beautifully dimensions, so when I initially modeled them in Fusion 360, I designed them to be exactly the measurements defined in the drawings. I noted that between pieces that were supposed to fit together there was 0 tolerance defined. I figured there would be issues, but I went with it and printed off some parts. Sure enough, they didn’t fit.. at all. Even in the X/Y axis where I’m closest to spec, I’m finding parts are generally printing 0.25mm too big. So, one of the things that I have to do with something like the rotor is adjust all the interference fit sizes for every part — and there’s a ton of them. So far, I’ve been adjusting everything to the maximum tolerance spec defined on the drawings and it’s worked out well for putting most parts together.
Other practical observations include that different brands of PLA behave quite differently. I had noticed this a bit before while printing a 3D model of a turbofan jet engine, but the tolerances on that model must have allowed for quite a bit more slop. For example, the low-priced Monoprice brand PLA I’ve used is failing terribly for this model – really poor layer adhesion at my layer height, and — even after calibrating the extruder steps — really inconsistent output. I’ve given up on the cheap Monoprice stuff and have switched to Matterhackers PLA and HT PLA, at a cost premium of 50%. It’s working great though; I could actually probably go to lower layer height to get a bit more detail out of it (at a cost of printing time) with the layer adhesion I’m getting out of it.
In fact, I need to re-test my X/Y tolerance because I printed the tolerance test with budget filament. Another item for the to-do list.