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

  • Thing-O-Matic: Thermal Lockout Circuit

    Thermal lockout control box
    Thermal lockout control box

    This is a proof-of-concept lashup of a circuit to shut off the Thing-O-Matic’s power should the Thermal Core overheat. It vaguely resembles those doodles, but with the thermal switch cases grounded and an indicator for the main thermal switch.

    [Update: You should read the rant at the bottom of that post to understand why this isn’t a firmware mod and doesn’t contain a microcontroller.]

    Operation is straightforward:

    • The black NO (Normally Open) momentary switch energizes the DPDT relay, one NO pole of which then holds the relay power on.
    • The red NC (Normally Closed) momentary switch interrupts that circuit and releases the relay.
    • An NC thermal switch detects an overheated Thermal Core, opens that circuit, and releases the relay.

    The other NO relay pole connects / disconnects the ATX power supply’s -Power On line from the Thing-O-Matic Motherboard. That connection requires a circuit-board cut to splice the relay into the Motherboard.

    The LEDs:

    • Lower Green = ATX AC power on (from +5VSB power)
    • Upper Green = +Power On signal active
    • Red = Test / Fault (on = relay inactive)
    • Yellow = low over-temperature alarm
    • Orange atop box = high over-temp switch active

    I included a second NO thermal switch that activates at a lower temperature, mostly because I had one, but that’s certainly not required. The multitude of LEDs makes for a happy-looking box; labels would be a nice touch, I agree.

    When you turn on the ATX power supply, the Lower Green and Red LEDs turn on: the “Test” part of the “Test / Fault” indicator. Push the black button, the Red LED goes off, the Upper Green LED goes on, and the Thing-O-Matic is up & running. Push the red button, the TOM shuts down, and you’re back to the starting condition.

    The Yellow LED goes on when the lower temperature switch goes on.

    Shortly thereafter, presumably, the higher temperature switch opens, the Orange LED goes on, the TOM shuts down, and you’re left with the Lower Green, Yellow, and Orange LEDs: zowie! When the  high temp switch cools off a bit, the Orange LED goes off and the Red LED goes on. After a while, the Yellow LED will go off, and you’re back to Square One again.

    What’s not yet done: mounting the thermal switches to the Thermal Core in a way that’s mechanically solid, electrically isolated, and thermally dependable. I just got a bag of 100 °C NC switches, which make more sense than the 65 °C NC switches I’d been fooling with.

    The wiring uses 4P4C and 6P6C modular phone connectors and cables, which are cheap & readily available, if not exactly proof against high temperatures. In normal use, failures tend to be open-circuit that will shut off the heater power. Take care not to position the cables so they melt first; they’re not intended as thermal switches.

    Achtung: modular cable color codes are not standardized, particularly on the jack side, so pay more attention to the pin numbers than the colors. If I ever meet the guys who rearranged the jack colors, There. Will. Be. Gibbage.

    A back view of the box shows a nice rectangular hole that’s obviously a manual CNC job on the Sherline, with no corner filing whatsoever. Hot melt glue holds the connectors in place, so I’m not showing off the inside:

    Thermal lockout box - rear
    Thermal lockout box – rear

    The -Power On connection to the Motherboard requires the single cut shown in yellow:

    Motherboard PCB Modification
    Motherboard PCB Modification

    It looks like this in real life, with the wire soldered to the Arduino header pin. Another dab of my Shop Assistant’s orange nail polish seals the PCB wound:

    Motherboard -Power On modification
    Motherboard -Power On modification

    The remaining wires attach to the ATX power connector pins on the bottom of the board. The yellow wire passes through an unused mounting hole on its way to the top side, as above. Use a cable tie to tie the cable to the board, through a pair of otherwise unused RS-485 connector mounting holes.

    Motherboard Connections - Bottom
    Motherboard Connections – Bottom

    While you’re chopping away at the Motherboard, add that isolating diode to keep +5 V USB power from turning the ATX fan with the power off.

    The overall schematic (clicky for more dots):

    Thermal Lockout Schematic
    Thermal Lockout Schematic

    There is no corresponding PCB layout, because the circuitry forms a point-to-point hairball inside the box. If you were doing this for real, you’d want a PCB with a bazillion connections, but …

    For example, here’s the FET driver for the Orange (it just looks Red) high temperature LED before a liberal application of heat stink shrink tubing:

    Overtemperature LED driver hairball
    Overtemperature LED driver hairball

    You can test the thermal switches using a butane lighter.

  • 3D Printed Pactec Box Panel

    As part of the Thermal Lockout project, I planned to put a pair of big pushbutton switches on the end of a little Pactec box, thusly:

    Pactec box - printed panel
    Pactec box – printed panel

    I was in the midst of figuring out how to clamp that tiny panel to the Sherline milling machine’s table and gnaw out those big holes, when I realized I could just print out a new panel with the holes already in place:

    Pactec panels with switches
    Pactec panels with switches

    No muss, no fuss, no exciting chips… and no tedious corner filing, either.

    The 3D model has the hole for an LED that I added later; the panel shown above acquired that hole during a brief conference with Mr Drill Press.

    Thermal Cutout Box - switch plate model
    Thermal Cutout Box – switch plate model

    In actual point of fact, I had to do a bit of edge filing for the switches, as the holes came out slightly undersized. The HoleWindage setting should take care of that for the next time around. The panel was a drop-in replacement for the original: all the outside dimensions & thicknesses were spot on.

    The OpenSCAD source code:

    // End panel for PacTec 61191-01 box
    //    Panel 61580-01
    // Ed Nisley - KE4ZNU - Feb 2011
    
    Layer1Z = 1.50;
    Layer2Z = 1.00;
    
    HoleWindage = 0.55;                // approximately equal to extrusion width
    Protrusion = 0.1;                // stick out over top and bottom
    
    SwitchOffsetX = 15.0;
    
    SwitchX = 16.0 + HoleWindage;
    SwitchY = 12.0 + HoleWindage;
    SwitchZ = Layer1Z + Layer2Z;
    
    LedR = (5.0 + HoleWindage)/2;
    LedZ = SwitchZ;
    
    difference() {
     union() {
     translate([0,0,Layer1Z/2]) cube([55,22.5,Layer1Z],center=true);
     translate([0,0,(Layer1Z + Layer2Z)/2]) cube([52.6,19.5,Layer1Z + Layer2Z],center=true);
     }
    
     translate([SwitchOffsetX,0,SwitchZ/2])
     cube([SwitchX,SwitchY,SwitchZ + 2*Protrusion],center=true);
    
     translate([-SwitchOffsetX,0,SwitchZ/2])
     cube([SwitchX,SwitchY,SwitchZ + 2*Protrusion],center=true);
    
     translate([0,0,LedZ/2])
     cylinder(r=LedR,h=LedZ + 2*Protrusion,center=true,$fn=10);
    
    }
    
  • Thing-O-Matic: USB Power Backfeed Prevention

    The Arduino Mega 2650 board used in the Thing-O-Matic gets its power from the +12 V ATX supply plugged into the TOM Motherboard. It will also automagically switch to +5 V from the USB connection when the +12 V external power Goes Away.

    Come to find out that the Foxconn Atom I’m using doesn’t shut off the power to the USB ports when it’s “turned off”. That keeps the Arduino alive and, by a quirk of the circuitry, backfeeds +5 V into the +12 V supply, which makes its way back to the ATX power supply and keeps the fan running. Slowly, but it’s ticking over in there.

    Rather than keep unplugging the USB cable, I added a diode in series with the Motherboard +12 V trace going to the Arduino connector:

    USB backfeed prevention diode
    USB backfeed prevention diode

    The orange stuff is nail polish rejected by my Shop Assistant, which covers a slit gouged in the +12 V trace. The diode bridges the gouge and passes current only into the Arduino.

    Any diode will do, as the next step in the +12 V supply chain is that poor overworked Arduino regulator responsible for shaving it down to +5 V. I used a good old 1N4001 and it’s perfectly happy.

    [Update: the Arduino will remain powered up overnight, even with everything else turned off. When you turn the Thing-O-Matic on the next morning, pop the Reset button to get the Arduino’s attention.]

  • Recommended Scissors

    These Fiskars scissors [Update: they’ve moved to the Gardening section. Try there or there. ] seem to be intended for sewing & quilting, but they work just fine for snipping plastic filament, cutting tape, and severing hangnails…

    Fiskars Softouch Scissors
    Fiskars Softouch Scissors

    The titanium nitride coating probably doesn’t add much value to the mix, but that’s what they had at JoAnne Fabric when I bought ’em.

    Fiskars scissors tip detail
    Fiskars scissors tip detail

    This detail of the tip shows why they’re so great for detail work: each blade ends in a two-way taper to a genuine cutting point. Of course, that means they’ll survive exactly zero falls to the shop’s concrete floor, but they’re fine while they last.

    The trick is to sign up for JoAnne sale flyers, which regularly deliver “40% off any one item” discount coupons, then make a targeted shopping expedition. Those coupons account for the green self-healing cutting mat that’s in the background of so many pictures around here, too…

  • Cartridge Heaters: Thermal Cutout Doodles

    Having harrumphed at length on the need for thermal protection for cartridge heaters used in a MK5 Extruder Head, these are some preliminary doodles that might turn into something useful…

    The general idea: a thermal switch detects an overtemperature condition and shuts off the power supply for the heaters and the extruder motor.

    A sketch that should accomplish that goal:

    Thermal Cutout Doodle
    Thermal Cutout Doodle

    The -Power On pin is 14 in the 20-pin Motherboard connector and 16 in the default ATX 20+4-pin connector.

    The thermal switches in my heap have their case connected to one lead, so it makes more sense to put ’em on the low side of the circuit, with the case grounded. That way you can attach ’em directly to, say, the Thermal Core… or at least not worry about inadvertent shorts.

    How it works

    When you turn the ATX supply’s AC power switch on, the +5VSB supply goes active and the AC On LED lights up. Nothing else happens: the relay remains open and the Thing-O-Matic appears to be dead. This is how it should work!

    The +5VSB supply provides initial power to this circuit; all other ATX power outputs are disabled and all Thing-O-Matic boards are inactive. The AC On LED indicates that the standby supply is active.

    The Test/Fault LED is lit in this condition to indicate that the relay is inactive; there seems to be no way to unambiguously indicate a thermal fault without at least one more relay. On the upside, you know the LED works.

    Pressing the Power On pushbutton closes the DPST relay, assuming the Normally Closed (NC) 65 °C Thermal Switch is closed and the Estop button is not pressed. I happen to have such a thermal switch in my Parts Heap, but a higher temperature may be desirable; they’re stock items at Digikey / Mouser. See below for a discussion of the sensor location.

    You can use a DPDT relay, which may be easier to find.

    One pole of the relay bridges the Power On pushbutton switch, holding the relay active when you release the button. The other pole pulls the ATX -Power On input low to enable the ATX supply voltages to the rest of the Thing-O-Matic, which lights up and begins working as usual.

    The +Power Good signal eventually goes high and turns on the Power OK LED.

    If the temperature exceeds 50 °C, the Normally Open (NO) 50 °C Thermal Switch closes and the Heat Alert LED goes on. That temperature may be too low.

    If the temperature exceeds 65 °C, the Normally Closed (NC) 65 °C Thermal Switch opens and releases the relay. That releases the -Power On input and immediately turns off all the ATX supply voltages: the Thing-O-Matic hardstops. Because the other relay pole no longer bridges the Power On switch, the relay remains off.

    As suggested there, putting a high-temperature thermal fuse directly on the Thermal Core insulation blanket would be a Good Thing. That fuse goes directly in series with the 65 °C Thermal Switch as a deadman cutout: when it blows, you cannot turn the Thing-O-Matic on until you replace it.

    The Test/Fault LED goes on when the 65 °C Thermal Switch cools off enough to close. That’s suboptimal, although the 50 °C Heat Alert LED will be on while it’s cooling.

    Pressing the Estop pushbutton switch also releases the relay. That switch is Normally Closed (NC) because most wiring faults involve a wire not making contact. A Normally Open (NO) switch wouldn’t give any indication of the wiring problem, while an NC circuit simply won’t allow the TOM to power up.

    As nearly as I can tell, the Motherboard ignores its own Estop switch input.

    Important: don’t get clever by replacing the relay with a semiconductor. You want something dead simple that won’t suffer from static discharge damage or software failures. Relays, buttons, and switches tend to be very simple, easy to test, easy to verify, and not prone to weird failures.

    Thermal Switch Locations

    The ideal location has a physical attachment to the Thermal Core, rather than an air gap. The top of the Thermal Riser Tube seems ideal, but I measured the heatsink temperature as exceeding 90 °C with the Core at 220 °C.

    What’s worrisome about that: the glass transition temperature for acrylic plastic is in the 85-165 °C range. The top of that tube is much hotter than it really should be, given the stresses imposed on the Filament Drive frame.

    I’m thinking of adding a heatsink across the top, extending out of the openings under the top of the support structure. That should cool the Tube, make the acrylic happier, and provide a location where the temperature remains below 50 °C in normal operation. When the Core exceeds, say, 300 °C, the switches would trip.

    I think that’s messy, but putting higher temperature switches on the existing Tube doesn’t avoid that problem. Obviously, running the TOM in a hot room will produce different results; there’s a tradeoff between false trips and burning the house down.

    More study is needed…

    ATX Power Supply Signals

    These must be hijacked from the ATX power connector at the Thing-O-Matic Motherboard, maybe using square pins & heatshrink to fake a connector. You could repurpose the 4-pin +12 V / Ground CPU power connector, but then you’d be forced to come up with a mating cable connector.

    Or just solder a cable to the Motherboard, cut the -Power On, splice in the wires, and be done with it.

    The +5VSB (9 Purple) supply is active with the AC line switch turned on. This supplies power to bootstrap the protection circuit, much as it does in an ordinary PC.

    The -Power On (14/16 Green) signal has an internal (and unspecified) pullup resistor. The Motherboard pulls that line to ground, so the new connection must be spliced into the middle of the existing ATX wire. The pin number is 14 in the 20-pin block and 16 in the 24-pin block.

    The +Power Good (8 Gray) signal remains low until all output voltages get within the tolerance limits, then it goes high. There’s no spec for output current, but we assume it can drive an LED. Presumably this goes low when any voltage goes out of spec, so a glitch catcher should be instructive.

    A Common or Ground (7 Black) line provides the circuit ground. The Motherboard has very low current requirements, so stealing any of the Ground wires will be OK.

  • MK5 Extruder: Cartridge Heater Time Constant

    So I recorded more temperatures from that modified MK5 Thermal Core to get better numbers.

    Warming it up to 230 °C:

    Cartridge Heater 2x25W Warm-up Graph
    Cartridge Heater 2x25W Warm-up Graph

    A pair of 25 W cartridge heaters can get from (a cold!) room temperature to 230 °C in about 16 minutes, after which the Extruder Controller begins cycling the heater power. The bump at 4 minutes comes from a momentary lapse of attention.

    The PID constants were P=100, I=0, D=0, which forces the Extruder Controller to run in bang-bang mode: heater on below the setpoint, heater off above it. The firmware uses a built-in hysteresis of 2 °C, so there’s a built-in ripple of a bit more than that.

    Cooling it down from 230 °C to (almost) room temperature:

    Cartridge Heater 2x25W - Cooldown
    Cartridge Heater 2x25W – Cooldown

    Now, isn’t that just the cutest little exponential you’ve ever seen? Here’s the same data in a semilog plot, which shows that it really is suspiciously exponential:

    Cartridge Heater 2x25W - Cooldown - log scale
    Cartridge Heater 2x25W – Cooldown – log scale

    For some reason, OpenOffice figures the trend line in the form y=m^x + c, which isn’t helpful. The first part looks to be the most closely exponential part of the curve, so let’s pick a couple of points and see how they fare.

    The equation we want is of the form:

    temp(t) = (room temp) + (temp rise) • e-t/τ

    Room temperature was 14 °C and the temperature rise was 216 °C = 230 – 14. The Basement Laboratory gets entirely too cold during this part of the year!

    Solving for the time constant τ:

    τ = (-t)/loge((temp - room temp)/(temp rise))

    That’s the natural logarithm, of course, not the decimal logarithm.

    At t=5:

    τ = (-5)/(-0.222) = 22.5

    At t=15:

    τ = (-15)/(-0.712) = 21.1

    At t=30:

    τ = (-30)/(-1.42) = 21.1

    So the time constant looks to be a bit over 21 minutes, almost exactly twice that of the unmodified MK5 Thermal Core with resistors. The additional steel around those cartridge heaters basically doubles the heated mass and, thus, the time constant. I’d guesstimated a 30 minute time constant.

    That gives a better estimate of the worst-case temperature with the cartridge heaters jammed on. The temperature rise at t = (0.1 • τ) is 9% of the total temperature rise. A bit of interpolation says the initial rise was 34 °C (= 48 – 14), so the final rise is 378 °C and the Core would top out just shy of 400 °C = 750 °F.

    That’s lower than I originally estimated, based on the First Light data, but it’s still plenty hot enough for some serious damage. Don’t install cartridge heaters without a dead-simple thermal cutout to prevent runaway!

    The raw data:

    Cartridge Heater 2x25 W Heat and Cool Data
    Cartridge Heater 2×25 W Heat and Cool Data
  • Thing-O-Matic / MK5 Extruder: Resistor Autopsy

    Cooked thermal compound
    Cooked thermal compound

    Having built cartridge heater mounting blocks, I autopsied the two aluminum-case power resistors I’d been using on the MK5 Thermal Core. They weren’t dead yet, but I have some spares in case the cartridge heaters don’t work out as expected.

    First observation: the blue-tinted thermal compound I’d put under the resistors turned white! It has a 200 °C maximum rating, so it’s been cooked well beyond any reasonable limit. On the other paw, it was still soft and didn’t have any air bubbles; the resistors were pretty firmly glued in place.

    Based on those thermal measurements, I had replaced the original parallel-connected 5 Ω resistors with series-connected 2 Ω resistors, thus reducing the power dissipation in each resistor from 28.8 W to 18 W. While that’s still far beyond the specification, every little bit of reduction helps.

    In round numbers, the resistors ran at 50-75% duty cycle to maintain Thermal Core temperatures in the 200-230 °C range. I guesstimate I had 10-15 power-on hours on the resistors, but that may be a lowball estimate: time passes quickly when you’re having fun.

    Anyhow, I slipped a brass tube around one resistor terminal, braced the other end on the drill press vise, and pressed the cores out.

    Resistor elements
    Resistor elements

    The top core literally fell out without any urging, which means that it had shrunk and separated from the housing. That means the resistor was well on its way to failing: a loose core gets hotter and deteriorates faster.

    The bottom core was still firmly attached and disintegrated as I forced it out, which means it was in good condition. Paradoxically, the crumbled resistor core in the picture came from the resistor in the best shape.

    Given that I ran these resistors at 63% of the original power level, the fact that one was well on its way to heat death after only (at most) a few tens of hours suggests that you shouldn’t expect much life from the stock MK5 resistors. If you haven’t already done so, electrically isolate the thermocouple bead from the Thermal Core to protect the Extruder Controller.

    I’m unwilling to sacrifice a new resistor to see if that discoloration is normal, but I suspect it’s not. The ends should be the coolest part of the resistor, which means the middle is discolored, but that picture suggests the opposite, so I really don’t know.

    I’d hoped the ID of the resistor bodies would match the OD of the cartridge heaters. That didn’t work out: 0.275 vs 0.250. They’re also a bit too short. If the match was closer, I could see slipping a shim in there, but having two air gaps around the heater just doesn’t make any sense at all.