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: Electronics Workbench

Electrical & Electronic gadgets

  • Squidwrench Power Wheels Racer: Motor Current

    With a new motor and controller in the reconfigured SqWr Power Wheels chassis, I made a few measurements under somewhat less than controlled conditions, with the butt end of the chassis on jack stands. The general idea was to find out what the “lightly loaded” condition looked like in terms of motor current; after some mechanical and electrical improvements, we’ll be in a better position to determine the battery load & suchlike.

    Preliminary measurements:

    • Motor DC resistance: 0.7 Ω (meter lead resistance 0.2 Ω, so don’t trust it)
    • Motor winding inductance: 128 µH
    • Motor shaft key: 1/8 inch (keyway chewed by pulley setscrews, needs matching shaft flats)
    • Twist-grip throttle applies nonzero voltage when released: possibly damaged

    With everything in position and the Tek 6303 probe set for 10 A/div, this is what happens when you push the deadman switch:

    Out V I 10 A - start transient
    Out V I 10 A – start transient

    Obviously, the motor controller takes much too long to wake up & sense the current.

    The initial slope of that current waveform looks like 80 A/360 µs = 220 kA/s. The upper trace gives the motor voltage, so 23 V / (220 kA/s) = 104 µH, surprisingly close to the measured 128 µH.

    Deploying the mighty Tek CT-5 (with an enclosed A6302), cranking the gain to 50 A/div, and poking the deadman again:

    Out V I 50 A - start transient full
    Out V I 50 A – start transient full

    During that initial pulse, the controller connects the battery directly to the motor, so you’re looking directly at 200 A of battery current. For reasons that aren’t relevant here, the mandatory 60 A safety fuse isn’t present, although it should be able to withstand a millisecond or two of moderate overload without blowing.

    With that out of the way and the motor running at a few hundred RPM, due to the nonzero twist-grip output voltage with no throttle applied, the controller actually does PWM pretty much as you’d expect:

    Out V I 10 A - run low speed
    Out V I 10 A – run low speed

    It’s not clear what caused the small dent just before the middle pulse; perhaps the motor commutator switched from one winding to the next.

    The battery current will be much lower than the motor current in this mode, roughly (motor current) * (PWM fraction). We haven’t verified that, but for 30% PWM it should be around 5 A = 15 A * 0.30. The actual battery current looks smoother than I expected, although I have no traces to show for it; more study is needed.

    Eks once again graciously loaned me his Tek current probes; this whole Power Wheels mess motivated me to get off my ass and accumulate my own collection, about which more later.

  • Hard Drive Platter Mood Light: Failed LED Debugging Assistance

    Another of the knockoff Neopixels in the Hard Drive Platter Mood Light failed, even limited to PWM 63 to reduce the temperature. This time, however, I had some help finding the failed blue LED:

    Hard Drive Mood Light - failed LED with spider - green
    Hard Drive Mood Light – failed LED with spider – green

    Spiders seem no less bizarre in white light:

    Hard Drive Mood Light - failed LED with spider - white
    Hard Drive Mood Light – failed LED with spider – white

    A day later, she’d built a small web, presumably to improve the odds of catching something yummy. Who am I to disagree?

    I should set up a test fixture for all the knockoff Neopixels and run some numbers. They’re definitely a disappointment, even to a bottom feeder such as I …

  • Hiatus

    After devoting the last few months to setting up the Makerspace Starter Kit and extracting / organizing / stashing the stuff I wanted to keep:

    New parts cabinets
    New parts cabinets

    I now have some difficulty accomplishing what needs to be done:

    Basement Shop - right
    Basement Shop – right

    During the rest of May I must write a pair of columns, unpack / arrange / reinstall my remaining tools / parts / toys, endure a road trip to our Larval Engineer’s graduation (*), enjoy bicycling with my Lady, and surely repair a few odds-n-ends along the way.

    I’ll generate occasional posts through June, after which things should be returning to what passes for normal around here…

    (*) For reasons not relevant here, our Larval Engineer’s schedule includes a final co-op and wind-up semester after “graduation”. Perhaps she’s entering the Chrysalis phase of her development?

  • Audio Direction Finding

    Given a point source of audio (or RF, for that matter) that’s far enough away to produce more-or-less plane wavefronts, the range difference between two microphones (or ears) is:

    ΔR = (mic separation) x sin Θ

    The angle lies between the perpendicular to the line from the midpoint between the mics counterclockwise to the source source: + for sounds to your left, – for sounds to your right. That’s the trig convention for angular measurement with 0° directly ahead, not the compass convention, but you can argue for either sign if you keep track of what’s going on.

    The time delay between the mics, given c = speed of sound:

    ΔT = ΔR / c

    For microphones 300 mm apart and c = 344 m/s:

    ΔT = 872 µs = 0.3 m / 344 m/s

    If you delay the sound from the mic closest to the source by that amount, then add the mic signals, you get a monaural result that emphasizes, at least a little bit, sounds from that source in relation to all other sounds.

    In principle, you could find the angle by listening for the loudest sound, but that’s a fool’s game.

    There’s an obvious symmetry for a source on the same side, at the same angle, toward the rear.

    A GNU Radio data flow diagram that lets you set the angle and listen to / watch the results:

    Audio Direction Finding.grc
    Audio Direction Finding.grc

    The original doodles show it takes me a while to work around to the answer:

    Audio direction finding doodles
    Audio direction finding doodles

  • SoundTech CM-1000 USB Channel Layout

    Although microphones intended for conference tables aren’t suitable for inconspicuous hearing aids, they go a long way toward working out algorithms (*). This is a SoundTech CM-1000 USB mic:

    SoundTech CM-1000USB microphone
    SoundTech CM-1000USB microphone

    It produces noise-canceled stereo output and a quick test shows impulse sounds produce reasonable left and right responses responses; I can’t vouch for the noise cancelling part.

    A click to the right side:

    CM-1000USB mic - Right pulse
    CM-1000USB mic – Right pulse

    And to the left:

    CM-1000USB mic - Left pulse
    CM-1000USB mic – Left pulse

    The green trace (Channel 2) is obviously the Right channel, which corresponds to in1 on the Scope Sink block and out1 of the Audio Source in the GNU Radio data flow diagram:

    Microphone Time Delay.grc
    Microphone Time Delay.grc

    There’s an irreconciliable clash between 0-index and 1-index numbering in there, but the microphone’s “Left” and “Right” channels appear in the proper places when you look at the mic from the conference room side of the label as shown in the top photo.

    Figuring the speed of sound at 344 m/s, that 100 µs delay means the mic capsules sit 34 mm apart, which looks to be about right, as the flat part of the housing under the label spans 22 mm.

    That’s a tad skimpy for things like beamforming and direction finding, so I actually bought a set with a separate CM-1000 mic that plugs into the USB mic:

    SoundTech CM-1000USB and CM-1000 microphones
    SoundTech CM-1000USB and CM-1000 microphones

    The channel layout diagram explains what’s supposed to happen:

    Soundtouch CM-1000USB microphone channel layout
    Soundtouch CM-1000USB microphone channel layout

    The additional mic changes the response, so that the USB unit becomes the Left channel and the analog mic provides the Right channel. I don’t know what happens to the “noise canceling” part of the story.

    With the mics positioned 200 mm on center, a click to the right side:

    SoundTech CM-1000 mics - 200 mm OC - Right pulse
    SoundTech CM-1000 mics – 200 mm OC – Right pulse

     

    The eyeballometrically precise 600 µs delay corresponds to 206 mm at 344 m/s, which might actually be close: they’re 200 mm on center, but the Right-channel mic is 10 mm smaller and the mic might be half that much further away from the other one. Not that that makes any difference.

    (*) And, frankly, slapping a mic on the table won’t bother me much at all…

  • Monthly Science: Audiograms

    The audio test CD I used to measure my hearing for a Circuit Cellar project back in 2007 came to light, so I ran some tests:

    Audiograms
    Audiograms

    I don’t have an absolute level calibration for any of those curves, so they can be shifted up or down by probably 10 dB without any loss of accuracy. The overall shape matters here, not the absolute level.

    The brown curve shows my hearing as of nine years ago. I built and (of course) wrote about a rather chunky low-pass shelving filter that matched the 20-ish dB difference between my midrange and treble responses, then boosted the flattened result enough for me to hear what I was missing:

    Board Top
    Board Top

    Surprisingly, it worked fairly well. That, however, was then and this is now.

    The two red curves show my current response, under slightly different conditions: the “buds” curve uses the same earbuds as the 2007 curve and the “phones” curve uses over-the-ear headphones. Perhaps:

    • The previous (lack of) bass sensitivity came from the circuitry of the day
    • My bass has mysteriously improved
    • More likely, my midrange has gotten that much worse

    The blue curve shows the response of a reference set of silver ears; the golden ears I used in 2007 were unavailable on short notice.

    Given my limited bandwidth and the steep slope of that curve out toward the high end, simply fixing my (lack of) treble won’t suffice any longer: 50 dB is a lot of amplification. Compressing the bandwidth between, say, 200 Hz and 4 kHz to fit into 200 Hz to 2 kHz, then equalizing the result, might give me enough treble to get by, but it’d require re-learning how to hear.

    That’s different from the straightforward frequency translation you get from a mixer. I don’t have enough audible bandwidth around 1 kHz to hear a 4 kHz slice of audio spectrum.

    Back in 2007-ish, a real audiologist determined that I wasn’t “aid-able”. Maybe that’s changed.

    The economics seem daunting. Michael Chorost gave a talk at Vassar lamenting the cost and terrible UX of his cochlear implants that reinforced my prejudices in that area. The discussion following my post on my Bose QC20 earphones includes useful links and rants.

    The GNURadio project has enough signal-processing mojo for a nontrivial hearing aid, modulo having enough CPU power at audio frequencies. Battery power density remains the limiting factor, but I’m not nearly as fussy about appearances as most folks and some full-frontal cyborg wearables might be in order.

  • OttLite LED Conversion: Lamp Shell Auto-Disassembly

    The converted OttLite hit the floor again and, this time, the shell around the lamp popped free. Given that I didn’t know how to take it apart before, this is new news.

    There’s a small snap latch inside the bottom / inner surface:

    OttLite LED Conversion - lamp shell - ventral
    OttLite LED Conversion – lamp shell – ventral

    And two guide notches + latch nubs inside the top / outer surface:

    OttLite LED Conversion - lamp shell - dorsal
    OttLite LED Conversion – lamp shell – dorsal

    So, if you had to get it apart by hand, a spudger-like tool applied to the bottom / inside of the shell and a bit of tugging should do the trick.

    It snapped back together without incident, but I really must figure out a bigger base for the damn thing.