Showing posts with label FDM extruder. Show all posts
Showing posts with label FDM extruder. Show all posts

Monday 8 October 2007

Laying it on the line

I decided to investigate the conditions necessary for multiple layers of HDPE filament to stick together so I wrote a little Python test script to extrude 20mm squares stacked on top of each other. From my graphs in equations-of-extrusion I chose an output rate of 3mm/s which gives a filament diameter of about 1.2mm. That only requires about 60% PWM which I thought was not too stressful for a 5V motor running from 12V. I set the heater temperature to 200°C. Here is the first run :-



The first two layers look reasonable and then we are into basket work! The z-axis was raising 1.2mm between each layer but, although the nominal filament diameter should be about 1.2mm, the sides were not growing at the same rate. That meant the filament was dangling allowing it to wiggle around. Next I reduced the z-increment to 1.1mm :-



Better, the first four layers are OK this time, so obviously I tried z-increment 1.0mm next :-



Much better! What is happening is that the filament is no longer cylindrical. Each layer is about 1.0mm high and 1.4mm wide. It could be due to gravity but I think it is more to do with being bent through 90° as it comes out the end of the nozzle.

The fact that the filament weaved about when the nozzle was too high made me think that the feed rate might be too fast so I did a taller test with the XY travel 20% faster :-



Another basket case! What is happening here is that there is not enough material so the filament slumps down and holes start appearing.

I went back to the original feed rate and did a couple of 20mm high tests to check consistency :-



These are actually incredibly strong in the vertical direction. I can stand on one and it takes my full weight. Here is a video of the one on the right being made, the middle section is sped up 8 times :-




I also ran a test at 160°C to see if the filament would still weld to the layer below. It did but it did not stick to the foam board.

As you can see the main defect is that the bottom corners curl up. This was completely expected from the work Forrest published here: Ten-layers-with-no-curling, so next I will try his solution of laying down a raft first.

Another defect is that the filament width varies in waves. These seem to be related to the rotation of the extruder drive screw. You can hear the motor labouring more on part of the revolution. I think it is because something in the drive is a bit eccentric but more investigation is required.

Sunday 7 October 2007

Brush off

HydraRaptor was using a knife to remove excess filament from the extruder :-



It always cut the filament OK, but it was random whether the loose bit fell off or stuck to the far side of the nozzle. The soundtrack of a video I saw of a commercial FDM machine said that they use a brush. I thought I would need a wire brush for 200°C but then I reasoned that, if the nozzle passed through fast enough, the high specific heat capacity of plastic might mean that it would not have time to melt. I decide to give it a try with an old electric toothbrush head :-



It does seem to work quite well. Here is a video of it in action :-



The scrap of filament sometimes stays stuck to the brush but subsequent passes eventually knock it off.

When I was using HydraRaptor for milling I had a tray around the table and a plastic skirt to protect the mechanism of the precious XY table from loose plastic chips. When I moved on to FDM I thought these would not be needed because it is a lot less messy. Actually I was wrong as HDPE chips are appearing, presumable from inside the extruder, and the filament offcuts sometimes ping off from the brush. I have therefore refitted the tray and skirt.

Taking up the slack

I had a problem with my HDPE filament getting unwound from its reel. Because my extruder is attached to the z-axis, the filament gets pulled off the reel as the z-axis descends, but when it rises back to the home position there was nothing to take up the slack. Also the springiness of the HDPE makes it want to unwind. It needs a constant back tension to take up the slack and keep the filament on the reel.

My first idea was to attach a small DC motor to the roller to provide a backwards pull. As the motor would be permanently stalled I would have had to limit the current to something reasonable. After some thought I came up with a much simpler solution. I wound some picture cord around the roller and hung a weight from it. As the filament unwinds it lifts the weight. The weight is also tethered to the top of the machine, so once it gets to the maximum height it stops. The reel is only a friction fit on the roller so it starts to slip at that point. When the axis ascends again the weight falls and winds the reel backwards, taking up the slack. There is enough travel on the weight to cover the full z-axis travel, even when the filament has been used down to the inner diameter of the reel.

