Wednesday, 20 July 2016

A big failure

After about 20 small test prints to make sure the connections fit, I finally printed the full version of a replacement trash can foot. Unfortunately, while I was away, something went strangely awry with the print, with one part being printed way to the left and other smaller skews happening too. Being on my way to Sotahuuto, I didn't investigate a lot, save to check that the X shaft connector was solidly on. The motors have not previously run hot, I didn't check them here, though. Bummer.

The failed piece:


 Part entirely shifted left. Did it come loose, warp up, and get pushed? 

Tuesday, 12 July 2016

The Great Leveler

Running under the hypothesis that the MDF expands and contracts with the humidity and temperature, I'll start each printing day checking the height, simply by running the extruder down to minimum and see if it hits the bed or not. By having a piece of paper underneath, I can tell a good fit from a tight fit. Normal paper is 0.1mm.

Today (nice weather, not rainy, Google calls it 20C and 48% humidity) I had to raise the bed 0.5mm before the paper came loose. So I set the Z offset to 0.4 and ran a test. The print stuck but was a little open in the bottom, and had upturned corners.

Now that I think about it, a Z offset of -0.5mm doesn't make sense when the layer height is 0.35 mm - it would go below the minimum defined by the firmware. Can it do that?

With the slight looseness of the test print in mind, I changed to 0.2mm Z offset and started printing a knitting loom. The first layer looked a bit squeezed, but not squeezed to the point of whiteness. Result: Excellent!

To check if the hobbed bolt is still gripping, I mark with a Sharpie on the filament just above the extruder entry, and if it doesn't move, I press the filament a bit. That has already saved one print.

After the knitting loom came out nice, I decided to go big, and print a dream weaver for my brother's partner. I picked the largest one that will fit my printer, and even so I had to move the corner clip away to make room for the skirt. A giant circle really shows off any and all sideways levelling issues, and my bed is not quite even with the print head. I suppose it would be easier to adjust the height of one of the Z pillars rather than fiddling with the bed supports.

What better time to fiddle with machinery than in the middle of a print? :) I paused, turned the motors off, turned the right-hand Z hold 1/4 turn towards up, then resumed. Not a hitch in the print! But, as is not uncommon when the first layers were squeezed, it later started stripping.

After that, I did a proper left-right calibration by adjusting the Z heights left and right.

Several days and small prints later: Yes, the printer definitely changes height with the weather. Today it's 28C and (supposedly) 50% humitidy (though it feels like more), and the Z offset is 0.6mm to get a good print.

An autoleveler would be good in this case, since the temperature and humidity could actually change within the time of one printing session, and re-leveling between each print would be annoying.

At 16C and 94% humidity, the Z offset is 0.0mm.

I had one print come out with a few layers underextruded before it got started again. I suspect the filament got tangled in itself. What do people do to prevent filament tangles?

Tuesday, 28 June 2016

A horrible suspicion

Continuing the dowel tests.

0.2mm layer height, outer walls first, .9 extr. mult.: 5.45 - 5.55 mm male/5.42-5.47 female

Changed TEMP_RESIDENCY_TIME in Marlin to 10 seconds. 60 seconds is just time during which the filament can drool and the hair spray dry.

Another print died yesterday due to being too close to the bed. I suspect that the MDF changes size a bit depending on weather - hard to measure directly , but enough to cause trouble. This clearly calls for auto-levelling.


Monday, 27 June 2016

Printing some actual things, and some small dowels

