Saturday 10 April 2021

An ads experiment

 I'm tired of seeing totally irrelevant ads. It seems that the art of figuring out what a web page is about as a basis for selecting ads has been lost under the massive pile of personified ads. But when I'm looking at a page comparing different kinds of high-end cameras, odds are I'm interested in buying a camera, or something camera-related. Yet going to e.g. https://www.techradar.com/news/best-full-frame-camera, I see ads for Windows 10, home insurance, ice cream, and learning English. That's when I use an incognito window. With my normal account, having declined cookies and turned personalized ads off in my Google account, I get ads for learning English, ice cream, car insurance, and gambling. You'd think an ad for camera gear would work better?

It's not because the subject of this page is hard to figure out. It has all manner of metadata, including subject tags, but they seem to be mostly ignored. I'm going to see if I can play around with ads a bit and find out if there is some way to get at least Google ads to understand what the site is about. I'm going to set up a small ads budget for ads pointing to this blog (because why not) and try to see what I get on https://repstrapdk.blogspot.com/2021/01/an-unicofil-vase.html, on https://repstrapdk.blogspot.com/2020/07/replace-all-things.html, and https://repstrapdk.blogspot.com/2020/03/perfect-prints-produced-by-prusa-printer.html. These posts have some amount of product names in the text, but no tags yet. I'll try to get my ads to show on them, then I'll update the tags and request a re-index, then see a week later if the ads have improved and if indeed my ads are showing.

I'm using Google Ads, setting up a "Website traffic" goal for a "Display" type campaign. After fiddling around a bit to get my campaign reactivated, it's now running, but apparently needs some time to learn a bid strategy. Hopefully it will learn well. I'll check in later on how it's doing.

After setting these up and going to the three posts above, I sometimes just see some blank space for the ads, but on the latter one ad for actual 3D printing (yay!) and one for Frankfurter Algemeine (wut?). I'm not sure why it sometimes shows no ads - isn't the spot supposed to go to the highest bidder? Can there simply be no bids?

Update 2021-04-22: I got a mail that my AdSense account had a limit on ads due to suspicious traffic. I check on it, and there has been traffic due to my ads. I didn't buy anyone's labor to get clicks, or click a lot myself, or anything like that. I just let Google do the ads thing. The weird thing was where the clicks came from:


Bangladesh? Pakistan? Ethiopia? My ads were in English, as are my blog posts. Why are these countries suddenly so interested? And what's with the Philippines that makes the RPM be two orders of magnitude higher? This is all very weird. I turned off the ads again, having earned about half of what I paid for the ads. 

Update 2021-05-02: I added tags to the three pages. Now we shall see if the ads improve (or are there at all). Right after the update, no ads appear, not even in incognito mode.

Wednesday 24 February 2021

Dehumidifying methods

I've had the worst time with my PETG filament, test prints literally exploding during the print and finished prints being very brittle. The most likely explanation is that the PETG is too moist, it's supposedly very sensitive to that. My friend Christina got me some Lock & Lock boxes, they are nice and quite airtight and fit four spools very nicely. So, it's time to dry things up!

My first drying attempt was a Drybag™, which I think I put in on January 12th. It didn't make a noticeable difference. The next attempt, based on the recommendation for drying wet phones, was rice. I used a wild&long rice mix, starting 2021-01-24. It didn't do much either. Next up, baking soda, starting 2021-01-30. Nothing really noticeable.

Sure, I could try with actual commercial desiccant bags, but where's the fun in that? Also, they're somewhat expensive. So based on a suggestion from the almighty Internetz, I got some silicate cat litter. It's quite cheap, so I figured why not?

On 2021-02-09,  I just put two ramekins with cat litter in. This time, to get a more precise measurement, I also dropped in the little temperature and humidity logger I found at the local measurement instruments store (yes, we have a measurement instruments store in my neighbourhood). The humidity changed drastically - but to more humid! It ended up at ~60%. In this chart, the X marks are where the humidity sensor picked up movement. You can see it matches drops in humidity when I take out the box and open it on the evening of the 9th and on the 12th.

