Wednesday, July 7, 2010

Heated Bed Theory

Heated Bed Theory

As this is the first post in a while, I should mention that the SpoolHead project is on hiatus for now. Our team has opted to stick together for another open-ended project course next year, APSC 479, in which we are quite likely to pursue RepRap-related work. But no decisions have been made as of yet, nor have we decided if we'll continue developing the SpoolHead or whether we'll pursue another development.

In the meantime, unrelated to the subject of wire-printing, I've been observing how much interest there's been in heated beds. I thought I'd post an observation I've had regarding the selection of materials for these, because there's a fundamental tradeoff to wrestle with. Namely, if you're building a heated bed out of a slab of Aluminum, how thick should it be, from a thermal point of view?

Materials all have three important thermal quantities: Conductivity (if two ends are held at different temperatures, how much heat will flow across the material), heat capacity (if heat is dumped into a cold object, how long will it take to warm up), and operating temperature range (will it burn?). It's really important to consider both of these properties when choosing a material. The third one is generally pretty obvious; for example, it rules out using PLA as a primary material for a heated bed, because it would melt.

A steel rail feels colder than a wooden one in the morning because it conducts heat much better than wood, so when it touches your warm hand, the heat moves through the rail quickly. Although lots of heat is flowing into the steel from your hand, it quickly gets pulled away from the surface and distributed through the rest of the rail because of the high conductivity. But conductivity is not the only important effect here. The steel rail is also massive enough, with a high enough heat capacity, that the heat flowing in from your hand does not bring it rapidly up to your body temperature. If it did, it wouldn't feel cold for very long. On the other hand, if a substance had an extraordinarily high heat capacity and a poor conductivity, it might also feel quite cold because the heat drawn from your hand wouldn't warm the surface much, even though that heat stays put. So it's important to see how both of these properties can work together.

Anisotropic materials have different conductivities in different directions. Aluminum, an isotropic material, has the same conductivity in every direction, but materials with a grain (like wood) or a sheetlike crystal structure (like graphite) do not.

