Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
While cranking out some Tux Cookie Cutters, I varied the Reversal settings to see what effect they’d have on a single object with a smooth perimeter. I’d previously settled on 25 rpm for 125 ms with no early action, so this series tests three different times with early action turned on.
Position 1, where the perimeter threads join. Yes, I have Jitter activated and cranked up to something like 10, but it obviously has no effect on this object:
Position 1 – Reversal 125 100 50 – early
Position 2, where the nozzle enters from the outside to start a new thread. The snot hanging off the end makes for an ugly wad:
Position 2 – Reversal 125 100 50 – early
Position 3, another nozzle entry point:
Position 3 – Reversal 125 100 50 – early
Early Reversal action simply doesn’t work well. With retraction times sufficient to prevent drooling, stopping the extruder before the end of the thread produces unacceptable gaps and starting it before reaching the thread produces hanging snots when the nozzle passes over an existing wall.
Shorter retraction times produce strands all over the object, because the extruder still contains pressurized plastic and drools.
I’d previously discovered, although I didn’t write up, that unbalanced Reversal times didn’t provide any benefit: inhale and exhale times must be essentially equal to prevent either starving the first part of each thread or serious drooling. So there’s really only one degree of freedom: the total volume of plastic = rpm x duration.
Perhaps having separate early action times would help: adjust the shutdown and startup delay times independently of the total Reversal inhale/exhale time. Right now, those delays are simply the inhale/exhale times, evidently assuming clean cutoffs and startups, which obviously isn’t the case.
And, alas, the Reversal Threshold bug remains unfixed, so you (well, I) can’t tell Reversal to not operate across short motions like the end of one thread and the not-quite-adjacent start of the next.
Found this in the front tire of my Shop Assistant’s bike.
Front tire gash
It’s a Primo Comet Kevlar, not that the Kevlar belts can cope with an assault like that. The smooth surface at the bottom of the gash is the tire liner, of course.
She won’t be using the bike for a while, though, so I’ll keep our stock of new tires for our bikes. I’m sure they’ll come in handy this season.
A discussion on the MHV LUG mailing list pointed to the Gibson Research DNSBench utility. Letting it chew on all the nameservers it can find, then mulling over the results for a bit, produced this short list:
NY Public Library: 68.88.88.2
Level 3 Comm: 4.2.2.3 or .5
Yale: 130.132.1.10 or 11
NTT: 129.250.48.98
Feed those into Network Manager (or /etc/resolv.conf) in some permuted order and away you go… at least if you’re near Poughkeepsie and using Optimum Online. Change anything and the results will differ.
I’d been using OpenDNS at 208.67.22[02].22[02], but the new ones test out as marginally faster and are certainly more diverse. Who knew NYPL ran a DNS?
In the process of adapting my HT GPS interface to a Wouxun KG-UV3D radio, I printed some trial-fit pieces that consistently came out a little short. A bit of division showed that the larger pieces tended to be small in the X & Y axes by about 0.5%. This makes no difference for most 3D printed objects, but in this case the pieces must match up precisely with the radio’s existing battery interface layout. Half a percent matters a lot across a 75 mm part.
The advice found with most calibration pieces seems to boil down to fudging the printer’s steps/mm setting to make the answer come out right. The default Thing-O-Matic calibration (in machines/thingomatic.xml, wherever that’s hidden in your installation) looks like this:
You will, of course, have twiddled the maxfeedrate, homingfeedrate, and maybe even the comments to make the answers work on your machine.
Nophead slapped me upside the head when I made the same mistake that produced the stock stepspermm values: the pulley moves the belt by a fixed number of teeth on each revolution, so you just multiply by the belt tooth pitch to find the distance per revolution. Divide that into the number of (micro)steps per revolution and you get the exact stepspermm value. The stock MBI pulleys have 17 teeth and the belt has a 2 mm tooth pitch, so:
47.05882 step/mm = 1600 step / (17 * 2 mm)
That differs from the stock value by not very much at all:
0.999766 = 47.05882 / 47.069852
Given that these steppers aren’t losing steps (don’t start with me, you know how I get), I’m quite confident that the X and Y stages move by exactly the commanded distance every time.
The money quote is that ABS shrinks just about exactly 0.5% as it cools. That’s modulo the starting temperature, the molding process, and so forth and so on, but it’s a pretty nice match.
Therefore, fudging the printer’s scale isn’t appropriate, because that affects everything you might do with it. Such as, for example, the initial homing sequence, which depends on fairly precise locations that must match up with reality and have no shrinkage problems whatsoever.
Skeinforge’s Scale plugin applies a factor to the object, so that’s (probably) a more appropriate location for this adjustment. The myriad SF settings get broken down by Craft (extrusion, milling, whatever) and material (ABS, PLA, whatever), so if you can keep all that straight, then you can apply the appropriate Scale for each process and material.
The Scale doc may seem a tad sparse, but the plugin does have separate settings for the XY plane and the Z height. The latter (probably) doesn’t need scaling, because the nozzle height sets the actual extrusion level; the top layer or two will stretch to make the vertical size come out right as the object cools while it’s a-building.
I’ll toss a 1.005 scale factor into the XY mix and see what horrors that unleashes by way of unintended consequences.
More on the radio interface & suchlike in a while…
Back when I was growing up, I knew maple seeds came in pairs and finding a triple-seed cluster was a wonderful stroke of good fortune. Our young lady grew up knowing that same thing, of course.
Tri-wing maple seed
Turns out the maple tree near the end of the driveway produces triple-wing seed clusters on a regular basis; we find several each year.
It hasn’t reduced the magic of maple spinners, but we no longer line them up along the fireplace…
Having twicefailed to make music-wire springs work, I rummaged around in the Big Box o’ Small Springs with more diligence and unearthed a pair of coil compression springs that exactly match the pin ferrule OD. Twiddling the solid model produced this longer & flatter version with in-line springs and cylindrical plugs holding them in place:
NB-5L Holder – Coil spring – solid model
A closeup of the pin arrangement, which now looks very clean and easy to build:
NB-5L Holder – Coil spring – detail
The OpenSCAD code will print out a quartet of plugs (pick the best two), but having thought of that too late, I turned a pair from a random acrylic rod:
Turning spring plugs
I did remember to solder the wires before assembling the pins this time…
Pin assemblies
Because the pins now index on their shoulder with the springs at partial extension, I set the drills into the pin vice vise[Update: One can probably be arrested for pin vice] to produce depths displayed by the OpenSCAD program before reaming out the printed holes:
Then glue the pin plugs into the holder and the flat lid atop the case to capture the battery, clamping everything to the corner of the Sherline’s countertop:
Gluing pin assemblies
And it Just Worked: nice travel between the limits, smooth operation, it’s the way I should have done it from the beginning*. You knew that all along, right?
Here are the three NB-5L Battery Holder versions, all snuggled up together. The longer and flatter coil-spring version sits on the right:
So there we were, on our way to the Dutchess County Fair when I noticed the Check Engine light glowing beyond my right hand on the dashboard. We decided to not stop at the fair, drove through Rhinebeck, and returned home without turning the engine off.
The last time that light came on, my Shop Assistant and I were on our way to Cabin Fever in York PA one Friday afternoon in mid-January. The Mass Air Flow Sensor had just failed, rendering the car un-driveable: the engine ran so poorly we barely got off I-81 to drift into a parking lot. Although the local Toyota dealer was just across the road, I replaced that sensor on Monday morning in the Autozone parking lot, half a mile down the road, at 19 °F in a stiff wind with inadequate tools; said Toyota dealer being useless like tits on a bull during the entire weekend.
After the obligatory research, I put the van up on jack stands, crawled underneath, and discovered that the Bank 1 Oxygen Sensor lies behind & below the transverse-and-rotated engine, directly above and front of the chassis cross-support strut, where it cannot be seen or touched from any position. That’s why there are no pictures: there was no room for a camera and nothing to see.
I had to buy a 3/8 inch breaker bar, as the sensor position lacked clearance for a socket wrench, a U-joint, a T-handle, or a step-down adapter from my 1/2 breaker bar behind the special 22 mm Oxygen Sensor Socket. I eventually got the sensor loose and unscrewed it one painful eighth of a turn at a time, with the exhaust pipe preventing a full 1/4 turn, removing and reseating the breaker bar with my fingertips for every single one of those increments.
I deleted all over Toyota’s censored for quite some time thereafter…
It’s been a couple of weeks, the Check Engine light remains off, and I hereby declare victory.