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

  • Aneng AN8009 Resistance Offset

    Aneng AN8009 Resistance Offset

    Before measuring a wire resistance in the laser cutter, I checked the resistance of the two test leads on the Aneng AN8009 meter (“Check your zero!”) to show an unsteady reading around dozen ohms.

    Poking around inside showed the internal fuse apparently making poor contact with its holder, as poking it changed the random values:

    Aneng 8009 low-current fuse
    Aneng 8009 low-current fuse

    Two tiny drops of Caig DeoxIT stabilized the reading around 1 Ω across several different combinations of test probes, so I declared victory. There is surely an offset calibration buried in the firmware, but it’s no longer a trimpot available to service technicians.

    The ceramic fuse has an internal resistance of about an ohm, but swapping it for a replacement fuse with 0.2 Ω resistance didn’t materially change the results. It’s worth noting those glass fuses are slightly longer than they should be, surely due to their leads, and required slightly bending the fuseholder clips.

  • Prusa MK4 Camera Lighting

    Prusa MK4 Camera Lighting

    Although the Raspberry Pi camera has a good view of the Prusa MK4’s extruder, there’s not much light under there:

    RPi Camera Mount - image
    RPi Camera Mount – image

    There’s also not much room for a lighting fixture on the printer where it must mount, so I modified a trio of nominally 12 V / 4 W COB LED panels:

    Prusa MK4 - Extruder sidelight - COB LEDs
    Prusa MK4 – Extruder sidelight – COB LEDs

    Their “4 W” rating seems aspirational, at best, as a 12 VDC supply pushes only 75 mA through the panel, so they tick along at 900 mW. If you expect cheap eBay / Amazon components to live up to their specs, dream on.

    The modifications:

    • Unsolder the pins
    • Crunch off the surprisingly precise 27.4 Ω SMD resistor
    • Clean up the rubble
    • Wire the panels directly in series, ignoring their bridge rectifiers

    The 15 LEDs on each panel are arranged in five parallel chains of three LEDs for a total forward drop of 8.3 V, so putting three panels in series works with the MK4’s 24 V power supply.

    Stick them onto the MK4 power supply case with foam tape and wire them directly to the 24 V terminals:

    Prusa MK4 - Extruder sidelight - installed
    Prusa MK4 – Extruder sidelight – installed

    There’s very little clearance between the machine frame and the X Axis carriage on the threaded rod. Putting the LEDs in a 3D printed case and routing the wires lower on the column would be nice touches:

    Prusa MK4 - Extruder sidelight - front view
    Prusa MK4 – Extruder sidelight – front view

    The panels start at 30 mA when cold and drop to 25 mA as they warm up in the 63 °F = 17 °C Basement Shop. Each panel dissipates 250 mW: bright enough for the task, dim enough to avoid overpowering the camera’s limited dynamic range, and definitely within whatever power rating they should have.

    Looking over the camera’s shoulder in normal shop lighting suggests it’s about right:

    Prusa MK4 - Extruder sidelight - camera overview
    Prusa MK4 – Extruder sidelight – camera overview

    A staged scene with the shop lights turned off:

    Prusa MK4 - Extruder sidelight - low-light view
    Prusa MK4 – Extruder sidelight – low-light view

    Call it Good Enough™ for the purpose.

  • RPi Camera RTSP Setup

    RPi Camera RTSP Setup

    The rpicam.cfg file holding the parameters for the Raspberry Pi watching the Prusa MK 4 printer:

    bitrate=2000000 
    framerate=15
    timeout=0 
    nopreview= 
    codec=libav 
    libav-format=mpegts 
    width=1280
    height=720
    rotation=180
    roi=0.00,0.00,1.0,1.0
    hdr=auto
    

    The RPi camera for the wren nest is just taped to the window, but has a configuration providing a bigger picture:

    bitrate=2000000 
    framerate=15
    timeout=0 
    nopreview= 
    codec=libav 
    libav-format=mpegts 
    width=1920 
    height=1080 
    roi=0.00,0.00,1.0,1.0
    hdr=auto
    
    

    The useful pieces:

    • bitrate sets the average data rate, which may be too high for comfort outside your immediate LAN
    • framerate need not be as high as you think
    • nopreview prevents a preview picture while starting
    • width and height do the obvious thing, but don’t try to be too clever
    • roi picks the image from a specific part of the camera sensor, so you can adjust the image layout if you have a rigidly fixed camera
    • hdr doesn’t do anything for cheap RPi cameras

    Putting all the fiddly config in a file reduces the command line invocation to a mere jawbreaker:

    rpicam-vid --config rpicam.cfg -o - | cvlc stream:///dev/stdin --sout '#rtp{sdp=rtsp://:5886/wrens}' &
    

    Although you’d want to set that up to run automagically when the RPi starts up, for now I just fire it off as needed through an SSH session, with the ampersand letting it run after that terminal session closes.

    The RTSP port (5886) and stream (wrens) can be anything you like, which comes in handy when squirting streams through port-forwarded firewall pinholes using a router that cannot handle different external and internal port numbers.

    Useful background info:

  • USB Micro-B Connector: FAIL

    USB Micro-B Connector: FAIL

    While setting up a Raspberry Pi camera, I had occasion to pull out its USB power cable, whereupon grabbing the camera while unscrewing it from the tripod felt unusually sharp:

    Micro-B USB - RPi jack
    Micro-B USB – RPi jack

    It seems the wall wart’s USB Micro-B connector pulled apart:

    Micro-B USB connector - disembowled
    Micro-B USB connector – disembowled

    Somewhat to my surprise, it was a CanaKit 5 V 2.5 A wall wart, definitely not the cheapest piece of junk ever made by the hand of man. On the other paw, it’s been around for quite a while, so …

    Even I will agree that’s not a repairable failure, so I planned to splice in a Micro-B connector from a volunteer chosen from the Box o’ USB Micro-B Cables:

    Micro-B USB connector - tiny wires
    Micro-B USB connector – tiny wires

    Nice color code in there, eh?

    Each of those conductors appears to be made up of nine springy copper-colored 0.06 mm strands, somewhat smaller than 40 AWG: not what you want on the business end of a 2.5 A wall wart. I had previously measured the cable’s overall resistance with a surprisingly useful Treedix USB Cable Tester and it was on the very high end of the charge-only cable collection.

    So I soldered a female USB-A breakout from the Drawer o’ USB Breakouts to the wall wart’s wires, snapped a 3D printed case around it, got a good (0.26 Ω) A-to-Micro-B cable from the Box o’ USB Adapters, and moved on.

    Ya gotta have stuff, but that was absurd.

  • Branson 200 Ultrasonic Cleaner: Wiring Fix

    Branson 200 Ultrasonic Cleaner: Wiring Fix

    Our ancient Branson 200 Ultrasonic Cleaner began behaving erratically due to water seeping under the rather casual seal from last year’s fix. Although drying the switches let it start up again, it would run for only a few seconds before shutting down again, which suggested a deeper problem than just the switches.

    Take a picture of the PCB’s component side:

    Branson 200 Ultrasonic Cleaner - PCB component side
    Branson 200 Ultrasonic Cleaner – PCB component side

    And of the solder side:

    Branson 200 Ultrasonic Cleaner - PCB solder side
    Branson 200 Ultrasonic Cleaner – PCB solder side

    Transform those pictures to be the nice real rectangles shown above, resize to a common pixel format, mirror the solder side, turn it into a layer atop the component side, then tweak its opacity to make both sides visible at once:

    Branson 200 Ultrasonic Cleaner - PCB overlay
    Branson 200 Ultrasonic Cleaner – PCB overlay

    Some pondering produces a partial schematic of the left half of the board:

    Branson 200 Ultrasonic Cleaner - partial schematic
    Branson 200 Ultrasonic Cleaner – partial schematic

    The 1:1 transformer is constantly powered, so the ON button connects the 120 V (!) half-wave rectified output to the +12V supply bus, with the 750 Ω resistor dropping most of the voltage while the switch is pressed.

    The hotwired +12V supply forces the relay closed, which (in some as-yet unidentified way) fires up a +12V power source to hold the relay closed, with the 555 timer driving an MC14060 14-bit divider to count down the time until it turns itself off.

    Reminder: this design dates back to the days when a pair of chips and a handful of through-hole components cost less than one of those fancy microcontroller thingies.

    Plug the cleaner into an isolation transformer and trace the half-wave rectified signal through ON button to find it got all the way to the contact on the end of the orange wire in the connector, but did not reach the pin header on the PCB.

    A closer look at the connector revealed a broken contact on the white wire, which I (rather crudely) soldered together while considering my choices:

    Branson 200 Ultrasonic Cleaner - soldered contact
    Branson 200 Ultrasonic Cleaner – soldered contact

    While plugging that wire back in place, this happened:

    Branson 200 Ultrasonic Cleaner - another broken contact
    Branson 200 Ultrasonic Cleaner – another broken contact

    Neither of those are the (presumably) similarly failed orange wire, but even I can get a clue from three similar failures.

    So I replaced the OEM connector with a JST-XHP 2.54 mm connector from an assortment I got for another project, replaced the chunky 22 AWG wires with flexy 26 AWG silicone wires in the same cheerful rainbow colors, and it began working perfectly again.

    The buttons needed another water seal, so I tweaked the previous layout to kiss-cut GITD tape and through-cut colorful vinyl sheets:

    Branson 200 Ultrasonic Cleaner - power button cutting
    Branson 200 Ultrasonic Cleaner – power button cutting

    Capped with a transparent cover sheet cut from a pack of PDA screen protectors (remember PDAs?):

    Branson 200 Ultrasonic Cleaner - power button cover
    Branson 200 Ultrasonic Cleaner – power button cover

    In truth, the GITD tape is too thick, so I’ll probably repeat this dance later this year.

    FWIW, I was totally ready to buy a new ultrasonic cleaner, but all of them have scathing one-star Amazon reviews, to the extent I decided fixing this cleaner would be much easier than fixing a new one that’s been cheapnified to the point of no return. A common complaint seems to be water leaking into their capacitive switches and killing the circuitry stone cold dead: not an improvement over this one.

  • Whirlpool Clothes Dryer: Heater Examination

    Whirlpool Clothes Dryer: Heater Examination

    A correspondent (you know who you are: thanks!) pointed out the Thermal Cutoff can trip should the 240 V heater coil sag enough to contact the grounded steel air duct surrounding it. Think of a connection from the heater in the lower right corner of the wiring diagram to the neutral wire:

    Whirlpool dryer - wiring diagram - detail
    Whirlpool dryer – wiring diagram – detail

    If the short is close to the middle of the heating element, the right half the heater will remain active even when all of the normal thermostats cut off the left half. The two half-elements will see about their usual 120 V and won’t burn out, but the right half will continue to heat the air until the Thermal Cutoff trips at 350 °F.

    A short near either end of the heating element will subject that section to a higher voltage than usual and promptly burn it out, in which case the dryer will fail to heat due to the much lower power dissipated in the remaining section.

    So I took the dryer apart after a (successful!) washing day to see if that had happened.

    A spring clip holds the top of the heater duct in place:

    Whirlpool Clothes Dryer - bulkhead parts - heater duct clip
    Whirlpool Clothes Dryer – bulkhead parts – heater duct clip

    AFAICT the clip cannot be disengaged from the duct in situ without removing the hex-head sheet metal screw holding it to the bulkhead, which requires inserting a 5/16 inch socket on the end of a 6 inch extension through a hole in the non-removable upper back cover. You (well, I) cannot see the screw from any position, so the process requires reaching up over the duct to position the socket by feel.

    This view looking up inside the dryer with the duct removed shows the clip on the bulkhead:

    Whirlpool Clothes Dryer - heater duct clip
    Whirlpool Clothes Dryer – heater duct clip

    The heating element looked to be in fine shape, with no sags or distortions:

    Whirlpool Clothes Dryer - heater top view
    Whirlpool Clothes Dryer – heater top view

    A side view:

    Whirlpool Clothes Dryer - heater side view
    Whirlpool Clothes Dryer – heater side view

    Taking a picture of the duct’s interior is impossible, but an eyeballometric inspection shows no burns / scorches / pits from contact with the coils:

    Whirlpool Clothes Dryer - heater duct interior
    Whirlpool Clothes Dryer – heater duct interior

    So AFAICT the Thermal Cutoff tripped due to Inherent Defect, rather than an overly high temperature.

    Reinstalling the duct requires fitting the spring clip into its slot in the duct, maneuvering the duct onto its lower bulkhead brackets without dropping the clip, persuading the top of the duct with the clip into position, getting the screw into the clip and the hole, then aligning the socket with the screw. If I were doing this for a living, I would definitely charge you extra; newer dryers have an easily removable heating element for well and good reason.

    So the dryer is, once again, back together again and, once again, works as well as it ever did, with another set of thermostats / cutoffs in the box of dryer and washer parts against future need.

    For reference, the heater seems to be a WP4391960.

  • Whirlpool Clothes Dryer: Thermal Cutoff Trip

    Whirlpool Clothes Dryer: Thermal Cutoff Trip

    A bit less than a year after replacing all the thermal switches / cutoffs / thermostats in the Whirlpool clothes dryer, the Thermal Cutoff went open-circuit. It’s located at the top of the heater duct:

    Whirlpool dryer - heater duct top
    Whirlpool dryer – heater duct top

    The wiring diagram lists it as tripping at 350 °F and “NOT RESETTABLE”:

    Whirlpool dryer - wiring diagram - detail
    Whirlpool dryer – wiring diagram – detail

    Curiously, the replacement switch had only one mark:

    Whirlpool Clothes Dryer - thermal cutoff - marking
    Whirlpool Clothes Dryer – thermal cutoff – marking

    I find it difficult to believe anybody would build a thermal cutout at 309°F = 154 °C.

    Crushing it with a Vise-Grip reveals the interior:

    Whirlpool Clothes Dryer - thermal cutoff - disassembled
    Whirlpool Clothes Dryer – thermal cutoff – disassembled

    I don’t know what permanently opens the circuit in there, but it definitely happened. The contacts remain unblemished, so they were pressed firmly together until the end.

    With nothing to lose, I reinstalled the Thermal Cutoff I removed last year (*) and the dryer works fine again.

    It is possible lint accumulating in the filter bag I added to the exhaust vent restricted the airflow enough to overheat the cutoff, but the Operating Thermostat should keep the air around 155 °F and the Hi Limit thermostat should have tripped at 250 °F, long before the temperature reached 350°F.

    Another cutoff will arrive shortly and will remain in the Box o’ Dryer Parts against future need.

    (*) Which is why I keep the old parts around, because a dubious part on hand is much better than the new part I might not be able to get due to, oh, “supply chain issues”.