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
After considerable evaluation, the Customer decided the shoelaces were still too long and said the hex-crimped ferrules were entirely too rough and tended to snag on things. This time, I prepared the ferrules by chucking them in the lathe:
Ferrule – original flange
The steel rod inside the ferrule encourages it to remain round and not collapse while I’m filing off the flange that normally holds the plastic strain-relief doodad:
Ferrule – reshaped flange
I snipped another half inch off each end of the laces and crimped on the prepared ferrules:
Shoelace ferrule aglets
Which were definitely too jaggy, so they now sport an epoxy coat:
Ferrule aglets – epoxy coat
Alas, JB Kwik epoxy has a pot life measured in minutes, so the last ferrule looks a bit lumpy. They seem to work fine and the Customer is happy with the results.
Memo to Self: Next time, dunk the ferrules in a pot of slow-curing JB Weld and let them drain overnight.
An RD JDS6600 Signal Generator recently arrived from around the curve of the horizon, leading me to measure its warmup time:
RDS6600 Signal Generator – Warmup plot
Looks like it’s good to go after maybe 90 minutes and, after much longer, it settles to 10 MHz +36 Hz, for a correction factor of 0.9999964 on those days when you’re being really fussy.
The need for frequencies accurate to better than 4 ppm doesn’t happen very often around here, but it’s best to be prepared. It’s amazing what you can get for under $100 these days …
RDS6600 Signal Generator vs. Z3801 GPS Frequency Standard
Basically, trigger the scope on either trace, crank the JDS6600 frequency in 1 Hz, then 0.1 Hz steps, until the traces stop crawling past each other, and you’re done.
It’s worth noting you (well, I) must crank eleven 0.01 Hz steps to change the output frequency by about 0.1 Hz around 10 MHz, suggesting the actual frequency steps are on the order of 0.1 Hz, no matter what the display resolution may lead you to think.
The RDS6600 main PCB (Rev 15) sports a 24 MHz oscillator close to the Lattice FPGA:
The bottom trace is the scope’s internal function generator, also set to 10 MHz. Zero-beating the JDS6600 against the scope’s output produces a similar result:
IMG_20190312_130925 – RDS6600 vs SDS2304X frequencies
The scope’s function generator actually runs at (9.999964 MHz) × (0.9999964) = 9.999928 MHz, a whopping 72 ppm low. The on-screen frequency measurements don’t have enough resolution to show the offset, nor to zero-beat it with the Z3801 input, so it’s as good as it needs to be.
The Z3801’s double-oven oscillator takes a few days to settle from a cold start, so this wasn’t an impulsive measurement. Having the power drop midway through the process didn’t help, either, but it’s March in the Northeast and one gets occasional blizzards with no additional charge.
Tour Easy – SRAM X.0 grip shifter – new grip with bushing
They’re 90 mm long, which turned out to be 4 mm shorter than the grips that came with the bike; a close look showed the original ones were cut down from SRAM’s 110 mm grips.
Well, I can fix that:
Tour Easy – SRAM grip bushings
Ordinarily, you’d just move the brake levers by 4 mm and declare victory. In this case, moving the right lever would be easy, but the left one is firmly glued in place by the radio’s PTT button:
PTT Button – rounded cap
Believe me, solid modeling is easy compared to redoing that!
The OpenSCAD source code doesn’t amount to much:
// SRAM grip shifter bushings
// Ed Nisley KE4ZNU March 2019
Protrusion = 0.1; // make holes end cleanly
//----------------------
// Dimensions
ID = 0;
OD = 1;
LENGTH = 2;
Bushing = [22.2 + 0.5,31.0,4.0]; // ID = E-Z slip fit
NumSides = 2*3*4;
//----------------------
// Build it!
difference() {
cylinder(d=Bushing[OD],h=Bushing[LENGTH],$fn=NumSides);
translate([0,0,-Protrusion])
cylinder(d=Bushing[ID],h=Bushing[LENGTH] + 2*Protrusion,$fn=NumSides);
}
That’s a staged shot with a quilt square from the top of the pile. You’d (well, Mary’d) sew along the lines, not across a finished square.
The remaining deep shadows under the foot require an LED with an imaging lens on a gooseneck; precise piecing requires feeding fabric into the needle with alignment exactly where those shadows fall.
The light levels look harsh and shadowy on the bare base:
Juki TL-2010Q Needle LEDs – front
The shadow extending leftward from the needle comes from the arm’s shadow of the rear LED bar. The hotspot specular reflections of both LED arrays aren’t quite as glaring in real life, but a matte surface finish would be better.
The needle LEDs sit on the bottom of the heatsink inside the endcap:
Juki TL-2010Q Needle LEDs – installed
The COB LED PCB has a weird pink tint, perhaps due to the silicone filter passing all the yellow and blue light downward, with red light reflected into the PCB.
After one iteration, I settled on a 20 Ω 1 W ballast resistor:
Juki TL-2010Q Needle LEDs – ballast resistor
It drops 3.6 V to provide 180 mA of needle LED current and dissipates 640 mW, with the LEDs burning about 1.5 W to raise the heatsink just above room temperature. The extrusion on the rear arm is pleasantly warm and the resistors seem happy enough.
Stripping the components from the back of a “5 W” COB LED gets it ready for action:
G4 COB LED PCB – stripped
Jumpering the pads with nickel strips harvested from various NiMH and lithium cells restores the original contact pads to service:
Juki TL-2010Q Needle LEDs – COB LED jumpers
A bit of bandsaw artistry produced a replacement for the OEM LED bracket:
Juki TL-2010Q Needle LEDs – trial installation
The epxoy bonding the LED to the heatsink happens a few paragraphs ahead in this story, but the view justifies it. The 2 mm hole just to the right of the 3 mm SHCS aligns the heatsink to a pin in the machine’s frame, ensuring it doesn’t twist around under vibration.
The view from below (in a mirror on the machine’s bed) shows the COB LED just barely fits in the opening:
Juki TL-2010Q Needle LEDs – trial fit
I screwed the bare heatsink into the Juki, applied double-stick tape to the COB LED, aligned LED with opening, and stuck it in place. Back in the shop, I traced around the LED to figure out what part of the heatsink needed removing, introduced it to Mr Disk Sander, and contoured it to match the LED.
Clean everything with denatured alcohol, put the heatsink on a glass plate, and clamp it to the height gauge:
Juki TL-2010Q Needle LEDs – heatsink alignment
Butter up the LED PCB with JB Kwik epoxy, having previously masked the contact pads (with masking tape!) to prevent oopsies:
Juki TL-2010Q Needle LEDs – epoxy on COB LED
Raise the height gauge, align LED & heatsink, lower height gauge to squish epoxy into an even layer, raise slightly to ensure the aluminum heatsink doesn’t short the nickel strips, and fast forward a few hours:
Juki TL-2010Q Needle LEDs – heatsink curing
Peel off the masking tape and solder a cable in place:
Juki TL-2010Q Needle LEDs – cable installation
The transparent doodad around the cable is a PET clamp snipped from a consumer electronics clamshell package, then punched and folded to suit. It didn’t work particularly well, so more rummaging will be required.
Foreshadowing: all this went swimmingly and looks pretty good (in a techie sort of way), but I’ve been running a nasty cold (stipulated: there being no pleasant colds). Building While Stupid is never a good idea, as the part of your brain in charge of telling you you’re about to do something catastrophically wrong is the first thing to go.
A bipolar transistor version of the astable multivibrator with a yellow Pirhana LED required absurdly large capacitors for a reasonable blink rate and, seeing as how I need a demo circuit for Show-n-Tells, it seemed a good candidate for a faster blink. I replaced a 100 µF cap with the 22 µF electrolytic cap from the other side, installed a 2 µF cap (which, judging from the lack of polarity indicators, may be a film cap) from the Squidwrench junk heap parts bin in its place, and hitched up the DSO150 because I brought it along:
DSO150 with fast LED blinky
Worked the first time and caught it in mid-blink! [grin]
The DSO150’s triggering remains a mystery, as it seems difficult to get a stable trace from a perfectly reasonable waveform. The scope didn’t trigger well on the astable’s original seconds-long pulses, perhaps due to a DC blocking cap in the triggering circuitry (whatever it may look like), but this waveform should be dead simple.