On 2021-02-11, since there was a nice frost going on, I figured the frosty air would be very low humidity and would allow the silicate to evaporate off some water. I left some outside overnight and put it back in in the morning, this time in a little custom box I had printed in the meanwhile. Not any better. You can see a brief dip in humidity and temperature, but it quickly goes back up.

My next attempt was to bake off the humidity. Not wanting to use devices that also get used for food, in case there are other things in the litter, I used Deathtrap, our Danish-style toaster. I poured some litter into a container made of aluminium foil and set it to toast outside, stirring a couple of times. I could sit inside and watch the steam come off, but after half an hour I could see no more steam. I stirred it again and let it cool down to merely warm, then just plopped the foil container into the filament box (which had been standing open, letting it get back to the ~30% humidity in the room). 

I did this twice, the second batch letting it have over an hour of baking, and boy did this make a difference! You can see where I take out the box and open it in the morning, and it drops from 63% to 33%. Then there's a temperature peak when I put in first batch of still-warm litter, and the humidity drops to about 15% relative (relative to the now warm air, of course), and evens out at 24%. In the late afternoon, I put in the second, longer-baked litter at 18:00, after letting it cool off for a bit. Bam! Single-digit humidity!

I left the humidity logger in there for several days after, and the results were curious. The box stands in a closet in my bedroom, and I always sleep with my door tilted open a bit, for coolness and fresh air. You'd expect the humidity to change smoothly along with the temperature when it's just left to its own devices, but that wasn't quite the case - or at least the measurements didn't follow that pattern. See how in the first day, when the temperature starts to drop, the humidity almost doubles over 45 minutes, then stays at almost exactly 10% for most of the night, only to drop off much faster than the temperature rises come morning. And then this effects slowly disappears over the following days. I would love to hear an explanation for this!

I can also confirm that the Prusa doesn't like when it's this cold. When I tried to start a print one of these cold mornings, it refused, claiming there was an error in the thermistor! Being metal, the bed had gotten even colder, and the temperature readings started at 11ÂșC, even though the room was warmer.  Here's what it looked like a bit later, I was able to print shortly after this.


Saturday 30 January 2021

Tests of magic numbers, part 1

 There's some talk about "magic numbers" in 3D printing, the idea being that the Z stepper motors are more precise when aligned with full steps (or somewhat with half steps). Others say that it doesn't matter with modern precise printers[1], and that since the stepper motor starts at some random state, using magic numbers won't help. With my Prusa i3 mk3s, I certainly have a modern and precise printer, so let's find out!

First, the magic number. Prusa i3 mk3s steps/revolution at a step angle of 1.8 is 200. By marking the Z threaded rod and moving the Z axis, I found that one revolution is 8mm. 8mm/200 means the magic number is 0.04mm - confirmed by this thread. One should thus always use layer heights that are a multiple of 0.02mm (because a half magic number is still OK, with the motor evenly balanced between two magnets).

Now to deal with the random initial state. The initial state could be reset by briefly disabling the stepper motors. That would offset the Z level by at most 0.01mm, less than I adjust the Z level by, and thus not a concern for bed levelling. So if I try with and without magic number layer height and with and without aligning, I should be able to determine if it really makes a difference.

This is the required GCode in the 'Before layer change G-code' section:

; Briefly disable Z motors before start to align magnets. 
{if layer_num == 0}
M18 Z
G4 P10
M17 Z
{endif}

First I tried with just plain DasFilament PLA and my current nozzle, because that's what was in there.

Here's a shaman with 0.2mm layers and alignment, two detailed areas zoomed in:



Details in larger:




The same shaman with 0.19mm layers and no alignment:

Details in larger:


There are some differences to be seen, but you have to look carefully. My current nozzle has been used for a while, including with UniCoFil filament and sparkly filament. Maybe it's a bit worn. and maybe the DasFilament filament doesn't match the settings as perfectly as Prusament does. 

