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

  • Resistance Soldering: AA Cell Terminals

    Soldered Nickel Strip
    Soldered Nickel Strip

    Much as I expected, there’s just not enough energy in a 5 V / 200 A resistance soldering unit to weld 8-mil nickel strips to AA cells. But the gadgetry needed to contact the cells works fine for resistance soldering.

    I took a pair of sacrificial cells, grabbed the positive terminal of the blue one in the pliers, applied a flattened snippet of good old rosin-core tin-lead solder (see below), laid the strip atop it, and held things together with pressure from the tungsten electrode.

    About 800 ms of current did the trick; the electrode heated to middling orange by the time the current shut off, which indicates it was the highest-resistance part of the circuit. Eyeballing an ammeter clamped around a secondary lead says the peak current was 250 A, a bit over the nominal 200 A, but close enough.

    The obvious dent in the strip over the positive terminal shows that the center of the solder strip melted first; I could feel the tungsten electrode sinking into the strip as it heated.

    For the negative terminal, I grabbed both cells in a small vise (resting on insulation below the bottom terminals!), tucked another solder strip under the nickel tab, pressed one jaw of the pliers against the cell, and hit the tab with the tungsten electrode. Lovely fillet, isn’t it?

    Destructive Joint Examination
    Destructive Joint Examination

    The joints look good inside, too. I cut the strip, then peeled the joints apart: they’re both fully wetted. You can see some tiny bubbles from the rosin, but I doubt that’s a problem.

    Now, you don’t want to solder to AA cells by hand with a soldering iron, because it’s entirely too easy to cook the piss out of the plastic insulators, pressure relief valves, and other internal gadgetry. Yeah, I’ve done that too, and it works most of the time, but it’s not recommended.

    A controlled pulse is all over and done with before the rest of the metal case has time to get more than warm. In fact, by the time I put down the electrodes, the nickel strip was cool enough to touch! The copper jaws act as a heat sink for the positive button and the negative terminal is the entire can around the cell, so I think this will be OK.

    I’ll do a bit of testing on some sacrificial cells to figure out the minimum time required for a good joint; I think 600 ms will do. I might use a carbon electrode for the positive terminal to get a somewhat larger contact over the whole button and eliminate that unsightly dent.

    Solder prep: I flattened about 3 mm of ordinary solder wire by whacking it with a polished brass hammer on a chunk of PCB stock. Flat solder works better than round solder for resistance soldering, as everything stacks up neatly with lots of contact area. The pix there should give you the general idea.

    I’m mildly unhappy with the pliers, which must open a bit too far for my paws. A fixture that fits in the bench vise might be in order…

  • Resistance Welding: AA Cell Positive Terminal Gadetry

    AA Cell Clamping Pliers
    AA Cell Clamping Pliers

    I’m trying to find out if I can use my hulking resistance soldering setup to weld nickel strips on AA cells, with the intent of making some decent 8-cell packs that don’t have crappy stainless-steel springs. Having slit the copper sheet for the jaws, I just now kludged together some electrodes…

    The positive terminal on an AA cell is almost exactly 3/16 inch in diameter, call it 0.188 inches. That’s the hole in the middle of the copper sheet, which is neatly split so it clamps the terminal button from all sides with nearly equal griptitude.

    The pliers are snap-ring pliers, with the original weird metric screws (neither 3 nor 4 mm, which is all I have) replaced with stainless steel 8-32 screws. Drill-and-tap the pliers jaws, clearance drill the not-quite-rectangular clamping plates, bend the jaws so the copper sheet aligns properly. It’s all good.

    I plan to add a jumper connecting the two copper sheets; obviously, you don’t get good current transfer without a solid connection. The darker gold-copper color in the center section is Kapton tape insulating the top of the jaw sheets.

    The cable goes off to one terminal of the resistance soldering transformer, which is a rewound kilowatt-class microwave oven transformer. The basics are 5 V RMS at about 200 A, with a foot switch into a microcontroller that drives a triac on the transformer primary. I can set the timing in multiples of 100 ms (6 AC line cycles) and the duty cycle from 1 to 6 of the cycles in each 100 ms. More on that later; the triac triggering is nightmarishly complex because I was doing a Circuit Cellar column and wanted to show how a triac gets all confused driving an inductive load. It really needn’t be that fancy in real life.

    Anyhow, 200 A is at least an order of magnitude less than the current from a capacitive-discharge welding setup, but I’m hoping that with some tweaking I can get enough heat to make it all work out. If not, it’ll still be a king-hell resistance soldering setup.

    AA Cell Center Contact Electrode
    AA Cell Center Contact Electrode

    The center electrode started life as an oil-burner ignition electrode. It’s a steel shaft joined to a (most likely) tungsten probe within the ceramic insulating tube. The cable goes off to the other transformer terminal.

    Center Electrode - Side Detail
    Center Electrode – Side Detail

    Tungsten is a fairly crappy conductor, so I forged a copper clamp around the end of the electrode. It started as a section of the same copper pipe that went into the pliers, hammered around the wire. That took many annealing cycles, which basically consists of heating the copper red-hot with a propane torch and letting it cool for a bit.

    The two smaller screws apply clamping pressure to the copper around the electrode, which ought to improve the contact area. I plan to anneal the clamping area one more time, scrubulate the inside of the clamp, then screw everything together nice & tight with maybe a bit of anti-oxidation compound in there for good measure.

    Center Electrode - Front Detail
    Center Electrode – Front Detail

    The general idea is to apply the current as close to the AA cell’s terminal as I can. I think I must file / grind down the end of the probe so that it’s applying the juice exactly to the center of the nickel strip at the middle of the terminal.

    The first test was 500 ms at 100% duty cycle, which produced a nice spatter of sparks from underneath the strip, the tungsten glowed orange, but the 8 mil nickel strip didn’t weld itself to the cell top. No weld nugget. Bupkis.

    I think it’s got potential, though.

  • Slitting Copper Sheet

    Slitting Copper Jaws
    Slitting Copper Jaws

    I’m kludging up a clamp to grab AA cells around their positive terminal so that I can resistance-weld nickel strips to that button. The general idea is that the current passes through the strip, through the button, and out the side to the clamp, rather than trying to heat the button through the strip from the top.

    Trial Fitting the Jaws
    Trial Fitting the Jaws

    A snap-ring pliers has pretty nearly all the right attributes, so I’m making up a set of copper jaws with a hole in the middle to grab the terminal. Basically, I whacked off a ring from a copper pipe, hacksawed it lengthwise, hammered it flat (work-hardening it in the process), and drilled some holes.

    Then I grabbed it in the Sherline vise and set up a teeny 4-mil slitting saw. A bit of manual CNC ran the saw past the copper and, after a while, the top half just fell over dead with a perfectly shiny cut right down the middle!

    Slitting Success
    Slitting Success

    Useful things to remember for the next time around:

    • Cut only 0.2 mm into the copper per pass
    • 100 mm/min feed is fine
    • 4000 rpm is fast enough
    • A drop of cutting lube is a bunch on this scale

    This worked out a whole lot better than I expected…

  • NiMH AA Pack Discharge Test: Tenergy RTU 2.3 Ah

    Here’s a quartet of discharge tests for a new set of Tenergy Ready-to-Use cells. It’s the same one that produced the green and red traces in that post. It looks as though it still has a weak cell, but it’s not too far off of the others.

    Tenergy RTU Pack A Tests - Aug 2009
    Tenergy RTU Pack A Tests – Aug 2009

    The lower black trace is after sitting around for a few days, the others are hot off a 4C charger. I think the black trace is more representative of the long-term voltage.

    The two middle traces are essentially identical: same charging method, same discharging method.

    The blue trace is at 100 mA (C/23); the others are at 500 mA (C/4.6). The cells don’t produce much more energy at the lower rate and, at 1.8 Ah, are still well below their 2.3 Ah rating.

    The difference in voltages between the green and blue traces most likely has more to do with the relatively skinny wires and crappy spring-loaded stainless-steel battery connections. The current varies by 400 mA and a mere 0.5 Ω between the battery and the voltage measurement would account for the entire difference.

  • NiMH Cell Comparisons

    I collected some loose cells and pulled some cells from the packs to see how they compared individually.

    These are discharging at 500 mA, rather than 1 A, mostly because there were fewer tests and I could run ’em overnight. Other than the Tenergy RTU cell, they’re all old and wearing out…

    Single Cell Comparison - Aug 2009
    Single Cell Comparison – Aug 2009

    The green line is a new Tenergy RTU 2.3 Ah cell; it has a higher voltage, but still isn’t delivering anything close to its rating even at a load only slightly higer than C/5. I have three packs of those that will be cycling through the amateur radios on the bikes, but I don’t like the relatively low capacity. I’ll run these eight cells through the fast charger and do some rundown tests to see if they improve; I have my doubts.

    The black line comes from an old batteries.com 2.5 Ah cell. It has the highest capacity of the group, but a rather low voltage. I’ll start cycling those through the blinky lights on the bikes.

    The red line is a Tenergy 2.6 Ah cell. I think these are a year or two old, so they’re not faring well at all. OK voltage, but very low capacity. I think the batteries.com cells will work better in the lights, as they have 50% more capacity at a slightly lower voltage.

    The blue line is an ancient Lenmar 2.0 Ah cell. As a fraction of its rated capacity, it’s doing OK, but the low voltage is a dealbreaker. Scrap.

    Given the poor results from the old & new Tenergy cells, I’m not sure quite what to do. The advertised ratings are obviously optimistic, shipping charges pretty much wipe out any incentive to sample a batch of new cells, and cells get reformulated often enough that old tests you find on the web (this one included!) are useless.

    Grumble…

  • NiMH AA Pack Comparisons: Old vs New

    8-cell NiMH AA pack
    8-cell NiMH AA pack

    I’ve been using NiMH AA cells to power the amateur radio HTs on our bikes for the last several years, using homebrew 6- and 8-cell packs like this one. In addition, I cycle a handful of loose cells through the LED blinky headlights we use as rear markers.

    I don’t lavish much care on the packs, although they generally get recharged before they’re completely flat… if only because the radios automatically enter a low-power mode that takes some fiddling to cancel. They’re charged on a homebrew C/10 charger, typically overnight, and are uniformly warm to the touch when I take them off the charger. Slow charging is reputedly bad for the cells, although everybody seems to agree that fast charging isn’t much better; I have a 4C charger that really puts the screws to 4 cells at once.

    Over time the cells wear out and I’ve recently started figuring out which packs & cells to replace. I’m using a West Mountain Radio CBA II for the tests, running on our Token Windows Laptop. The X-axis divisions are its idea of how to do it; Gnuplot does a better job, but you get the general idea and exact numbers aren’t really important here.

    Here’s a screen shot with all the discharge tests in one convenient lump. You’ll surely want to click on it for a legible legend…

    Pack Comparison - August 2009
    Pack Comparison – August 2009

    Some observations…

    I’m using a 1 A (roughly C/2) discharge rate, because the radios draw about that much during transmit, although they run at 30-100 mA during receive. Battery capacity is inversely related to discharge rate and the usual highly over-optimistic advertised cell capacity is usually based on (at most) a C/5 or a much lower rate.

    The shortest curves, the orange & black ones under 0.74 Ah, are two ancient 8-cell packs made from batteries.com cells. The cells actually have decent capacity, but the discharge voltage is much lower than it should be.

    The black curve to the far right near 2.47 Ah is a freshly charged set of Tenergy 2.6 Ah cells that had been oops discharged completely flat. Other than this run, the Tenergy cells have been a major disappointment: the 6-cell packs near the bottom are running less than half their rated capacity and the 8-cell pack in blue isn’t much better.

    The green & red traces out there to the right at 2.23 Ah are Duracell 2.65 Ah cells that are holding up remarkably well. Recent reviews indicate that Duracell (or whoever owns them these days) reformulated the chemistry early in 2009 and the new cells are crap. These cells are colored black-and-green, which seems to be different than the new ones.

    The cluster of traces around 1.73 Ah are three 8-cell packs made from two dozen shiny-new Tenergy Ready-To-Use 2.3 Ah cells. I’m unimpressed so far, although they are still in their first dozen cycles. There’s obviously one weak cell in pack A that causes the abrupt fall-off in the two shortest times, but they’re all pretty much the same.

    Given that we have three bikes and I want a backup pack for each bike, that works out to

    8 cells/pack x 2 packs/bike x 3 bikes = 48 cells

    I’d like to think that spending four bucks per cell bought you better cells, but the Duracell reformulation puts the kibosh on that notion. In any event, you can see this gets spendy pretty quickly…

    I’ll run the best of the old cells in the blinky headlights, which run at a 50% duty cycle of 400 mA or so.

  • Programming Algorithm for 27HC641 EPROMs

    General idea: replacing a failing Mostek MK36000-series masked ROM in a Tektronix 492 Spectrum Analyzer memory board with an equally obsolete 27HC641 EPROM, using the bits found there.

    The various datasheets give contradictory advice concerning device programming:

    EPROM Burn - Microchip algorithm
    EPROM Burn – Microchip algorithm

    Assuming you have appropriate power supplies, then the waveform on VCE looks like this. The upper trace is the -OE signal for the data latch supplying the byte-to-be-burned, the lower trace is VCE on EPROM pin 21. Set VCC = 6 V on pin 24 while all this is going on. The currents range into the hundreds of mA; this is not a low-power device!

    The squirts on the -OE latch signal before each programming cycle are eight quick writes to those antique DL-1414 displays that share the data bus with the EPROM. They show the current address and data byte during programming, plus other status & error messages.

    The Microchip and GI datasheets both claim that the EPROM cells erase to all 1 bits, like every other EPROM I’ve ever used. The Philips datasheet says:

    … after each erasure, all bits of the 27HC641 are in an undefined state. […] which is neither a logical “1” or a logical “0”

    27HC641 EPROM in programming socket
    27HC641 EPROM in programming socket

    The chip markings suggest they were made by Signetics, which got Borged by Philips some years ago. Lo and behold, the chip erases to a bizarre pattern that may be “undefined” but is perfectly consistent from erasure to erasure.

    Therefore, you cannot blank-check a 27HC641 EPROM before programming it!

    The Philips / Signetics datasheet doesn’t have a programming algorithm and the GI datasheet says you’re supposed to hold VCE at +12.5 V except when you’re asserting the programming data. So I used the Microchip algorithm on a Signetics chip and it seems to program properly.

    The only quirk is that the Arduino Diecimila doesn’t have enough storage to hold the entire EPROM at once, so I verified each data byte as I wrote it, rather than doing the whole chip after the entire programming loop. The top picture shows a single 1 ms programming pulse followed by the 3-ms overburn pulse; the byte read back from the EPROM must agree with the source byte after each pulse. When it’s all done, I manually dump the entire EPROM as an Intel HEX file and verify that against the original HEX file: if it matches, the burn is good.

    The byte-burning function goes a little something like this:

    int BurnByte(word Address, byte Data) {
    
    unsigned Iteration;
    byte Success;
    
     SetVcc(VH);                              // bump VCC to programming level
     SetVce(VIH);                             // disable EPROM outputs
     Outbound.Address = Address;              // set up address and data values
     Outbound.DataOut = Data;
    Success = 0;
    for (Iteration = 1; Iteration <= MAX_PROG_PULSES; ++Iteration) {
    
    RunShiftRegister();
    digitalWrite(PIN_DISABLE_DO,LOW);       // present data to EPROM
    
    SetVce(VH);                             // bump VCE to programming level
    delayMicroseconds(1000);                // burn data for a millisecond
    SetVce(VIH);                            // return VCE to normal logic level
    
    digitalWrite(PIN_DISABLE_DO,HIGH);      // turn off data latch buffer
    SetVce(VIL);                            // activate EPROM outputs
    CaptureDataIn();                        // grab EPROM output
    SetVce(VIH);                            // disable EPROM outputs
    
    RunShiftRegister();                     // fetch data
    
    if (Data == Inbound.DataIn) {           // did it stick?
    Success = 1;
    break;
    }
    }
    
    MaxBurns = max(MaxBurns,Iteration);
    
    if (Success) {                           // if it worked, overburn the data
    
    digitalWrite(PIN_DISABLE_DO,LOW);       // present data to EPROM (again!)
    SetVce(VH);                             // bump VCE to programming level
    delay(3 * Iteration);                   // overburn data
    
    SetVce(VIH);                            // return VCE to normal logic level
    digitalWrite(PIN_DISABLE_DO,HIGH);      // turn off latch buffers
    
    SetVce(VIL);                            // activate EPROM outputs
    CaptureDataIn();                        // grab EPROM output
    SetVce(VIH);                            // disable EPROM outputs
    
    RunShiftRegister();                     // fetch data
    
    Success = (Data == Inbound.DataIn);     // did overburn stick?
    }
    
    return !Success;                         // return zero for success
    }
    

    NOTE: the MK36000 and 27HC641 have slightly different address bit assignments.

    The MK36000 address bits look like this:

    • pin 18 = A11
    • pin 19 = A10
    • pin 21 = A12

    The 27HC641 address bits look like this:

    • pin 18 = A12
    • pin 19 = A11
    • pin 21 = A10

    Now, if you’re building a programmer, just wire up the 27HC641 socket as if it were a MK36000 and everything will be fine. The byte locations within the chip won’t match those in the original MK36000, but it doesn’t matter because you store bytes at and the Tek CPU fetches bytes from the same addresses.

    However, if you’re using a commercial EPROM programmer, it will write the bytes at the locations defined by the 27HC641 address bit assignments (because that’s all it knows), which will not work when plugged into the Tek board. Choose one of the following options:

    • build an interposer board to permute the address bits
    • cut-and-rewire the Tek board (ugh!)
    • write a program to permute the bytes in the HEX file

    Think about it very carefully before you build or program anything, OK? The checksum will most likely come out right even with permuted bits, but the CPU will crash hard as it fetches the wrong instructions.

    Memo to Self: always RTFM, but don’t believe everything you read.