Thursday 4 October 2007

Sticking point

Over the last few days I have been working on getting my machine to lay down straight lines of HDPE filament. It was a lot harder than I imagined. Initially I could not get it to stick to anything. I knew Forrest, who has been pioneering the use of HDPE with Tommelise, had successfully used foam board as a base to extrude onto, and the RepRap design uses a sheet of MDF for CAPA. I didn't have any foam board to hand so I tried MDF and several other things with no success at all. In desperation I then tried slowing down the extrusion to 0.75mm per second and that did the trick. I found I could then extrude onto lots of things so I tried as many as I could think of to see the pros and cons. Today I got my hands on a piece of 5mm foam board as well.

This was 3mm thick cardboard, it didn't stick very well at the ends.



Blotting paper sticks better but the heat makes it wrinkle and it leaves residue when peeled.



Funky foam, my wife's contribution, sticks too well, it gets welded in and can't be separated cleanly.



A thin sheet of HDPE cut from a milk bottle. As expected it welds and cannot be separated. It could be a useful technique though, you would have to cut round the extruded object but it would be left with a strong smooth base.



Felt adheres very well and can be peeled off again but you would end up with a slightly hairy object!



MDF adheres well and peels easily but it does leave some residue fibres on the filament.



Anti-static foam from semiconductor packaging. This insulated the filament so well that it stayed molten too long causing the ends to stretch away. It sticks well but leaves a residue and a rough surface.


Foam board works very well despite having a glossy finish. That allows the filament to be peeled off cleanly and gives it a nice smooth surface. With this quick test there was no sign of damage to the board either but Forrest has reported the foam inside can melt.



This seemed to work so well I tried upping the speed to 4mm / second and that worked fine as well.



So I should have taken Forrest's word for it and saved myself some time, but it got me thinking why does it work so well? For the filament to stick, it must remain molten long enough to bind with the surface. That means something with low specific heat capacity and low thermal conductivity should work better. Paper has a specific heat capacity that is about the same as HDPE but that is only 0.2mm thick and then you have foam which is a good insulator. I had been trying things with some surface texture for the HDPE to bind to so I was surprised when something glossy worked. I don't know what makes the foam board surface glossy, maybe it is a thin layer of of plastic that binds with the HDPE by melting itself. Or maybe there is some molecular bonding going on, out of my depth here!

The next thing to do is to tidy up the line endings by adding a delay at the start and reduce the dwell at the end. Then I should be able to draw accurate outlines and fill them in.

I have started to think ahead to the next layer and what the requirements are to make it stick to the layer below. My mental model, which may be wrong, of how the heat flow works is to translate temperature into voltage, heat flow into current, specific heat capacity as distributed capacitance and thermal conduction as electrical conductivity. The extruded filament is then an infinite number of small capacitors, charged to 200V, linked by resistors. That will meet a bigger infinity of capacitors linked by resistors charged to 20V (room temperature). When the filament meets the already extruded layer the two surfaces behave like two capacitors charged to different voltages being connected in parallel. What happens in electronics is that the total charge is preserved so V(C1+C2) = C1V1 + C2V2, i.e. V = (C1V1 + C2V2) / (C1+C2) . If the capacitors are equal then V = (V1 + V2) / 2.

That means, if my analogy holds, that when two surfaces meet the temperature at the infinitely thin junction instantaneously becomes the average temperature, weighted by their specific heat capacities. In our case these are equal because it is HDPE at 200°C meeting HDPE at 20°C. It is my belief the junction will be at 110°C to start with. Heat will flow to it from the neighboring material on the hot side and away from it on the cold side. Since its temperature is half way between the two then these flows will be equal. The junction will stay at 110°C and this band of 110°C will start to spread to the neighboring material on each side. However, to form a weld the junction must reach the melting point of HDPE which is 135°C. The only way for this to happen is for the nozzle to stay around long enough to continue to supply heat. That puts a limit on how fast filament can be laid down and still bond.