So next I'll switch to a fresh 0.4mm nozzle and freshly unpacked Prusament and do a test piece with 0.2mm and 0.1975mm - one microstep away from a full step, presumably the worst case. Then I'll try with 0.1175mm unaligned and 0.12 aligned, probably the finest a 0.4mm nozzle can realistically do. Then I'll switch to my slightly used 0.25mm nozzle and go extreme: 0.04mm (yes, that's 40 microns) and 0.0425mm layers.

[1] Some of the posts in that thread get the numbers quite wrong, which is why I went to manually confirm the mm/revolution.

Sunday 24 January 2021

A UniCoFil vase

Back in August, I did some more prints with the UniCoFil filament after replacing the heatbreak. It's possible that replacement wasn't necessary, but I will never know. Even after that, the stripping continued, though possibly not as often or as much. After printing out a failed hexagon vase that simply came apart at a layer that had stripped, I changed the filament settings to a) have a 1.0 extrusion multiplier, and b) extrude at 230°C. That eliminated the stripping, and I was able to print this nice small vase:



Just goes to show that each filament has its own best settings. 

Sunday 26 July 2020

Replace *all* the things!

As mention last time, I had been trying out the UniCoFil filament, first the light blue, then the fast-changing rainbow. All through that, I had trouble with stripping mid-print. I got quite good at cleaning up after a stripping incident, disassembled the heater assembly several times, even swapped out the heatsink as I had been a bit forceful on the inserts. No luck. I was starting to blame the filament, but saw that it was considered a benchmark of quality by some filament testers, so unlikely to be the problem. I also tried pushing some filament through the heatsink and heatbreak after removing the nozzle, found some scrapiness at the heatbreak area, but that's probably just because it's metal rather than PTFE. 

Taking a second look at the removed nozzle, I realized it was badly damaged on the threads. Maybe I had put it in wrong? That would certainly explain the problems. Fortunately, I had bought an entire set of spare parts for the heater assembly, so I was able to swap the nozzle and heater block. That's a lot easier with the e3dv6 than the previous systems, no fiddly wires, just two stiff metal inserts and screws to fasten them. It has now printed for several outs without any issues (jinx!).

Here's a close-up of the nozzle:



Things I learned:

  • The spring-wound screw that holds the idler door in should be flush with the left side of the block when filament is in. That is the position of least stripping risk.
  • The neat little cover mount I had printed for cleaning the filament made it easier for the filament to break when doing the hot part of a cold pull. It should be unscrewed and moved above where you grab the filament (grab the filament with pliers).
  • The screw fastening the heater cartridge needs more force than I can apply with a normal hex wrench, I had to get a proper bit driver.
  • Pushing filament out while cooling down for a cold pull ensures that the nozzle is full and so is more likely to bring debris with it out.
  • The PTFE tube should be 11 mm over the top of the heatsink when in. It will be just visible in the gear chamber.
In related news, I tried using the "little master spool" designed by DasFilament, but the forces of the filament inwards opens up the locking mechanism, and I got this disaster:


Not what I hoped for. Also, it's even easier with this design to have the filament hop out sideways or get stuck between filament and spool. Need to find or make a better design. There are some promising things on Thingiverse, but right now they have a problem where occasionally - even after the page is fully loaded - the page will blank and go "Something went wrong". Web developers, have you heard of a little thing called "graceful degradation"? You should try it some day, it's delicious.

Sunday 5 July 2020

Stripped again, and out of tubes

I was trying out some semi-transparent blue filament from UniCoFil. The temperature tower had quite a bit of stringing, so I tried with 2mm retraction. That, unfortunately, led to stripping when the next temperature tower got to 195C. Despite trying to help the filament come out, unloading didn't work, so I had to snip the filament and open up the extruder.

TIP: When snipping the filament, do so with as much filament above the PTFE tube as possible, to more easily grab it later.



I disassembled enough to have the heater assembly free and tried a cold pull, but there wasn't enough filament sticking out to get a good grip. So I unscrewed the heatsink (this time the heatbreak didn't follow) and could get the PTFE tube out easily. Not so the filament. I tried heating the tube on the bed and then pulling, but again with not enough to pull on. Eventually I used a small hex wrench to push out out from the other end, which worked.

