This project is part of an attempt to build low cost microreactors for molecular diagnostics and DNA manipulations for synthetic biology. Testing of early prototypes indicated that 3D printed housings could be used to channel heated/cooled air for forced convection of reaction tubes.
Test rig: https://www.hackster.io/jim-haseloff/programmable-test-rig-d7df62
Mk I reactor: https://www.hackster.io/jim-haseloff/airloop-i-5d2a72
Mk II reactor: https://www.hackster.io/jim-haseloff/radial-airflow-incubator-2ce5e0
See https://www.biomaker.org/covid19 for an overview.
The next steps were to:
(i) Test double walled and thicker infilled walls for better heat insulation and lower conductivity. (The Mk II reactor used a vacuum insulated metal jacket, which greatly improved insulation and temperature stability - but added thermal intertia, with slow temperature shifts.
(ii) The Mk II reactor used a PTC heater attached to a Thermaltake Engine 27 kinetic heatsink for air heating and recirculation. The kinetic heatsink is a metal device designed to both generate a radial air flow and efficiently transfer heat from a source to this, exploiting recent innovations at Sandia National Labs. However there are active heatsinks that also generate radial airflows by more conventional means, and are much cheaper - so these should be tested!
(iii) The first prototype reactors used PTC heaters to heat the reactors to 37-65º C. I plan to employ and test thermoelectric heater/coolers to extend the use of the reactors. Here, two heatsinks are required - one each for the cool and hot sides of the Peltier TEC device. One will be required for air heating/cooling, and the other as a sink - so an asymmetric arrangement seems worth aiming for - with low mass on the air side, and a high mass, effective thermal sink on the other.
Design of 3D printed vessel1. Heating vessel for testing
I designed a 3D printed vessel to test the efficiency of different active heat sinks or fan-heatsink combinations. The vessel (shown below) is a similar size and shape tot the Mk II radial airflow reactor - with the following differences. (a) All walls were increased in thickness to 10mm. (b) The vertical walls of the chamber have a continuous internal air gap, while the top and bottom walls have a triangulated infill pattern. (c) The chamber halves fit together with close tolerance (0.25mm). The only gaps in the shell are a 6mm diameter aperture to insert a DS18B20 digital temperature sensor in the upper part of the vessel, and a 20mm diameter hole in the base for cable access. (d) I've also printed a pedestal to hold a 12V 120ºC PTC heater, to be attached temporarily to the heatsink under test with adhesive heat transfer tape (COCOCITY Double Side Adhesive Thermal Conductive Tape). A digital thermal sensor is also attached to the PTC heater. In addition, the base of the printed vessel contains inserts to support the type of manifold and tube support used in the MK II radial airflow reactor.2. Customised test rig
The custom test rig was programmed to power the PTC heater and heatsink fans, using a high current (10A) 12V supply and MOSFET switches and to read and plot temperatures from the sensors attached to the heater and sample space. This was based on reconfiguring a programmable test-rig documented at: https://www.hackster.io/jim-haseloff/programmable-test-rig-d7df62
A custom display was designed for the testing scheme, and control software was programmed in XOD. The screen interface has laid out using the free 4D Systems Workshop software (running under the Parallels Windows 10 emulator on a Mac). The programmable test rig uses a 4D Systems 7" touchscreen to provide a full graphical user interface. The initial design has configured with the idea of running the heating devices through a series of stages: (i) pre-run with the fan on, to equilibrate the test vessel. (ii) trigger heating from ambient temperature to a chosen set point, and record the time taken to reach the set point, (iii) allow the temperature to be held at the setpoint for an arbitrary time, to examine thermal stability, and (iv) continued fan cooling after switching off the test.
The touchscreen was programmed to display:1. On-off toggle switch.2. Rotary switch to allow choice of 6 different setpoint temperatures, 30ºC, 37ºC, 42ºC, 50ºC, 60ºC and 65ºC - this was positioned next to a 2-digit display.3. Four large "LED" indicators were positioned to show the 4 stages of the test (pre-run: orange; heating-test: red, steady-state: green, cool-down: orange).4. Three 4-digit displays to provide readouts for 3x DS18B20 temperature sensors, one attached to the heatsink, one positioned adjacent to the sample space, and one showing room temperature.5. Two small "LED" indicators to show powering of the fan and heater, respectively.6. Two 2-digit displays to record the time in minutes:seconds taken for the sample to reach the setpoint temperature.7. A 4-digit display to provide a rolling readout for the rate of temperature change in the sample space.8. An oscilloscope-like display to record the temperature dynamics - capable of capturing outputs from the three temperature sensors, and a record of heater on-off switching.
The entire interface was prototyped using the ViSi-Genie visual programming tools in 4D Systems Workshop4 (https://4dsystems.com.au/workshop4). There is full support for controlling the screen widgets from XOD via two libraries: gabbapeople/4d-ulcd/and bradzilla84/visi-genie-extra-library. The entire process of building and controlling the touchscreen screen interface can be done code-free, using graphical tools. This allows fast prototyping, easy customisation and is highly enabling for "garden-variety" scientists with little or no formal training in engineering or computer science.3. Custom XOD code
The various sections of XOD code are shown below - these correspond to: (i) initialising the serial connection to the 4D Systems touchscreen and setting up the clocks for 1 second and 100 millisecond timing. (ii) Reading and decoding the rotary switch widget, and setting the approriate setpoint temperature. (iii) Establishing a series of four stage in the test, based on switches, timing and a conditional signal (reaching the setpoint temperature), (iv) Controlling the powering of the fan, via digital control of a MOSFET switch. (v) Using temperature sensor and setpoint data to regulate heating, MOSFET switching of the high current heating element, detect when the heated vessel reaches the assigned setpoint, capture the time taken to reach this temperature, and display rates of heating.
In the first tests - vessels with the existing Thermaltake Engine 27 (described at: https://www.hackster.io/jim-haseloff/radial-airflow-incubator-2ce5e0), were heated to 60º, and IR surface emissions were visualised during heating and at equilibrium. The aim is to check the relative efficiency of vessel jackets composed of double-walled thermoplastic vs. vacuum-insulated stainless steel.
There was a marked difference between the vacuum insulated steel and 3D printed jackets, even with the inclusion of centimetre thick walls with clear air gaps on the side walls or infill in the top surface. The thermoplastic jackets showed temperatures up to 20ºC higher than the vacuum insulated version, which each held internal temperatures at 60ºC. Further the infilled walls had higher surface temperatures than those with air gaps - but the different geometries (top vs. side) may have played some role in this. Neither performed well.5. Testing heat distribution with different heatsinks
The steel jacketed vessel was used to test different heatsinks for cost vs. efficiency. Specialised mounting hardware was removed from the heatsinks if necessary, and 12V, 120ºC (35x21mm) Keenso PTC heater (part number Keenso8enck0ouft-02) was mounted on the base of the heartsink using a piece of COCOCITY double-side adhesive thermal conductive tape cut from a 20mm x 25m roll. This allows the easy application of a 02mm layer of heat conductive compound that also acts as an effective adhesive. After the end of a short experiment, the heater and heatsink can be pulled apart and the compound removed, before the next trial. The mounting procedure is outlined below:
For each test, the PTC heater, fan and two DS18B20 sensors were wired up the the custom test rig described above. The heater and fan were powered up in sequence, and measure the time taken to heat up the sample space to 60ºç was measured. The vessel was then held at constant temperature, and flucuations in the temperature of the heater and sample air were onbserved. These were intended to provide an indication of the heatsinks' capacity for storing heat, and their efficiency to tranfer heat to the air in the vessel.6. Choice of heatsinks
The choice of heatsinks was dictated by several factors. All needed to be relatively compact, compatible with the 80mm long axis dimension of the 8-tube sample strips, and low profile to keep the volume of the reactor low.
The selections fell into three broad categories. (i) Compact but higher (metal) mass heat sinks with built-in fans for radial or downwards air flow. Arguably, these were most similar to the Thermaltake Engine 27 "control" heatsink, and were chosen for comparison, and because a compact heatsink will be necessary for experiments with Peltier heater/cooler elements.(ii) Lighter weight devices with arrays of fins, that rely on more on air flow for cooling. These may be more useful for more rapid temperature changes, where the heatsinks contribute less thermal inertia. A number of these have the added advantage of much lower cost.(iii) Simple low mass heatsinks designed for chip cooling, either with integrated fan or used with accessory fan, which can be integrated into a custom 3D printed manifold - which allows use of larger diameter fans and channelled airflow.Group 17. Thermaltake Engine 27 (£52)
Kinetic heatsink, with design based on the Sandia Labs prototype, 27mm profile version. Weighs 399g and has radial outward air flow. Unlike traditional CPU coolers, the Engine 27 features a metallic structure and copper base that provides more fortified and efficient thermal paths for CPU. The metallic fan is designed to directly pull heat from the CPU. The metallic fan base is designed with small radial gaps that allow heat to be transferred rapidly to the rotating metallic fan. The metallic fan blades generate cooling airflow, and heat is transferred to the air flow both from the rotating fan and the stationary fan base.
Took 16 min, 22 sec to heat to 60ºC. At the setpoint temperature, heating cycles were 80 sec on, and 160 sec off, with a fluctuation of ~22ºC
Kinetic heatsink, with design based on the Sandia Labs prototype, 17mm low profile version of the Engine 27. Weighs 204g and also has radial outward air flow. (Not available yet)
Monolithic copper heatsink with low profile 60mm axial fan (ball bearings) mounted on top. Standard mounting, so can be replaced. Weighs 199g. Air flow rate is 13.48 CFM, thermal resistance 0.554 ºC/W, 12V, 2.64 W. Large flat surface under the heatsink, for mounting TEC, etc. The fins of the copper heatsink arew arranged so that airflow from the fan is directed downwards and outwards in bilateral, rather than radial, directions.
Vessel heated to 60ºC in 7 min, 13 sec. At the setpoint temperature, heating cycles were 50 sec on and 170 sec off, with a block temperature fluctuation of ~18ºC.
Monolithic aluminium block heatsink with fins, weighs 222g, integrated 60mm ball-bearing fan, 2-way outward airflow. Good base for direct mounting of 40x40mm TEC element. Cheap.
Reached 60ºC after 27 min, 1 sec - but vessel wasn't fully closed due to the small footprint of the heatsink. Bilateral distribution of exhaust due to arrangement of fins on the heatsink. At the setpoint temperature, heating cycles were 180 sec on and 60 sec off, with a block temperature fluctuation of ~22ºC.
...and with tighter fitting vessel, with heater element enclosed: 13 min, 30 sec to reach 60º. At the setpoint temperature, heating cycles were 70 sec on and 200 sec off, with a block temperature fluctuation of ~22ºC. (Duplicate runs shown, to give an indication of reproducibility).
Heatsink weighs 249g, with height of 28mm, built-in sintered heat pipe and copper baseplate for heat transfer to the aluminium fins. Integrated 75mm fan with ball-bearing and PWM control. 2-way directional outward flow from the fan (up/down on the image below). Good base for direct mounting of 40x40mm TEC element.
The vessel didn't reach 60ºC with this heatsink and fan combination. This may be partly due to the size of the large heatsink, which prevented clean sealing of the vessel, and caused some leakage of hot air. Also, the design of the heatsink resulted in two-way (rather than radial) exhaust from the heatsink, and may have interfered with air flow. At the setpoint temperature, the difference between heatsink (81ºC) and air in the vessel (58ºC) was ~23ºC
Lighter weight aluminium block design with radial fins, weighs 145g, radial/downwards air flow.
Took 20 min, 12 sec to heat to 60ºC. At the setpoint temperature, heating cycles were 135 sec on, and 50 sec off, with a fluctuation of ~16ºC
Low profile, 23mm high, 80mm fan for efficient cooling and high air flow. The heatsink weighs 181g and base a copper base attached to an array of lightweight aluminium fins.
Took 13 min, 12 sec to heat to 60ºC. At the setpoint temperature, heating cycles were 110 sec on, and 90 sec off, with a fluctuation of ~27ºC
Another lightweight design (177g) with relatively large fan (92mm) and thin aluminium fins. Claims high thermal conductivity due to special extrusion process. Has integrated shroud for 2-way airflow. Will not fit into existing reactor vessel and needs customised housing.
Lightweight heatsink (145g) with airflow directed downward through aluminium fins by 80mm fan with hydraulic bearing. Fan looks flimsy. Up to 32 CFM. Low cost.
At the setpoint temperature, heating cycles were 120 sec on and 110 sec off, with a block temperature fluctuation of ~25ºC.
259g heatsink with 90 mm fan, 100mm blue anodised aluminium fins. Low cost. Metal jacket doesn't fit over heatsink assembly
182g heatsink with 92mm fan and array of lightweight aluminium fins. Cheap. Metal jacket doesn't fit over heatsink assembly
69g Anodised aluminium heatsink with space for direct mounting of a 40x40mm axial fan. Base of heatsink is 40x38mm, suitable for TEC mounting.
V. lightweight 33g heatsink with 38mm fan. Flimsy-looking, small capacity fan.
Took 22 min, 4 sec to heat to 60ºC. At the setpoint temperature, heating cycles were 175 sec on, and 60 sec off, with a fluctuation of ~20ºC
40mm x 40mm x 20mm deep fins, black anodised aluminium heatsink. Requires additional fan.
Extracted curves of temperature measurements, from vessels held at 60ºC. The white traces correspond to air temperatures near the sample space. Red trace is room temperature, outside the vessel. The yellow trace corresponds to software contolled powering on and off of the heater. The software control is simple - the heater is switched on when the sample sensor drops below 60ºC, and switched off when the sample sensor rises above 60ºC. The blue trace shows the temperature of a sensor attached directly to the heater element. the X-axis graticle is spaced at 20 sec per division, and the Y-axis graticle is spaced at 10ºC per division. Hysterisis is seen with this simple control system.
The curves were obtained from a vacuum-insulated vessel containing the same 120ºC PTC heater. The different size heatsinks caused a few issues when the steel insulating jacket sometimes didn't form a seal over the heatsink (e.g. the large GELID heatsink), or the heatsink didn't fully cover the base (e.g. the StarTech 60x65mm heatsink) and allowed some air to be blown from the vessel. The properties of the different heatsinks as heat transfer devices were evaluated by running the vessels to reach a setpoint temperature of 60ºC. Given that the testing involved the same heating element, same thermal conducting tape to connect with the heatsinks, and same vessel (with some allowances for poor fit in some instances) - the initial heating of the vessel to 60º was determined by: (i) the rate of heat transfer to the heatsink, (ii) heat transfer to air in the vessel, and (iii) air recirculation within the vessel. Plastic and metal in the vessel itself provide thermal intertia and slow the initial climb to the setpoint temperature.
At the setpoint temperature, the heater element is turned on and off as the temperature sensor placed near the sample space goes above and below 60ºC. Hysterisis produces temperature oscillations, and these are most pronounced in the temperature of the heating element. The cycles are shown aligned for the different heatsinks - where:
(i) As the sample sensor drops below 60ºC, the heater is switched on, and remains on until the sample sensor reads over 60ºC. The length of time that the heater is switched on is influenced by several processes: (i) the heating of the heatsink mass itself, (ii) creation of a heat differential and transmission to the air inside the vessel via fan-driven forced convection, and (iii) air recirculation transfers heat to the vessel wall and sample sensor. (The SODIAL heatsink, with its small fan has the longest heating period. The Group 2 heatsinks, with large fans and low-mass fins produce higher differentials between heating elements and sample temperatures.) The StarTech copper heatsink showed the best performance, heating the vessel to 60ºC in half the time of its closet rivals - with the high thermal conductivity of copper and use of a strong 60mm air fan playing a role in this. Fast times to reach the initial setpoint temperature corresponded to short heating times after the thermal systems started oscillating around the setpoint.
(ii) As the sample sensor rises above 60ºC, the heater element switches off, and the heatsink, vessel and sensor start to cool. Higher mass heatsinks (e.g. Thermaltake Engine 27, StarTech 60x10mm copper and StarTech 60x65mm heatsinks) provide longer cooling periods, while air leaks due to a loose-fitting jacket cause more rapid cooling.
1. The StarTech 60x10mm copper heatsink was the outstanding performer, with the fastest heating time and at reasonable cost (£13). The heatsink assembly is also very compact.
2. The StarTech 60x65mm aluminium heatsink was even cheaper, available locally for £5, and also performed well.
3. Both StarTech heatsinks provide large flat surfaces to mount a resistive heater or thermo-electric cooler.
4. Both StarTech heatsinks allow easy replacement or upgrading of their 60mm fans, which have standard mounts. This is potentially useful for reengineering the airflow, or dealing with fan failures when experiemnting with higher vessel temperatures (e.g. it would be useful to run at 95ºC for short periods of time in biological experiments).
5. Both StarTech heatsinks are designed with fins that allow bilateral, rather than radial distribution of the heated exhaust. This opens a different approach to vessel design - with a vertical loop geometry.