To be free of this limitation the average of the temperature of the filament and the temperature of the workpiece must be higher than the melting point. If that is the case then it will weld instantly and there is no limit on extrusion speed. For HDPE and room temperature that would mean extruding at 250°C. Anything below that requires additional heat to flow from the nozzle to form the weld and hence sets a limit on how fast it can move away.

Tuesday 2 October 2007

Die swell revisited

My machine is back up and running again after replacing the thermistor and MSP430 micro. I added some high temperature insulation to keep the thermistor wires away from the heater wires in future! I salvaged it from the 10A shunt of an old multimeter that I scrapped.



I should really recalibrate the temperature measurement but after finding temperature is not too critical I can't be bothered at the moment. I might wait until I after I have blown it up again!

In my previous article Equations of Extrusion I put forward a theory for the significance of the Y axis crossing point on this graph, i.e. the minimum filament diameter at zero flow rate, was that it was the size of the hole in the nozzle.

My explanation was that perhaps I had inadvertently opened out the hole in the extruder nozzle by drilling too far from the back. While my extruder was off the machine for its new thermistor I had the opportunity to inspect the end of the nozzle.



As you can see the hole is still the correct size, 0.5mm, so my theory was wrong. My revised explanation for the minimum filament size is that HDPE is so viscous that there is a minimum pressure to make it flow through a small hole, below which it does not flow at all. The minimum diameter is then the hole size plus the die swell at that minimum pressure.

I used a fine stiff wire as a probe to try to get an idea of the depth of the hole. I think it is no more than 1mm, so I am at a loss to explain why I get variable die swell and other people do not. Perhaps my HDPE is different, I know mine is translucent whereas Forrest Higgs' is opaque white.

Sunday 30 September 2007

Dribble and smoke

Not a very good day today. I started by trying to lay down a 50mm straight line of HDPE. I completely failed and ended up smoking my machine!

The first problem I decided to tackle was extruding just the right amount of filament. This should be easy because I can instruct my extruder controller to turn the pump an exact amount. Using the equations I described last time, I know what feed rate is required to give a particular diameter filament and what its exit speed will be. The problem is that when the extruder stops, the filament continues to extrude slowly for a while afterwards. This is because the molten plastic, being non Newtonian, is compressible.

To start with I was getting about 12mm of overrun. I have noticed that the flexible drive made from steel wire gets wound up and stores some energy. With no power applied to the motor it actually unwinds a bit driving the motor backwards. By default my software was preventing that because it monitors the shaft position and applies increasing power as the shaft moves backwards until equilibrium is reached.

The host can instruct the controller to turn off the motor completely and let the wire unwind. That reduces the overrun to about 4mm. The shaft encoder sees the motor go backwards so, when it's told to move again, it regains all the backlash as fast as it can before settling down to the desired speed. Therefore, there is no loss cumulative loss of accuracy in letting the wire unwind and wind up again.

I expect the amount of filament overrun could be reduced further, or even eliminated completely by running the pump backwards a bit at the end. Unfortunately I can't do that because this is what happens to the steel wire when it is turned the wrong way:-



Because of this I designed my electronics to only be able to go forwards. Apparently this effect is not observed on the RepRap at Bath university. They are using 3mm wire, whereas mine is only 2.5mm, so that might account for it. I may see if I can get better wire that won't unwind. If so I will have to upgrade my drive to an H-bridge to allow the motor to be reversed. There isn't any spare room on my Vero board so I will either have to make a new one or make some sort of 3D creation.

In the meantime I decided to bodge round the problem. As well as the 4mm overrun when the motor stops, it also extrudes about 15mm when the heater is allowed to cool down and is then warmed up again. This is usually accompanied by a sharp cracking sound which sounds like trapped air bursting through the HDPE. I am not sure of the exact mechanism, but air must get in when the plastic is cold and contracted and then get trapped while it is heating up again, forcing some molten plastic out. Perhaps I have discovered a new type of pump with no moving parts!

So, before I can start extruding I need to remove the excess filament hanging from the nozzle. I did this by attaching a scalpel blade to one corner of my XY-table and having the machine visit it to wipe its nose just before starting to extrude. It is just a lash up at the moment, it would be better if it was 20mm above the table and a razor blade might be better, but it seems to work OK.



Of course, once the overrun has occurred and been removed, there is a net deficit of material which manifests itself as a delay before extrusion starts when the motor is switched on again. That has to be made up by starting the extruder in advance of moving the table for the first line segment.

So the next step was to lay down the filament on the table in a straight line. The first problem was that I discovered a bug in my software that meant the table only moved at half the specified rate. So any previous references to milling feed rates in this blog need to be halved!

The bug was easily fixed of course but I could not get the filament to stick to my table. When it hits the table it curls upwards into a loop and sticks to the side of the hot nozzle. The table surface I used for milling is made of upside down laminate flooring. It is covered with a textured layer of what I assume is probably some sort of vinyl. No great surprise it didn't stick, the next thing I tried was paper, a post-it note to be precise. That did not work either so the next thing to try was MDF. I taped an 18mm block to the the table for a quick test and raised the z position by 18mm, but I forgot to program it to raise up to clear it after visiting the knife. The result was the nozzle collided with the block and that pushed the thermistor wires so they touched the heater wires.

The result was quite spectacular, the thermistor wires, being quite thin, lit up like a light bulb before burning out. The thermistor is toast and so is the micro. Three volt micros don't like 12V up 'em!

I should have insulated the wires but I didn't have any insulation handy that would stand the temperature. Also three 3A diodes in series across the thermistor would have saved the day but it's a bit late now.

Fortunately I have a couple more micros and a spare thermistor but the machine will be out of action for 24 hours while the JB-Weld cures.

It is very easy to get a tool crash with a 3D machine and it usually causes a lot of damage. When I was using it as a milling machine I got into the habit of getting it to mime what it was going to do by running the program with a Z offset higher than the workpiece. I should have done the same thing this time.

Friday 28 September 2007

Equations of Extrusion

When I first tested my extruder I found that the filament diameter varied with the flow rate and temperature. This was contrary to what others have experienced so I decided to investigate further. It turns out that this is known as die swell and is caused by non Newtonian fluids expanding after they have been squeezed through a hole. Apparently it is a very complicated subject.

To get an idea of what was going on I designed my extruder controller to be able to make measurements. Rather than drive the motor with open loop PWM I used a shaft encoder with proportional feedback. Instead of specifying what PWM setting to use, the host specifies how many shaft encoder steps to move and at what rate. The extruder controller then adjusts the PWM to maintain the correct shaft position at any given instant. Assuming the filament does not slip against the drive screw, that means I can extrude a known volume of plastic in a known time to the tolerance of the the original feed material. The host can then ask the controller what the total on time and off times have been so that it can calculate the average power that has been used.

My temperature control works in a similar way. The host calculates the resistance the thermistor should have at the desired temperature, and from that, what voltage reading the ADC should produce. It sends that setting to the controller which turns the heater on and off. Again it keeps track of the total on and off times so that the host can calculate the average power.

My heater has a resistance of 8.5Ω and has 11.8V across it after the drop in the MOSFET switch and the wiring. That gives a power of 16.4W. This is a graph of the temperature reading from the thermistor plotted against the heater duty cycle :-

As you can see it is not quite a straight line. This is because the resistance of the nichrome heating element increases slightly as it gets hotter, so power does not quite rise in line with the duty cycle. I measured the resistance at 200°C to be 9.7Ω. Using the formula:

R = R0[1 + α(TT0)]

that gives a temperature coefficient α of 7.8 × 10-4 which is about twice the figure I found on the web for nichrome. I expect that it varies widely according to the exact alloy being used.

Here is a graph of temperature against power, calculated using the above formula for resistance :-

It is a lot closer to the straight line I was expecting.

I decided to investigate how much extra power is needed to heat the incoming plastic when extruding. I found that while feeding the filament in at 1mm/s, which is about the maximum my motor can do, the PWM to maintain 200°C increased from 44.6% to 61.2%. An increase of 16.6% corresponding to an extra 2.4W. Feeding a 3mm filament at 1mm/s gives a flow rate of 7.1 × 10-3 cc/s. HDPE has a density of around 1 so that is 7 × 10-3 g/s. The specific heat capacity is 2.2 J/g-°C which gives 2.8W to heat 7 mg from 20°C to 200°C per second. I think that is reasonably close to the value I measured, given that HDPE has quite a wide range of densities.