Then I put the PTFE tube back in the heatsink, which was a mistake. I put it so far in that I couldn't screw the heatsink onto the heatbreak, and I wasn't able to pull it out without destroying it. Fortunately, I had a second one. Need to get more replacements, and maybe just a spare of each part.

Having mounted the heatsink on the heatbreak, I could insert the PTFE tube, but not quite enough, now the end would block the gears. So I took it apart again, pushed the PTFE a bit further in, and then it looked OK from my point of view. Not so from an actual functional point of view, it was high enough to hit the gears still. It needs to be barely visible above the edge of the hole.

I tried to align it better, but it took more squeezing than it really ought to, and one I had it in, the nozzle ended up being too low, possible because I couldn't screw the heatbreak far enough in. I will order a bunch of new tubes and spare other things, take the whole shebang apart, and then try first to install from fresh with a new tube, if that doesn't work then replace the heatsink - I think the black insert inside it has gotten damaged.

Monday 29 June 2020

Hey, Slab!

Today, I decided it was time to reduce the noise of my printer.

First I did some measurements. I created a single-layer print of pure infill, increased first layer speed, and adjusted infill angle to make the printer move X, Y, or diagonally. Sure, I could have done a custom gcode sequence to just move the axis, but I didn't feel like digging into that. The first print was quite difficult to get off, so I moved Z adjustment from -0.8 to -0.6.

For each test, I used the Sound Meter app, first right in front of the printer, then on a separate table across from the printer, taking the average after about half a print. 

Y movement: Near printer 56 dB, other table 46 dB
X movement: Near printer 54.3db, other table 37.2 dB
Diag movement: Near printer 57 dB, other table 45 dB

Y movement is far noisier than X movement. There's some suggestions in this thread: Lubricate bearings, oil axis, add motor dampers. Oiling is an easy step, let's try that. After oiling, Y axis movement is 56.7 dB near the printer, 46.7 dB on the other table. Louder. Huh. Could be a measurement error.

I don't feel like taking the printer apart today, but I did get a slab of granite, and I have plenty of foam. So let's do some tests with them.

First step: Put pieces of simple camping foam under the feet of the printer. This reduced the noise level of the Y movement to 48.3 dB near the printer, 35 dB on the other table. Already noticeable! And this foam is pretty stable, so shouldn't make the printer too wobbly.

There's also a sound coming from the power supply, probably the fan there. Slightly irregular, not that loud yet.

I took the opportunity to fasten what bolts I could get to. I tried to open the power supply, but wasn't able to without taking more apart than I felt like. I did however notice a small piece underneath it that wasn't fastened correctly, so I fixed that. After that and putting the printer on a slab with soft foam underneath, the test print measures 40.4 dB near the printer, 31.5 dB on the other table. So this shaved off in total 15 dB, impressive! Even the power supply fan seems quieter.

Of course, I should have measured between fastening bolts and putting it on a slab, but I didn't. Maybe another day.

Luckily, the filament spool just fits under the cabinet above

I might want to have the filament spool mounted separately, possible between the two edges on the sides (you can see one in the picture). I would need a setup where the holder was easy to remove, though. I suspect some of the noise from fast moves is from the filament spool.

Clearly, this merits printing a really nice McBenchy!




There's a smidgeon stringing (that I have cleaned off), and the Z level is not quite perfect, but overall it's super smooth.

The first layer of the McBenchy had an average noise level of 34.9 dB (measured in front of the printer), the second one where the usually noisy bed fan started got up to 39.5 dB - that's not just the fan, though there were also some fast zig-zag moves that were somewhat noisy. Apparently moving the printer about has at least temporarily fixed what was wrong with the fan. Later layers averaged 37.7 dB, though there were places that were somewhat louder, it seems to occasionally hit a resonant frequency. Measured on my chair arm, so at normal distance for me, it's 29 dB, at the other table 28.2 dB.

All in all, I am satisfied with this noise improvement. In fact the power supply is not responsible for a fair amount of the noise, maybe I could dampen that by adding some rubber washers to the various screws.

Obligatory Borderlands 2 reference: