Wednesday 31 July 2019

The Custom Heat Sealer

In my last Superpressure Balloons blog post, I described a basic concept of a custom heat sealer for making balloon envelopes. One that I would build based on my experience with envelopes for the TT7F flights should I have another go at it. In this blog post, I'll describe doing just that.
Due to a couple of occasions where I had to open the impulse heat sealer used to make TT7F envelopes to repair it, I had the opportunity to somewhat examine what was inside, and so the design became the basis for my thinking about the to be made custom heat sealer. Another quite useful source of information was this teardown video of a similar model by bigclivedotcom where he goes into detail about the control circuit. From what I managed to gather and measure, the input 230V went to a transformer whose primary winding had 28Ω of resistance while the secondary winding was about 0.5Ω. The heating wire connected to the secondary winding had resistance of 1.25Ω. The voltage measured across the wire during operation reached 13.1V. From this perspective the secondary winding resistance and the wire resistance were in parallel. With these numbers and a circuit simulator, I arrived at a figure of around 10.5A flowing through the wire and 138W heating it up. Additional 85W dissipated inside the transformer windings. When making the TT7F envelopes, these power figures were applied for the maximum duration of roughly 3.4s to create a weld between two sheets of a 50 micron material.
One of the main requirements for the new heat sealer was a wider heating wire compared to a 4mm element in the impulse heat sealer. I managed to get a hold of a nichrome wire with a cross-section of 10mm by roughly 0.125mm. This meant that the power supply would have to be scaled for a wire with a lower resistance. Initially though, I made an inaccurate measurement which put the wire's resistance to around 0.65Ω. I then went on looking for a suitable power supply with this figure in mind. I browsed through autotransformers, as the adjustability of their output would come in handy, also classical transformers with adequate power ratings, but all these options were quite pricey. Eventually, I came across 12V LED power supplies, specifically a 250W one from the images above which wouldn't annihilate the budget. With the wrong wire resistance figure in mind, the numbers were adding up nicely, so I bought one. Later, realizing my mistake after remeasuring the wire with a more accurate 4-wire sensing technique more suitable for low resistances such as this, I had a problem. The new figure was only 0.274Ω which meant that the power supply would be out of its depth if I connected the wire directly across its terminals. I solved it by adding a 100W 0.220Ω resistor in series with the wire. The setup is thus not very efficient, but it brought the expected current draw back down to within the power supply's ratings.

Material Dimensions [mm] R [Ω] P [W] t [s] ΔT [°C]
Kanthal 320 x 4 x 0.125 1.244 138 3.4 898
Nichrome 368 x 10 x 0.125 0.274 162 9.7 902

Comparing the two heat sealer designs, the impulse and the custom, I arrived at roughly 3 times longer expected sealing duration for the one I was building. The fact that the narrower wire from the bought impulse sealer was magnetic suggested it wasn't made of nichrome but rather Kanthal. $$\Delta T=\frac{P \cdot t}{m \cdot Cp}$$ As the first approximation, my reasoning was to look at the temperature the Kanthal wire would achieve given the known input power and sealing duration (ignoring any heat loss for now). Then seeing how long it would take the wider wire and the new power supply to achieve the same temperature. The results are in the table above followed by the equation used in the calculation. The density of Kanthal and nichrome is 7100kg/m3 and 8400kg/m3, respectively. The specific heat capacity is 460J/kgK and 450J/kgK.
These charts depict a result of a time domain model of the nichrome wire heated up by the planned power supply. In the model, the wire is suspended horizontally in air. A detailed description of the calculations can be found in this video. Unlike in the video, the heat transfer coefficient of convection was arrived at by following the Wikipedia equation for horizontal plates and calculating the Prandtl, Grashof and Rayleight numbers.
Although the previous simulation suggests the wire should be able to achieve temperatures significantly above the range necessary to melt and join the surface polyethylene layers of the balloon films, it considers the wire hovering in air losing heat through convection and radiation, while in an actual heat sealer the heat is transferred mostly conductively through the surrounding materials. Above is a cross-sectional schematic of the material layers planned for the custom heat sealer. The choice of the layers was partly based on materials used in commercial heat sealers and partly reflected materials that I could easily work with. The Teflon tape and silicone profile provide non-stick surfaces for the partially molten plastic film. The chunk of a fire resistant and little thermally conductive (0.244W/mK) cement-bonded particleboard serves to thermally isolate the wire from the wooden frame of the sealer. The silicone profile and the aluminium piece then represent a pressure bar used to press on the film sheets when being sealed.
Material ρ [kg/m3] k [W/mK] Cp [J/kgK]
Film 972 0.302 2000
Teflon tape 1900 0.148 936
Silicone profile 1160 0.200 1255
Cement-bonded particleboard 1350 0.244 1880

