A friend of mine makes underwater cameras from plumbing accessories so that he can observe the fish in his pond. He needed a bracket to hold a piece of pipe with an adjustable tilt angle so he asked me to make one. Here it is: -
I don't know how long ABS will last in a pond, but as long as it is years rather than months it is no trouble to print it again.
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.
Sunday, 29 June 2008
Saturday, 28 June 2008
From illusion to creation
A few days ago I spent a frustrating evening trying to create this test shape in ArtOfIllusion: -
No matter what I did, I could not get a manifold object that could be exported as an STL file. Eventually I reduced the problem to the fact that AOI cannot do a simple boolean subtraction of two rectangular cubes correctly.
The result looks OK but it is non manifold, I think some of the triangles are the wrong way round.
Fixing it with the Solid Editor produces this: -
So AOI is not really usable for engineering. It is open source, so theoretically I could fix it myself, but life is too short to fix my own bugs, let alone other peoples. I posted a bug report and moved on.
Speaking to one of my colleagues who does mechanical design for a living, it would seem that professional tools are much easier to use and you don't have to worry about operations on coincident faces, etc. He recommended CoCreate Modeling Personal Edition, which is free for non professional use. It is limited to 60 parts in one design and can only save designs in its own proprietary format, but it can export STL and VRML. It is Windows only and needs an internet connection every three days. It is however, very easy to use. I had a quick look at Google Sketchup and Blender but they did not seem as easy.
The way you model in CoCreate is that you start by drawing in 2D on Workplanes. Workplanes can be arbitrary, but generally are created on a face of the part you are building. The 2D drawing tool is called CoPilot. It shows lots of hints when lines are parallel or line up with things already drawn, and shows dimensions to nearby features. This makes it very easy to create 2D geometry with precise dimensions, or geometrical alignments. You can also draw construction lines to help you line things up.
When you have a 2D profile on a Workplane you can then Extrude it or Turn it to make a solid. This is similar to AOI, except that the 2D drawing in AOI is very primitive and it is hard to get exact dimensions. As well as adding material you can remove it with familiar machine operations like Mill, Bore, Punch, Stamp, Section and Shell. These would all take multiple steps in AOI. CoCreate also has the boolean operations: Unite, Intersect and Subtract, but whereas you have to do almost everything in AOI with booleans, I have not needed to use them so far in CoCreate.
Once you have your basic 3D form it is very easy to add chamfers, fillets, blends, etc, and surprisingly it is also easy to remove them again.
Nothing I have done so far, (including filling a hole with a cylinder of the same dimensions), has managed to create a non manifold shape. It is very quick and easy to make practical objects. Here are a couple of parts I modeled for my experimental z-axis as they appear on screen: -
I have no idea how I could have created these in AOI.
No matter what I did, I could not get a manifold object that could be exported as an STL file. Eventually I reduced the problem to the fact that AOI cannot do a simple boolean subtraction of two rectangular cubes correctly.
The result looks OK but it is non manifold, I think some of the triangles are the wrong way round.
Fixing it with the Solid Editor produces this: -
So AOI is not really usable for engineering. It is open source, so theoretically I could fix it myself, but life is too short to fix my own bugs, let alone other peoples. I posted a bug report and moved on.
Speaking to one of my colleagues who does mechanical design for a living, it would seem that professional tools are much easier to use and you don't have to worry about operations on coincident faces, etc. He recommended CoCreate Modeling Personal Edition, which is free for non professional use. It is limited to 60 parts in one design and can only save designs in its own proprietary format, but it can export STL and VRML. It is Windows only and needs an internet connection every three days. It is however, very easy to use. I had a quick look at Google Sketchup and Blender but they did not seem as easy.
The way you model in CoCreate is that you start by drawing in 2D on Workplanes. Workplanes can be arbitrary, but generally are created on a face of the part you are building. The 2D drawing tool is called CoPilot. It shows lots of hints when lines are parallel or line up with things already drawn, and shows dimensions to nearby features. This makes it very easy to create 2D geometry with precise dimensions, or geometrical alignments. You can also draw construction lines to help you line things up.
When you have a 2D profile on a Workplane you can then Extrude it or Turn it to make a solid. This is similar to AOI, except that the 2D drawing in AOI is very primitive and it is hard to get exact dimensions. As well as adding material you can remove it with familiar machine operations like Mill, Bore, Punch, Stamp, Section and Shell. These would all take multiple steps in AOI. CoCreate also has the boolean operations: Unite, Intersect and Subtract, but whereas you have to do almost everything in AOI with booleans, I have not needed to use them so far in CoCreate.
Once you have your basic 3D form it is very easy to add chamfers, fillets, blends, etc, and surprisingly it is also easy to remove them again.
Nothing I have done so far, (including filling a hole with a cylinder of the same dimensions), has managed to create a non manifold shape. It is very quick and easy to make practical objects. Here are a couple of parts I modeled for my experimental z-axis as they appear on screen: -
I have no idea how I could have created these in AOI.
Thursday, 26 June 2008
Spanning a void
s0lstice requested that the next time HydraRaptor was extruding into fresh air I should post a video, so here is a video of a part with a large covered void being made: -
Spanning a void from Nop Head on Vimeo.
It is a bracket to mount a tiny stepper onto a Darwin corner bracket.
As you can see, the unsupported layer is very untidy, but the next layer sorts itself out. The reason I had to make this side the top is that there are projections on the bottom to mate with the corner bracket: -
Here is what it looks like installed. I need to sort out a shaft coupling. I have no idea if the motors will be powerful enough though.
I also made some feet for my Darwin to stop it scratching the table: -
I stuck felt pads, that I happened to have, on them, but rubber would probably be better for non slip.
Spanning a void from Nop Head on Vimeo.
It is a bracket to mount a tiny stepper onto a Darwin corner bracket.
As you can see, the unsupported layer is very untidy, but the next layer sorts itself out. The reason I had to make this side the top is that there are projections on the bottom to mate with the corner bracket: -
Here is what it looks like installed. I need to sort out a shaft coupling. I have no idea if the motors will be powerful enough though.
I also made some feet for my Darwin to stop it scratching the table: -
I stuck felt pads, that I happened to have, on them, but rubber would probably be better for non slip.
Monday, 23 June 2008
Alternative alignment
The Darwin build instructions recommend squaring up the frames by adjusting the corner blocks to get the correct length stubs sticking, out as the excerpt below shows: -
This assumes that the rods are exactly the same length. I think what is actually important is that the gap between the rods is exactly 400mm. To achieve that I made a temporary jig from a couple of diagonal tie brackets and a piece of the 8mm rod and adjusted it so that the outside of the brackets was 400mm. I then used that to space all the rods of the lower frame. I also set the short stubs to 20mm using the first method above. Any variation in rod length then ends up on the the 28mm stub.
Thursday, 19 June 2008
Knobs
I wanted some wingnuts to let me quickly clamp the bed material to the table and release it again. The XY table came from the US so it has 2BA, rather than metric threads, in it. That means I can't get them locally and would have to order them. The cost would be about $6 for 10 including postage, but I only wanted 4.
Then I remembered I have a machine than can make things so I made some knobs with captive nuts: -
Easy to design, but the hexagonal cavity is a pain to model in ArtOfIllusion. You have to start with a six sided polygon. You then convert it to a triangle mesh and then extrude it to make a hexagonal prism to subtract from the cylindrical shaft.
The three types of solid primitive: cube, cylinder and sphere all have editable dimensions but for some reason polygon primitives don't show any dimensions. To get round this you have to set the grid spacing to the dimensions you want and snap the polygon's bounding box to the grid.
I intended the nuts to be a push fit but they were too tight so I pushed them in with a hot soldering iron. The small M4 one on the left was a test to see if the design scales. I think the nut cavity needs to be a bit shorter for metric nuts.
These cost less than 6 cents each in plastic so that saved me $5.76. A good example of the economics of RepRap. Although it is no doubt cheaper to make wingnuts by traditional means in large numbers, the cheapest way for an individual to obtain them in small quantities is to RepRap them. Of course I needed some plain nuts, but they are a lot cheaper and easier to obtain.
Then I remembered I have a machine than can make things so I made some knobs with captive nuts: -
Easy to design, but the hexagonal cavity is a pain to model in ArtOfIllusion. You have to start with a six sided polygon. You then convert it to a triangle mesh and then extrude it to make a hexagonal prism to subtract from the cylindrical shaft.
The three types of solid primitive: cube, cylinder and sphere all have editable dimensions but for some reason polygon primitives don't show any dimensions. To get round this you have to set the grid spacing to the dimensions you want and snap the polygon's bounding box to the grid.
I intended the nuts to be a push fit but they were too tight so I pushed them in with a hot soldering iron. The small M4 one on the left was a test to see if the design scales. I think the nut cavity needs to be a bit shorter for metric nuts.
These cost less than 6 cents each in plastic so that saved me $5.76. A good example of the economics of RepRap. Although it is no doubt cheaper to make wingnuts by traditional means in large numbers, the cheapest way for an individual to obtain them in small quantities is to RepRap them. Of course I needed some plain nuts, but they are a lot cheaper and easier to obtain.
Saturday, 14 June 2008
Unsupported!
Kyle Corbitt has designed a RepRapable solar collector described here.
The structure is made up from a triangular lattice like this : -
The risers only overhang 30°C, so they are no problem but the horizontal beam looks like it should need support material. Kyle asked me to try building it without, so I gave it a go. Here is what it looked like after it was made: -
Very hairy but basically sound. This is it after being cleaned up with a scalpel: -
It took about 45 minutes to make and used only 7g of ABS, not including the raft. Head travel while not extruding was about 42% of the filament length but as I move twice as fast as I extrude that was only 21% of the time.
Despite the risers only being about 3.7mm thick it is very strong and rigid. I loaded the centre of the beam to 1.5Kg and it showed no sign of breaking. I also loaded one end to 6Kg with no sign of movement, so the beam could easily support 10Kg and possibly a lot more.
At the top of the base beams the triangular section goes down to zero width. The top four layers are only one filament wide so are very fragile. I don't think they add much to the strength so it would be better to truncate the top of the triangle. Interesting though because it is the first time I tried to make something this thin (0.6mm) in ABS.
Enrique added an option to make the infill go along the length of bridges but it is not actually needed for this shape. The top beam has an inverted triangular section so the first layer of it is just two parallel outlines which span the gap. The rest of the beam builds out from this at 30° so it does not matter which way the infill goes. The first few layers did sag a bit but the top of the beam is flat. An inter layer pause may have reduced the sagging.
So this looks like a good way to make large structures that are light and quick to build, but still strong.
The structure is made up from a triangular lattice like this : -
The risers only overhang 30°C, so they are no problem but the horizontal beam looks like it should need support material. Kyle asked me to try building it without, so I gave it a go. Here is what it looked like after it was made: -
Very hairy but basically sound. This is it after being cleaned up with a scalpel: -
It took about 45 minutes to make and used only 7g of ABS, not including the raft. Head travel while not extruding was about 42% of the filament length but as I move twice as fast as I extrude that was only 21% of the time.
Despite the risers only being about 3.7mm thick it is very strong and rigid. I loaded the centre of the beam to 1.5Kg and it showed no sign of breaking. I also loaded one end to 6Kg with no sign of movement, so the beam could easily support 10Kg and possibly a lot more.
At the top of the base beams the triangular section goes down to zero width. The top four layers are only one filament wide so are very fragile. I don't think they add much to the strength so it would be better to truncate the top of the triangle. Interesting though because it is the first time I tried to make something this thin (0.6mm) in ABS.
Enrique added an option to make the infill go along the length of bridges but it is not actually needed for this shape. The top beam has an inverted triangular section so the first layer of it is just two parallel outlines which span the gap. The rest of the beam builds out from this at 30° so it does not matter which way the infill goes. The first few layers did sag a bit but the top of the beam is flat. An inter layer pause may have reduced the sagging.
So this looks like a good way to make large structures that are light and quick to build, but still strong.
Friday, 13 June 2008
Support, who needs it?
I think the original Darwin design assumed it would have a support material extruder, so some of its parts require support material to be made. I.e. they have overhangs that are more than 45°. Vik Olliver and Steve DeGroof subsequently modified the parts requiring support material so that they can be made without it. That allowed Vik to replicate his Darwin without a support extruder. STL files for the modified parts can be found here.
At the time I was making the Y-motor-bracket for my Darwin, the modified file was missing, so I decided to see what would happen if I tried to make the unmodified version. I expected the result to be a mess.
Here is the original file, it has a recess in the bottom to fit the shape of the motor and stud coming out of the side at right angles: -
Here is the modified version to reduce overhangs to 45°: -
The problem with this is that it doesn't fit the motor properly. I think Vik was using a different motor.
To my surprise the original version came out fully functional. It is a bit messy, some of the outline was extruded into mid air and had to be cut off, but the infill managed to build out and recover the correct shape after a couple of layers.
It makes me think we might be able to build out into fresh air simply by going slowly and with a fan to cool the filament.
I built the modified version of the X-motor-bracket, but that has no recess as well so the motor did not fit it. To fix that I made a washer to replace the recess. This was simply a slice off the Y-motor-bracket: -
It is 1.6mm thick, which is four layers with my preferred settings. It seems to do the job. I had to use 20mm bolts rather than 15mm to mount the motor. The pulley is normally mounted 2mm from the end of the shaft so moving to 0.4mm from the end should compensate for the washer.
It should also be possible to use this washer on the other motor brackets. I uploaded it to the wiki page.
At the time I was making the Y-motor-bracket for my Darwin, the modified file was missing, so I decided to see what would happen if I tried to make the unmodified version. I expected the result to be a mess.
Here is the original file, it has a recess in the bottom to fit the shape of the motor and stud coming out of the side at right angles: -
Here is the modified version to reduce overhangs to 45°: -
The problem with this is that it doesn't fit the motor properly. I think Vik was using a different motor.
To my surprise the original version came out fully functional. It is a bit messy, some of the outline was extruded into mid air and had to be cut off, but the infill managed to build out and recover the correct shape after a couple of layers.
It makes me think we might be able to build out into fresh air simply by going slowly and with a fan to cool the filament.
I built the modified version of the X-motor-bracket, but that has no recess as well so the motor did not fit it. To fix that I made a washer to replace the recess. This was simply a slice off the Y-motor-bracket: -
It is 1.6mm thick, which is four layers with my preferred settings. It seems to do the job. I had to use 20mm bolts rather than 15mm to mount the motor. The pulley is normally mounted 2mm from the end of the shaft so moving to 0.4mm from the end should compensate for the washer.
It should also be possible to use this washer on the other motor brackets. I uploaded it to the wiki page.
Sunday, 1 June 2008
Catalogue of disasters
Last week things were going well. I made this door handle to be exhibited at the Cheltenham Science Festival: -
More details here.
I wrote a script that can print n copies of the same object by spacing them out so that the head can get between them. It would be more efficient to print them closer together, one layer of each at a time, but if anything goes wrong then they are all scrap so I am taking the conservative approach at the moment.
With the script I managed three printing shifts in a day. I set off a batch of seven diagonal tie brackets in the morning and they were waiting for me when I got home from work.
I then printed the X-carriage during the evening and another seven diagonal tie brackets during the night.
My wife thinks it looks like a ruined church and I have to agree.
After that things started to go downhill. The flexible drive coupling broke for the third time, but that was easy to replace by soldering in another piece of cable.
The first thing I made when it was back up and running was an old version of the extruder motor bracket which allows a direct drive. At this point the JB-Weld heater insulation started to fall off leaving the heater wire bare. It seemed to miraculously stay in place and still give heat even when most of the JB-Weld had gone.
I did notice the heater duty cycle was going up, eventually reaching 100%, but that was to be expected as there was less thermal conduction from the wire to the barrel. Then the temperature didn't quite make the set point, but it was close so I carried on using the machine. I made three pulleys but they seemed to get too hot. The top was distorted and they were impossible to separate from the raft. I put this down to them being smaller than anything I had made so far and decided to make something bigger. I left the machine making a bed corner bracket and went out for a walk. When I can back the house stank of burning plastic and the bed corner bracket was impossible to separate from its raft, and the raft was welded onto the bed material.
I finally twigged, the reason the temperature was reading low, and hence the heater was full on, was because the JB-Weld holding the thermistor had also decomposed. I don't know what the temperature was but it was way too high.
So I switched to my Cerastil heater and the nozzle from my high temperature extruder experiment. I also had to replace the bed material as it had a big hole in it where I broke off the corner bracket.
I powered it up and calibrated it and it seemed fine. I left it running for a while and it started making popping sounds and producing little clouds of smoke. Very odd, while I was puzzling over it the temperature reading started falling with the heater on. Then clouds of smoke started streaming out of the extruder.
Aha I thought, the thermistor must have come off again, but when I stripped it down I found it hadn't. What actually happened was molten ABS had escaped from the thread of the nozzle and got onto the thermistor. For some reason that must have cooled it, causing it to read low, so the heater overheated again.
I fixed the leak by sealing the thread with PTFE plumbing tape. I set the machine off again but it only got half way through a raft when the heater barrel escaped from the PTFE insulator and the nozzle buried itself into the brand new bed material.
I made a new PTFE barrel (as the old one had obviously been softened by its high temperature excursions) but when I was reassembling it, the thermistor, which was only stuck with JB-Weld, fell off. So back to square one!
I stuck the thermistor back on with Cerastil but when I screwed the nozzle on it was too close, so it broke off again. Starting to get a bit frustrated now, to put it mildly!
I stuck the thermistor on again with Cerastil, this time after I screwed the nozzle on, but while reassembling the extruder for the nth time one of the heater wires broke off. I was able to dig out the connection and solder to it with high temperature solder.
I reassembled the extruder yet again and set the machine going. Half way through the raft the drive shaft broke, not the flexible bit, but the solid bit it was soldered into!
At this point I started to think I was never going to get a working extruder again. A week had passed, I had been working on it every evening but every time I fixed something, something else broke. I had taken it apart and reassembled it so many times that the threads on the M3 studding that tensions the springs had worn away and had to be replaced.
Rather than make a new drive shaft I decided to go for the direct drive design that is slightly shorter. I soldered a nut to the end of the broken shaft and modified the couping in the lathe to shorten it and give it a taper to clear the filament.
So HydraRaptor gets its first RP part.
I now seem to be back up and running and have managed to knock out several more Darwin parts.
Pulleys and belt clamps: -
The belt clamps are the smallest things I have made, they only take about 4 minutes each.
This is the largest thing I have made, I think it is the biggest Darwin part, the X-motor bracket: -
It takes about 4 hours and uses 37cc of plastic when done with 25% fill. That is just less than $1 worth of ABS at the RRRF price of $20/Kg.
I also made four bed corner brackets: -
I can only fit two at a time on the table: -
I found that the mystery bed material I am using has a glass transition below 100C so I think it is PVC plus a filler. I stick it down with double sided tape but larger objects manage to lift it at the edges so I made a frame to hold it down. It is a sheet of 3mm HDPE laminated with aluminium. I milled the aperture in it using HydraRaptor's milling head. The only problem is it restricts the build area slightly because the biggest milling bit I have is smaller than the nozzle.
So it seems the machine is running reliably again and two of the things that persistently fail, flexible drive cable and J-B Weld have been eliminated.
I also made this coat hook for Adrian Bowyer: -
It is Adrian's design, sliced by Enrique's software, extruded though a nozzle made by Adrian. It took about 40 minutes and used about 8g of ABS costing $0.16.
More details here.
I wrote a script that can print n copies of the same object by spacing them out so that the head can get between them. It would be more efficient to print them closer together, one layer of each at a time, but if anything goes wrong then they are all scrap so I am taking the conservative approach at the moment.
With the script I managed three printing shifts in a day. I set off a batch of seven diagonal tie brackets in the morning and they were waiting for me when I got home from work.
I then printed the X-carriage during the evening and another seven diagonal tie brackets during the night.
My wife thinks it looks like a ruined church and I have to agree.
After that things started to go downhill. The flexible drive coupling broke for the third time, but that was easy to replace by soldering in another piece of cable.
The first thing I made when it was back up and running was an old version of the extruder motor bracket which allows a direct drive. At this point the JB-Weld heater insulation started to fall off leaving the heater wire bare. It seemed to miraculously stay in place and still give heat even when most of the JB-Weld had gone.
I did notice the heater duty cycle was going up, eventually reaching 100%, but that was to be expected as there was less thermal conduction from the wire to the barrel. Then the temperature didn't quite make the set point, but it was close so I carried on using the machine. I made three pulleys but they seemed to get too hot. The top was distorted and they were impossible to separate from the raft. I put this down to them being smaller than anything I had made so far and decided to make something bigger. I left the machine making a bed corner bracket and went out for a walk. When I can back the house stank of burning plastic and the bed corner bracket was impossible to separate from its raft, and the raft was welded onto the bed material.
I finally twigged, the reason the temperature was reading low, and hence the heater was full on, was because the JB-Weld holding the thermistor had also decomposed. I don't know what the temperature was but it was way too high.
So I switched to my Cerastil heater and the nozzle from my high temperature extruder experiment. I also had to replace the bed material as it had a big hole in it where I broke off the corner bracket.
I powered it up and calibrated it and it seemed fine. I left it running for a while and it started making popping sounds and producing little clouds of smoke. Very odd, while I was puzzling over it the temperature reading started falling with the heater on. Then clouds of smoke started streaming out of the extruder.
Aha I thought, the thermistor must have come off again, but when I stripped it down I found it hadn't. What actually happened was molten ABS had escaped from the thread of the nozzle and got onto the thermistor. For some reason that must have cooled it, causing it to read low, so the heater overheated again.
I fixed the leak by sealing the thread with PTFE plumbing tape. I set the machine off again but it only got half way through a raft when the heater barrel escaped from the PTFE insulator and the nozzle buried itself into the brand new bed material.
I made a new PTFE barrel (as the old one had obviously been softened by its high temperature excursions) but when I was reassembling it, the thermistor, which was only stuck with JB-Weld, fell off. So back to square one!
I stuck the thermistor back on with Cerastil but when I screwed the nozzle on it was too close, so it broke off again. Starting to get a bit frustrated now, to put it mildly!
I stuck the thermistor on again with Cerastil, this time after I screwed the nozzle on, but while reassembling the extruder for the nth time one of the heater wires broke off. I was able to dig out the connection and solder to it with high temperature solder.
I reassembled the extruder yet again and set the machine going. Half way through the raft the drive shaft broke, not the flexible bit, but the solid bit it was soldered into!
At this point I started to think I was never going to get a working extruder again. A week had passed, I had been working on it every evening but every time I fixed something, something else broke. I had taken it apart and reassembled it so many times that the threads on the M3 studding that tensions the springs had worn away and had to be replaced.
Rather than make a new drive shaft I decided to go for the direct drive design that is slightly shorter. I soldered a nut to the end of the broken shaft and modified the couping in the lathe to shorten it and give it a taper to clear the filament.
So HydraRaptor gets its first RP part.
I now seem to be back up and running and have managed to knock out several more Darwin parts.
Pulleys and belt clamps: -
The belt clamps are the smallest things I have made, they only take about 4 minutes each.
This is the largest thing I have made, I think it is the biggest Darwin part, the X-motor bracket: -
It takes about 4 hours and uses 37cc of plastic when done with 25% fill. That is just less than $1 worth of ABS at the RRRF price of $20/Kg.
I also made four bed corner brackets: -
I can only fit two at a time on the table: -
I found that the mystery bed material I am using has a glass transition below 100C so I think it is PVC plus a filler. I stick it down with double sided tape but larger objects manage to lift it at the edges so I made a frame to hold it down. It is a sheet of 3mm HDPE laminated with aluminium. I milled the aperture in it using HydraRaptor's milling head. The only problem is it restricts the build area slightly because the biggest milling bit I have is smaller than the nozzle.
So it seems the machine is running reliably again and two of the things that persistently fail, flexible drive cable and J-B Weld have been eliminated.
I also made this coat hook for Adrian Bowyer: -
It is Adrian's design, sliced by Enrique's software, extruded though a nozzle made by Adrian. It took about 40 minutes and used about 8g of ABS costing $0.16.