Squeezing maximum performance out of a cheap 3D printer
STL file of required pulley.
Standard Tesselated Geometry - 165.32 kB - 05/18/2020 at 09:28
FreeCAD drawing of pulley v2.
application/x-zip-compressed - 243.60 kB - 05/12/2020 at 14:42
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!
I bit the bullet and stripped the machine almost completely, in order to get at that **** pulley. At last I have the complete dimensions for it, and it looks like this:
You can see from the photo of the real thing how far off-centre the hole is:
I've now had several attempts at printing one, and it might just be possible...
Having searched all over the web I can't find that pulley anywhere. I've drawn up roughly what it looks like (exact dimensions TBD, but it's close):
...using this great little FreeCAD macro for generating the pulley teeth. Printing it with a 0.4mm nozzle and 0.3mm of backlash is just a joke. Anyone wanna step in and make me a couple on an SLA? :)
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.
...so that I don't forget:
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):
M92 X464.97 Y100.30 Z18539.00 E1040.00
Push the motor speeds slightly (50% faster):
M203 X30.00 Y30.00 Z2.0 E22.50
...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.