Printing things! Did a test run of the adapter part of a lens extension piece (http://www.thingiverse.com/thing:74217) and it fit just nicely. Now I can print the whole thing.

Decided to try out Cura for slicing. A simple test cube looked mostly good, except one corner ended up sort of sliced off. And then the piece came loose when doing the top layers, due to forgetting the hair spray. Cura doesn't allow higher temperature at the first layers, and is more aggressive with the fan.

Repeating with hair spray worked, but there was no noticable difference. I don't feel like throwing $150 at Simplify3D right yet.

Next attempt: Full height macro extension piece. First one clogged up quickly, but after a quick atomic, it went nicely. Suggests that my Z offset and/or initial layer height is too high.


The difference in magnification is noticable (note these are handheld shots, so not super sharp):

Test piece at maximum magnification with EF-S 60mm f/2.8
Same test piece, same lens, with extension tube
Over several prints, some of which jammed early on, I have come to the conclusion that the right Z height is critical. I need the nozzle low enough that I get proper adhesion, but high enough that the filament can squeeze out without too much backpressure, or the resulting grinding of filament will cause the hobbed bolt to slip more and more over time.

Initial layer squeezed out so tight it turns white
I printed a sample hinge for the piano, but smaller than necessary so it didn't hinge well.

I printed a battery dispenser for tracked charged/discharged Eneloops. It came loose from the bed while printing, and when moving across a slightly lifted layer would make a chack-chack-chack sound. Now I know what that is, at least, but the lifting is problematic. In the end, it caused a jam, though the piece ended up OK:


As part of printing a dish rag holder, I experimented with making simple dowels. A good test, for it takes only 10 minutes to print a short pair, and it's obvious whether it works.

0.2mm layer height, outer walls first: 5.80-6.05 mm male/5.30-5.40 female
0.2mm layer height, not outer walls first: 5.85-60.5 mm male/5.05-5.20 female
0.15mm layer height, outer walls first: 5.60 - 5.80 mm male/5.25-5.35 female
0.1mm layer height, outer walls first: 5.65 - 5.90 mm male/5.25-5.45 female

Trying with perimeter adjustments of 80% exterior/90% interior. Also slowly moved the Z offset up to +0.1mm, since the first layer still got squeezed enough to be white, which I take as a bad sign.

0.1mm layer height, outer walls first, 80%/90% ext/int: 5.85 - 6.10 mm male/4.75-5.00 female

This also made the sides of both pieces look funny, with extra extrusion on the top part of the female piece, and some gappiness on the male piece. Probably not a good adjustment to make. Going back to default on those, and 0.15 mm layer height, but then (just on a lark) with 0.9 extrusion multiplier.



0.15mm layer height, outer walls first, .9 extr. mult.: 5.45 - 5.55 mm male/5.42-5.47 female

That's an incredible improvement! These actually fit together with just a bit of squeezing. And they look good, too, except for rather large flanges at the bottoms:


Sunday, 19 June 2016

Getting printing sorted out, finally

After last post's success, it figures I would get a clog. I printed two more of the dog bag endstops, then tried doing the hole size test piece, during which the hotend drooled quite a bit while parked before printing, and the drool cooled down enough to harden and make it bump when starting the print. The print then started suffering from underextrusion on the very first layer and extrusion slowed down quickly and stopped. There was quite a bit of (pretty) drooling when pulling the extruder up:


Doing the Atomic was a lot easier with this filament. The end had a small air bubble in it, making me wonder if overextrusion is an issue. There was also a rim a bit further up, but not enough that it could be what's blocking extrusion.


The thin part of the filament, obviously the part that got stretched during the cold pull, also seems to have a hollow inside. Either retraction somehow brings in air pockets, or this filament has air in it, which would be disappointing for Innofill filament.

I should at the very least make sure the first layer isn't too low, that could cause this kind of early clogging. Let's try adjusting Z level upwards over a few prints. Also adjusted bed size 10mm to have it not start over the edge, and added an extra skirt.

I decided to re-calculate the E_STEPS_PER_MM settings. Before I had calculated (and then fudged, not shown).

#define E_STEPS_PER_MM ((3200 * 39.0)/(11.0 * 6.75 * 3.142))

This gives 535 steps/mm. But there are only 9 teeth on the small gear (as shown in below "selfie with gears"), and the hob diameter is actually only 3.7mm at the middle. So instead I should use 

#define E_STEPS_PER_MM ((3200 * 39.0)/(9.0 * 3.70 * 3.142))

Which gives 1192 steps/mm! Holy mackarel, Batman! That's a big enough difference that I'm going to question some givens, such as the basic steps/rotation and microstepping implicit in the 3200. By removing the gear parts of the equation and turning off PREVENT_DANGEROUS_EXTRUSION, I can just run the motor. Then I add a bit of tape to mark a point on the gear and tell it to extrude 1mm. It nicely made two complete revolutions - but only because I can't figure out to divide 32 by 2 and had asked for 32 * 200 steps/mm. At the appropriate 16*200, one revolution. So the 1192 steps/mm is apparently correct.

It's a nice touch that when done uploading new firmware, it runs the fan for a moment. Also when Pronterface connects. Nice subtle signal.

Almost forgot to re-enable PREVENT_DANGEROUS_EXTRUSION.

Now if the E_STEPS_PER_MM varies by print speed, as suggested by previous measurements, it depends also on how extrusion goes. But since extrusion differs by all manner of factors, that's not a useful setting.

The 100 mm test extrusion went totally smoothly, with the filament piling up in an amazingly regular circle, like I've never seen it before. But it extruded way too much. eating the mark I made at 120mm. With a 50 mm extrusion, it used 120-42=78mm, a factor 1.56. Odd. At least I can't blame that on the nozzle pushing back. And it's consistent. Adding in that factor gives a nice, consistent (up to my measuring ability) output.

I also managed to have it make a bistable system while it was extruding, because the first piece of filament rounded, then tumbled to form a little rocker. When enough filament landed on one side, it would rock to that side, then filament would fall on the other side, etc. Video (late in the process):



Test print with 0.3mm bed offset failed, the nozzle wasn't even close to the bed. How very odd. The Z max is now about 5mm off the bed. WTF? Recalibrating, but how can this happen? I checked that the Z rod holders weren't lifted. The hotend is securely fastened. The bed has nowhere to go. Is my Z end-stop flaky? The gap after homing is currently 2.82mm. Alternatively, the Z motors are wonky, I did pull some dirt out of the right-hand one. They sound good to me, though. 

When calibrating, some of my Z move commands got ignored. The Z height was still calculated correctly, so it's a command problem, not a mechanical mismatch.

I also started using hair spray on the surface.

Tried a few Z offset settings, though Slic3r does seem to take the thickness of the extruded parts into account for the first layer. I had a couple aborted attempts because restarting a print doesn't pick up Slic3r setting changes. At 0.2 mm, it only barely gripped on parts of it. At 0mm, it gripped somewhat loosely, and looking at the bottom afterwards, it clearly wasn't squished together enough to form a closed surface. At -0.2mm (!), it placed itself nicely on the bed, though didn't quite fill in, and there was a bit of corner upturn. At -0.3, it squeezed a little more together, I didn't notice any corner upturn, but I peeled it off while soft before checking. At -0.4, the bottom was quite nice. At -0.5, the print stopped when it was almost done, not quite sure why. After pause and resume it finished surprisingly nicely. The bottom was quite nice. There's perhaps a little bit of overextrusion going on.

Test cubes at Z offsets 0, -0.2, -0.3, -0.4, -0.5 (first three aborted early)

Test cube #43, -0.4mm Z offset.













Test cube #44, -0.5mm Z offset.
Tried the hole test by +Giles Bathgate and it came out really nice, even though it stopped partway through and stood drooling for a while - the nozzle pretty much just plowed through the lump. The holes from 2mm and up were consistently 0.05mm too small - not much, but enough that it would be a problem. 


That was with 2mm layer height, I'll try with 2.5mm and see if it squeezes outwards a little less. And it does! Actually enough less that make the holes roughly .2mm too large, and more variable in their error.

I made a somewhat more complex test cube, with round and square holes, a peg, and overhangs. It prints nicely at 220C [CC2#1] and 210C [CC2#2].

Complex test cube 2, #1 @220C



Complex test cube 2, #2, @210C
The first print at 200C failed to stick properly, possibly since I had done a few prints since last hairspraying. With some more spray, it stuck. Except one corner that curled up, otherwise perfect print, features look even better.  Solution: Print first layer at 220, rest at 200. Trying that with 0.2mm layer height, works nicely.

It's amazing that the print can stop for quite a while while the machine sleeps and yet (sometimes) not be much worse off. It's annoying that Pronterface can't keep the machine from going to sleep, though. I keep getting Python errors when it's trying.

My theory about the clogs and height changes is that the loose print earlier bumped the Z axis up a bit. After adjusting for that, the screw eventually fell down again. The print after that was close enough to the bed to cause backpressure and an early clog, as hinted at by the bottom layer already showing less extrusion. 

Tuesday, 14 June 2016

The Strange Case of the Missing 1.7 mm

With my setup now working, I started printing useful things, such as endstops for the wires on Frida's bag and cooling rack feet. I printed several pieces without trouble, but then one of the endstops  for some reason didn't raise the head while printing and started to crash into the print. Good thing I was nearby to notice, rather than in the other end of the house.

After resetting the Z axis and oiling it, I tried another print - and the nozzle crashed into the side of the bed! After careful calibration, I found the Z height was now 202.8 rather than the 204.5 I had it set to. Where does one lose 1.7 mm of height in the middle of a print? My suspicion is that the hotend got a bit slanted/pulled when hitting various parts, so now it's at a different height. Sounds dodgy. If it became slanted, it would have more height, not less. If it got pulled out of the mount, it could have more height, but it's pretty damn tight on the mount.

It would be nice to have something that notices when the motors skip, either due to lose connectors or due to hitting something. But then that'd need to be calibrated, too, and could have errors, too.

It starts out slightly high, now. And I did notice the failed print was loose in one corner, maybe the problem was that it buckled upwards and that part hit the head. The UHU stic seems to have two modes, either it's sticking so much I have to use a wrench to twist off the print, or else it doesn't stick at all. Quite possibly sticks better at low temperatures. I should get some hair spray.

Prints nicely again with the adjusted height.

I'm also having small holes being too small, up to 1 mm too small for 2mm holes. Apparently, slic3r is still not good at compensating for what happens in a tight interior space. I see from +nop head 's explanation here that it's not a trivial problem at all, but some more tests by +Giles Bathgate indicate that it can be correctly accounted for - and he uses slic3r, too, so I should be able to reproduce it. I will print that when I have an hour to spare for tests, and once I'm satisfied that my bed can handle the size of that thing!


Every so often, there's a little popping noise, or perhaps it's a sticky noise, I just noticed it happening when going from printing a surface to printing around holes. Not sure what that is, but it's probably a sign of some surprising failure mode sneaking up on me.

The bed fan seems to turn on or off fairly randomly. It works when forced on, but in the current print turned off after being on for a while. Then turned back on. Seems some parts are cooling-free.

Sunday, 12 June 2016

Purple printing process promises perfect pieces

Got the new thermistor from e3d faster than expected, so I had some time to put it in this weekend. Putting in the thermistors was a bit fiddly as the covering was fraying, hopefully using the crimps will help:



Other than that, putting it back together was easy enough.

At 220C, 50mm/s, extruded 44 mm out of 50. There was a faint sweet smell, so this is hot enough to melt the PLA properly. At 75mm/s, the same. At 210C 100mm/s, it extruded somewhat less. 100mm/s at 230 extruded 42 mm, but with 75mm/s 44mm. Doesn't look like I can get more than 45 mm out of this, so I'll adjust the firmware accordingly.

After adjusting, it gave 47mm. Odd. Resetting the multiplier and trying again, getting 34mm, 33mm, 34mm. Adjusting for that give about 48mm at 50mm/s, but once I went to 75mm/s, only 46mm. That's exactly the same weirdness I saw before switching.

The brand new nozzle and brand new Innofill filament curled up at the nozzle at once, but after a bit more extrusion it got better, nice and smooth.

First test box got overextruded because Slic3r again didn't pick up the right settings. I've reverted to not specifying a settings file.


On the next print, it picked up the change in layer height (2mm -> 2.5mm) but not the change in temperature. Huh. The cube came out nicer, but still with upturned corners and splits in the top layer. Since my bed stickiness is good, the corners hint at too high a print temperature, or lack of fan.



Added the slanted fan mount and got a decidedly nicer result. No corner lifting, nicer top cover. A bit of gap in the top, though. Changed the slic3r command to be very specific: /Users/lars/Applications/Slic3r.app/Contents/MacOS/slic3r $s --output $o --load "/Users/lars/Library/Application Support/Slic3r/print/Simple Mode.ini" --load "/Users/lars/Library/Application Support/Slic3r/printer/Simple Mode.ini" --load "/Users/lars/Library/Application Support/Slic3r/filament/Simple Mode.ini". Now it picks up changes from Simple Mode. I have only one skirt, but with this hotend/filament combination, that doesn't matter.



Trying with 0.2 layer height instead of 0.25, plus no bed heat since the previous part was really hard to get off. First layer adhesion was much worse, but it fixed itself. The top is great, 0.2mm is the way to go. It was, however, so hard to get off that I had to use the stovetop scraper and tear the tape.



Just for kicks, made a more complex cube. Also took off the tape to see how well that works, and turned off bed heat. Why test only one thing at a time? :) It did quite well until it got up to the top part, then the cube itself came loose from the glass.



Tried again with hotter plate. Came loose at pretty much the same place and in the same way. Curious.



Tried, as I have seen suggested multiple times, coating the glass with UHU stic, still with 80C bed temperature for the first layer and 60C for the rest. And it worked! This piece is pretty close to perfect! And pretty close to impossible to remove...



That cube is at a 60 degree angle, and the overhang is just fine.