Next I decided to look at the effect of temperature on the motor power required to extrude at a given rate :-

I concluded that temperature has little effect on the motor power required, except when it gets close to the melting point, where it rises rapidly as expected. That was how I broke my extruder!

Next I looked at filament diameter against temperature :-

No real correlation, so it seems temperature is not very important as long as it is above the melting point. This was a surprise to me as I imagined molten plastic would get less viscose as temperature increased. It may become more critical when I start laying down filament as it will effect how it fuses together and shrinks. I did all the subsequent measurements at 200°C.

Feed rate (in mm/s) against PWM was another surprise. I expected power to rise rapidly with feed rate but, in fact, it is quite proportional :-

Presumable 30% is the power required to overcome static friction in the system.

Here you can see the output rate versus the feed rate :-

It does not increase in proportion, so if conservation of matter is true then it must be getting bigger in diameter. Indeed it does, here is output diameter against output rate :-


Either it is a very complex relationship with multiple inflexions or it is just linear with lots of measurement error. I made three measurements per test with digital calipers and took the average but the deviation between samples was quite high.

I prefer to think it is a simple linear relationship which means I can make a simple mathematical model of my extruder. As you can see it will hit the Y axis at about 0.93 mm. I think that must be the size of the hole in my nozzle. I drilled it 0.5mm but perhaps I drilled the hole from the back too far and opened it out a bit. It seems to have got bigger with use because I could get 0.8mm filament when I first tested it but I don't seem to be able to now, even at very low extrusion rates.

So if the filament diameter equals hole size plus a constant times extrusion rate then from conservation of volume I can relate the output rate to the feed rate.

do = dh + kvo

vodo2 = vidi2

So: vo(dh + kvo)2 = vidi2 a cubic equation!

Where do is the output filament diameter, di is the input filament diameter, dh is the nozzle hole diameter and vo is the output filament speed, vi is the input filament speed.

With these equations I can calculate the output rate to get a particular filament diameter. That also tells me how fast to move the head. From the output rate I can also calculate the feed rate required.

Conclusion? Well I definitely have die swell which increases with extrusion rate but other people have reported constant die swell. The only explanation I can think of is that I drilled my nozzle too deep from the back so the aperture has almost zero thickness instead of the 0.5 to 1mm expected.

I have a simple mathematical model which allows me to exploit the variable filament width if I need to. This may all become irrelevant when I start laying down filament to build things because the filament can be stretched or compressed if the head movement does not match the output rate.

Tomorrow I will try laying down the filament.

Friday 14 September 2007

Toast

The first problem was easy enough to diagnose. Since I had rebuilt and rewired the circuit it had to be the thermistor itself. After removing it, I could see the underside was looking a bit toasted. I don't think it was designed for use up to 250°C. The insulation on the wire was not up to it and I suspect it was soldered to the actual device, and that the solder melted. There seems to be some solder on the brass nozzle now where it was mounted.



The remedy was easy: I just replaced it with the recommended glass bead thermistor which had arrived from back order in the meantime. It is rated to 300°C. Its characteristics are different so I had to change my resistor values, but I had anticipated that by mounting them on the connector rather than the board.

Thursday 13 September 2007

Getting nowhere fast

Two weeks ago I had my extruder controller built on breadboard controlling the heater temperature and motor speed. All I had left to do was link it to my main controller and talk to it from my host software. This should have been easy as I already had I²C working to my spindle controller ...

The first thing that went wrong was the temperature reading from the thermistor started to become erratic. I decided this may be due to a bad connection as my breadboard layout was getting a bit messy.



The hot resistance of the thermistor is only about 12Ω so I was willing to think a bad connection could be possible as I had not used the breadboard for over 10 years. I was also getting a lot of noise from the motor so I decided to rebuild the circuit on vero board and shorten all the connections.