The image above shows an output of a heat transfer model written in Python where I tried to capture the temperature increase in the film and parts of the heat sealer as the heat spreads from the wire. It is a one-dimensional model based on the Heat equation, and the script can be found on Github. The wire is situated at point '0.0' on the Y-axis. The simulation was stopped after 11 seconds of modelled time, at which point the temperature of the wire was 182.7°C and the temperature at the touching point of the two film sheets was at the top of the film's weldability range (125-160°C) - 157.2°C. The energy input to the wire was modelled as the power dissipated in the element of a 12V source across a load of 0.274Ω + 0.220Ω multiplied by a preset time increment. Since the film temperature reaches its target before the heat penetrates deeper into the surrounding materials, only portions of the silicone profile and cement-bonded particleboard from the schematic were modelled. $$T_{x}^{t+1}= (T_{x+1}^{t} + T_{x-1}^{t} - 2T_{x}^{t}) \frac{\alpha \Delta t}{\Delta x^{2}} + T_{x}^{t}$$ $$\alpha = \frac{\kappa}{\rho C_{p}}$$ These are the equations used to calculate the individual data points with tiny increments of $x$ ($\Delta x$ = 0.00002m) and $t$ ($\Delta t$ = 0.0005s). In general, $\frac{\alpha \Delta t}{\Delta x^{2}}$ has to be less than 0.5 to avoid oscillation of the result. Especially when modelling highly thermally conductive materials, $\Delta t$ has to be really small, or $\Delta x$ large. A derivation of a two-dimensional solution can be found in Heat Sealing Fundamentals, Testing, and Numerical Modeling. This document also contains a heat transfer model of a heat sealer, however, one with a fixed boundary condition without internal heat generation in the wire, so the overall calculation is a little different. Nevertheless, the authors found their model to predict temperatures off by 40% on average compared to actually measured data which is a similar finding to the error of my model as will be seen later in actual data from the sealers operation. One of the possible reasons that could explain the error is that the model assumes zero contact resistance between the adjacent layers. In reality, these boundaries aren't perfect and contribute additional thermal resistance which increases the time required to reach target temperature. Also since the model is only one-dimensional, it doesn't take into account that some portion of the heat will spread sideways.
For the frame of the sealer, I chose to use wood. I had the tools and it is relatively easy to work with in home environment. The main desk is from spruce wood (490x320x18mm) while the supports were made from a beech doorsill (20mm thick). Sanding the desk with a 60 grit sandpaper first and then with a 280 grit one made the surface very smooth to touch.
The slot in the wooden frame was fitted with a piece of the cement-bonded particleboard (20mm) to support the nichrome wire. The particleboard was overlaid with a strip of the Teflon tape so its rough surface doesn't damage the wire.
Useful length of the 10mm wide nichrome wire is about 350mm while its total length is 391mm. It is anchored with two M4 bolts in the beech desk. Since the wire changes length by a few millimeters as its temperature varies between idle and sealing states, one side is suspended on a spring to allow for this variation. The leads are fastened to the wire with a couple of fork terminals.
Since some balloon shapes require long straight welds, the wire terminals were covered with three low profile plastic cases (31x45x20mm), so they don't obstruct manipulation with the film too much. The cases were glued to 8mm tall spacers which fit onto screw-threads in the beech doorsill visible in the previous images.
On top, the wire was covered by another strip of the Teflon tape. This is the surface that comes in touch with the plastic film during sealing. The 30mm wide tape is rated to 260°C according to the Ebay seller. Bottom side of the tape is coated with a silicone adhesive. The tape is said to be 0.18mm thick, but I am not sure whether that is a thickness of Teflon only or a combined thickness of Teflon and adhesive.
These images show the 220mΩ 100W power resistor (HSC100) that had to be added in series with the nichrome wire to decrease the maximum current. For full functionality, it required a heat sink. The datasheet recommended quite a sizable one, so instead I decided to add a fan to a more reasonably sized heat sink. It is 80x78x35mm and the 12V (1W) fan (55.77m3/h) fits right onto it. The fan is connected in parallel to the main circuit and has its own switch.
The heat sealer is controlled via three push-buttons and a small OLED display which shows the selected sealing duration, the power supply's voltage (switches to voltage across the nichrome wire when sealing), the current flowing through the wire, and the total energy dissipated in the wire. A problem I had with the commercial heat sealer was inconsistency in quality of the welds it produced as the sealer got hotter. For this reason, I wanted some sort of a feedback on individual welds from the sealer. Ideally, it would be the temperature of the wire, but affordable sensors don't have fast enough response to measure the relatively short impulses the sealer produces. So instead I opted for measurements of voltage in front of the wire and right after it, and of current flowing through the main branch. The switching and timing of the active cycle is in control of an Arduino ProMini via a low on-resistance, high drain current N-channel MOSFET (a heat sink to dissipate up to 2W is necessary). The switch on the controller board is there to isolate it from the rest of the circuit and avoid reverse loading the voltage regulator when reprogramming the Arduino.
This is the schematic of the whole setup aside from the fan. The nichrome wire and the Arduino circuit are connected in parallel to the 12V power supply. The Arduino branch is supplied through a 5V LDO voltage regulator, the Arduino itself directly through its VCC pin. Two voltage dividers (1% tolerant resistors) bring the wire voltages down to the Arduino's range. A 30A version of an ACS712 module is in series with the wire and the power resistor, and its output is connected to the Arduino's analog input to measure the current. An LED for signaling current flowing through the high current branch is connected in parallel with the wire. The MOSFET's gate is through a current limiting resistor connected to the Arduino's digital pin 13 and also pulled to ground via another resistor to ensure the transistor switches off when the pin goes LOW.
The controller and the power resistor are far enough from the working area to provide some space for manipulation with the plastic films. Typically, one hand presses onto the films while the other one is free to push the rightmost push-button to start the sealing impulse. The display shows the elapsed time during the pulse and signals a default cooldown period once it is over. The firmware also doesn't allow starting another impulse before the end of the cooldown.
Since the current flowing through the heat sealer was expected to be up to around 25A, a stranded copper wire 2.3mm in diameter (4.8mm outer diameter) in PVC insulation was chosen to carry the current. The PCB tracks were also made with excess amounts of solder to decrease their resistance. In terms of current carrying capabilities, the ACS712 module's PCB is the bottleneck of the high current branch of the circuit. Upon a closer look, the traces leading to the integrated circuit are 5mm wide, they are laid out on both sides of the PCB and connected by vias. Assuming these dimensions and 1 ounce copper thickness, their temperature could increase by about 47°C when 25A flow through them.
As mentioned earlier, the heat sealer is supplied by an LED driver Qoltec IP20. Its voltage output can be slightly adjusted between 10.89V and 15.15V (open circuit) via a potentiometer, and it is rated at 250W. In practice, the nichrome wire and power resistor load dropped the maximum voltage to 13.5V at which point the power supply provided around 25.5A (344W).
Proper contact between the film sheets and the wire to facilitate the heat transfer is ensured by exerting pressure on top of the film. To do this in the custom heat sealer, a pressure bar from an aluminium and a silicone profiles was constructed. The aluminium piece is 20x20mm and 345mm in length with anodized surface. The silicone strip is the same length and 20x8mm in cross-section. The hardness of the silicone is 60Sh.A, while the maximum operating temperature for silicone rubber is typically quoted between 200°C to 250°C. To each other, they are joined with a silicone sealant. The surfaces were cleaned with isopropyl alcohol, and the anodized coating on the aluminium profile was sanded prior to applying the sealant.
This then is the finished heat sealer. The light construction and long cables allow for some mobility around a larger balloon envelope. The power supply could possibly be mounted directly on the heat sealer, but I thought it would be easier to handle and fiddle around with just the desk while keeping the 230V cord further away.
Aside from displaying information on the OLED display, an external Bluetooth module can be connected to the Arduino to log data periodically output by the heat sealer. The firmware provides the two measured voltages, the measured current, and calculated total energy every 20ms.
These charts are made of data output by the heat sealer during 10s of sealing at an input of 12.5V from the power supply. The progression of the two voltages and the current come from actual measurements, while the resistance, temperature, power and energy curves were calculated from the received data. The power supply's output typically drops by a half a volt when current starts flowing through the high current branch. The current and total power going to the sealer typically decrease over duration of an impulse as the wire resistance increases with its temperature. Because of this the power dissipating in just the wire stays more or less flat. The temperature calculation was based on a reference resistance of 0.280Ω at 20°C (a new value from measurements by the heat sealer itself) and the temperature coefficient of resistance of nichrome $\alpha$ = 0.0004. Note that the wire temperature/resistance can only be calculated when the heat sealer is active and current is flowing through the wire.
This chart shows the difference in the wire's temperature between a situation where the pressure bar is pressed against it and a situation where it is not. With one side of the wire exposed to air, the heat doesn't spread away from the wire as fast as it does when the silicone profile is adjacent to it. That leads to the wire heating up noticeably more.
As the first test, the heat sealer was input 12.5V, and a series of welds was made with increasing seal durations. The surface temperature of the sealer was allowed to cool down below 40°C between each go (30-60°C calculated wire temperature). The material being sealed was two sheets of a 40μm PE/PA/EVOH/PA/PE film. These images show the resulting welds made with 10, 15, 20 and 30 second seal durations. Polarized light was shone through the plastic films, and the pictures were taken through a polarization filter to highlight internal deformations. After reviewing the whole series of welds, sharp color transitions at the edges typically indicated a properly made weld, while vague color transitions suggested some degree of loosening when put under tension was expected.
This, in the image on the left, is the 20s weld under polarized light after it was forcefully stretched at both sides. No loosening of the joined sheets at the edges of the weld was observed. On the other hand, the image on the right shows the 10s weld loosened at the edges to a width of just 6mm. At input voltage of 12.5V (12V across the wire and 0.220Ω resistor when current flows), the welds showed no loosening of the edges at seal durations of 17s and above. That corresponds to total energies of 2290Ws and more put into the wire, and the wire reaching calculated temperatures of 305°C and above.
The chart on the left shows that the progression of calculated temperature was consistent between the individual welds. Also, no signs of approaching a levelled state were observed under 30s at this input power. The chart on the right then documents three consecutive 10s welds made right after power up with the heat sealer at room temperature. It is apparent that during the first weld, the temperature is noticeably lower, while the second and third welds follow a typical temperature curve. When the finished welds were put under tension, the first completely opened with little force, while the second and third both behaved as described earlier. So at least one warm-up weld should be made when starting to work with a cold machine.
A note about the temperature calculation. There was no documentation regarding the wire, nor any information about the manufacturer. I concluded it was made of nichrome based on its resistance and its non-magnetic behavior. There, however, is a number of figures for nichrome's temperature coefficient of resistivity that can be found on the Internet. The value I used, 0.0004, was the most frequent one, and also produced the most reasonable results. Particularly, when comparing the initial temperatures of successive welds, and when measuring the surface temperature of the wire with a thermocouple in between individual welds. The temperature here is only the result of a calculation which is useful in comparing welds made with different settings, not an accurate measure of temperature in absolute terms.
Vin [V] Tprev [°C] tcd [s] Tmin [°C] Tmax [°C] E [Ws] Weld
11.0 243 90 44 262 1821 few mm
11.5 262 150 55 274 1990 few mm
12.0 274 183 56 286 2133 holds
12.5 286 186 48 316 2344 few mm
13.0 316 215 56 333 2530 holds
13.5 333 240 71 377 2743 holds
14.0 377 242 62 379 2943 holds

