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.

Month: January 2011

  • Thing-O-Matic / MK5 Extruder: Resistor Connections

    Having collected useful thermal numbers at low power levels, it’s time to fire that mother up and see what happens at temperatures around 200 °C. That, however, requires powering both resistors, rather than attacking one with clip leads as I’ve been doing. Given that I expect to change the resistors several times in the course of this adventure, soldering to the lugs seemed like a lot of effort.

    I mooched some solderless lugs suited for 2-56 screw terminals from Eks, pulled off the plastic insulating sleeves, lightly crimped them on 14 AWG solid copper wire, and silver-soldered the joints. The crimp handles most of the current, while the solder keeps the interior from accumulating oxidation products at high temperatures: a gas-tight joint is a happy joint.

    Crimped and soldered lug
    Crimped and soldered lug

    The resistor leads have holes just slightly too small for 2-56 screws, but a pass with a #41 drill does the deed; I think it’s an accumulation of solder rather than an under-sized hole.

    The leads are stamped to shape and two of them didn’t have quite enough room for the lug. You don’t want the joint to look like this:

    Misaligned lug
    Misaligned lug

    The briefest touch of a riffler file made them right, so as to look like this:

    Properly aligned lug
    Properly aligned lug

    Then it was ready for insulation:

    Extruder Head with lugs
    Extruder Head with lugs

    Note that the resistors are in series, not parallel (as per the Makerbot instructions), because I want a resistor failure to produce an unambiguous symptom: no heat. In addition, I expect to operate the heaters at much lower power, making higher resistances easier to drive from the +12 V.

    In truth, those screw-and-nut connections aren’t the most durable or reliable joints, particularly without lockwashers under the nuts to soak up the differential thermal expansion. But they’re good enough for what’s coming next.

  • Thing-O-Matic / MK5 Extruder: Thermal Compound

    This test determines the effect of thermal compound between the resistor and the Thermal Core on the MK5 Extruder head. The setup is essentially the same as before, with cotton fabric insulation wrapped around the Core.

    I applied a thin layer of Thermalloy Thermalcote II from a small bottle that I’ve had since the days when you could actually use trichloroethylene as a solvent. It’s rated to 200 °C, so it won’t last long at full throttle, but it’s not nearly as permanent as epoxy.

    That’s the thin blue line around the base of the resistor. You can actually have too much of the stuff, so I applied this by rubbing a dab from a scrap of paper onto the resistor’s base and squooshing it in place.

    Resistor with thermal compound
    Resistor with thermal compound

    The instrumentation is the same as the last time around:

    Name Meter Location
    TOM MK5 t-couple Top of core
    T1 Fluke 52 Resistor
    T2 Fluke 52 Core edge adjacent to resistor
    CA Craftsman A Bottom of core
    CB Craftsman B not used
    MPJA MPJA meter not used

    After once again wrapping the core up in cotton cloth, I skipped directly to the higher power levels and sampled the data at 20-minute intervals.

    The adjusted temperature readings:

    Power TOM T1 T2 CA Time Current
    0 22.6 21.5 22.8 22.8 926 0.00
    4 69.0 73.1 70.0 66.1 946 0.89
    4 84.8 87.7 84.6 80.5 1006 0.89
    4 90.0 92.6 89.5 85.5 1026 0.89
    4 91.1 93.8 90.8 86.6 1046 0.89
    6 114.3 119.0 114.3 108.2 1108 1.10
    6 120.6 125.0 120.3 114.4 1128 1.10
    6 122.7 126.7 122.2 116.0 1148 1.10

    Notice that the T2 reading on the block starts out a bit higher than the T1 reading on the resistor; I didn’t wait quite long enough for the heat of my hands to settle out inside that insulating blanket.

    The corresponding temperature differences:

    Power R – Edge Top – Bot Edge – Top Edge – Bot R – Amb Edge – Amb
    0 -1.3 -0.1 0.1 0.0 0.0 0.0
    4 3.1 2.9 1.0 3.9 51.6 47.2
    4 3.1 4.3 -0.2 4.1 66.2 61.8
    4 3.1 4.6 -0.6 4.0 71.1 66.7
    4 3.0 4.5 -0.3 4.2 72.3 68.0
    6 4.6 6.0 0.1 6.1 97.5 91.6
    6 4.6 6.2 -0.3 6.0 103.4 97.6
    6 4.5 6.7 -0.5 6.1 105.2 99.4

    And now for the long-awaited and much anticipated thermal coefficients of the insulated and greased Thermal Core:

    R – Edge Top – Bot Edge – Top Edge – Bot R – Amb Edge – Amb
    4 W 0.8 1.1 -0.1 1.0 18.1 17.0
    6W 0.8 1.1 -0.1 1.0 17.5 16.6

    The grease reduces the thermal coefficient by about 20%, although I admit the numbers going into that calculation are getting pretty close to the limits of my instrumentation. Assuming the value remains the same at 30 W, the resistors will rise about 24 °C above the Thermal Core temperature to 250 °C, their maximum rated temperature. At that temperature, remember, their maximum rated dissipation is 10% of their 25 °C value: a whopping 1 W.

    The R – Ambient and Edge – Ambient coefficients show that the insulation has about the same effect as before, which is comforting.

    Now, to mull all this over for a bit…

  • Improved Sherline Probe Length Switch Repeatability: Selah!

    Re-running that probe length switch test a few weeks later produced these results for three trials over the course of two days.

    Probe Repeatability - Dec 2010
    Probe Repeatability – Dec 2010

    The Z-axis differences are all relative to the first reading on the first day, so this includes whatever Z-axis changes take place without doing anything else on the mill in between the tests. I turned the power off after making the first set of measurements, so the steppers restarted with up to a plus-or-minus one full step offset; that works out to:

    (0.050 inch) * (1 rev / 200 steps) = 0.00025 in = 0.0064 mm
    

    Because EMC2 doesn’t actually know where the stepper is, any uncommanded motion will show up as an offset when the probe switch trips, which is exactly what we see here.

    Two things of interest:

    • The -0.05 mm offset between the two days could well be part of a single step offset
    • Successive probe positions during a single test don’t change by hardly anything at all

    Conclusion: a cheap mechanical switch works just fine and an even cheaper switch was still good enough.

    The dataset looks like this…

    Trial	16 Dec	16 Dec	17 Dec A	17 Dec A	17 Dec B	17 Dec B
    0	25.859616	0.000000	25.806118	-0.053498	25.810032	-0.049584
    1	25.860282	0.000666	25.808900	-0.050716	25.810696	-0.048920
    2	25.863610	0.003994	25.808214	-0.051402	25.813354	-0.046262
    3	25.863610	0.003994	25.809368	-0.050248	25.812028	-0.047588
    4	25.864276	0.004660	25.810032	-0.049584	25.812025	-0.047591
    5	25.862945	0.003329	25.812162	-0.047454	25.814018	-0.045598
    6	25.864941	0.005325	25.812690	-0.046926	25.812719	-0.046897
    7	25.864276	0.004660	25.810696	-0.048920	25.813540	-0.046076
    8	25.864276	0.004660	25.812690	-0.046926	25.814012	-0.045604
    9	25.864276	0.004660	25.813354	-0.046262	25.812690	-0.046926
    10	25.864941	0.005325	25.813477	-0.046139	25.814018	-0.045598
    

    The raw data, just for completeness…

    Probe test data - Dec 2010
    Probe test data – Dec 2010

    Selah!

    (I’m giving a talk and show-n-telling my Sherline CNC milling machine at Cabin Fever Expo right about now, so having this data readily available seemed prudent. The talk & handouts are there.)

  • Thing-O-Matic / MK5 Extruder: Insulated Heating

    Having found the thermal coefficient between the MK5 Extruder’s resistor and Thermal Core without any insulation wrapped around them, the next step is to do the same thing with insulation. In an ideal situation, the coefficient wouldn’t change: the same power flowing through the same area should produce the same effect. In actual practice, it decreases because the Core receives heat from the resistor that doesn’t pass through the interface.

    I used the left-side resistor for this test, as the clip lead dislodged the brass tube atop the other one during the previous test.

    Thermocouples locations - insulated
    Thermocouples locations – insulated

    I used cotton fabric (harvested from an old sheet in the Rag Box) rather than the delicate ceramic cloth tape normally used with the MK5 head; I figured that plenty of cloth would be at least as good, as long as I didn’t run the temperature up all the way.

    Cloth insulation - first wrap
    Cloth insulation – first wrap

    A second wrap around the outside pretty much mummified the Thermal Core. Apart from a few small gaps & cracks, the only paths for heat to get out are the Thermal Tube and the four screws. There’s no ABS filament in the extruder head and the cloth covers the nozzle on the bottom.

    Cloth insulation - final wrap
    Cloth insulation – final wrap

    I didn’t instrument the Core quite so thoroughly, having already established that the metal Core block is pretty much isothermal.

    Name Meter Location
    TOM MK5 t-couple Top of core
    T1 Fluke 52 Resistor
    T2 Fluke 52 Core edge adjacent to resistor
    CA Craftsman A Bottom of core
    CB Craftsman B not used
    MPJA MPJA meter not used

    The adjusted data looks like this:

    Power TOM T1 T2 CA Time Current
    0 19.5 19.4 19.7 20.0 1634 0.00
    1 26.8 29.2 27.7 27.2 1644 0.45
    1 31.0 32.6 32.3 31.6 1654 0.45
    1 35.3 36.2 35.1 34.4 1704 0.45
    1 36.3 37.9 37.0 36.1 1714 0.45
    1 37.4 39.1 38.1 37.2 1725 0.45
    2 44.7 48.6 46.1 46.6 1735 0.63
    2 50.0 52.5 50.3 48.3 1745 0.63
    2 52.1 54.9 52.7 51.1 1755 0.63
    2 53.2 56.3 54.3 52.2 1805 0.63
    4 67.9 74.6 69.7 66.1 1817 0.58
    4 76.3 81.9 77.4 73.8 1827 0.58
    4 80.6 85.8 81.4 77.7 1837 0.58
    4 83.7 88.0 84.0 79.9 1848 0.58
    4 84.8 89.7 85.6 81.6 1858 0.58
    4 85.8 90.7 86.7 82.7 1908 0.58
    6 101.6 109.6 102.8 97.1 1919 1.10
    6 109.0 116.3 109.8 103.8 1929 1.10
    6 112.2 120.0 113.6 107.7 1939 1.10
    6 114.3 121.7 115.6 109.4 1949 1.10
    6 115.3 122.7 116.6 110.5 1959 1.10

    The temperature differences between interesting points is:

    Power R – Edge Top – Bot Edge – Top Edge – Bot R – Amb Edge – Amb
    0 -0.3 -0.5 0.3 -0.3 0.0 0.0
    1 1.5 -0.4 0.9 0.5 9.8 8.0
    1 0.3 -0.6 1.3 0.7 13.2 12.6
    1 1.0 0.8 -0.1 0.7 16.8 15.4
    1 0.9 0.2 0.7 0.9 18.5 17.3
    1 1.0 0.2 0.7 0.9 19.7 18.4
    2 2.5 -1.9 1.4 -0.5 29.2 26.4
    2 2.3 1.7 0.3 2.0 33.2 30.6
    2 2.2 1.0 0.6 1.6 35.5 33.0
    2 2.0 1.0 1.2 2.2 36.9 34.6
    4 4.9 1.9 1.8 3.6 55.2 50.0
    4 4.5 2.5 1.0 3.6 62.5 57.7
    4 4.4 2.8 0.9 3.7 66.4 61.7
    4 4.1 3.8 0.3 4.1 68.7 64.3
    4 4.0 3.2 0.8 4.0 70.3 65.9
    4 3.9 3.1 0.9 4.0 71.3 67.0
    6 6.8 4.5 1.1 5.6 90.2 83.1
    6 6.5 5.2 0.8 6.0 96.9 90.1
    6 6.4 4.5 1.5 5.9 100.6 93.9
    6 6.2 4.9 1.3 6.2 102.3 95.9
    6 6.1 4.9 1.3 6.1 103.3 96.9

    And the corresponding thermal coefficients…

    R – Edge Top – Bot Edge – Top Edge – Bot R – Amb Edge – Amb
    1 W 1.0 0.2 0.7 0.9 19.7 18.4
    2 W 1.0 0.5 0.6 1.1 18.5 17.3
    4 W 1.0 0.8 0.2 1.0 17.8 16.8
    6 W 1.0 0.8 0.2 1.0 17.2 16.1

    The R-to-Edge coefficient is down to 1 °C/W, but that still means the resistor temperature is far too high at 30 W dissipation.

    The R-to-Ambient and Edge-to-Ambient coefficients are up much less than I expected: the insulation helps, but not a great deal. I think there’s plenty of energy going out the Thermal Tube toward the Filament Drive and Extruder Motor; as the Core insulation gets better, conduction along the Tube becomes a larger fraction of the loss.

    One last test looms: what’s the improvement with thermal compound between the resistor and the Core?

  • Thing-O-Matic / MK5 Extruder: Uninsulated Heating

    The objective here is to determine the thermal coefficient between the resistors and the Thermal Core, with no thermal compound to fill the air gap, so we know how high the resistor temperature will get.

    The Thermal Core sprouted many thermocouples:

    Name Meter Location
    TOM MK5 t-couple Front of core
    T1 Fluke 52 Resistor
    T2 Fluke 52 Core edge adjacent to resistor
    CA Craftsman A Top of core
    CB Craftsman B Bottom of core
    MPJA MPJA meter Heatsink on thermal tube
    TOM with meters
    TOM with meters

    They’re positioned as shown here, with the Bottom thermocouple to the rear out of view. The ribbed black heatsink at the very top of the picture is a few millimeters below the acrylic base of the Extruder Filament Drive block.

    Thermal test setup
    Thermal test setup

    Applying power from a bench supply produced these results, adjusted to the average value using the regression coefficients determined there. The measurements occur every ten minutes: the Core’s time constant is, mmm, languid.

    Adjusted Data
    Power TOM T1 T2 CA CB MPJA
    0 20.5 20.9 21.3 21.1 22.3 21.0
    1 27.9 30.4 28.8 28.9 29.0 22.7
    1 32.1 33.7 32.2 32.2 32.3 24.8
    1 33.2 35.6 34.1 33.9 34.0 26.5
    1 34.2 36.3 34.8 34.4 34.5 27.0
    2 41.6 45.4 42.3 41.6 41.2 29.7
    2 44.7 48.2 45.1 44.4 44.5 31.4
    2 45.8 49.1 46.0 45.5 45.0 31.9
    2 46.8 50.5 47.5 46.6 46.1 33.0
    4 59.5 67.2 60.8 59.4 58.3 36.8
    4 65.8 72.1 66.1 64.4 63.3 40.6
    4 67.9 74.3 68.6 66.6 65.5 43.3
    4 67.9 75.0 69.2 67.7 66.1 44.4
    8 81.6 92.0 83.5 81.6 79.4 49.3
    8 86.9 (*) 88.9 86.6 83.8 52.5

    The asterisk marks the spot where a clip lead shifted and dislodged the brass tube epoxied to the resistor. Of course, that’s one of the two absolutely vital temperature measurements, but so it goes. I was planning to stop at 8 W, anyway, because that’s about as much power as I wanted to apply to the resistor, as it exceeds the rated power for that temperature.

    The boldified lines mark the measurements where the Core temperature has stabilized, where I defined “stabilized” to mean “hasn’t changed all that much since the last measurement”.

    Some temperature differences between interesting locations on the Thermal Core, bearing in mind that the linear regression equations aren’t good for much below 1 °C, at best, so the tiny differences are mostly noise.

    Temperature Differences
    Power R – Edge Core T-B Edge-Bot Top-Heatsink R – Amb Edge – Amb
    0 -0.4 -1.2 -1.0 0.1 0.0 0.0
    1 1.7 -0.1 -0.2 6.2 9.5 7.4
    1 1.5 -0.1 -0.1 7.4 12.8 10.9
    1 1.4 -0.1 0.2 7.4 14.7 12.8
    1 1.4 -0.1 0.3 7.4 15.4 13.5
    2 3.1 0.5 1.1 11.9 24.5 20.9
    2 3.1 -0.1 0.6 13.1 27.3 23.8
    2 3.1 0.5 1.0 13.6 28.2 24.7
    2 3.0 0.5 1.4 13.6 29.6 26.2
    4 6.4 1.1 2.5 22.6 46.3 39.5
    4 5.9 1.1 2.8 23.8 51.2 44.8
    4 5.7 1.1 3.0 23.3 53.4 47.2
    4 5.8 1.6 3.1 23.3 54.1 47.8
    8 8.5 2.2 4.1 32.3 71.1 62.1
    8 2.8 5.1 34.0 67.5

    The Top – Heatsink column says there’s really not much temperature difference between the Core and the cute little heatsink on the Thermal Tube at the top. This is without any Core insulation, but it’s also at a a much lower Core temperature.

    And now for the heart of the matter: the thermal coefficients, which are the temperature differences divided by the applied power. These are for the boldified lines above, where the temperatures have stabilized.

    These are not, strictly speaking, correct, because the only interface where we know the applied power lies between the resistor and the Thermal Core. But we’ll do the best we can with what we have…

    Thermal coefficients
    R – Edge Core T-B Edge-Bot Top-Heatsink R – Amb Edge – Amb
    1 W 1.4 -0.1 0.3 7.4 15.4 13.5
    2 W 1.5 0.2 0.7 6.8 14.8 13.1
    4 W 1.5 0.4 0.8 5.8 13.5 12.0

    The R – Edge column shows that the resistor-to-Core thermal coefficient hovers around 1.5 °C/W, which means dissipating 30 W in the resistor raises its temperature 45 °C above the Core. With the Core stabilized at 225 °C, the resistors run at 270 °C, far beyond their absolute maximum rating of 250 °C where the rated power drops to 1 W.

    That’s why MK5 Extruder resistors fail at such a disturbing rate.

    The next two columns show the relatively small temperature differences across the the Thermal Core iself: that steel block is pretty much isothermal, even with only a single resistor providing power to one side. That’s good news, of a sort: clamping the MK5 thermocouple anywhere on the Core will provide consistent results.

    The Top – Heatsink coefficient declines as the power level rises, probably because of the hot air rising from the uninsulated Core.

    The R – Amb and Edge – Amb columns shows that air is a pretty good insulator all by itself. If you apply 30 W to the resistor and extrapolate a 10 °C/W thermal coefficient, the resistor would reach something like 300 °C above ambient, even without insulation. Obviously, that wouldn’t work for long, but those are the numbers.

    Up next: wrap some insulation around the Core…

  • Thermocouple Calibration: Linear Regression

    With the thermistors nestled all snug in their wells, I turned on the heat and recorded the temperatures. I picked currents roughly corresponding to the wattages shown, only realizing after the fact that I’d been doing the calculation for the 5 Ω Thing-O-Matic resistors, not the 6 Ω resistor I was actually using. Doesn’t matter, as the numbers depend only on the temperatures, not the wattage.

    This would be significantly easier if I had a thermocouple with a known-good calibration, but I don’t. Assuming that the real temperature lies somewhere near the average of the six measurements is the best I can do, so … onward!

    Plotting the data against the average at each measurement produces a cheerful upward-and-to-the-right graph:

    Data vs Ensemble Average
    Data vs Ensemble Average

    So the thermocouples seem reasonably consistent.

    Plotting the difference between each measurement and the average of all the measurements at that data point produces this disconcertingly jaggy result:

    Difference from Ensemble Average
    Difference from Ensemble Average

    The TOM thermocouple seems, um, different, which is odd, because the MAX6675 converts directly from thermocouple voltage to digital output with no intervening software. It’s not clear what’s going on; I don’t know if the bead was slightly out of its well or if that’s an actual calibration difference. I’ll check it later, but for now I will simply run with the measurements.

    Eliminating the TOM data from the average produces a better clustering of the remaining five readings, with the TOM being even further off. The regression lines show the least-squares fit to each set of points, which look pretty good:

    Difference from Average without TOM
    Difference from Average without TOM

    Those regression lines give the offset and slope of the best-fit line that goes from the average reading to the actual reading, but I really need an equation from the actual reading for each thermocouple to the combined average. Rather than producing half a dozen graphs, I applied the spreadsheet’s SLOPE() and INTERCEPT() functions with the average temperature as Y and the measured temperature as X.

    That produced this table:

                        TOM     MPJA  Craftsman A  Craftsman B   Fluke T1  Fluke T2
    M = slope        1.0534   0.5434       0.5551       0.5539     1.0112    1.0154
    B = intercept   -1.6073 -15.3703     -19.4186     -16.9981    -0.7421   -0.3906
    

    And then, given a reading from any of the thermocouples, converting that value to the average requires plugging the appropriate values from that table into good old

    • y = mx + b

    For example, converting the Fluke 52 T1 readings produces this table of values. The Adjusted column shows the result of that equation and the Delta Avg column gives the difference from the average temperature (not shown here) for that reading.

    Fluke T1    Adjusted   Delta Avg   Max Abs Err
    21.0        20.5        -0.4          0.78
    29.0        28.6        -0.3
    34.8        34.4        -0.3
    45.5        45.3        -0.2
    50.1        49.9         0.0
    52.0        51.8         0.2
    69.3        69.3         0.3
    76.4        76.5         0.4
    78.9        79.0         0.6
    107.9       108.4         0.2
    112.3       112.8         0.4
    117.5       118.1         0.3
    127.8       128.5        -0.2
    133.2       134.0         0.1
    136.6       137.4         0.1
    138.1       138.9         0.1
    146.4       147.3        -0.4
    155.8       156.8        -0.8
    

    The Max Avg Error (the largest value of the absolute difference from the average temperature at each point) after correction is 0.78 °C for this set. The others are less than that, with the exception of the TOM thermocouple, which differs by 1.81 °C.

    So now I can make a whole bunch of temperature readings, adjust them to the same “standard”, and be off by (generally) less than 1 °C. That’s much better than the 10 °C of the unadjusted readings and seems entirely close enough for what I need…

  • Thermocouple Calibration: Isothermal Block

    Verily it is written:

    • The man with one thermometer knoweth the temperature
    • The man with many thermometers knoweth not the temperature
    Drilling the isothermal block
    Drilling the isothermal block

    Given the five thermocouples and their meters shown there, plus the Thing-O-Matic’s thermocouple, I had six different temperatures. They’re close, but we can do better than that.

    The general idea is to put all the thermocouple beads in close proximity so they share the same temperature, record their opinions to various temperatures, then figure out an equation that adjusts their disparate opinions to reflect consensus reality.

    I cranked out an isothermal block on the Sherline mill, using EMC2’s exceedingly handy polar coordinate notation to get a nice hexagon. Touch off XYZ=0 at the middle of the block, then center-drill and drill:

    G0 Z3
    G0 @5 ^0
    G83 Z-5 R3 Q1 F100
    G0 ^60
    G83 Z-5 R3 Q1 F100
    G0 ^120
    ... etc ..
    

    For lack of anything better, 3000 rpm with a drill matching the ID of the brass tubes, plus dripping cutting fluid as needed.

    Thermocouples in block
    Thermocouples in block

    I used a 6 Ω 50 W resistor (the adult version of the resistors on the Thing-O-Matic / MK5 head) as a heat source, clamping the block to the resistors with plastic clamps to provide mechanical force and thermal isolation. Good idea, bad implementation: as you’ll see, those little red tips melt at a rather low temperature.

    The TOM thermocouple bead will fit into the empty hole.

    Next step: numbers!