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.

Author: Ed

  • NY SAFE Act Magazine Capacity: Overvew

    The NY SAFE Act limits the capacity of firearm magazines, as defined in NY Penal Law Article 265.00 Section 23  (reformatted for readability):

    23. “Large capacity ammunition feeding device” means a magazine, belt, drum, feed strip, or similar device, that
    (a) has a capacity of, or that can be readily restored or converted to accept, more than ten rounds of ammunition, or
    * (b) contains more than seven rounds of ammunition, or
    (c) is obtained after the effective date of the chapter of the laws of two thousand thirteen which amended this subdivision and has a capacity of, or that can be readily restored or converted to accept, more than seven rounds of ammunition; provided, however, that such term does not include an attached tubular device designed to accept, and capable of operating only with, .22 caliber rimfire ammunition or a feeding device that is a curio or relic.

    * NB Suspended and NOT Effective per ch 1/2013 § 58, as amended by ch 57/2013 Pt. FF § 4

    The official NY SAFE Act website has more information, as does A Guide to the New York Safe Act prepared in September by the NY State Police Office of Division Counsel.

    NY PL 265.36 states:

    § 265.36 Unlawful possession of a large capacity ammunition feeding device.

    It shall be unlawful for a person to knowingly possess a large capacity ammunition feeding device manufactured before September thirteenth, nineteen hundred ninety-four, and if such person lawfully possessed such large capacity feeding device before the effective date of the chapter of the laws of two thousand thirteen which added this section, that has a capacity of, or that can be readily restored or converted to accept, more than ten rounds of ammunition.

    An individual who has a reasonable belief that such device is of such a character that it may lawfully be possessed and who surrenders or lawfully disposes of such device within thirty days of being notified by law enforcement or county licensing officials that such possession is unlawful shall not be guilty of this offense. It shall be a rebuttable presumption that such person knows that such large capacity ammunition feeding device may not be lawfully possessed if he or she has been contacted by law enforcement or county licensing officials and informed that such device may not be lawfully possessed.

    Unlawful possession of a large capacity ammunition feeding device is a Class A misdemeanor.

    A Class A misdemeanor sets you up for a kilobuck fine or a year in jail.

    NY PL 265.37 states:

    § 265.37 Unlawful possession of certain ammunition feeding devices.

    It shall be unlawful for a person to knowingly possess an ammunition feeding device where such device contains more than seven rounds of ammunition.

    If such device containing more than seven rounds of ammunition is possessed within the home of the possessor, the person so possessing the device shall, for a first offense, be guilty of a violation and subject to a fine of two hundred dollars, and for each subsequent offense, be guilty of a class B misdemeanor and subject to a fine of two hundred dollars and a term of up to three months imprisonment.

    If such device containing more than seven rounds of ammunition is possessed in any location other than the home of the possessor, the person so possessing the device shall, for a first offense, be guilty of a class B misdemeanor and subject to a fine of two hundred dollars and a term of up to six months imprisonment, and for each subsequent offense, be guilty of a class A misdemeanor.

    I AM NOT A LAWYER.

    As I understand those sections, a large capacity feeding device, as defined by PL 265.00 Section 23, either:

    • Has a capacity of more than ten rounds or
    • “[C]an be readily restored or converted to accept more than ten rounds”.

    It appears to be the intent of the law that an existing large capacity feeding device can be converted to a legal, non-large capacity feeding device by modifying it in such a way that its new 10 round capacity cannot be “readily restored or converted” to the original large capacity.

    There is no definition of “readily”.

    The NYSP Guide uses a different terminology:

    … those who possess these devices have one year from the enactment of the Safe Act to transfer, dispose of, or permanently modify the magazines to a capacity of 10 rounds or less.

    There is no definition of “permanently”.

    However, there’s that enigmatic asterisk and footnote in PL265.00 Section 23.

  • Dummy 9 mm Luger Cartridge: 100 μm Layers

    As you might expect, changing the layer thickness to 0.1 mm = 100 μm dramatically improves the appearance of the dummy 9 mm Luger bullet on the left, compared to the 0.25 mm = 250 μm layers on the right:

    Dummy 9 mm Luger cartridges - 0.1 mm layer - overview
    Dummy 9 mm Luger cartridges – 0.1 mm layer – overview

    The inside edge of the translucent skirt around the quartet measured 90 to 110 μm, so the layer height is spot on:

    Dummy 9 mm Luger bullets - 0.1 mm layer - overhead on platform
    Dummy 9 mm Luger bullets – 0.1 mm layer – overhead on platform

    That required no adjustments to the M2 at all; It Just Works. Admittedly, that’s with a custom platform and firm supports replacing the springs, plus better Z-axis homing, but the overall structure was fine to start with.

    I used the same Slic3r settings as before, with the only change being the layer thickness. Letting it pick the layer width might produce better results, but a 0.35 mm nozzle won’t go much narrower than 0.40 mm anyway.

    A closer look at the bullet show the thinner layers provide a better rendition of the stretched sphere forming the nose; it’s less pointy than the one assembled from thicker layers:

    Dummy 9 mm Luger bullets - 0.1 mm layer - side
    Dummy 9 mm Luger bullets – 0.1 mm layer – side

    The nose closes better with thinner layers:

    Dummy 9 mm Luger bullets - 0.1 mm layer - nose
    Dummy 9 mm Luger bullets – 0.1 mm layer – nose

    None of that really matters for this application, but it’s a useful data point.

    The downside is that printing with thinner layers requires more time: a single bullet (of 16) requires 2.2 minutes at 250 μm and (of 4) 9 minutes at 100 μm. The simple ratio of layer thicknesses predicts a factor of 2.5, not 4, but the skirt requires a larger fraction of the total time. The estimated time for a 4×4 array at 100 μm comes out at 5.2 minutes each, a factor of 2.4, which is close enough.

    Although 100 μm certainly looks better, it doesn’t really improve anything for most of the blocky stuff I make…

  • Dummy 9 mm Luger Cartridge

    An interesting project requires a handful of 9 mm Luger (aka 9 mm NATO) dummy cartridges with real brass. You can buy exact form / fit / weight dummies or plastic training rounds, but these will suit my simple needs:

    Dummy 9 mm Luger cartridges
    Dummy 9 mm Luger cartridges

    That’s a snap cap on the left and a real 9 mm Luger cartridge on the right. The holes in the dummy brass indicate that they are absolutely, positively, unquestionably not loaded cartridges.

    Start by drilling a 1/8 inch hole in the side of each unfired, primerless case:

    Dummy 9 mm Luger - drilling case
    Dummy 9 mm Luger – drilling case

    I set up the chuck on the rotary table, thinking I might drill three holes in each cartridge, but came to my senses. It’s lined up by eye, flush with the end of the jaws, and the hole is just above the inside of the base.

    The solid model has the same overall length and proportion as a 115 grain FMJ bullet, but doesn’t match the proper ogive or base diameter. Basically, I stretched a 9 mm sphere and stuck it atop a slightly tapered base cylinder:

    Dummy 9 mm Luger bullet - solid model
    Dummy 9 mm Luger bullet – solid model

    For reasons I don’t profess to understand, the sphere has a slightly different diameter at its equator than the top of the cylinder, even though they’re both the same BulletOD diameter with the same number of faces. Fortunately, that didn’t affect the final results.

    Print up a handful of the things:

    Dummy 9 mm Luger bullets - on platform
    Dummy 9 mm Luger bullets – on platform

    The shadow from the flash makes the bases look slightly fatter than they really are.

    Using a thinner layer would look better in this orientation. They’d definitely look better if they were split, printed with the long axis parallel to the plate, and glued together, as the grain would run lengthwise; I’m not sure there’s enough room for alignment pins, though.

    At this diameter and number of faces, the M2 produces almost perfectly accurate dimensions, so the bullets press-fit just like you’d expect. They’re twisted into a dab of urethane glue inside the brass that foams just enough to hold them place.

    Rather than use a real seating die, I deployed a closed chuck on the drill press. The trick is to set the depth stop to produce slightly too-long cartridges, then shim the platform without changing the stop and seat the bullet to the proper depth:

    Dummy 9 mm Luger - seating bullet
    Dummy 9 mm Luger – seating bullet

    The OAL tolerance for various 9 mm Luger cartridges seems to range from 1.08 inch to 1.17 inch, so anything in that range should be fine. I used 1.10 inch.

    These are not intended for firing. You could fire them with just a primer (in a non-drilled case) and (maybe) not melt or shatter the plastic, but they’re slightly larger than the nominal 8.82 mm land diameter and won’t obturate or spin-stabilize worth diddly: expect short range and keyholing.

    The sectional density is a whopping 0.008, should you keep track of such things: 0.47 gram = 7.2 grain. Note that the US small arms definition of sectional density has units of pound/inch2, not the pound/foot2 you’ll find right next to values computed using inches; the magic number 1/7000 just converts from grains to pounds. In the rest of the (metric) world, it’s entirely different.

    The OpenSCAD source code:

    // Dummy 9mm Luger bullet
    // Ed Nisley KE4ZNU November 2013
    
    //----------------------
    // Dimensions
    
    BulletOD = 9.05;			// main diameter
    BulletBaseOD = 8.8;			//  ... easy insertion
    
    BulletOAL = 14.0;			// overall length
    BaseLength = 8.0;			// cylindrical base length
    
    NoseLength = BulletOAL - BaseLength;
    
    NumSides = 8*4;
    
    //----------------------
    // Useful routines
    
    module ShowPegGrid(Space = 10.0,Size = 1.0) {
    
      Range = floor(50 / Space);
    
    	for (x=[-Range:Range])
    	  for (y=[-Range:Range])
    		translate([x*Space,y*Space,Size/2])
    		  %cube(Size,center=true);
    }
    
    //-------------------
    // Build it...
    
    ShowPegGrid();
    
    color("Orange")
    cylinder(r1=BulletBaseOD/2,r2=BulletOD/2,h=BaseLength,$fn=NumSides);
    
    color("DarkOrange")
    translate([0,0,BaseLength])
    	resize([0,0,2*NoseLength])
    		sphere(BulletOD/2,$fn=NumSides);
    
  • Shagbark Hickory Nut Season

    Mary managed to outcompete the local squirrels to the tune of 10 pounds of Shagbark Hickory nuts, which we’ve been enjoying after supper. The thickly armored nuts shrug off ordinary nutcrackers, so we deploy heavy weaponry: good old 10WR Vise-Grip pliers:

    Cracking nickory nuts with a Vise-Grip
    Cracking nickory nuts with a Vise-Grip

    She describes the process better than I; for what it’s worth, I work on one nut at a time. We both celebrate when a shell releases its nut with minimal damage; most often, we extract fragments into a pile like the one shown. I can process half a dozen nuts before deciding I’ve had enough.

    I’d be in favor of a genetic modification producing a fluorescent green shell, because overlooking a minute piece of shell in that pile of nutmeat is a Very Bad Thing…

    Some Vise-Grip history may be of interest.

  • Recoil Starter Lube

    This being leaf season, I just discovered that the recoil starter on the hulking 8 HP tangential leaf blower retracts very, very slowly. Having already started the engine, I did one pass around the yard with the pull cord dangling over the handlebar, but that’s not to be tolerated.

    The starter mounts on the back of the motor with five screws, so removing it posed no problem at all. Removing the central screw released the friction clutch that helps extend the pawls, exposing the central boss that’s the combination hold-it-all-together point and gritty bearing for the rope spool:

    Leaf blower recoil starter
    Leaf blower recoil starter

    Pulling the rope turns the spool and extends the pawls that engage the crankshaft. After the motor starts, the pawls retract and none of that stuff moves, so there are no high-speed bearings and not much need for strength.

    I brushed off some of the larger chunks, worked machine oil around the central post, wiped off & lubed the pawls, took the friction clutch apart & lightly lubed it, put everything back together, and the starter now works fine again; there may be too little friction in the clutch, but that’s in the nature of fine tuning.

    The leaf blower Came With The House™ and dates back to the era when Kohler made cast-iron engine blocks. It runs lean on the oxygenated fuel that’s mandated for Dutchess County these days, so it now runs lightly choked.

    Tip: before you yank the rope on a small engine, pull it slowly until the crankshaft stops turning freely, then let the rope retract. That positions the piston at the start of the compression stroke with the valves closed, so your next full-strength yank will do the most good.

  • Monthly Image: Bees in Squash Flower

    Back in August, the squash vines were in full flower:

    Bees in Squash Flower - overview
    Bees in Squash Flower – overview

    Here’s a closer look:

    Bees in Squash Flower - detail
    Bees in Squash Flower – detail

    Pop quiz: how many bees do you count?

    With the benefit of watching them move, I counted nine bees in that blossom!

    Winter squash vines bear large flowers (that blossom is the size of my outstretched hand) that attract large bees: bumblebees and their cousins, carpenter bees. Quite often, bumblebees spend the night huddled inside the blossom and emerge early the next day when they reach flying temperature. Honeybees, being more social, return to their hives overnight; we’re pleased to see that there’s at least one feral hive in the neighborhood.

  • Hall Effect Current Control PCB: First Light

    After winding the toroid the right direction, resoldering the ATmega2560, and fixing a scope probe, the brassboard PCB lit right up:

    VG 1193 mV - ID 50 mA-div - 1 ms PWM filter - overview
    VG 1193 mV – ID 50 mA-div – 1 ms PWM filter – overview

    The top trace is the gate drive at 200 mV/div, the bottom trace is the LED current at 50 mA/div. Expanding the timebase gives a closer look at the fuzz:

    VG 1193 mV - ID 50 mA-div - 1 ms PWM filter
    VG 1193 mV – ID 50 mA-div – 1 ms PWM filter

    Yup, that’s what deriving an analog voltage from a PWM output looks like. Verily, you’re seeing a 32 kHz PWM passed through a 1 ms = 160 Hz low-pass RC filter; the PWM frequency is 2 decades + 1 octave above the filter, so the 5 Vpp digital signal should be down 46 dB. Squinting at the ripple, it’s maybe 40 mV = -42 dB, which is certainly close enough, all things considered.

    The MOSFET controlling the LED current operates in its linear region (the whole point of this exercise!) and acts as a Class A amplifier. The datasheet says the forward transconductance is 21 S at VDS = 5 V and ID = 8 A, which certainly isn’t what we have here (about 1 V and 150 mA); you’d expect a 40 mV ripple to produce 840 mA of sawtooth. Under these conditions, the transconductance seems to be 2.5 S = 100 mA/40 mV.

    Anyhow, because the gate drive comes from an Arduino PWM output, it has 0.4% resolution and the voltage steps by a bit under 20 mV per PWM increment. Here’s what increasing the PWM output by one count looks like:

    VG 1213 mV - ID 50 mA-div - 1 ms PWM filter - overview
    VG 1213 mV – ID 50 mA-div – 1 ms PWM filter – overview

    Expanding the timebase:

    VG 1213 mV - ID 50 mA-div - 1 ms PWM filter
    VG 1213 mV – ID 50 mA-div – 1 ms PWM filter

    The gate drive is 20 mV higher and the current is 50 mA higher, so the transconductance again works out to 2.5 S.

    Note bene: The smallest gate voltage increment produces 50 mA more LED current. It works the same way in the other direction, too, putting a lower limit on the allowable LED current: when the ripple becomes larger than the nominal current, what’s the point?

    So, not surprisingly, precise LED current control isn’t possible with an Arduino’s PWM output, at least under these conditions. Using 16 bit PWM would increase the resolution (by a factor of 256), but the PWM ripple means the LED current varies by nearly 2/3 of the setpoint: 100 mApp for a 160 mA nominal LED current.

    You could apply a more drastic low-pass filter, but remember that the whole point is to blink the LEDs, not gradually turn them on and off. Eyeballometrically, the LED current risetime = 7 ms, which is very roughly what you’d expect from the 1 ms filter time constant: 5 τ = 99.3%. Doubling the filter time constant wouldn’t be a step in the right direction…

    To do this right, you need a real DAC with maybe 10 or 12 bit output (and careful attention to analog layout), which would be absurd in a circuit with an Arduino Pro Mini jammed on top.

    Given that it’s just blinking LEDs, none of this really matters: the LEDs are shatteringly bright and blink most satisfactorily. It’s a keeper, even with all that ripple…