Aluminum is a very good conductor of heat - one of the best that's cheaply available. Copper is a bit better, but you wouldn't want to use it for a heated bed because it has a higher heat capacity (per unit volume, since it's so dense), so it would take a long time to heat up the bed.

For a heated bed, the lowest possible thermal mass is desirable, because then it will take less time to achieve the target temperature. There's two ways to reduce the thermal mass: Make the bed thinner, and choose a material with a lower heat capacity.

Making the bed thinner, besides introducing structural concerns, has another problem against it. It reduces the ability of the heated bed to distribute the heat, which can result in hot spots. A sheet of Aluminum foil would do little to distribute the heat.

The conductance along the plane of a sheet of material is:

t*hp

where t is the thickness and hp is the material's thermal conductivity along the plane.

The conductance per unit area through the thickness is

ht/t

Where ht is the material's thermal conductivity through the thickness. (ht = hp for an isotropic material like Aluminum).

To achieve heat spreading and avoid hot spots, we want heat to go across the bed but not through it. So a good measure of the heat-spread-ability of our bed is to take the ratio of these two:

t*hp/(ht/t) = t^2*hp/ht

For an isotropic material, this is just t^2. So the heat spreading power increases with the square of the thickness: if you double the thickness of the bed, the temperature difference between hot and cold spots will be 1/4 as much as before. And this measure of heat-spread-ability actually *doesn't depend* on the conductivity of an isotropic material at all! This is a little counter-intuitive, but it's a relatively simple analysis. A high heat conductivity has other advantages: It reduces the temperature difference between the hot (bottom) and cold (top) sides of the heated bed, meaning when the desired temperature on the build surface is achieved, it won't be scorching hot below.

Still, this is a very important conclusion to consider. We can't go boosting the material thickness forever. The thermal mass of the bed is proportional to the thickness, and it's desirable to minimize this. So we want to get away with the thinnest bed we can. In order to do that and still spread heat effectively, we want a very high ratio of hp/ht - an anisotropic material. Ideally one that can still conduct heat reasonably well through the thickness, but not *too* well.

Consider a laminated structure of thin Aluminum sheets, like the ones available from McMaster-Carr. I haven't tested anything like this, but if the laminations have less than stellar thermal contact, I think it would be much better for our purpose. The in-plane conductivity would still be very high but the through-thickness conductivity would be a fair bit lower, because the heat would have to flow through successive contacts. I don't know how rigid this kind of material is, though.

As a very enticing alternative, consider an anisotropic stone like slate. I don't know the ratio of hp/ht for slate, although I do know that it's greater than one. Slate is cheap and machinable; it can be milled, drilled, tapped, cut with a bandsaw, and it's naturally very flat (because it has shear planes). Slate has a low coefficient of thermal expansion: about 9x10-6 per C, which is less than half of that of Aluminum. It has a lower specific heat capacity too, but its significantly higher density offsets this advantage somewhat. We might try using this material for our print bed upgrade perhaps...

Of course, one other way to reduce hot spots is to use a distributed heater, like nichrome wire. This method highly favours heated beds that are not electrically conductive, because then there's no risk of electrical shorts.

I think it's worth looking into other materials for heated beds than just Aluminum, because there certainly are other options worthy of consideration. And thermal anisotropy is a good quality to look for.

Wednesday, April 14, 2010

Video: RepRap 3D Printer with Wire Embedding Capability

My teammate, Jacob, made a nice video about our Wire-Embedding 3D Printer project as a requirement for our university project course. Check it out! =D Thanks Jacob!



Also, the final report of this project is up in the ReprapWiki now:
http://objects.reprap.org/wiki/SpoolHead
http://objects.reprap.org/mediawiki/images/2/25/SpoolHead_FinalReport.pdf

Saturday, April 3, 2010

Spirals!


Just a quick update. We're busy writing our final report, which is due this Tuesday. But here's the results of our best wire print so far! The spiral is 30 mm in diameter. The wire bonds in two places (the inside and outside) and is supported along the way by a plastic guide. The whole print was done robotically using G-code. We've already demonstrated that we can print wires in straight lines, and now it's clear that we can print curves too!

That's all for now!

Friday, March 26, 2010

Wires pt. 6: G-code control

It's time to take our print head off the bench and do some robotic tests on the machine itself. We've written custom G-code to print out the square with wires, and mounted our extruder. I'll just recap the recent progress.

Having switched to a sturdy 0.5mm pencil, we've found our solenoid mechanism to be incapable of clicking the new device. Anticipating this, I quickly designed a servo clicking system that will accomplish the same job but with excessive force, thanks to the servo's gearing. It's a very crude system: the servo pulls a cable tied to the pencil end once for each click. There's a lot of room for improvement, but at least it's proven to be extremely reliable so far.

A video of the new system undergoing testing:



The job of this mechanism is to advance the wire far enough for it to grab the plastic. Once it's in the plastic, we can just hold the button down and pull the wire any which way by moving the print head. So the wire click speed doesn't limit the wire print speed. What does limit the wire print speed, with the current algorithm at least, is the very long heat-up and cool-down times. We're heating the tip up to 170 degrees to form each bond, then cooling the tip down to 50 Celsius before we move the wire from that point. The thermal mass is not large, but this process takes a long time nonetheless. We can try experimenting with other temperatures too; the current settings lean heavily on the side of "play it safe".


The next step was to try printing from G-code. Mo and Bing have already coded up the commands to print out the test square, . For now, we've taken off Wade's extruder to mount the spoolhead, mainly because we don't want excessive weight pulling on Darwin's cantilevered Z-axis.



The prints we've done from G-code look almost exactly like the prints done by hand, which is a very good sign. The major difference was that the wires kept falling somewhat short of the design length. Watching the print in progress, I noticed that the tip underwent a significant deflection as it travelled horizontally.



From benchtop tests and earlier predictions, we had expected that bending the wire 90 degrees as it prints would take a lot of force; what I'd overestimated was the stiffness of our mounting on the Darwin. Mendel's design puts the extruder between the two rails, which should lead to a huge improvement in stiffness, resolving this issue. But for now, we can compensate by measuring the deflection in X and Y, and adding that distance to our travel, and then moving backward by that amount at the end to un-flex the tip. This should improve our tolerances quite a bit.

We also supsect that the wire guides we posted before may not be necessary at all, because it appears that we don't have to pull the wire down below the top layer to push the wire in. But we'll have to test it to be sure.

So what else is next? Wire cutting, hopefully. The new cutter is ready to use, but I expect that it won't have quite as much strength as the rotating type. Only tests will show if that's the case, though.

Thursday, March 18, 2010

Wires pt. 5: Wire guides




In the last blog post the goal of "fixing the wire to the plastic" was achieved. However, the wire extruder itself also contacted the plastic surface when it punched wire into the surface (in step 2 of "Bond the starting pointing" and the step 3 of "Bond the consecutive points"). There are two problems with this direct contact: the plastic surface is messed up; also, some melted plastic is sometimes sucked up into the wire extruder, which may clog the extruder when plastic is cooled.

We have come up with an effective solution to avoid this direct contact - we printed holes on the plastic as wire guides. The holes are slightly larger and deeper than the tip of wire extruder, so the tip can get into the holes and the wire is underneath the top layer of plastic (Figure 1).

Figure 1
The advantages of guides are:
- plastic surface is neater;
- wire extruder stays cleaner;
- wire is more firmly bonded into the plastic;
- printed wire has less slack.

The way how guides improve bond strength is demonstrated by Figure 2. After the wire is fixed at the starting location (A), the wire extruder moves to the next location (B). Then the z-bed is raised, so the extruder tip and wire are underneath the plastic surface. Because the wire is very hot and it is forced down by the extruder, the wire easily melts the plastic around it and *cuts itself into the plastic* (as illustrated by the dashed line x).

Figure 2

Wire slack is undesirable because it may trap the extruder tip. Figure 3 shows how guides reduce wire slack. In both with/without guide cases, the real length of wire (MN, M'N') is larger than the distance between two fixing point. When there is no guide, points M' and N' are both above the plastic, so slack occurs. However, point N is beneath the surface when we have guides, so even though the length of wire MN is equal to that of wire M'N', wire MN does not have slack.


Figure 3
(Please click the picture for better quality)



Wednesday, March 17, 2010

Wires pt. 4: Benchtop wire-printing

We are operating the wire extruder manually to simulate the wire-printing process, in order to figure out the different variables to control the process, such as such as temperature, extruder height, heating/cooling time etc.

Wire extruder setup

The wire extruder re-heats the plastic surface to make it soft. There were two heat sources: the heat radiated by the screw (which is heated by nichrome wire, just as the plastic extruder) and the heat conducted through the wire. The wire is copper, with a 0.5mm diameter, so it is able to conduct a considerable abount of heat.

Previously we reported failure at attempting to heat the PLA by radiation alone; however, with tip number 2 (all-stainless steel), this is no longer the case - we can now melt the wire into the plastic without contacting the surface. Likely it is the heat conducting through wire that is responsible for most of this success.

==Bond the starting point==

The steps to fix the starting point are:
1 set the z-bed so that the bottom of the wire extruder is 5mm above the plastic surface;
2 click the mechanical pencil to extrude 5mm of wire, so that it touches the plastic;
3 heat up the head to 170 degrees Celsius;
4 wait for 10 seconds for the system to warm up;
5 raise the z-bed 4mm (the hot wire will pierce into the plastic);
6 turn the heat off and the fan on until the extruder temperature is about 40 degrees;
7 hold down the pencil button, so the wire can move freely through the pencil;8 lower the z-bed by a millimetre or two, to allow the wire a suitable bend radius;
9 move the wire extruder to the location of the next bond (in the test we were moving the plastic piece and holding the extruder fixed).

Wire is pierced into the plastic when z-bed is raised

Comments:
the above process makes an accurate, strong and clean bond, so we plan to keep this process for the future testing.

Although project goal is to print 2D wire patterns, we were surprised by how easy it was to "inject" wire vertically into the part. The fact that the wire can pierce through several layers makes 3D wire printing very feasible. We will need to test how deeply the wire can be injected by our apparatus.


== Bond the consecutive points==

1 turn the heat on to 170 degrees;
2 continue holding the pencil button;
3 raise the z-bed until the extruder bottom merges into the plastic;
4 lower the z-bed (now the wire is fixed to the plastic and follows the z-bed when the bed is lowered);
5 switch the heat off and activate the fan to cool the new bond;
5 move the wire extruder to the location of the next bond.


Wire is dragged out when extruder moves (in this test, extruder is fixed so the plastic moves instead)

Wire sticks to the plastic after the z-bed is raised and lowered once

Done!

Comment: the bond is strong (the strength testing is blogged below); however, it's not clean because in step 3 the extruder gets into the plastic surface.
(The good news is we managed to reduce the problem by printing a plastic guide for the metal wire. We will talk about it in the next post. Stay tuned! =) )


== Test the bonding strength ==

PLA impresses Reprappers easily.

It's bio-degradable. It's crystal-clear. It has a very small thermal expansion coefficient (so printed parts almost never warp after cooling).It smells like cotton candy during plastic printing. And plus, its bond with metal is super strong!

In the March 8's post, we showed that various kinds of wire were firmly bonded when they were "push-inserted" into the plastic. Today the wire almost sat on the surface, so we were surprised that the bond was still incredibly strong.

In the following picture, the surface-bonded wire was able to support a 24.5N force (2.5kg weight) without showing any signs of failure. It is now very clear that wire delamination will not be an issue.

Plastic-wire bond
Test weight: 2.5kg

In the near future, the wire extruder will be mounted to the Reprap machine (with its own Arduino extruder controller), sitting in parallel with the plastic extruder. The mechanical pencil will be accuated by a servo motor for now. After we finish writing G-code, the whole wire-printing process will be controlled by the computer. (It may be some quite time before Skeinforge-style software exists to create G-code automatically, because STL files are unfit for wire data).

Saturday, March 13, 2010

Wires pt. 3: Progress on all fronts

(And a few minor setbacks.)



Tests of our first prototype revealed some problems. Mainly, we haven't been able to heat the plastic effectively by convection / radiation alone. We tried making contact with the PLA surface, but this didn't work either: If we let the heater cool and then try to lift it, it stuck to the PLA. If we lifted it before it cooled, the wire pulled out from the still-hot plastic. The heat didn't diffuse very far into the PLA.

