The latest RepRap heater design consists of insulated nichrome wire wound around a threaded barrel and then stuck down with a coating of J-B Weld high temperature epoxy. I think that is a good way to do it but the insulated nichrome is expensive and I happen to have some nichrome from a heating element. It came from an old hair dryer I think.
Luckily it seems to be the right gauge to give me a reasonable number of turns. The spec was for 8 ohms which gives a maximum wattage of 18W at 12V. That gave me a length of about 340 mm which made 17 turns. I attached some tinned copper tails to make the connections easier to handle. I tied them to the nichrome and then soldered it. On reflection that was probably a bad idea as the solder does not stick to nichrome so if it oxidizes it may go open circuit. Small crimps would be a better I think.
I started by laying down a layer of J-B Weld to insulate the barrel.
After letting this dry for 24 hours I put it in the lathe and turned it down to as thin a layer as I could get before it started flaking off. That was at about 0.2mm.
I added some more J-B Weld to repair the gaps and also used it to attach one end of the nichrome.
After another 24 hours I put it back in the lathe to make the winding.
Finally I added another thick layer of J-B Weld and left it another 24 hours to set. A very slow way of doing it compared to using insulated nichrome and a single coat of J-B Weld.
I tested it by putting a thermocouple probe down the barrel and running it from a variable bench power supply. I heated it up to 200 °C at which point it smoked a bit and the J-B Weld started to discolour. I dropped it back down to 160 °C which only required about 5W of power and pushed some HDPE filament down it. Pressing as hard as I could I got it to extrude some 0.75mm diameter filament though the 0.5mm hole in the nozzle. You can just see a little bit poking out in the picture of the finished article below :-
I don't know how long it will last, the J-B Weld may crack as there is nowhere for the nichrome to expand to. Insulated nichrome would be better in this respect.
There should also be a glass bead thermistor attached to the nozzle to monitor the temperature so that it can be regulated in software. Having seen the resistance of copper stepper motor coils increase noticeably when they get hot, and tungsten light bulb filaments change resistance by a factor of ten, I thought I should try using the resistance of the heater to measure its temperature. The resistance didn't seem to change much so I looked up the temperature coefficient and found it was much lower than other metals, so that is a non starter. I have ordered a couple of thermistors but they are out of stock at the moment so I will have to run it open loop to start with.
The next thing to do is put the pump back together and see if it can extrude.
My attempts to make a rapid prototyping machine that I will use to make parts for a machine that will be able to make parts for a copy of itself.
Tuesday, 31 July 2007
Wednesday, 25 July 2007
Well sprung
Some versions of the RepRap FDM extruder use four springs to press the filament against the threaded rod. The latest version uses compressed plastic piping but I read somewhere that it loses its tension over time. When I was dismantling the CD player out of my Jukebox the other day I came across five reasonably powerful springs :-
Unfortunately the two at the back are not as strong as the front three. However, Forrest Higgs has shown with his Tommelise machine that you can get away with just two springs at the top so I will put the weaker ones at the bottom.
Another problem is that the springs are too big in diameter so I made some stepped washers out of Perspex to fit in the ends. As eight were needed this was the biggest run of things I have milled so far. It was a good way of using up all the scraps of Perspex left in between things I have milled previously. The only problem was that a few disappeared up the vacuum cleaner and had to be retrieved from the bag!
I was worried about the friction in my extruder channel so I tried polishing it with metal polish. This worked very well and greatly reduced the friction. A friend just happened to give me a spray can of PTFE dry film spray today so I gave it some of that as well.
I put the pump together minus the barrel and checked that it can move HDPE filament. It remains to be seen if it can extrude it.
Unfortunately the two at the back are not as strong as the front three. However, Forrest Higgs has shown with his Tommelise machine that you can get away with just two springs at the top so I will put the weaker ones at the bottom.
Another problem is that the springs are too big in diameter so I made some stepped washers out of Perspex to fit in the ends. As eight were needed this was the biggest run of things I have milled so far. It was a good way of using up all the scraps of Perspex left in between things I have milled previously. The only problem was that a few disappeared up the vacuum cleaner and had to be retrieved from the bag!
I was worried about the friction in my extruder channel so I tried polishing it with metal polish. This worked very well and greatly reduced the friction. A friend just happened to give me a spray can of PTFE dry film spray today so I gave it some of that as well.
I put the pump together minus the barrel and checked that it can move HDPE filament. It remains to be seen if it can extrude it.
Monday, 23 July 2007
Boring
Well turning, boring and tapping to be precise. I made the extruder nozzle and PTFE heat barrier this evening :-
I am making a mixture of an older RepRap design and the latest, mainly because I bought the parts before the design was changed. I made a small modification to the nozzle design. You are supposed to use a bottoming tap to thread the inside of the PTFE tube. As I don't have one of those, I drilled the hole 5mm deeper to accommodate the tapered end of the tap. I also turned the last 5mm of the nozzle down instead of threading it. I should have made the PTFE tube 5mm longer but I forgot so I have slightly less heat barrier.
I am not totally happy with the nozzle because I bent it while I was threading it with a die. I don't think it will affect the operation it just looks a bit scrappy. Here they are screwed together and inserted into the clamp :-
I need to add the heating element next.
I am making a mixture of an older RepRap design and the latest, mainly because I bought the parts before the design was changed. I made a small modification to the nozzle design. You are supposed to use a bottoming tap to thread the inside of the PTFE tube. As I don't have one of those, I drilled the hole 5mm deeper to accommodate the tapered end of the tap. I also turned the last 5mm of the nozzle down instead of threading it. I should have made the PTFE tube 5mm longer but I forgot so I have slightly less heat barrier.
I am not totally happy with the nozzle because I bent it while I was threading it with a die. I don't think it will affect the operation it just looks a bit scrappy. Here they are screwed together and inserted into the clamp :-
I need to add the heating element next.
Sunday, 22 July 2007
Steady as she goes
I can confirm my homemade "three point steady" does work, I made this with it :-
It's the RepRap extruder drive screw which fits in the bearings shown in my last post. The RepRap instructions say to use a blow torch and plumber's flux to attach the steel cable but I found it easier to use a soldering iron and electrical solder.
Here it is installed with a small G-clamp in place of the top half of the pump :-
And here is a video of it being tested with a variable DC power supply until it shed the clamp :-
It's the RepRap extruder drive screw which fits in the bearings shown in my last post. The RepRap instructions say to use a blow torch and plumber's flux to attach the steel cable but I found it easier to use a soldering iron and electrical solder.
Here it is installed with a small G-clamp in place of the top half of the pump :-
And here is a video of it being tested with a variable DC power supply until it shed the clamp :-
Bearing up
The bearings for the extruder pump are supposed to be made from brass and I had a bit of brass rod earmarked for the job. It is only 9mm diameter but the bearings are supposed to be 10mm. I had planned to make the holes in the pump housing smaller to compensate but I forgot. While wondering what to do I just happened to find a 10mm steel pin lying around at a rubbish tip.
The fact that there is no rust on it suggests that it is some form of stainless steel. It is certainly quite hard. I tried to cut it on the lathe with a parting off tool and all it it did was take the tip off the tool.
I next tried cutting it by holding a hacksaw against it while spinning it in the lathe. That worked but was very slow and shook the lathe a lot. By far the best way was to just saw it in a vice with the hacksaw.
I drilled the hole down the middle on the lathe. I had trouble centering the pilot drill. You are supposed to use a special center drill as described here, but I don't have one of those so I used the surprising technique called "catching the centre". Here are a couple of excellent videos I found that describe this technique: -
Once I had got the drill started I put the chuck back in the tailstock and drilled the full length with 1mm, 2mm and 3mm drills.
Here are the finished bearings :-
The RepRap instructions suggest that the bearings should be made after the spindle but I think it is better the do it the other way round. That way you can try the bearings against the spindle while it is still in the lathe and turn the spindle down to the right fit.
The fact that there is no rust on it suggests that it is some form of stainless steel. It is certainly quite hard. I tried to cut it on the lathe with a parting off tool and all it it did was take the tip off the tool.
I next tried cutting it by holding a hacksaw against it while spinning it in the lathe. That worked but was very slow and shook the lathe a lot. By far the best way was to just saw it in a vice with the hacksaw.
I drilled the hole down the middle on the lathe. I had trouble centering the pilot drill. You are supposed to use a special center drill as described here, but I don't have one of those so I used the surprising technique called "catching the centre". Here are a couple of excellent videos I found that describe this technique: -
Once I had got the drill started I put the chuck back in the tailstock and drilled the full length with 1mm, 2mm and 3mm drills.
Here are the finished bearings :-
The RepRap instructions suggest that the bearings should be made after the spindle but I think it is better the do it the other way round. That way you can try the bearings against the spindle while it is still in the lathe and turn the spindle down to the right fit.
Wednesday, 18 July 2007
Steady on
A friend pointed out to me that actually I have reinvented the "three point steady". Here are some examples I found on the web :-
Incidentally the only reason mine has flat sides is because the width was limited by the size of the raw material .
I have not had a chance to try it out yet, but it looks like I am on a well trodden track.
I have had a request to show the ten lines of Python which draw the simulation window. These are :-
In the constructor:
self.root = Tk()
self.root.title("HydraRaptor")
frame = Frame(self.root)
frame.pack()
self.canvas = Canvas(frame, width = 710, height = 765)
self.canvas.create_rectangle(-70*5, -76*5, 70*5, 76*5)
self.canvas.pack()
In the destructor:
self.canvas.config(scrollregion=self.canvas.bbox(ALL))
self.root.mainloop()
In the feed_xy function:
self.canvas.create_line(self.xy[0]*5, -self.xy[1]*5, pos[0]*5, -pos[1]*5)
I am sure there is a better way to do the scaling, replacing the magic numbers with constants would be a start!
Incidentally the only reason mine has flat sides is because the width was limited by the size of the raw material .
I have not had a chance to try it out yet, but it looks like I am on a well trodden track.
I have had a request to show the ten lines of Python which draw the simulation window. These are :-
In the constructor:
self.root = Tk()
self.root.title("HydraRaptor")
frame = Frame(self.root)
frame.pack()
self.canvas = Canvas(frame, width = 710, height = 765)
self.canvas.create_rectangle(-70*5, -76*5, 70*5, 76*5)
self.canvas.pack()
In the destructor:
self.canvas.config(scrollregion=self.canvas.bbox(ALL))
self.root.mainloop()
In the feed_xy function:
self.canvas.create_line(self.xy[0]*5, -self.xy[1]*5, pos[0]*5, -pos[1]*5)
I am sure there is a better way to do the scaling, replacing the magic numbers with constants would be a start!
Tuesday, 17 July 2007
Dinner and Delrin
I am used to being inundated with HDPE milk bottles but it's something when your dinner guests bring you a bottle of wine and a carrier bag of Delrin scraps! Very welcome of course.
Not posted for a while because, apart from entertaining, I have been puzzling over how you drill a centred hole in the end of a long workpiece using a lathe. Several of the RepRap extruder parts need axial holes drilling down the middle of them. On a normal lathe these parts would not be considered long. They would be pushed back inside the chuck, so that the end which meets the drill mounted in the tail stock is well centred. On the scale of watch parts they are massive so they are too big to fit down the spindle of my watchmaker's lathe. If I put the far end in the chuck then the near end drifts out of centre. Normally you would support a long item with the tail stock when turning it, but how do you support it when drilling?
Here is a picture of a 1mm pilot hole being drilled in M5 threaded rod with a drill guide. Although this was only slightly off centre each successively bigger drill wandered further out.
The problem is not unique to my small lathe as it would occur with larger parts on a larger lathe. I searched around the web for a solution but I did not find one, so I decided to solve the problem by making a new part for the lathe. Not sure what to call it but it is a sort of inside out live tailstock. I.e. rather than having a bearing which meets the end of the workpiece, it has three rollers which support the outside of the workpiece, keeping it centred but allowing it to turn freely with access to its end for drilling.
This is the largest thing I have milled so far, so not wanting to risk wasting time and material, I decided to add a tool path simulation view to my Python script. As I have come to expect with Python this was trivial. A quick Google found me the Tkinter package. A quick scan through the tutorial and ten lines of code later here it is:-
I don't know if the new device works yet but it looks promising. Here it is with some M5 threaded rod spinning in it:-
I don't know if I have invented a new tool or just reinvented the wheel, or three wheels to be precise.
Not posted for a while because, apart from entertaining, I have been puzzling over how you drill a centred hole in the end of a long workpiece using a lathe. Several of the RepRap extruder parts need axial holes drilling down the middle of them. On a normal lathe these parts would not be considered long. They would be pushed back inside the chuck, so that the end which meets the drill mounted in the tail stock is well centred. On the scale of watch parts they are massive so they are too big to fit down the spindle of my watchmaker's lathe. If I put the far end in the chuck then the near end drifts out of centre. Normally you would support a long item with the tail stock when turning it, but how do you support it when drilling?
Here is a picture of a 1mm pilot hole being drilled in M5 threaded rod with a drill guide. Although this was only slightly off centre each successively bigger drill wandered further out.
The problem is not unique to my small lathe as it would occur with larger parts on a larger lathe. I searched around the web for a solution but I did not find one, so I decided to solve the problem by making a new part for the lathe. Not sure what to call it but it is a sort of inside out live tailstock. I.e. rather than having a bearing which meets the end of the workpiece, it has three rollers which support the outside of the workpiece, keeping it centred but allowing it to turn freely with access to its end for drilling.
This is the largest thing I have milled so far, so not wanting to risk wasting time and material, I decided to add a tool path simulation view to my Python script. As I have come to expect with Python this was trivial. A quick Google found me the Tkinter package. A quick scan through the tutorial and ten lines of code later here it is:-
I don't know if the new device works yet but it looks promising. Here it is with some M5 threaded rod spinning in it:-
I don't know if I have invented a new tool or just reinvented the wheel, or three wheels to be precise.
Tuesday, 10 July 2007
Peck it till it squeaks
Not much progress recently as I spent the weekend at the British F1 Grand Prix. The next part of the extruder that I made is the motor holder. Surprisingly this gave me the most trouble.
Obviously, as it is a 3D structure with overhangs, it cannot be milled out of a solid block and would be very wasteful of material if it could. Instead I made it out of three pieces of 6mm Perspex sheet. I always think of this as being pretty flat but in fact its thickness varied by about 0.25mm across a six inch square cut from a larger sheet. This wasn't a problem however.
The first problem I had was getting the dimensions from ArtOfIllusion. For the other bits I have been clicking on sub components of the object to get the size and position. In this case the model seems to have been constructed in a different way so I could not select sub parts. Also there seems to be no rulers or dimensions in AOI and the grid labels are poor. In the end I redesigned it in Visio taking measurements from the motor itself. The shape of mine is a bit simpler but I think it holds the motor in the right place so it should work.
Milling these three parts was straightforward, the hard part was drilling the holes along the plane of the sheet. There are four M3 clearance holes which are 24mm deep. These are very hard to drill in Perspex without getting the drill stuck and very time consuming. The way I did it was to make a paper template with cross hairs in Visio. I cut it out and aligned it with the edge to be drilled. I then marked the centre by drilling a few mm with a 0.5mm drill in a hand held pin vice. I then drilled the holes using a very slow drill in a drill press and the piece in an improvised drill vice. I started with a 2mm drill then opened them out with 2.5mm and 3mm drills.
You can only drill a few mm at a time before the drill starts to bind because the swarf cloggs the bit and then the Perpex melts and sets again incarcerating it. You can't then turn the drill backwards or forwards. The first time this happened I thought I was going to have to smash the workpiece to recover the drill and start again. However, I did find a less drastic way to get the drill out. I put it in a spare chuck which is the good old fashioned type with a chuck key. I tightened this as much as I could, rested the workpiece on top of vice jaws with the chuck below and tapped it with a hammer. This does work, I had to do it several times.
You have to use a pecking action while drilling. I drill until I hear the Perspex squeak which indicates the onset of binding. I then back out and brush off the swarf and repeat. Very tedious, perhaps a lubricant would help but I have no idea what to use on Perspex.
To fasten the pieces together I chose M2.5 screws and decided to tap the Perspex. The only problem there is that I have a set of large taps that go down to M3 and a set of small taps that go up to M2. I thought tapping M3 in 6mm Perspex was likely to crack it so I decided to try using the screws to cut their own thread. That was a nightmare with binding and the heads shearing.
Anyway, eventually I got it done and am quite pleased with the result.
At some point I will mount a drill vice on my X-Y table, add a laser centre finder and create a highly accurate semi-automatic drill press. Hopefully I can monitor the motor current to detect the onset of binding and make the pecking automatic.
Now I need to do some lathe work to make the moving parts, barrel and nozzle.
Obviously, as it is a 3D structure with overhangs, it cannot be milled out of a solid block and would be very wasteful of material if it could. Instead I made it out of three pieces of 6mm Perspex sheet. I always think of this as being pretty flat but in fact its thickness varied by about 0.25mm across a six inch square cut from a larger sheet. This wasn't a problem however.
The first problem I had was getting the dimensions from ArtOfIllusion. For the other bits I have been clicking on sub components of the object to get the size and position. In this case the model seems to have been constructed in a different way so I could not select sub parts. Also there seems to be no rulers or dimensions in AOI and the grid labels are poor. In the end I redesigned it in Visio taking measurements from the motor itself. The shape of mine is a bit simpler but I think it holds the motor in the right place so it should work.
Milling these three parts was straightforward, the hard part was drilling the holes along the plane of the sheet. There are four M3 clearance holes which are 24mm deep. These are very hard to drill in Perspex without getting the drill stuck and very time consuming. The way I did it was to make a paper template with cross hairs in Visio. I cut it out and aligned it with the edge to be drilled. I then marked the centre by drilling a few mm with a 0.5mm drill in a hand held pin vice. I then drilled the holes using a very slow drill in a drill press and the piece in an improvised drill vice. I started with a 2mm drill then opened them out with 2.5mm and 3mm drills.
You can only drill a few mm at a time before the drill starts to bind because the swarf cloggs the bit and then the Perpex melts and sets again incarcerating it. You can't then turn the drill backwards or forwards. The first time this happened I thought I was going to have to smash the workpiece to recover the drill and start again. However, I did find a less drastic way to get the drill out. I put it in a spare chuck which is the good old fashioned type with a chuck key. I tightened this as much as I could, rested the workpiece on top of vice jaws with the chuck below and tapped it with a hammer. This does work, I had to do it several times.
You have to use a pecking action while drilling. I drill until I hear the Perspex squeak which indicates the onset of binding. I then back out and brush off the swarf and repeat. Very tedious, perhaps a lubricant would help but I have no idea what to use on Perspex.
To fasten the pieces together I chose M2.5 screws and decided to tap the Perspex. The only problem there is that I have a set of large taps that go down to M3 and a set of small taps that go up to M2. I thought tapping M3 in 6mm Perspex was likely to crack it so I decided to try using the screws to cut their own thread. That was a nightmare with binding and the heads shearing.
Anyway, eventually I got it done and am quite pleased with the result.
At some point I will mount a drill vice on my X-Y table, add a laser centre finder and create a highly accurate semi-automatic drill press. Hopefully I can monitor the motor current to detect the onset of binding and make the pecking automatic.
Now I need to do some lathe work to make the moving parts, barrel and nozzle.
Tuesday, 3 July 2007
All hands to the pump
I finished milling the polymer pump casing this evening. Here it is :-
The bearing gaps gave me some problems because they require a small ball end mill with a relatively long reach. As I said before all my small milling bits have shafts bigger than their heads.
Rather than order one from the US and wait for it to come I decided to try grinding down the shaft of one of the ones I already had. I put it in the lathe but it was too hard to be turned down with a cutter. Instead I put a small grinder in my Minicraft drill and held it against it while it was spun in the lathe. This worked quite well as you can see :-
The parts aren't exactly to the ArtOfIllusion models provided by RepRap. Obviously internal corners have a minimum radius due to the tool being a finite size so I will have to bevel the outside edges of the bearings a little. Both the polymer channel and the bearing gaps have a slight overhang in the models. While this would theoretically be possible with a larger ball mill it would make the programming more complicated. Hopefully I can get away without it.
I also increased the bore of the polymer channel from 3 mm to 3.2 mm as my reel of HDPE is a bit over sized. I am still a bit worried about this being too tight. Also the material I used is not as slippery as say PolyMorph so there may be too much friction. I think I will open it up slightly with some fine emery paper and then polish it with wax.
The bearing gaps gave me some problems because they require a small ball end mill with a relatively long reach. As I said before all my small milling bits have shafts bigger than their heads.
Rather than order one from the US and wait for it to come I decided to try grinding down the shaft of one of the ones I already had. I put it in the lathe but it was too hard to be turned down with a cutter. Instead I put a small grinder in my Minicraft drill and held it against it while it was spun in the lathe. This worked quite well as you can see :-
The parts aren't exactly to the ArtOfIllusion models provided by RepRap. Obviously internal corners have a minimum radius due to the tool being a finite size so I will have to bevel the outside edges of the bearings a little. Both the polymer channel and the bearing gaps have a slight overhang in the models. While this would theoretically be possible with a larger ball mill it would make the programming more complicated. Hopefully I can get away without it.
I also increased the bore of the polymer channel from 3 mm to 3.2 mm as my reel of HDPE is a bit over sized. I am still a bit worried about this being too tight. Also the material I used is not as slippery as say PolyMorph so there may be too much friction. I think I will open it up slightly with some fine emery paper and then polish it with wax.
Sunday, 1 July 2007
Coupling
Well in my last post I said things could only get worse and they did! I picked the extruder motor coupler to make next as it looked easy. Ironically the first thing I did was to destroy my z-axis motor coupler by getting the vacuum pipe trapped underneath the drill. It's amazing how much torque a decent stepper motor can deliver. Fortunately I had another stronger coupling lying around.
The only problem was that the hole for the shaft was only 6mm and my shafts were 1/4 inch. Luckily I posses one reamer and it happens to be 1/4 inch. I didn't even know it was a reamer until a friend told me it was recently. I thought up to then it was a milling bit. It got a bit toasted the other day when I used it to cut MDF at 30000 RPM. Still it worked on aluminium like a dream with some paraffin lubricant and my drill set to its slowest speed.
The machine is a lot noisier with the thicker coupling so perhaps a rubber one would be better.
The next disaster was that I dropped my camera on the floor and broke the USB connector so I had no way to get the pictures off it. Surface mount connectors are a nightmare. They make production cheaper but they are just too fragile for external connections. It broke off the PCB and all the pins came out. I managed to solder it back on and press the pins back in, hence these photos.
Milling the coupler was tricky because the small milling bit I used to keep the corner radii small has limited reach because its shaft is 0.3mm bigger than its head.
The coupler is 16mm deep so I had to step the outside out 0.2mm half way down. Similarly the inside slot had to step in. It made the programming complicated because in order to step out part way down you need to have opened up the gap to the scrap above. I.e. you have to cut a sort of stepped V shaped trench needing three passes.
The final result came out OK
It couples the motor which has a round shaft with two flats to a hexagonal nut. Here it is attached to the motor :-
I have made a start on the polymer pump halves but they have curved upper surfaces requiring a ball end mill and true 3D milling so a bit more programming is required.
The only problem was that the hole for the shaft was only 6mm and my shafts were 1/4 inch. Luckily I posses one reamer and it happens to be 1/4 inch. I didn't even know it was a reamer until a friend told me it was recently. I thought up to then it was a milling bit. It got a bit toasted the other day when I used it to cut MDF at 30000 RPM. Still it worked on aluminium like a dream with some paraffin lubricant and my drill set to its slowest speed.
The machine is a lot noisier with the thicker coupling so perhaps a rubber one would be better.
The next disaster was that I dropped my camera on the floor and broke the USB connector so I had no way to get the pictures off it. Surface mount connectors are a nightmare. They make production cheaper but they are just too fragile for external connections. It broke off the PCB and all the pins came out. I managed to solder it back on and press the pins back in, hence these photos.
Milling the coupler was tricky because the small milling bit I used to keep the corner radii small has limited reach because its shaft is 0.3mm bigger than its head.
The coupler is 16mm deep so I had to step the outside out 0.2mm half way down. Similarly the inside slot had to step in. It made the programming complicated because in order to step out part way down you need to have opened up the gap to the scrap above. I.e. you have to cut a sort of stepped V shaped trench needing three passes.
The final result came out OK
It couples the motor which has a round shaft with two flats to a hexagonal nut. Here it is attached to the motor :-
I have made a start on the polymer pump halves but they have curved upper surfaces requiring a ball end mill and true 3D milling so a bit more programming is required.