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.

Tag: Improvements

Making the world a better place, one piece at a time

  • Kmail: FAIL

    In the unlikely event you’re keeping track of this, slashing the total volume of email made Kmail much more competent: it hadn’t trashed an index file in, oh, weeks…

    Until it happened again.

    I don’t know that 30 days of email is magic, but 64 MB worked much better than 3 GB. The offending folder has all of 6 MB and 280 files, which puts a pathetic upper bound on Kmail’s good behavior.

    Anyhow, Kmail still screws up its indexes, but … it’s better than it was.

    You’d think this would be an important thing to get right, but the KDE apparat has far more important things to worry about. Eye candy, as nearly as I can tell.

    I use Kmail because it’s one of the few email readers that stores messages in maildir format. That’s important with large email collections, because mbox, the other choice, tucks all the messages into a single honkin’ big file (perhaps one file per folder). That doesn’t work well with a daily backup strategy, because each message changes the file and triggers a backup of the whole thing. Maildir format means backing up only the new messages, which makes far more sense.

    But, if this blank email thing continues, it’s time to move on…

  • Re-rebuilding a Recumbent Antenna Mount

    Antenna Mount
    Antenna Mount

    Quite a while ago, I built this slab mount to hold an amateur radio antenna on our daughter’s Tour Easy. It worked fine until the bike blew over and whacked the antenna whip against something solid, at which point the mast cracked.

    The antenna screws into an ordinary panel-mount UHF connector secured to the bottom of the slab, with a hole through the slab just large enough to accept the antenna mast. That put all the mechanical stress on the slab, not the connector.

    Modified antenna mounting plate
    Modified antenna mounting plate

    Alas, the new antenna had a slightly different mast outside diameter, so I machined a new adapter to clamp the connector atop the slab. The antenna screws down into the adapter against a brass washer, again keeping the strain on the fitting.

    I recently found the commercial mobile antenna cable that I’d been meaning to use on her bike, which required Yet Another Modification to that slab. It turns out that the UHF connector on the cable expects to be secured to sheet metal found in a car body, rather than a half-inch aluminum plate: the threads aren’t long enough!

    So I machined circular recesses on the top and bottom to hold the mounting nut and washer, respectively, with 2 mm of aluminum remaining in the middle of the slab.

    Milling top recess
    Milling top recess

    The recesses are just fractionally larger than the nut & washer, so most of the stress gets transmitted directly to the slab. Even in the high-vibration bicycle environment, I think there’s enough meat in there to prevent fatigue fractures.

    Milling bottom recess
    Milling bottom recess

    I recycled a G-Code routine I’d written to chew out circular recesses. It does a bit of gratuitous (for this application, anyway) spiraling in toward the center, but got the job done without my having to think too much.

    The bottom view shows the washer in action. The recess is deep enough that the cable just barely clears the slab.

    Modified mounting plate - bottom
    Modified mounting plate – bottom

    The top view shows the recessed mounting nut. The nut has an O-ring around the connector threads, but the water will probably drain out through the four through-holes left over from the old panel-mount connector.

    Modified mounting plate
    Modified mounting plate

    I turned the top nut down as far as I could with a wrench & (ugh) needle-nose pliers, then tightened the bottom nut about 1/3 turns with a wrench.

    You’re not supposed to notice the crispy edges on the PVC bushing holding the reflector to the antenna mast. The high setting on that heat gun is a real toaster…

    The G-Code is over there.

  • Padded Spring Clamp Tips

    Padded Spring Clamp Tips
    Padded Spring Clamp Tips

    The OEM padding on the ends of my spring clamps wore off long ago; it was some sort of entirely-too-soft dipped plastic.

    Some large-diameter heatshrink tubing seems like it ought to be a good replacement… the tips are a bit floppy, but maybe that’s not entirely a Bad Thing.

    We shall see…

  • Sherline CNC Mill: Defining Home Switches

    Having mounted & wired the switches, the next step involves defining the homing sequence & configuration for each axis. All this goes in Sherline.ini and is adapted from the doc there.

    The travel limits are somewhat empirical and I think the Y axis will require some adjustment due to the tooling plate switch extender gadget.

    The HOME_SEARCH_VEL values may be a bit too high, given the rather lethargic 5.0 in/sec^2 acceleration I’m using for X & Y, with just 3.0 for Z. I’ve heard the occasional thwack as the switch trips, so maybe 20 mils of overtravel isn’t quite enough.

    For the X-Axis:

    [AXIS_0]
    ... snippage ...
    MIN_LIMIT = -1.0
    MAX_LIMIT = 9.5
    HOME_IS_SHARED = 1
    HOME_SEQUENCE = 2
    HOME_SEARCH_VEL = 4.75
    HOME_LATCH_VEL = 0.016
    HOME_FINAL_VEL = 0.25
    HOME_OFFSET = 9.1
    HOME = 4.5
    

    For the Y-axis:

    [AXIS_1]
    ... snippage ...
    MIN_LIMIT = -0.5
    MAX_LIMIT = 4.95
    HOME_IS_SHARED = 1
    HOME_SEQUENCE = 1
    HOME_SEARCH_VEL = -4.75
    HOME_LATCH_VEL = -0.016
    HOME_FINAL_VEL = 0.25
    HOME_OFFSET = 0.0
    HOME = 4.5
    

    For the Z-axis:

    [AXIS_2]
    MIN_LIMIT = -0.1
    MAX_LIMIT = 6.9
    HOME_IS_SHARED = 1
    HOME_SEQUENCE = 0
    HOME_SEARCH_VEL = 0.333
    HOME_LATCH_VEL = 0.016
    HOME_FINAL_VEL = 0.25
    HOME_OFFSET = 6.9
    HOME = 6.5
    

    The A axis doesn’t get a home switch because I can’t imagine needing one for a rotary table:

    [AXIS_3]
    ... snippage ...
    MIN_LIMIT = -9999.0
    MAX_LIMIT = 9999.0
    HOME_SEARCH_VEL = 0
    HOME_LATCH_VEL = 0
    HOME = 0.0
    
  • Sherline CNC Mill: Adding Home Switches

    Real men have real CNC milling machines and real CNC milling machines have home switches. I have an itsy Sherline CNC mill, but now my mill has home switches just like a Real Man’s mill.

    Sorta, kinda.

    Truth is, I really don’t need home switches for the Sherline. I haven’t done any “production” milling with fancy fixtures, so zeroing the coordinate system to the lower-left vertex of the part-to-be-milled works reasonably well. But I figured it’d be fun to see what I was missing…

    The first step was to hack another jack on the Sherline controller box and connect it to parallel port bit 10. The process is pretty much the same as I used for the probe switch jack documented there. I actually put the jack in the hole used for the power LED and drilled a new hole for the LED smack in the middle above the connector.

    Sherline Controller with Probe and Home Jacks
    Sherline Controller with Probe and Home Jacks

    The simplest way to do home switches is to wire them all in parallel using a single port pin. You can even wire the probe switch in parallel with home switches, too, but I figured it’d be nice to have separate jacks… and, besides, the controller still has a few port pins left.

    Adding the home switches requires a few lines (adapted from there) in custom.hal that connect the sense inputs in parallel:

    net homeswitches <= parport.0.pin-10-in-not
    net homeswitches => axis.0.home-sw-in
    net homeswitches => axis.1.home-sw-in
    net homeswitches => axis.2.home-sw-in
    

    Using the -not suffix flips the sense of the input so the signal is True when the buttons get pushed. I don’t know of any algorithmic way to determine the actual logic states for a given button configuration, so just try it, use Halmeter to see what happens, then flip as needed.

    The catch with adding home (or limit) switches is that Sherline mills have an attentuated mechanical structure with no good places to affix switches. I figured a trio of microswitches and a few dollops of JB Quik epoxy would suffice; if I must remove the switches, a quick shot with a chisel should pop the epoxy right off the metal.

    The microswitches have about 20 mils of overtravel. I located the switches so the actuator buttons are bottomed out against the cases with the axes at the far limits of their travels. The steppers are puny enough to stall when the mechanical bits hit their hard limits, so there’s no risk of wrecking the machinery or knocking the switches off.

    The X-axis home switch goes on the right side of the table, where it contacts the Y-axis slide at the end of travel. Putting it there also means I can remove the table by simply running the leadscrew out of the nut and pulling the whole affair off to the right. I lashed the switch cable to the motor cable with (wait for it) cable ties, which is probably a Bad Idea for larger machines, but seems to be OK in this situation.

    X Axis Home Switch
    X Axis Home Switch

    The Y-axis home switch goes at the rear of the machine base, aligned with the plastic bushing I put there to capture the end of the leadscrew. That’s the travel limit for the bare table, but the Sherline tooling plate sticks out another half-inch: the plate hits the column before the table hits the bushing. Alas, I use the plate a lot.

    Rather than futz with an adjustable switch position, I made a removable extender. The 3 mm (1/8″ nominal) thick plastic strip has 1 mm milled off the bottom, leaving a tab on the left side that snaps over the dovetail. The screw extends down past the dovetail on the right, so the whole affair slides back & forth just enough to connect the Y-axis slide with the button. The brass tubing exactly fits the tit on the switch actuator and is urethane-glued to the strip.

    It’s removable by lifting the left end and sliding the whole affair out under the leadscrew.

    Y Axis Home Switch with Extender
    Y Axis Home Switch with Extender

    The alternative, putting the Y-axis home switch on the very front of the base, would expose the switch & cable to all the slings & arrows of outrageous fortune to be found around the area of the countertop I use most. That may still prove to be a better location: if the back doesn’t work out, it’s easy to move.

    The Z-axis switch had to go at the top-of-column mechanical limit, as homing to the downward limit of travel seemed fraught with peril. I epoxied the switch in place by clamping it to a shim atop the Z-axis slide to align the switch body, then applying gentle sideways pressure with a small screwdriver.

    Epoxying the Z Axis Switch
    Epoxying the Z Axis Switch

    This is what it looks like after the epoxy cured. The square key bar sticking out of the extender block clears the switch with plenty of room to spare, no matter what it looks like.

    Z Axis Home Switch
    Z Axis Home Switch

    The cables from all three switches go to a common junction where they’re connected in parallel to the cable leading to the green plug in the top picture.

    Tomorrow, the configuration file that makes all this work…

  • Generic Sony NP-FS11 Li-Ion Packs: Rebuild FTW!

    Herewith, the discharge test results for all the generic Sony NP-FS11 battery packs I have (click for a bigger image).

    Sony NP-FS11 Status - 2010-04
    Sony NP-FS11 Status – 2010-04

    The five mostly overlapping upper traces consist of:

    • Three packs (H, K, and L) rebuilt from the eBay junkers
    • F rebuilt from a deader in my collection
    • E is an older, no-name pack that just continues to work

    The rebuilt packs now have cells from batteryspace.com that are working fine: nominal capacity 600 mAh, actual around 1200 to 1400 for a parallel pair. It’s surprising to see a cell producing its rated capacity…

    The two lowest traces (G & I), plus the purple trace (J) are from the eBay source. The first two are obvious junk, but pack J is actually pretty good. The fact that it’s the best of six packs from that vendor tells you all you need to know about their QC.

    For those of you joining us via search engines, the rest of the story:

  • Generic Sony NP-FS11 Battery Packs: Surprising Contents Thereof

    So I dismantled the three junk packs I got from halfway around the world and rebuilt them with better-quality cells. Search for NP-FS11 and you’ll find the rest of the story.

    Some observations…

    These cases are the thinnest plastic that doesn’t actually break when you pick it up: to crack the case seam, you must push firmly. Two of the three packs were already cracked and the third yielded to a slight squeeze.

    What’s inside? Welly, welly, welly, what do we have here?

    DOA Battery Contents
    DOA Battery Contents

    The cells are labeled Sony Energytec, which ought to be a reputable brand name. Some possibilities:

    • Counterfeit cells
    • Quality test rejects

    I don’t know why you’d bother putting counterfeit cells inside a generic case; it’d be more profitable to sell a completely counterfeit battery with a fancy Sony label. So I’m guessing these came from a batch of cells that failed inspection and were miraculously saved from destruction.

    Battery Protection Circuit Board
    Battery Protection Circuit Board

    They have the usual protection circuit board on the top. What’s a bit tricky is that you must unsolder the three leads connecting to the case terminals before you can extract the cells. I unsoldered the strap from the negative terminal while I was at it; the positive lead is inaccessible beyond the black IC on the left.

    After that, it’s a straightforward rebuild.