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: Machine Shop

Mechanical widgetry

  • Resistance Soldering: Circuitry

    Because I wanted to discuss triac triggering for inductive loads, the triggering circuitry & firmware turned out to be absurdly complex. A quartet of transistors provides source and sink current, as well as source and sink clamps, with 1/8 cycle timing resolution. The transistors and their power supply must be optically isolated from the microcontroller, of course.

    None of this triggering circuitry is quite what you want, but it’ll get you started in the right direction…

    This schematic shows the driver circuitry, triac, transformer, and suchlike.

    Triac Drive Schematic
    Triac Drive Schematic

    The weird +4 V supply comes directly from the small multi-tap transformer harvested from the ‘waver; your supply will certainly be different.

    The 100 mΩ resistor in the primary is there strictly for current monitoring while debugging the thing. If you’re not doing that, leave it out.

    The optocoupler in the lower right sends the zero-crossing time back to the microcontroller; it is vitally important that you get the phase correct on this one, as the firmware is doing triggering in all four quadrants and the triac doesn’t take kindly to pulses 180 degrees out of phase.

    The microcontroller side looks pretty much like any 8051-based circuit.

    Timing Controller Schematic
    Timing Controller Schematic

    I used a surplus VFL display with a serial input that required the 12.000 MHz crystal. That had the useful benefit of giving exact 1 µs instruction timing, but otherwise I’d have gone with a 11.0592 MHz crystal to get normal serial output bit timings.

    The pushbuttons (lower left) are weird Hall-effect keyboard switches that are either open or pulled to the power supply; they do not have a low-active state. As a result, the resistors pull the inputs down in the inactive state. These switches don’t bounce, which simplified the firmware a bit. If you use mechanical switches, you must add a debouncing routine.

    The Enable switch (upper right) provides positive control over the gate drive signals: when it’s open, the triac cannot fire.

    The Contact switch (upper middle) seemed like a good idea: it’s supposed to close only when the electrodes are making firm contact. I never got around to building such a switch and it turns out to be unnecessary, so it’s bypassed by a toggle switch on the circuit board.

    The Foot switch (lower middle) is absolutely vital: you get everything set up with electrodes properly arranged, then step on the switch. The microcontroller handles the timing, the heat goes off, and then you lift your foot at your leisure… when the joint is cool.

    Here’s what all that looks like, all screwed to a piece of plywood in genuine breadboard mode:

    Timing control and triac trigger circuitry
    Timing control and triac trigger circuitry

    Straight up: this is a lethally stupid way to build the thing. Put it inside a container of some sort, so you can’t drop anything conductive across the exposed primary components. OK?

    Now, the reason I say none of this is what you want is because all resistance soldering requires is just turning the triac on for a while, then turning it off. I think duty-cycle control would be helpful, but sub-cycle timing is definitely not required.

    So, by and large, were I to rebuild this, I’d jettison the entire triac triggering board and replace it with a simple optoisolated triac trigger IC (perhaps a MOC3022, of which I have a bag, or a TLP3042), then modify the firmware to flick a single output bit to turn on the heat.

    You can download the schematics, simulation models, and source code from the Circuit Cellar FTP site: Issues 213 and 215.

    Tomorrow: the firmware.

  • Resistance Soldering: Transformer

    The idea behind resistance soldering is to stuff a tremendous amount of current through a relatively low-resistance joint, thus producing enough heat to melt the solder and bond the parts. Because power dissipation varies as the square of the current, more current is much better!

    Commercial resistance soldering units have relatively small transformers with small windings that impose a low duty cycle: you must let the transformer cool off between joints. A 50% duty cycle seems about the norm for hobbyist-grade units; you can obviously pay more to get more.

    Given that the transformer is free, getting one that can supply a kilowatt for half an hour without breaking a sweat seemed like a Good Thing. It hasn’t warmed up appreciably during any of the relatively short projects I’ve used it for… although the electrode holder can get pretty toasty.

    Find a discarded microwave oven: the bigger, the better. Our ancient Sears ‘waver went casters-up at an opportune moment; IIRC, the magnetron filament failed.

    Microwave oven interior
    Microwave oven interior

    I harvested the transformer, line fuse, triac, snubber, and a handful of other odds and ends. The magnetron shell became a really nice desk tchotchke.

    Transformers really don’t care, at least to a good first approximation, whether the secondary is producing a huge voltage at a low current (which is what ‘waver transformers do for a living) or a piddly voltage at a huge current (which is what we want). The core flux is proportional to the ampere-turns in the primary (a kilowatt is about 8 amps at 120 V) and we can rewind the secondary to get what we want.

    This transformer had separate primary and secondary windings, which made life easy. The secondary is on top, the primary below. The primary has about 120 turns of stout wire, giving a turns-per-volt of about 1; that seems to be common with relatively cheap transformers. Remember that number…

    Transformer windings
    Transformer windings

    With the transformer in hand, apply your least-favorite wood chisel to the secondary winding: chop the entire winding out. Pay very careful attention to not damaging the primary winding. You’ll probably find a few turns of relatively heavy wire for the magentron filament; chop that out, too.

    Chopping out the secondary winding
    Chopping out the secondary winding

    After a bit of beating, the secondary should come out in two hunks that you can toss in your copper recycling box. It’s pretty much solid metal:

    Removed secondary winding
    Removed secondary winding

    This transformer had a pair of flux shunts between the primary and secondary winding that stabilize the output power. We don’t care about that, so pry them out; they’re the small laminated steel blocks just above the primary winding. I also removed the cardboard liner around the core opening. The primary terminals are 1/4-inch quick-disconnect tabs, aimed straight at you so they’re hard to see.

    Transformer without secondary winding
    Transformer without secondary winding

    The primary has about 1 turn per volt, so the secondary will, too. You can use nice floppy 4 AWG silicone insulated wire, but I went with four parallel strands of 10 AWG wire stripped from a length of house wiring to get the same cross-sectional area. Five turns produces a 5 volt secondary, which may be a little high; it seems commercial units run at about 3-4 V.

    I terminated the secondary in heavy copper crimp lugs, but, not having the proper crimper, I made an open-top clamp to support the sides of the lug. Applying a punch to the top did a satisfactory job of making the lug one with the wire. I also soldered the joint, less for electrical goodness than simply excluding oxygen and improving the mechanical rigidity.

    Secondary termination lug
    Secondary termination lug

    Caution: you must use a crimped joint, because the whole point of this exercise is to put enough heat into a soldered joint to melt the solder. Think about this: if you have two soldered joints in series with the one you’re trying to make, what could possibly go wrong?

    I put some thin cardboard around the opening to prevent insulation scuffs, but, frankly, that’s not needed: this wire has really tough insulation and can take care of itself.

    And then it looks like this…

    Rewound transformer
    Rewound transformer

    The components are what you’ll need to measure & plot the B-H curve, as described there. For what it’s worth, here are three curves with 20, 60, and 120 VAC on the primary.

    BH Curve Overlays - 20 60 120 VAC
    BH Curve Overlays – 20 60 120 VAC

    The core is pretty much saturated at 120 VAC, which is a simple form of power regulation: small voltage changes won’t make much difference in the power output. The peak flux density is about 20 kG, out there on the limbs of that hysteresis curve.

    Next: put a triac in the primary circuit…

    Microwave Oven Schematic
    Microwave Oven Schematic

    [Update: Herewith, the oven schematic. The transformer core is bonded to one end of the secondary winding. The other end is capacitively coupled to the halfwave rectifier that drives the magnetron. Note that the three-turn filament winding is attached to the hot side and is floating at 4 kV off ground.

    None of that matters here, because you’re chopping those windings out and replacing them with five turns of husky wire.

    Don’t you wish all consumer electronics came with schematics?

    end update]

  • Resistance Soldering Gizmo: Overview

    My resistance soldering gizmo is sufficiently handy that I keep promising to write it up here, but sufficiently weird that I keep not doing it. Here’s a first pass at rectifying that omission…

    Resistance Soldering Breadboard Overview
    Resistance Soldering Breadboard Overview

    Back in 2007/8 I built a resistance soldering gizmo and wrote it up for my Circuit Cellar column (Feb / Apr / June 2008, issues 211, 213, 215). Those articles go into excruciating detail about transformer action, flux density, triac triggering with inductive loads, and how all the firmware works. If you want the gory details, go there to get the issues or there to get a CD.

    What you’ll see here over the next few days is a quick overview of how I built the thing, along with some suggestions & color commentary.

    The general idea is that you can get nearly all the spendy bits by harvesting parts from a kilowatt-class microwave oven. I used an ancient Sears ‘waver and I suspect older boxes will be better donors: more iron in the transformer, more robust semiconductors, bigger clearances. Use what you’ve got or can find along the side of the road.

    That gives you the right half of the board in the picture. The transformer gets rewound for low voltage and very high current, the triac controls line current through the primary as usual, and the fuse does what it’s supposed to do.

    Oh, yeah, the Vise Grip is providing a dead short to test the maximum current. It’s fine doing that; just makes the transformer buzz a bit. Remember, you don’t leave it on for hours at a time.

    I wanted to show how triacs behave when they’re controlling highly inductive loads, which the (unloaded) transformer certainly is. So I built a controller around an Atmel AT89C2051 (the good bits of an 8051 stuffed in a 20-pin DIP) that gave complete source/sink control over the gate current in 1/8-cycle increments during six complete cycles. The left side of the picture therefore has some custom circuitry to make all that happen.

    Like, for example, 2/3 duty cycle with maximum-voltage switching:

    Triac drive - 2/3 duty cycle - max V trigger
    Triac drive – 2/3 duty cycle – max V trigger

    For a resistance soldering setup, you don’t want any of that. All you need is to turn the triac on and hold it on for a specific duration. Duty cycle control would be nice, but probably doesn’t make much difference. I’ll describe what I have, provide the source code, and you can hack it to make it do what you want…

    Then I’ll show some electrodes and point to some projects I’ve soldered with the thing. It works fine and maybe you can get something useful out of it.

    Electrodes
    Electrodes

    Onward…

  • Sears Kenmore Electric Dryer: New Rear Seal

    Our ancient Sears Kenmore electric clothes dryer (which is not matched to the never-sufficiently-to-be-damned HE3 washer) started squeaking again. The last time it did that, I tore it apart and determined that the rear seal between the drum and the back panel needed replacing; I ordered the seal, buttoned up the dryer, and, amazingly, the squeak Went Away.

    The box with the new seal arrived a few days later and has been perched atop the dryer for the last few months. Never borrow trouble, sez I.

    Unlike the HE3 washer, tearing the dryer down isn’t a big deal. Two screws secure the lint trap enclosure to the top panel; be careful about not dropping them down the chute.

    Screws holding lint trap to top
    Screws holding lint trap to top

    Then push the top forward and pry it off the clips holding it in place. You do not need to remove what looks like clips holding the top to the back panel; they’re sort of hinges that let you tilt the top back. With any luck, you can let the top hang; I rested it on the nearby laundry sink.

    Door switch
    Door switch

    Two screws hold the entire front door panel in place. Before you remove those, disconnect wires from the door latch switch so you can remove the front panel. The alert reader will note I didn’t do that…

    The drum has two sliding seals that bear on the front and rear panels. There is nothing else holding the drum in place, so when you remove the front panel, the drum falls out. It’s helpful to have an assistant holding the drum in place, perhaps with a hand through the open door, while you jockey the front panel out of the way.

    Drum belt path through tensioner
    Drum belt path through tensioner

    Have your assistant continue to hold the drum while you memorize the path of the drive belt around the tensioner and motor pulleys. This is not obvious: you don’t have to take the tensioner pulley off the shaft to remove or install the belt.

    There are two sets of slots in the dryer base plate that could hold the tensioner. Only one set will work. Pay attention to the situation in your dryer.

    Hint: the drum rotates counterclockwise as you view the front of the dryer. The motor pulls the belt off the drum and the tensioner acts on the slack side of the belt. If you try rotating the drum clockwise, the tensioner and motor make graunching noises that will convince you something has gone terribly wrong. It hasn’t, you’re just turning the drum the wrong way.

    With the drum out, this is what the old seal looked like:

    Worn seal
    Worn seal

    I cut the threads at the seam holding the ends of the old seal together and peeled it off the drum. That reveals the dried adhesive all around the drum.

    Removing old seal
    Removing old seal

    I applied xylene to soften the adhesive, then used a razor knife and a vast quantity of rags to remove the goo. The key is to get enough xylene on the adhesive to get its attention without slobbering solvent all over the drum; it will soften the paint, which is a Bad Thing. Do this in the garage or outdoors to enhance Family Harmony.

    I did a trial fit of the new seal, which showed it’s a snug fit and requires careful alignment. A dozen small clamps held successive parts in place while I got it settled. The trick is to position the center part of the T-shaped seal against the rim of the drum without wrinkles. You probably can’t get it right without a dozen clamps.

    To apply the adhesive, I removed two clamps, eased that section of the seal off the rim, and ran two beads of adhesive: one along the rim where the previous adhesive had been and a smaller bead just below the folded metal edge. That pretty well smeared out as I eased the section back in place.

    Then remove the next clamp, ease that section off the rim, apply adhesive, and iterate all the way around.

    Clamping new seal to drum
    Clamping new seal to drum

    I dug a patched bicycle tube out of the drawer and eased it under the clamps around the drum, then pulled it mildly taut all the way around to apply uniform pressure to the seal. Two larger clamps held the slack ends in place.

    After supper, we declared the adhesive (which looks & smells a lot like plain old contact cement) to be cured. Off came the clamps and tube and, lo and behold, it’s all good.

    Reassembly is in the obvious reverse order. The instructions packed with the seal remind you to ease the loose end of the seal outside the drum where it can ride on the back panel. Make it so.

    While your assistant holds the drum in place, reinstall the tensioner and route the belt around it. The belt in our dryer has two possible positions on the pulley (it has ridges), so I made sure it was tracking in the same position as before.

    Attach the front panel, rotate the drum a few times to be sure everything is in place and tracking correctly, then slam the top, screw it down, and you’re done!

  • Third Eye Hardshell Mirror Repair

    Alas, the mirror I installed this spring didn’t survive our bicycling vacation; it succumbed to the second of three stuff-all-the-bikes-in-a-truck schleps arranged by the tour organizers. Being that sort of bear, I had a spare mirror, duct-taped it in place, lashed it down with some cable ties, and we completed the mission.

    So.

    Back to the Basement Laboratory Plastic Repair Wing.

    The strut broke just behind the ball at the mirror, which implies the mirror plate got stuffed against something, rather bending the strut. The ball joint still worked, so I maneuvered the stub perpendicular to the mirror.

    Drilling the strut
    Drilling the strut

    Normally I’d try to re-glue the joint as-is to get the best fit, but past experience shows that if it breaks once, it’ll break there again. I wanted to put some reinforcement into the strut, not just depend on a solvent glue joint. Some rummaging in the brass tubing stock produced a 1/16-inch diameter aluminum (!) tube about 18 mm long: just what’s needed.

    So I filed the deformed plastic flat & perpendicular to the stubs, mounted the strut in the 3-jaw chuck on the Sherline’s table, lined the spindle up with the axis, and poked a 1/16-inch hole into the strut. The alignment looks decidedly off in the picture, but it’s actually spot on: what you’re seeing is some swarf clinging to the far edge. Honest!

    Then I grabbed the mirror plate in the 3-jaw, lined up on the stub, and drilled maybe 4 mm down, which was roughly to the middle of the ball. The tubing was a firm push-fit in the hole and I hope it won’t over-stress the plastic into cracking.

    Gluing the mirror strut
    Gluing the mirror strut

    Run the spindle up, remove the drill, grab the strut in the chuck (actually, I had to swap in the larger chuck first), dab some Plastruct solvent glue on both ends, align the strut with the stub (they’re actually square in that section), run the spindle down to ram the tubing into the strut, then a bit more to apply pressure to the joint. I made the total hole depth about 2 mm longer than the tubing, so as to avoid the embarrassment of having the ends not quite meet in the middle.

    No CNC; pure manual Joggy Thing action.

    Let it cure overnight.

    It’s now back on Mary’s helmet, with a pair of black cable ties ensuring that it won’t pop off, and seems to be working fine. I’m sure the ball joint will fail later this year, although that won’t be due to this repair.

    Mirror on helmet again
    Mirror on helmet again
  • CPU Heatsink Fuzz Redux

    A friend donated an old Aptiva with an AMD K6 CPU to my collection. It’s too slow & power-hungry to be useful, so I harvested some useful bits and passed the corpse along to the recyclers.

    As fate would have it, I have an upcoming project that needs a cooler, so I popped the fan off the top (it’s rotated a quarter-turn: those tabs lock over the edges of the heatsink) to see what’s inside…

    Fuzz in AMD K6 CPU Cooler
    Fuzz in AMD K6 CPU Cooler

    That accumulation was pretty much invisible from the outside, with most of the fuzz clotted around the periphery of the fan duct. The fan blows downward into the heatsink, which acted (as usual) as a good dust filter.

    A bit of vacuum cleaner work and it’ll be just fine.

    Memo to Self:

    1. The bottom of the heatsink is a 42×78 mm copper block with the heat pipes soldered into notches. Clearance from the block to the step below the widest part of the fins is 18 mm and the fins are 25 mm above the block surface.
    2. Fan = 12 @ 70 mA. Reasonably quiet.
    3. The small blue heat sensor (at about 8 o’clock in the picture) is upstream of the heatsink and, thus, measures ambient air . It’s essentially open-circuit at room temperature, but a diode test shows 1.4 V in either direction. That suggests it’s not a thermistor or thermocouple, but the CPU is old enough that it’s likely not a fancy IC, either. A puzzlement.
  • Arduino Connector & Hole Coordinates: Mega 1280 board

    The Arduino Mega uses the ATMega 1280 chip to get more memory and far more analog & digital & PWM I/O pins, but remains more-or-less header-pin-compatible with the older Duemilanove and Diecimila boards (notes on the header coordinates for those boards is there).

    Arduino Mega - ATmega1280 chip
    Arduino Mega – ATmega1280 chip

    Herewith, some useful coordinates for the Mega board in (X,Y) format using the default 0.001 grid: 1 unit = 0.001 inch (a.k.a 1 mil). Values are taken directly from the Eagle PCB layout.

    The board outline is bounded by (2100,4000) on the upper right, with (0,0) at the lower left by the power jack. It’s not rectangular, but a conversation with Mr Belt Sander could remove the tab sticking out to the right beyond JP1/JP2 if that were really important.

    The header names are not the same as on the old boards. Bolded values seem unusual.

    • PWMH 1×8 @ (1300,2000) ← X is not 1290 as before!
    • PWML 1×8 @ (2150,2000)
    • COMMUNICATION 1×8 @ (3050,2000)
    • JP1 2×8 @ (3750,1550)
    • JP2 2×8 @ (3750,750)
    • POWER 1×6 @ (1550,100)
    • ADCL 1×8 @ (2350,100)
    • ADCH 1×8 @ (3250,100)
    • ICSP 2×3 @ (2555,1100) ← +5 X offset
    • Reset switch @ (2920,1100) ← -30 X offset

    The PWMH header is 10 mils to the right of its position on the older boards, but still not on the same grid used by the other headers: it’s now offset by a nice, even 50 mils. This probably doesn’t matter for most headers, given the sloppy fit. If you have a finicky board setup, you’re in trouble.

    Here’s what the PWMH and PWML headers look like, measured against a Duemilanove board on the top. The offset is not due to perspective!

    Arduino Mega PWMH header offset
    Arduino Mega PWMH header offset

    The Mega board has four 0.125-inch diameter mounting holes (they use 125.984, which is a hard-metric 3.2 mm). The first one is at the same position as on the Duemilanove board.

    • (600,2000)
    • (600,100)
    • (3550,2000)
    • (3800,100)

    Three fiducials:

    • 1 @ (780,2000)
    • 2 @ (2319,1603) ← deliberately offset from the grid?
    • 3 @ (3800,100)

    Memo to Self: As always, verify these numbers before you start drilling!