The Smell of Molten Projects in the Morning

Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.

Category: Machine Shop

Mechanical widgetry

  • Browning Hi-Power Magazine Capacity Reduction: Floor Plate Nut Brazing

    Based on the idea of reducing a magazine’s capacity by installing a not “readily” modifiable(*) block, brazing an M3 nut to a magazine floor plate goes about as easily as you can expect.

    The process:

    • Drill 3 mm hole in the center of the inner plate boss
    • Wire-brush the plate to remove the black coating
    • Mount a nut on a spring-loaded screw
    • Apply paste flux under the nut
    • Align snippets of silver solder under the nut
    • Fire the propane torch!

    The flux is Ultra-Flux, a nasty concoction intended for silver solder, which in this case is Brownell’s Silvaloy 355 in strip form. Despite the name, it’s 56% silver and has much higher strength than soft tin-lead solder. Although I haven’t done any destructive testing, a good joint will be stronger than the base metals.

    The setup before soldering the first nut:

    Browning floor plate - nut brazing setup
    Browning floor plate – nut brazing setup

    The spring holds the nut in the proper position, lets it settle straight down as the flux liquefies and the solder melts, then holds it flat against the floor plate to ensure a proper bond and a good fillet. I coated the screw with Tix Anti-Flux to ensure it didn’t become one with the nut.

    The same joint after heating:

    Browning floor plate - nut brazed 1
    Browning floor plate – nut brazed 1

    The garish red apparently comes from the Anti-Flux; the screw never got more than dull red and was cool by the time I shut off the torch and fiddled with the camera.

    However, the rear of that first nut didn’t get a suitable fillet, so I reheated and removed it to reveal a section where the flux didn’t clean the steel and the solder didn’t flow:

    Browning floor plate - nut 1 test
    Browning floor plate – nut 1 test

    Note that the area below the middle of the nut can’t have a full solder joint, because the nut sits over the depression that forms the boss, thusly:

    Browning Hi-Power magazine - drilled floor plate
    Browning Hi-Power magazine – drilled floor plate

    The solder fillet will, however, surround the nut and bond the ring near the flat part of the plate.

    Properly cleaning and brushing that area produced a better joint under a new nut:

    Browning floor plate - nut brazed 1a
    Browning floor plate – nut brazed 1a

    The fillet now extends all the way around the nut, as it should:

    Browning floor plate - nut brazed 1a no screw
    Browning floor plate – nut brazed 1a no screw

    The crusty appearance comes from the flux residue, which comes off easily in a bath of boiling water to reveal a smooth fillet:

    Browning floor plate - defluxed
    Browning floor plate – defluxed

    With cleanliness & good conduct in mind, the remainder of the floor plates brazed smoothly, with good results on the first heating:

    Browning floor plate - nut brazed 2
    Browning floor plate – nut brazed 2

    Repeated heating took the starch right out of that poor spring, though…

    With brazed plate in hand, the next step will be fitting suitable blocks to the individual floor plates.

    (*) My state senator and assemblyperson (or, more exactly, their staffers) have been totally unhelpful in resolving the definition of “readily” as used in the legislation, to the extent that they don’t respond to emails asking about the result of meetings they said they attended with, e.g., State Police counsels, to get more information.

  • Frank-O-Squid Calibration

    The saga of rebuilding and reconfiguring my old Thing-O-Matic around an Azteeg X3 controller and Marlin software at Squidwrench continues apace:

    TOM286 - with calibration scrap
    TOM286 – with calibration scrap

    A major benefit of doing this at the group meetings has been showing everybody that 3D printing isn’t a mass-production process. The pile of calibration objects includes an inordinate number of those thinwall open boxes that take about five minutes each:

    3D printed calibration scrap
    3D printed calibration scrap

    But it’s producing reasonable quality stuff again:

    TOM286 - First Dodecahedron
    TOM286 – First Dodecahedron

    The loose threads on the outward sloping sides of that dodecahedron show that I forgot to lower the temperature after a bit of trouble with adhesion to the platform; the problem turned out to be an interaction between Slic3r’s minimum layer time and minimum printing speed settings that I didn’t notice.

    A disadvantage of doing this at the group meetings is that two or three hours of tweaking and printing, once a week, draws the whole process out far longer than anyone else expected… [grin]

  • Sewing Machine Bulb Replacement: First (LED) Light!

    Some trial fitting with the prototype showed that there’s no possible way to route the connections through the socket, no matter how much I wanted that to happen, so I rotated the body to align the LEDs with the socket pin slots:

    Sears Lamp LED Adapter - Show view
    Sears Lamp LED Adapter – Show view

    The body now builds with the flat end down, so the overall finish should be better:

    Sears Lamp LED Adapter - Build view
    Sears Lamp LED Adapter – Build view

    A test run shows why I really, really wanted cool white LEDs in the strips over the arm:

    Kenmore 158 Sewing Machine - mixed LED lighting
    Kenmore 158 Sewing Machine – mixed LED lighting

    The LED mount doesn’t have quite enough room inside the end cap for the holder to tilt as I wanted; the two 10 mm LEDs can be about 10 mm lower and slightly closer to the shaft driving the needle, which is what this rapid prototyping stuff is all about. Scrapping the existing lamp socket and (120 VAC!) wiring seems the best way to make this more useful.

    Early reports on the arm LEDs indicate a requirement for more light, so the next iteration of those mounts will put two strips side-by-side…

  • Kenmore Model 158 Sewing Machine: Bobbin Case Restoration

    I picked up a spare sewing machine as a crash test dummy for modifications to Mary’s Kenmore Model 158. It’s in reasonably good condition, although the bobbin case showed a bit of rust:

    Kenmore bobbin case - rusted overview
    Kenmore bobbin case – rusted overview

    Taking the tension spring off revealed more rust:

    Kenmore bobbin case - rusted parts
    Kenmore bobbin case – rusted parts

    An overnight soak in Evapo-Rust got rid of the corrosion and left the pits behind:

    Kenmore bobbin case - restored parts
    Kenmore bobbin case – restored parts

    Those imperfections on the tension spring are pits, not bumps, despite their appearance.

    It doesn’t seem so bad from the outside:

    Kenmore bobbin case - restored
    Kenmore bobbin case – restored

    It probably won’t work nearly as well as it should, this being one place where a smooth surface counts for a lot. Fortunately, it’s just a crash test dummy machine and good results aren’t critical.

  • Chocolate Molds: Silicone Negative

    Tesa slathered umpty layers of pourable silicone on the Squidwrench logo positives atop the slab, resulting in this ungainly blob:

    SqWr chocolate molds - silicone exterior
    SqWr chocolate molds – silicone exterior

    The other side looks a lot more promising:

    SqWr chocolate molds - silicone interior
    SqWr chocolate molds – silicone interior

    A closeup shows that the characteristic 3D printed striations came through perfectly on the silicone:

    SqWr chocolate molds - silicone interior detail
    SqWr chocolate molds – silicone interior detail

    In this application, the 3D printer’s hand-knitted look is desirable, but most molds would benefit from manual smoothing / sanding / filling; perhaps slathering release agent over the molds would help. In any event, the silicone didn’t lock to the striations and parted easily, so it’s all good.

    The first layer of silicone worked its way between the positive molds and the slab; Tesa says the positives were so well attached to the pegs that she forgot to apply double-sided tape between them. No harm done: the flashing peeled / trimmed off easily enough.

    She thinks a shallow block mold would work just as well for a slab like this: you’d (well, she’d) save hours of tedious layering. The block mold wouldn’t use any more silicone, as the mixing cup had plenty of residue after each layer, even after scraping: doing just one mixing, one pouring, and one curing stage would be a major win.

    She also knows how to melt and pour chocolate…

  • Makergear M2: Extruder Crash

    Something Went Wrong during the elaborate dance my M2 goes through to home all three axes, resulting in the platform heater connector whacking the nozzle from the rear, the nozzle dragging off the platform to the right, and then jamming on the edge of the too-high platform on the way back. As nearly as I can tell, the command to lower the platform before doing anything else didn’t happen, after which things slid rapidly downhill.

    There are disadvantages to having powerful motors and rigid machinery, but in this case the advantages outweigh them. You should browse Youtube’s collection of CNC mishaps to see what a real machine tool crash looks like.

    I think that’s the second time the thing has misbehaved, so it’s doing OK. I have seen a few instances where the firmware doesn’t obey the acceleration limits, but I don’t have any way to verify what happened. If the Z-axis motor stalled while lowering the platform, that would explain everything; that same G-Code has worked flawlessly for nearly a year.

    After realigning the extruder motor and checking that the hot end hadn’t gotten dislodged, I ran off a thinwall open box that showed the extruder was about 0.1 mm lower than before. That called for a tweak to the G92 setting in the startup G-Code that defines the offset between the two.

    After that, I figured it would be a Good Idea to check the platform leveling, so I arranged five boxes on the platform:

    M2 Platform Leveling - thinwall open box layout
    M2 Platform Leveling – thinwall open box layout

    About 8 minutes later, I had the five values at the top of this scratch paper:

    M2 Platform Leveling Data
    M2 Platform Leveling Data

    Tweaking the three leveling screws under the platform and iterating with more boxes eventually got the platform aligned to about ±0.07 mm across the 200×250 mm platform diagonal; supper got in the way of repeating the last test. The bird’s nest failure of the left-front box in that test looked like an adhesion problem; in the heat of it all, I built four sets of thinwall boxes on exactly the same spots without renewing the hairspray coating.

    Measuring the skirt and box heights suggested a bit of adjustment to the initial Z offset. A static measurement comes pretty close, but the actual results are what matters.

    I’ll recheck the alignment at some point, but for now it’s back in operation…

    Bonus: more tchotchkes to hand out at the next OpenSCAD class!

    Thinwall Open Box - platform leveling
    Thinwall Open Box – platform leveling

    The current startup G-Code from Slic3r’s configuration:

    ;-- Slic3r Start G-Code for M2 starts --
    ;  Ed Nisley KE4NZU - 15 Nov 2013
    ;  28 Feb 2014 tweak Z offset
    ; Z-min switch at platform, must move nozzle to X=130 to clear
    M140 S[first_layer_bed_temperature]	; start bed heating
    G90				; absolute coordinates
    G21				; millimeters
    M83				; relative extrusion distance
    G92 Z0			; set Z to zero, wherever it might be now
    G1 Z10 F1000	; move platform downward to clear nozzle; may crash at bottom
    G28 Y0			; home Y to be sure of clearing probe point
    G92 Y-127 		; set origin so 0 = center of plate
    G28 X0			; home X
    G92 X-95		; set origin so 0 = center of plate
    G1 X130 Y0 F30000	; move off platform to right side, center Y
    G28 Z0			; home Z with switch near center of platform
    G92 Z-4.40		; set origin to measured z offset
    G0 Z2.0			; get air under switch
    G0 Y-127 F10000	; set up for priming, zig around corner
    G0 X0			;  center X
    M109 S[first_layer_temperature]	; set extruder temperature and wait
    M190 S[first_layer_bed_temperature]	; wait for bed to finish heating
    G1 Z0.0 F500	; plug extruder on plate
    G1 E25 F300		; prime to get pressure, generate blob
    G1 Z5 F2000		; rise above blob
    G1 X15 Y-125 F30000	; jerk away from blob, move over surface
    G1 Z0.0 F1000	; dab nozzle to attach outer snot to platform
    G4 P1			; pause to attach
    G1 X35 F500		; slowly smear snot to clear nozzle
    G1 Z1.0 F2000	; clear bed for travel
    ;-- Slic3r Start G-Code ends --
    
  • Makergear M2 Z-axis Backlash Numbers

    Clamping a long-stroke dial indicator to the M2’s X axis gantry:

    Dial indicator - gantry to M2 Y rail
    Dial indicator – gantry to M2 Y rail

    Then stuffing manual G-Code into Pronterface produced some data on Z-axis accuracy, repeatability, and hysteresis:

    M2 Z-axis positioning measurements
    M2 Z-axis positioning measurements

    Note that the commanded positions are in 0.001 mm units (25 = 0.025 mm) and the observed positions are in mils (1 = 0.001 inch). The arrows indicate which way the stage moved, with positive Z increments moving the stage down.

    I summarized this as part of a discussion on the Makergear Google Group

    The overall distance seems to be quantized at 0.0150 mm = 6 step intervals. You can command a motion between those steps (G0 Z0.0025, G0 Z0.0075, etc), but the motor doesn’t turn until the distance exceeds the next interval (G0 Z0.0150 causes motion). This isn’t stiction, because the firmware isn’t activating the motor.

    Stepping up and down in 0.025 mm increments (10 steps, but not an even multiple of the 6 step quantization intervals) over a 0.100 mm range produces about 0.01 mm = 4 steps of backlash. Some of that definitely comes from the quantization interval, but it’s not consistent, so there’s also mechanical backlash.

    Frankly, that’s better than I expected, but any motion less than about 4 steps probably won’t happen and the errors are on the same order. Whether the firmware itself can compute and apply a smaller motion isn’t clear.

    The controller doesn’t know where the platform is, at least in an open-loop stepper system. That means when the commanded motion is on the same order as the backlash, the controller can’t make the proper adjustments. As long as the positioning error remains smaller than the tolerance, it’s all good; expecting 0.020 mm resolution and accuracy seems reasonable.

    But it’s only a quick-and-dirty test, so I wouldn’t read too much into it.