I paid careful attention to the layout to keep the high power stuff away from the sensitive inputs and the micro, and route the ground currents sensibly. The connectors on the far left are the outputs for the heater, motor and possibly a fan. Next is the power in connector followed by 3.3V and 5V regulators. The shaft encoder is 5V but the micro is 3.3V, the four resistors handle level shifting. Next are the input connectors for the shaft encoder, thermistor and filament exhausted sensor. The far connectors are for the I²C bus.

I mounted it on the z-axis together with my spindle controller so that the only moving wires are a 12V feed and the I²C bus.



All the wires are now much shorter and screened. I also earthed the casing of the motor. On testing I was very disappointed to find :-
  1. The thermistor was still erratic.
  2. The I²C bus did not work much at all.
  3. The noise around the circuit was just as bad if not worse. Until I added the earth connection to the z-carriage the micro crashed when the motor was running.
Not the result I was hoping for!

Saturday 1 September 2007

Caught in the act

You may remember that I reported a ribbon of swarf coming out of the side of my extruder :-



It wasn't obvious to me how this was formed. When I stripped it down today I caught it in the act :-



It appears that when the threaded rod cuts into the plastic it displaces a corrugated ribbon of material sideways. This remains attached to the filament at the leeward side and the ridges formed by the thread remain joined to each other by very thin webs. As it progresses down the pump it gets separated from the filament, presumably where it enters the barrel, and finds its way out through the side. I think the root cause is that when polymers like HDPE are stretched the long molecules get aligned length ways and it becomes very strong even though it is very thin.

Friday 17 August 2007

All wound up

My years of hoarding junk is finally starting to pay dividends. I decided to address how I was going to feed the filament to my extruder. It only uses it slowly but when it runs out you have to strip down the extruder to start off a new piece. HDPE comes on a big 5 Kg reel like this :-



I thought it was asking a bit much for the extruder to rotate something that big and heavy so I started to look round for a smaller reel. I came up with this :-



It is a reel of 10000 4.7V zener diodes which I rescued from a skip. I removed the diodes, if anybody wants an envelope full just ask. It is about 270mm diameter, 70mm wide with an internal diameter of 70mm and a 30mm hole for a spindle. I wound some HDPE on to it and found that despite it being a lot smaller and lighter than the original reel it holds almost exactly half the plastic, i.e. 2.5Kg. The only problem I might have is that the plastic is quite tightly curled on the inside. Hopefully the extruder will have enough pull to straighten it.

So a plan was forming, I just needed an axle with descent bearings. Another piece of junk I had rescued from a skip was this aluminium roller:-



It was exactly the right diameter and was mounted inside a metal housing with ball bearings. I chopped up the housing to make two mounting brackets and moved the bearings around.



All that was left to do was screw it to the top of my machine. The roller is a bit long for an axle but it was easier to leave it full length than cut it and turn the end back down to fit the bearing. My lathe is nowhere near big enough for that. Here it is mounted up :-



I even managed to re-use the rubber 'O' rings on the roller to hold the reel in place. The bearings are so good that a quick twist will leave it spinning for more than 30 seconds so the extruder has no problem dragging the filament off.

Finally I replaced the knobs that I made with proper wing nuts as they are easier on the fingers.



The next task is to design the electronics to drive the extruder.

Sunday 12 August 2007

Sore thumbs

Well thumbs and fingers actually through stripping down and rebuilding my extruder a few times to solve teething problems. It has actually taken me a couple of days to get it working reliably. There were only two problems really :-

The first was that I was not tightening the springs enough. My springs are bigger diameter than the recommended ones and are too stiff to compress with ones fingers but even so I need to have them fully compressed for the extruder not to jam. What happens when they are not tight enough is that the screw thread slips against the filament and starts grinding it away instead of moving it.

The biggest problem was that my soldered joint between the steel cable and the drive screw kept breaking. The reason being that the drive screw is stainless steel which can not be soldered with normal flux. I tried cutting a cross in the end of the screw to give the solder something to hold onto. That did not work because the solder just forms a bead that does not penetrate the slots.

