Tweaks and adjustments to my Easythreed Nano to get faster and stronger prints, and better dimensional accuracy.
(note: this is very similar model to the M3D Micro, so perhaps it's relevant to that too)
Summary of problems found so far:
X, Y and Z dimensional accuracy: all slightly out, now corrected
X, Y max speeds: 20mm/sec, now increased to 30mm/sec
X backlash: 0.4mm, now corrected using a script to modify the gcode
Y backlash: 0.2mm, corrected as above
nozzle temperature: 7 to 8C above indicated temperature, corrected manually
Y axis wobble: ~0.5mm caused by badly-made pulley - NOT YET CORRECTED
X/Y wobble: ~0.2mm caused by bent Z-axis screw, corrected by straightening by hand.
hole size error: 0.3mm smaller, can be corrected using Cura's 'hole horizontal expansion' setting, with care.
I haven't done much on this for a while now, but the last thing I did was add a part cooling fan. It's pretty simple - just a 12V "4010" model (40x40x10mm) centrifugal blower bodged onto the side at an angle, and the power piggy-backed onto the fan already in the head. It seems to work pretty well!
Following on from the last log and the observation that, even with cooling, the coldest end of the temperature tower still looked ok (180C), I checked the nozzle temperature with a thermocouple and found that it's consistently 7 to 8C hotter than the machine indicates. So I re-jigged the temp tower G-code to account for this, and also changed the range to 170-210. Here are the results (with external fan cooling):
All settings give essentially the same results. What isn't terribly clear in the photo is the slight stringing in the bottom 3-4 sections (210, 205, 200 and 195C). Also the side of the tower that faced the fan has much better bridging than the 'down-wind' side. Just goes to show nozzle temp means nothing - cooling is everything!
After a string of crappy and aborted prints I've been investigating temperature settings (although I'm fairly certain the problem is that I've bought cheap rubbish PLA). The photo below shows two 'temperature towers', where the lowest storey represents 220C, and the top one is 180C. The one on the left is using the printer as intended, and the one on the right is with the addition of cooling from an external fan. What a difference!
X- and Z-axes both seem to be surprisingly stable and wobble-free (except for a slightly bent Z screw which I'll attempt to straighten later).
However, the Y-axis has a distinct wobble, so straight edges aligned with Y end up slightly wavy. The fault seems to be the 'fixed' pulley arrangement in the front two corners. Here, each pulley is pressed onto a plastic (?) centre with a hexagonal hole in it (same design for the M3D, but looks like square hole*). This transmits drive from the Y-axis spindles (hex bar), but is free to slide in Z axis. The problem seems to be that the hole is not central, so the pulley precesses as it rotates, pulling the whole X-axis assembly side-to-side with it.
It doesn't look like you can buy spares, so I might have to make something... stay tuned!
*it's a bit like this spare part on the M3D website, although this is meant for the bottom end of the drive spindle, not part of the Y-axis gantry.
One of the Z-axis screws was bent, and was causing the X/Y axes to wobble, so straightened in by hand (in place).
Used digital caliper to measure travel over ~80mm in all axes (ensuring to drive the motors in the same direction to avoid backlash effects)
Resulting G-code (put in "machine settings" in Cura):
Push the motor speeds slightly (50% faster):
...can now do 30mm/sec in Cura (e.g. for travels). Haven't tried printing that fast yet...
Discovered X-axis backlash is about 0.32mm (likely due to use of geared stepper 24BYJ48). Apart from dimensional errors, this was also causing infill not to touch inner walls, leaving a gap and making the structure weaker. On very thin sections the infill wasn't even a zig-zag since the X axis didn't really move!
Compensation within Cura seems to be impossible, but found this which seems to work well. You just have to remember to run your G-code file through it before printing. Also need to add "G90" after the G28 command in the startup code ("machine settings" dialog).
Also measured Y-axis lash at about 0.1mm.
Even with carefully levelling the bed, and the default setting in Cura of 0.3mm for the initial layer, I found that layer #1 is too squished. So I installed the Z-offset Plugin and set it to 0.1mm. (I guess I could have used G92 Z0.1 in the machine settings).
So far, so good! Much better than straight-out-of-the-box.