In the next test, the sealing duration was fixed to 17 seconds, and the input voltage was varied in a half a volt increments. Increasing voltage forces more current through the nichrome wire, so it reaches higher temperatures in the same period of time. As before, the wire was allowed to cool down to calculated temperatures of 40-70°C after each go. The table above contains the details for each weld in the series such as information about the temperature from which the wire was cooling down and the time it took, then the temperature at which it started the next sealing cycle and the maximum temperature it reached. The last two columns then contain the total energy that dissipated in the wire, and whether the resulting weld held or loosened after being forcefully stretched.
Following up on the previous test, I wanted to find out what would successive sealing cycles with minimum cooldown periods in-between do to the temperature of the wire and consequently the quality of the welds. There were 8 sealing cycles (13.0V input, 15s duration) with 32 seconds on average of cooling down between cycles (out of that, the pressure bar was still exerting pressure on the film for the first 10s). As can be seen in the chart, the minimum temperatures within a cycle eventually rose quite high with such a short cooldown period. I noticed that the more expensive commercial heat sealers use metal structures and isolate the wire with only a layer of the Teflon tape. Such design helps with dissipating heat from the wire during the cooldown periods. My thoughts, on the other hand, when selecting the materials, were more about achieving sufficient temperature in short enough time with potentially not that powerful source.
These images show the first and the last weld as they were made and then after they were forcefully tensed. The first weld shows some loosening of the sheets of film around the edges, while the polarized light shone through the eighth weld reveals some signs of internal melting (?) within the film. The states of welds 2nd through 7th were basically a gradual transition between the two extremes.
tp [s] Tprev [°C] tcd [s] Tmin [°C] Tmax [°C] E [Ws] Weld
0 321 180 79 348 2560 holds
5 348 180 64 355 2547 holds
10 355 180 64 348 2548 holds
15 348 180 72 348 2553 holds
20 348 180 64 348 2538 holds
25 348 180 72 355 2535 holds
30 355 180 72 348 2535 holds
60 348 180 86 364 2532 holds

