So in the comments for my last post, whosawhatsis said he had similar problems to mine, and gave a link to a page showing his lineup of print attempts. A comment on that page by Tony Buser struck me as the answer to my problems… and in fact, it was (at least to most of them.. I still don’t have a water-tight minimug).
I filed a bug about the problem in the RepRap Host software which was leading to hollow prints. Basically the mistake I was making was assuming that the “Extruder0″, “Extruder1″, “Extruder2″, and “Extruder3″ tabs in the RepRap Host preferences window corresponded to multiple physical extruders. They don’t. They correspond to extruder PROFILES, each of which maps to a physical extruder (they can all map to the same one).
I’d changed the NumberOfExtruders preference field from 3 down to 1, because I only have one physical extruder on my Mendel. Bzzzz.. Wrong. (I think the UI could be more clear on the distinction, but that’s not the only problem).
Here’s how it actually works.. Each “Extruder” tab (with all of its’ corresponding values, such as temperature, speed, etc) represents an extruder profile. So you could have one for PLA, and one for ABS, both of which have different values. By default the NumberOfExtruders value is 3, and the first three extruder profiles are:
When you print (usually to a gcode file), you get a choice of which profile to use. Here you’d choose PLA.
But if you look at the preferences within an Extruder tab, you see there are three fields that refer to extruder profiles by name:
- ExtruderX_MaterialType(name) – this is the name of this profile.. Extruder0_MaterialType(name) is “PLA”.
- ExtruderX_SupportMaterialType(name) – this is the name of the profile to use to print support material
- ExtruderX_InFillMaterialType(name) – this is the name of the profile to use to print infill (the inside of an object)
…but when it looks for those named profiles, it only looks up as high as the NumberOfExtruders preference field specifies.
So, I had set NumberOfExtruders to 1, I went to print, I printed with the only extruder profile available extruder 0, “PLA”, because Extruder0_MaterialType(name)=”PLA”. But during that print, when it made it to the point where it would print infill (where there was a solid, which in the case of a minimug is the bottom of the mug), it would see that Extruder0_InFillMaterialType(name) was “PLA-infill”, so it looked for which extruder profile had the MaterialType(name) of “PLA-infill”. That should have been extruder profile 2, but it didn’t get that high, because NumberOfExtruders was 1, so it didn’t find it. At this point, the RepRap Host software didn’t have an extruder profile to print the infill with, so it didn’t – it left the infill space completely empty.
So the inside of the bottom of my minimugs (and the solid part of any of the gears or other pieces I was trying to print) were coming out hollow.
When I realized this, I couldn’t wait to try it out, but I couldn’t actually print until Friday evening.
My first approach was to change Extruder0_InFillMaterialType(name) from “PLA-infill” to “PLA”, and leave NumberOfExtruders at 1.
This yielded an absolutely beautiful print. Sadly, it still wasn’t water tight, but it was beautiful. Pics and video say it all:
Ok.. So one point worth mentioning about the above before going on – I said you could see both rings that make up the minimug.. That’s actually because I had Extruder0_NumberOfShells(0..N) set to 2.
I tried testing JeffTry22, but sadly it wasn’t watertight.
Encouraged though by the infill discovery and the knowledge that all of my prints should be much better now, I decided to try printing the large 39-tooth gear for Wade’s extruder. That print started showing serious problems almost immediately, but I let it go so I could study the results. It would start trying to print the outer teeth of the gear, going very slowly on each gear tooth, and by the time it completed the circle near the first tooth the print head didn’t line up – it was more like an inward spiral than a circle. After that point (on the same layer), the infill would start to print, offset by a huge amount (it was way to the right of where it should be). Once the layer finished, it’d home, and lay down the next layer fine, but with the same consistent problems as before.
(Sorry that this next video is truncated..)
I figured it was clearly an X-axis problem of some sort, where the X-axis was accumulating error during a layer (which is later corrected while homing). I thought perhaps I was missing steps. I tried increasing the current on the X-axis stepper controller board, but didn’t rerun this particular gear print yet so I don’t know that it fixed it.
I thought that the same x-skipping (if that’s what it was) might explain why the two circles that make up my minimug walls weren’t exactly concentric, but rather they kissed on the left side. That would explain the “gap” between layers that I was finally able to see in JeffTry22 above. I DID try printing other minimugs, and looked to see if the circles were any more concentric than they were – they weren’t (that I could see), so that’s the most verification I’ve currently done as to whether turning up the potentiometer actually did anything meaningful.
It could also be the tension on the X-axis belt (too loose? too tight?), or maybe the bearings aren’t turning well after the rust-like issue I’d had before (although the rods are clean and silicone-greased, maybe the bearings aren’t smooth anymore?).
Or, it could be the filament being tight (which it was during the end of that gear print – I hadn’t fed enough spare line out by hand), and rubbing up against the threaded rod.. (I have some tape on it now to make it smoother..)
So realizing that the effect of any X-skipping seemed to matter most with big complicated prints, I figured I’d try printing out the small gear (which hopefully wouldn’t be affected much if at all), and later I’d try to artificially increase x-skipping on minimugs by trying to print four at once.. But I’m getting ahead of myself.
Here was the result of re-printing the small gear. Much better with infill, but still not great:
After that, I decided I’d save my preferences file (I saved away JeffTry22’s, that’s for sure), and try starting from scratch, using multiple extruder profiles (instead of just the one, pointing at itself for infill), and see how that goes.
The minimug came out horrible. It printed MUCH faster – I guess I’d forgotten that I had the speed set lower than before (which is funny because a student at work who had built a Darwin a while back saw a previous video of my Mendel printing and remarked that it was much faster than the Darwin used to print). I haven’t tried going back to 2 shells at the same “slower” speed (1000) but keeping the 3-profiles, to see if I can get a JeffTry22-equivalent with three profiles. What I did notice though was that the infill was far more sparse with the 3 profiles (as you’d want for anything other than a water-tight object.. infill is supposed to be just a support lattice inside a structure), so again maybe I should go back to just one, and try to tighten that up.. (I’d tried a gap of like 0.1 instead of 0.7 and it caused an array index out of bounds exception, so I reverted.. maybe I went smaller than the default extrusion size or something).
Here was that minimug attempt with the faster speed:
After changing some settings back to what should have been correct, I tried printing 4 minimugs at a time, for the hell of it. Yeah, it didn’t go so well. An error in one of the three can carry onto the others, if it grabs a glob of molten plastic and drags it across, etc.
(I also left this completely unattended, so bad prints look worse because they build on top of failed bases, etc).
And finally, here’s a quick video that shows the extruder actually working correctly, digging notches into the filament to get a grip on it. The youtube compressed version doesn’t show it quite as well as the original, but I’ll include it here anyway:
That’s it for now! Go back and look at those JeffTry22 success pictures above – that’s what I’m remembering. (I actually lost count of how many successful ones of that I printed).