In the end I stuck it with JB Weld. For some reason it does not cure properly in the recommended 15 hours so I transfered it to the oven and baked it for 2 hours at gas mark 6. That seems to have done the trick.

I have found that running the extruder at different speeds gives different sized filaments.



The one on the left was extruded with the motor running from 4V and is about 0.8mm and the one on the right was extruded with the motor running from 10V and is 1.2mm. They are both extruded from a 0.5mm hole. I think what happens is that the plastic is compressed as it enters the hole and expands as it leaves it. The faster the motor runs the higher the pressure so the more it contracts and expands. The strange thing is that other people have not seen this effect. Possibly the hole in my nozzle is too deep or too shallow, I am not sure which.

I was surprised when I saw this piece emerge :-



But not when I examined the thermocouple I had used to measure the temperature of the molten plastic :-



It is supposed to work up to 250°C but it looks like the heatshrink sleeving they used is not up to the job.

My extruder occasionally produces swarf from the gap between the pump and the clamp. I am not sure of the exact mechanism for this is but it does not seem to affect its operation.



Here is a video of the extruder in operation and the filament produced showing self organising behaviour.

Saturday 11 August 2007

Thermals

I need to knock up a controller for the extruder. This will take commands from the main controller via an I²C bus and control the motor speed and heater temperature. It may also need to control a fan to cool the workpiece and monitor a filament out detector.

I decided to drive the extruder with bench power supplies to see if it works first and get an idea of its parameters and hence the requirements for the controller. Here is my test setup :-



As you can see I have plenty of meters. I have been hoarding them for years but it is not often I get to use more than two at a time. Here I am measuring extruder voltage and current, temperature and thermistor resistance. I have another three or four about somewhere but I doubt I will ever need to measure 8 parameters!

The bench power supplies are ancient, I think the big one has valves in it and I built the small one when I was a child. I had a near perfect memory then so I never saw a need to label anything. I have several other items of equipment from that era, including an oscilloscope, with no labels on anything.

Here is the raw data I measured :-

PowerTemperatureResistance
0 W23 C2108 R
0.77 W48 C897 R
1.36 W64 C533 R
2.13 W87 C280 R
3.06 W114 C145 R
4.17 W145 C73 R
5.44 W173 C42 R
6.89 W207 C21.9 R
8.5 W243 C12.2 R

I plotted a graph of temperature against power. I expected it to be a straight line because the rate of heat loss is proportional to the temperature difference between the nozzle and its surroundings and at equilibrium that must equal the input power.


As you can see it is a bent line with a change of gradient at 150°C which I can't explain. I measured the temperature with a thermocouple inside the barrel. It is rated for use up to 250°C but the strange thing is that if I plot a graph of the temperature indicated by the thermistor then the graph is much straighter. I calculated the thermistor parameters from the thermocouple data ignoring the last three points.



So I am not sure what to make of it. I may have to repeat the experiment with my IR thermometer. As long as the thermistor measurements are repeatable I don't suppose absolute accuracy is necessary, other than to swap setting with other RepRappers.

The thermistor resistance is a extremely non linear. Its is approximated by a negative exponential of the reciprocal of absolute temperature.


Ro is resistance at known temperature To, in my case room temperature, expressed in Kelvin. Beta is a second parameter of the thermistor which can be calculated if you know the resistance at two different temperatures. I calculated it for each of the first six power levels and then took an average. It's probably not a very accurate value because the thermistor, being on the outside of the barrel, was probably at a significantly lower temperature than the thermocouple on the inside. However, it is the inside temperature I am interested in so I probably get a value of beta that sort of compensates for that.

Here is the graph of resistance against temperature :-



I plan to measure this with the analogue to digital converter in the MSP430 micros I am using. The problem is to cover such a large resistance range would end up with very little accuracy at the high temperature end where the machine will operate.

I had an idea that putting a fixed resistor in parallel would close up the bottom end without affecting the top much. Indeed it does, here is a graph of the combined resistance against temperature with a 100 Ohm resistor in parallel. You can see it is not far off being a straight line, much easier to digitise accurately.