Another variable is the duration for which the film remains pressed by the pressure bar after the end of an impulse so the molten weld can cool down and solidify. In this test, eight welds were made (13.0V input, 17s impulse duration) each with longer press duration. The images above show the 0s, 20s and 60s cases. There seems to be some difference in the welds as the press duration prolongs visible under the polarized light, but no observable difference in weld strength. The welds probably cool down slower when pressed for extended periods of time, because the thick silicone profile and relatively small piece of aluminium of the pressure bar don't dissipate heat very quickly.

A number of follow-up tests were done with varying input voltages, sealing durations, pressing durations and cooldown durations to come up with specific parameters that would maintain weld quality over the course of tens of welds in series. The current approach is to use an input of 13.0V, sealing duration of 10s, pressing duration of 10s and a cooldown period of 60s between impulses. There are three warm-up cycles with aforementioned parameters prior to doing actual welds if the heat sealer starts from cold. It is possible that these parameters will evolve as more data from practice is available.
The calculated wire temperature (resistance) revealed itself to be a useful measure for comparing welds made with different input voltages and impulse durations. So I eventually added information about the wire temperature to the display and to the periodic data output. A timer showing the time elapsed since the last impulse ended was also added to the display to help time the cooldown periods. The image shows the state of the display 1 minute and 21 seconds after the heat sealer finished a 17 seconds long run, dissipating 2133Ws of energy in the wire which reached a calculated temperature of 286°C. The voltage and current figures update continually, so they show the actual values in that moment.
These images show the first test envelope made with the sealer. It took 24 welds in about a half an hour to seal the whole circumference. A significant time savings compared to the TT7F balloons on a same sized envelope (1.33m in diameter, 4.18m in circumference).
This chart documents how the wire temperature evolved over the course of working on the test envelope. The heat sealing parameters described earlier maintained both the temperature at the beginning of a weld and at the end of a weld relatively stable. It can also be seen how the three warm-up welds brought the temperature up to the desired levels.
And here is the test envelope undergoing an inside volume measurement with the help of the pre-stretching rig from a previous blog post. The measured volume for this envelope prior to stretching was 390 liters when filled and still at 0Pa inside pressure, and 439 liters at an inside pressure of 1300Pa.

The latest firmware for the controller can be found in a Github repository. It's a single .ino file for the Arduino IDE and a font library for the display.