A consulting project needed a way to play around with different heat seal patterns for a soft, fluid heat exchanger made of a polyolefin film.
The conventional way to do this would be to machine a heat seal tool out of steel, heat it, and then adjust stamping pressure, temperature, and time to achieve the desired seal. Whether done as a DIY project, or sent to impulse heat sealing tool manufacturer, the iterative cycle time would be far too long.
It would probably work fine in this case to simply waterjet a stamp from steel. In theory, one could even 3D-print a stamp from a temperature-tolerant material and coat it with a conductive material for resistive heating. Either of those options are well-suited for creating a large number of duplicate heat seals, but are still far too slow if you want to try, say, 10 different patterns in a single afternoon.
A CNC heat sealer makes sense here. A fine, heated tip on the end of a motion gantry would allow for arbitrary patterns to be drawn as heat seals.
Since the requirements of this heat seal project were simple (3mm wide seal, in a forgiving material) I had the idea to repurpose an old filament-based 3D printer into a CNC heat sealer.
The basic premise is as follows: We already have a positioning system capable of moving at different speeds (the printer gantry) and a closed-loop heating device (the printer hot-end). Therefore we only need to do three things:
1 - Replace the heated nozzle with a heated indenter
2 - Add a mechanically compliant material to the print bed so that we are not crashing the gantry in the Z axis when applying heat-seal force
3 - Create a G-code program to turn the desired heat seal pattern into reality
I machined a few different indenters to replace the nozzle before realizing that the nozzle could be modified by sanding the end with sandpaper until the flat sanded region was a circle with a diameter of 3 millimeters. This is very hacky, but it worked well. In theory, this means that the only strictly required hardware change to turn any FFF 3d printer into a CNC heat sealer is to sand down an old nozzle that you have laying around! If you were extremely time pressed, a short, M6 screw with a good head profile would probably work as well.
Next, I added a a sheet of 2mm heat resistant silicone rubber to the print bed. This allows the nozzle to overdrive into the plane of the heat seal without stalling the Z motor. This works fine, but has a notable downside: the material being heat sealed will concave down into the rubber, resulting in trapped stresses and dimensional inaccuracy. The correct way to do this is to add compliance in the Z axis to the nozzle, and rigidly hold the film to be sealed against a stiff surface (e.g. the bare print bed. That said, this improper approach worked fine for a proof of concept, and the sticky rubber had the added benefit of helping the film to lay flat during the process. Since I shortened the nozzle by about 1 mm by sanding it, the existing Z-calibration of the printer would give 1mm of interference into the 2mm thick silicone. This worked well - but if it hadn’t, I could have used the four bed-leveling screws on the printer to lower or raise the bed. It is very forgiving!
The last step is the programming. If the heat seal tool had been some kind of metal wheel on a swivel (like the cutting tool on a vinyl cutter), then the gantry could trace continuous curves without moving in the Z axis. That is not what we have here however, so the movement process will be closer to what is known as “plunge milling” in the world of machining.
In plunge milling, a profile is machined by moving the cutting tool (drill bit, end mill, etc.) such that it is only ever drilling holes of various depths. Imagine cutting a square out of a piece of wood by following the marked lines with a hundred or so individually drilled holes. We can heat seal in the same way, creating the pattern through a sequence of plunge...
Read more »