It’s been a while, since I’ve posted a anything about this shiny toy of mine. This doesn’t mean I’m doing nothing about it. And I’m adding a hack every weekend or two. Unfortunately, this is definitely NOT the thing you can grab and start printing happily, as are most of the sub – 5k$ printers. ( Don’t believe the marketing BS!)
So far, I’ve added a better filament feed, a usb camera mount, a cooling fan, fixed the Z axis wobble… partly…
Well, last time I replaced the lead nut with a custom higher one, I had a very slight wobble remaining. This one was due to the fact that the centers of the Z axis rod and the motor shaft were not perfectly aligned. That was still a little bit too annoying, when it came to 0.1mm prints. lawsy recently made a fix in the firmware but adding another variable that needs experimental calibration certainly doesn’t fit what I wanted. Anyway, 5/16 rod also annoyed the hell out of me (I prefer metric stuff, that’s my religion, bear with it!), so I decided to make a mechanical fix first. And the idea was to throw away that crap, and place something better.
I picked a few rods of assorted sizes at the local hardware store. M4, M5, M6, M8 and M12. M4 looked too fragile, so I ended up with M5. It required more steps per mm for the Z motor, so it would be much more precise, than the original that was closest to M8 (but not compatible).
Next I printed a dumb coupler out of ABS, and another nut holder. While that stuff was printing, I made yet another custom nut for M5.
The worst part was detaching the rod from the shaft of the stepper. Using a hammer didn’t help much – I nearly broke the thing, so I ended up making use of a dremel with a cutoff disc. Once that was done I assembled the whole thing.
Results looked promising, the movements were very smooth. Next was the firmware. I wanted to update it a very long time ago, to get some upstream goodies. Like anything based off arduino the sources of marlin are a huge mess of smoking crap, that never got to work out of the box from arduino IDE. Luckily there was a makefile, and that saved the day for me.
It looks like the bootloader expects upload at 38400 bps. Not sure what arduino tries, it never worked from GUI, and GUI would always eat up messages. But worked with my stock avrdude using
avrdude -c arduino -p m644p -P /dev/ttyUSB0 -b38400
The makefile was missing recently added ZWobble.cpp in CXXOBJS, but that was easy to fix, so I very soon ended up with a working config. I adjusted the default steps per mm to 4000, and also added an extra cmd for the FAN/LED control. (I haven’t yet added mosfet switches, but I will do that soon.)
Results were an epic win. I didn’t even need lawsy’s wobble calibration. After a bit of tinkering with slic3r settings I managed to get stable (and awesome) prints with 75 and 50 microns per layer! Well, this is well pushing the hardware to the limits, but it was really worth it! Now, it’s time to do something about X/Y belts, since there is also room for improvement there.
Finally, there goes the showoff of the parts that I’ve made.
From left to right:
0.15 mm per layer, original 5/16 rod, no calibration, custom 12mm nut.
0.10 mm per layer, original 5/16 rod, no calibration, custom 12mm nut.
0.075 mm per layer, M5 rod, no calibration, custom 12mm nut.
0.05 mm per layer, M5 rod, no calibration, custom 12mm nut.
You can see the details and grab the 3d model in this soliforum thread