The ineffectiveness of the first extruder at heating the plastic lead us to machine some new ones to replace it:



Also, our 0.3mm pencil has proven itself very unreliable at feeding the wire; clicking the pencil doesn't always result in advancing the wire. It could be a problem with the wire, or the pencil itself. Fortunately 0.5mm pencils have proven much more effective, but they are more difficult to click - our solenoid will certainly not have the power. This should be solvable with some re-engineering.


Heater:

So, heat transfer first. I machined two more extruder tip designs. We've abandoned the flange for now, and are using a narrow tip instead. The tricky part is to try to get more heat going down to the PLA than moving up along the steel tube. Thinking about the heat transfer situation we're facing led to this second design, which uses a flared conical tip. Thermal conductance is proportional to cross-sectional area, so the conductance gradually increases along the length of the cone toward the bottom. To do this properly I'd like to do a pen-and-paper calculation, combined with finite element modelling in SolidWorks. But for now I'm just going on intuition. To put it in the language of circuits, the heater tip is like a current divider. I could make a much more complicated and accurate model, but this one illustrates the theory very well:


The PLA surface is assumed to be a heat sink, as is the stainless tube length above the heater. Heat will tend to flow both up and down from the nichrome wire, but we can skew things to make it prefer to flow downward by having good thermal contact to the PLA and having a high thermal resistance going up. I hope that the cone's bottleneck will act as a thermal resistor to keep heat moving downward. Ideally I'd make the bottleneck much longer, but we'll start with this and see if it works before we move to more fragile designs.

So our other new tip uses the same cone design, but the cone is made of alumium and screws onto the stainless shaft. This is done for the same reason; aluminum's thermal conductivity is about 15 times better than stainless, so now the stainless itself should have a high thermal resistance compared with the aluminum path to PLA. Aluminum has the advantage of being easy and quick to machine compared with stainless, but I'm apprehensive about making thin structures from it because it's pretty weak. Also, its high thermal conductivity downward comes at the cost of high thermal conductivity upward. I'm not sure the cone will make much difference here; without a doubt a lot of heat will flow up the aluminum. The thermal contact between the aluminum and stainless is quite poor, but the aluminum piece might be large enough to act as its own heat sink anyway:

So I tried to make it as thin as I could. We'll see. Sometimes it's quicker to just do the experiment than to over-analyze these things.


Mo used a screw jack to manually simulate the RepRap's Z-bed, and mounted the heater nozzle on a clamp. Bing did it up with nichrome and fibreglass just like the real thing, so this test would be more authentic (no more bic lighters). We started with the all-stainless nozzle. Again convection didn't seem to be enough to heat the surface, but when we made contact, the heat penetrated very deep into the PLA. And so did the wire. Penetrating a few millimetres means we can remove the tip while it's still warm, because the wire won't pull out.

(Sincere apologies to SparkFun Electronics for using their logo as a test piece).

Here's a wire bonded this way, by our tip, to a coat hook.



The wire here is 24-gauge (0.5mm) tinned copper, from McMaster-Carr. It fits beautifully in a cheap 0.5mm pencil, but the best thing is that it's not insulated like magnet wire, so it might actually be useful. The downside is that it's quite stiff, which might make it hard to print with. Our impression is that if we bond it at regular intervals and when going around bends, we shouldn't have too many problems.


The aluminum tip will be tested next.




Cutter:

These tips don't yet have cross-drilled holes for the rotating cutter. But with Bing's observation that the cutter seems to act as a powerful heat sink, it might be worth considering a back-up plan. I'm thinking of using the solenoid directly; solenoid bars come with holes drilled in them already.


We'd lose the mechanical advantage, but when it comes to solenoids I'm not sure that's such a bad thing. A solenoid ideally has a force proportional to the inverse square of the pull distance (although for very small pull distances, magnetic saturation makes it more linear). With a mechanical advantage of 2, we'd amplify our force by two but need to pull over twice the distance, so at the far extent the force the solenoid can provide will drop by a factor of four. It's hard to tell at this point whether it's beneficial or not, because the strongest force is really needed right at the end of the pull, when the wire gets cut, where the mechanical advantage and solenoid non-linearity work together to provide a strong force.

So it could go either way. At least it's worth keeping this alternative in mind. It is, after all, a fair bit easier to build.