Showing posts with label reprap. Show all posts
Showing posts with label reprap. Show all posts

Friday, 31 December 2010

Frequency limit

I currently do my infill on Mendel at 36mm/s. The machine can go faster but the extruder flow rate maxes out at about 40mm/s when extruding ABS at 0.6mm, so 36 is a good safety margin for reliability and quality.

Although the speed is limited there is no real limit on how fast it can change direction. Suppose you make something 2.4mm wide with 0.5mm filament. E.g. a Mendel spring: -



Each wall will be 0.6mm wide leaving a 1.2mm gap in the middle. That gets filled with a zigzag infill where the head moves to within 0.3mm of each wall, so the head moves about 0.6mm on each stroke. At 36mm/s that makes 30 complete oscillations every second. 30Hz is a pretty high frequency for a mechanical system!

What actually happens is my y-axis starts to resonate. Over a few cycles the amplitude of the oscillation builds up and the infill overshoots the outline leaving a serrated edge.


The torque of a stepper motor is zero at rest and increases as it is displaced, so in that respect it behaves like a spring. That springiness together with the inertia of the rotor gives a resonance at hundreds of Hertz, known as mid band resonance. When the load is rigidly coupled, as in this case, the mass of the load brings the resonant frequency down.

As I don't get any missed steps I think the springiness might actually be in the belt rather than the motor. Timing belts have metal cables in them so that they don't stretch, but that makes them stiff, so they don't like to bend round a tight radius. That means the belt has some springiness being pulled round the pulley. A bigger pulley would be better but that would reduce the effective stiffness of the motor, so might actually make things worse. A lighter bed would be good but I haven't found a way to ensure it is flat without going to 6mm tooling plate.

I fixed the problem in software by slowing down the infill that has a high frequency content. I examine each infill path, one axis at a time, and convert it into a list of lengths between changes in direction. I then find the shortest wavelength over three cycles (less than three cycles is not long enough for the resonance to build up). I do this for X and Y directions and save the shortest of the two wavelengths. When I extrude the path I work out the frequency from the pre-calculated wavelength and the desired speed. I then compare that with a limit for each machine and reduce the speed if the frequency limit would be exceeded. I could have a separate frequency limit for each axis but I don't like the idea that the orientation of an object affects how it builds, so I pick the worst axis when deciding the limit.

I set the frequency limit to 20 Hz on my Mendel and 16 Hz on HydraRaptor. HydraRaptor does not show the overshoot problem, but it makes horrible growling noises and shakes the house. The machines make more interesting noises now because each infill run that hits the limit is extruded at an arbitrary lower speed. The overshoot is completely cured.


The builds are a bit slower and in some cases a long infill path will be slowed down by a short section that is high frequency, often a section between a hole and the outline. A more complicated solution would be to isolate the high frequency section and extrude the rest of the path at full speed.

Wednesday, 29 December 2010

Tip top top layer tip

When I first started printing on my Mendel I found it difficult to get the top layer infill solid and meeting the edges. It behaved differently to HydraRaptor, but since it was a different bot and extruder and I had also changed to a different type of ABS and updated Skeinforge it was hard to work out what the problem was.

The first problem I identified was backlash caused by the filament dragging on the carriage. I fixed that by switching from basket feed to spool feed, see hydraraptor.blogspot.com/2010/07/bit-of-drag.html. That made a big improvement but I also set the "Infill Perimeter Overlap" ratio to its default value of 0.15, where previously I had used 0, and also increased the amount of plastic above the theoretical 100% value.

That is the way it stayed until very recently when I made a discovery about Skeinforge. A new parameter had appeared when I updated: "Infill Interior Density over Exterior Density" ratio, which defaults to 0.9. This seems like a good idea to make inner solid layers a bit less dense. It helps if the bottom layer is a bit too low by giving somewhere for the excess plastic to go. As I was using a little excess plastic anyway it seemed a good idea.

I had noticed that some outer surfaces are never well filled even when other surfaces on the same object are. Here is an example in the bottom of the well in this bracket.


I only realised recently that this was because the 0.9 is applied to some exposed surfaces, not just to internal ones. I set the value to 1.00 and things got a lot better. Not only does it fix the problem above, but it helps to make the other top surfaces solid. I normally use three solid layers to get a good surface on top of sparse infill. But with the first two at only 90% the top layer is still lacking in plastic. That is why I had to use a higher flow rate than theory predicted. Once I got rid of this parameter I could reduce the flow rate and still get a solid top surface. In fact, I can get a reasonable top surface with only two solid layers now.

Another side effect of having the flow rate too high to compensate for the layers below being only 90% was that the top layer was being forced in. When the infill goes from two different directions and meets in the middle I was getting a ridge because the plastic would be being forced into a channel that was a bit too small for it.

Yet another issue I had noticed was that some side walls were inexplicably lumpy. I.e. not in positions where the filament starts or stops. Examining the slices I realised that it was caused by the infill displacing the outline. This was because I had a 15% overlap. Since I made the inner solid layers solid I found I don't need this any more and those bumps have gone away.

So in summary I was using excess flow rate and infill overlap to compensate for inner solid layers (and some outer ones) not being 100% solid. The side effects were lumpy walls and ridges on the top surface.

Tuesday, 28 December 2010

Round robin

I have been making a few small tweaks to my host software to improve quality recently. One such tweak is the order in which islands of an object (or objects) are visited. By "island" I mean a closed outline and the holes and infill that it encloses. Skeinforge seems to always go for the nearest island, so when it finishes a layer it starts the next layer on the island it has just done and revisits the others in the reverse order.

This means that the plastic is added to the hottest island first and the coldest last. When an island is small it can mean that the layer below is still molten when the next layer is added. I simply reverse the order of every second layer so that the islands are visited in a round robin order. That means they all get the same time to cool down before the next layer is added.

The only downside is one extra long head move each layer from the last to the first island. If your machine leaves strings that is not ideal but mine hasn't since I started reversing the extruder. That also makes the Comb and Tower modules of Skeinforge redundant.

Sunday, 26 December 2010

Crackers

My wife has assembled her own Christmas crackers from kits in recent years. She puts in much better gifts than even the more expensive commercial ones contain. It did backfire one year when she put a handkerchief in one and it ended up with a powder burn from the explosive!

This year she asked me to make some reprapped boxes instead to contain the usual cracker contents and look decorative on the table. The explosive element to be provided by a party popper. This is what I came up with: -


Having zero artistic ability myself: the star is Christmas star by andrewar from Thingiverse and the tree was grafted from the frame vertex of the Holiday Prusa Mendel by kliment.




My contribution to the design is the box. The base dimensions were determined by the hats my wife wanted to use and the height by the party popper diameter. This one also contains a magnetic bookmark, two chocolates, two PLA snowflakes and a charade instead of the usual bad joke or motto.


The lids had to be printed hollow side down because of the raised design on top. The gap is too big to be spanned without a lot of droop, so I used the support facility in Skienforge. I set the "support gap over extrusion perimeter ratio" to 10 to make it easier to remove and waste a little less plastic. I have no idea why the ends of the support are all in slightly different places.


It was still quite tedious to remove, so I tried Adrian Bowyer's technique of using oil to reduce the bonding. I knew the roof of the lid started at 8mm, and my host software prints the height of the current layer, so I just waited until it had finished the support and painted it with machine oil using small paint brush, while dodging the head. It worked very well and made the support easy to remove.

Here you can see the scars left behind, probably where I missed with the oil: -


I removed the scars by waving a hot air gun over the plastic.


The unsupported area sags a little and that makes a visible pattern on the top as there are only three solid layers. I think that actually makes it look more decorative by adding a textured border: -


The removed supports could be glued together and used as streamers.


These cracker replacements went down very well with both our families. They make a lot less mess on the dinner table and could also be reusable, but they all asked to keep the boxes, which was of course our original intention.

The files are available here.

Merry Christmas!

Saturday, 18 December 2010

101 Mendels

From March up until a week ago I have run my Mendel as close to 24/7 as I can and it has printed 101 Mendels, with a bit of help from HydraRaptor. During all that time I have been able to sell them as fast as I could print them but there has been a dip in demand running up to Christmas, so I stopped printing on Monday, having built up a small stock.

I have shipped parts to England, Scotland, Isle of Man, Ireland, Sweden, Denmark, Belgium, Netherlands, Germany, Austria, Poland, France, Spain, Portugal, Italy, Tenerife, USA, Canada, Australia and Singapore.



It seems weird now to have a quiet house and not have to stay up until midnight every night to start the overnight build. It does mean that I have time to blog again though, and print things that are not Mendel parts.

I have been printing parts of a Milestag laser tag gun for a friend of mine. I recommended CoCreate to him and he has taken it and run with it. His first design is way more sophisticated that anything I have managed so far. It is a large device broken up into parts that just fit on my 200mm bed. Here is one of them: -



You can see the rest in Tony's blog http://funwithelectrons.blogspot.com/2010/12/milestag.html.

I think a machine printing 101 copies of itself must be a bit of a milestone in the RepRap project. That is about 100kg of plastic and not far off 4800 hours of printing in about 6000 available. It is testimony to the reliability of the mechanical design and if anything, the quality of the parts is getting better as I tweak the settings.

Sunday, 4 January 2009

New year, new extruder?

The RepRap design has always aimed to be cheap and easy to make from readily available materials. What I desire though is good performance and reliability, and put those priorities ahead of the others. To me they are absolute requirements and the others are things to be optimised afterwards. With that in mind I set about trying to design a reliable extruder that I can make with the tools and materials I have available.

As it is experimental I wanted it to be modular so I can swap out things that don't work. I started with the heater. It takes me two days to make one so I wanted it to be removable and reusable. I made an aluminium bobbin with an M6 thread through the middle of it so it can be fitted to different barrel designs. The outside diameter is 12mm and the inner diameter is 8mm. It is also 12mm long. The flanges are 2mm and 3mm with a 7mm gap for the nichrome and Cerastil.



The surface is roughed up to make the Cerastil adhere well. It has a hole to accept the thermistor to make it a self contained closed loop.

I put down a layer of Cerastil about 0.5mm thick using a plastic jig and left it to cure over night.





I used two strands of 0.1mm nichrome in parallel to make the heater. That only needs 90mm to make about 6Ω. I normally use 8Ω but I anticipated more heat loss in this design.

To make connections to the heater I used two strands of 0.2mm tinned copper wire and attached them with reef knots.


I then covered the knots in high melting point solder.

Using such fine copper wire may be a mistake as Bert pointed out on my previous post. Time will tell.

I made a jig to keep the wire taught while winding it on the bobbin.



At this diameter it is only about three turns of nichrome.

Finally I covered the windings in Cerastil H-115 and also used it to glue in the thermistor.



I made the barrel as short as possible. That turned out to be 25mm to have room for the heater and the nozzle and a mounting flange. The standard design uses a 45mm heater barrel.



The vaned section is a heatsink to keep the rest of the filament path cool. Sandwiched between the hot and cold sections is a 12mm length of 10mm diameter PTFE tube.



The idea is to keep the thermal transition as short and slippery as possible to make it easy to push the slightly molten plastic through. The PTFE extends 5mm into the heatsink to give a good contact area for cooling. It extends 2mm into the hot barrel and 5mm is in the air gap. It is an interference fit and is under compression. When it gets hot and expands the seal should only get tighter.

The metal parts were drilled to 3.3mm on the lathe and once assembled it was all drilled out to 3.5mm. As the PTFE was drilled in situ the hole is perfectly aligned and there are no gaps.

The thermal loss through PTFE, which has a conductivity of 0.25 W/m°C, will be: -

220 × 0.25 × π (0.0052 - 0.001752) / 0.005 =0.76W, assuming the heatsink is at 20°C and the barrel is at 240°C.

The barrel is held on by three M3×25 stainless steel bolts. The holes are counter bored so only the last 5mm of thread is in contact with the heatsink. Assuming the mean diameter of the thread is 2.75mm the heat loss through the bolts is: -

3 × 220 × 17 × π × 0.0013752 / 0.02 = 3.3W

Longer bolts could reduce this by about half.

Here it is with the heater, nozzle and PTFE cover installed. There is heatsink compound between the heater and the barrel, and the nozzle thread is sealed with PTFE tape.



The wires are insulated with PTFE sleeving and terminated to a 0.1" header mounted on a scrap of Vero board. This mates with an old floppy drive power connector. I put the thermistor in the middle and the heater on the outer contacts so it doesn't matter which way round the connector goes.



The clamp seems to grip aluminium a lot better than it does PTFE but I also put an M3 bolt into a blind tapped hole to ensure it cannot slip. A good move as it turned out.

I powered it up without the pump and calibrated the thermistor. With the nozzle at 240°C the "cold" section reached 100°C and softened the ABS clamp. Obviously my home made heatsink is woefully inadequate.

To keep it cool I added a small fan. That keeps the cold section at 30°C, much better.



The black sheet is Teflon baking parchment that I used to stop the fan blowing on the hot section.

I haven't attached the motor yet but I have tested hand feeding white, green and black ABS as well as HDPE. The ABS feeds easily through the 0.3mm nozzle and the HDPE with moderate force. I think they will all work well with the motor drive.

When the filament is pulled back out only a few millimetres has expanded at the end. In contrast, without the fan the filament swelled most of the way to the top and jammed. You can see the difference here: -



Keeping the melted section short is the key to making the filament easy to feed. The other improvement is that the PTFE is no longer a structural element. It is held in compression and appears to make a good seal with simply a push fit.

I am sure I can both improve the thermal separation and make it easier to make with a couple of design iterations before redesigning the other half of the extruder.

Saturday, 27 December 2008

Simple experiment

Inspired by Demented Chihuahua's extruder work, I repeated his experiment using what was left of my old heater. I mounted it in a 30mm M6 stainless steel washer and clamped that in a vice. I used my 0.3mm aluminium nozzle, which I counter bored with a 0.7mm drill to reduce the depth of the 0.3mm hole to about 1.5mm.



I powered the heater from a bench power supply and adjusted it manually to about the right temperature. Green ABS is handy for this because it changes colour at 260°C so you can tell when it is too hot.

I can extrude filament by pushing it by hand with moderate pressure. It comes out at 0.4mm but I should be able to stretch it back down to 0.3mm without any problems. Even with a 0.5mm nozzle I can stretch it down to 0.3mm, but I lose positional accuracy because the orifice no longer defines exactly where the plastic goes.

Originally the heater was 5mm longer, with the excess protruding beyond the half nut. I found that cutting that piece off made it easier to extrude. It was probably a relatively cool section so the plastic remained very viscous there.

When a new piece of filament is inserted into the heater it extrudes very easily. After a while some plastic flows backwards and builds at the entrance to the heater. That causes considerable extra resistance. I plan to tackle that by having a short section of PTFE at the entrance with a heatsink the other side of it. The steep gradient across the PTFE should freeze the back flow over a short distance and, being super slippery, should allow it to slide back into the heater.

Another thing I tried was forcing out the plastic using the shank of a 1/8" drill bit as a piston. The further the drill got to the end of the heater the less force was needed to push it. That confirms what I had suspected. The force to push the plastic though the long 3.5mm section of the barrel is very significant compared to the force to squeeze it through the short small hole in the nozzle. So the heater needs to be kept as short as possible. Obviously there will be a point where the extrusion rate becomes limited by the rate the plastic melts if it is too short, but I expect that is much shorter than the current set-up.

Friday, 26 December 2008

New Materials

HydraRaptor's extruder suddenly stopped working in the middle of a build a few weeks ago. I tried upping the temperature and pushing the filament with pliers but it would not budge. All that happened was the heater barrel slipped a few threads in the PTFE insulator.

It was a bit difficult to find out what was wrong because it was full of solidified plastic when cold. I unscrewed the nozzle and placed it in some acetone to dissolve the ABS. It appears that the hole in the nozzle was blocked by burnt plastic. It probably formed when I had some high temperature accidents and experiments recently.

I should have realised the nozzle was blocked, but it has never happened before. If I had then I could have just unscrewed it, cleaned it out with acetone and put it back on again. In the event pushing the heater out of the PTFE pretty much wrote it off.

Not for the first time, I decided to rob parts from the extruder I was making for my Darwin. These are all made from different materials in order to see if small improvements could be made.

The barrel is made from aluminium. It is a better thermal conductor than brass, is easier to machine being a lot softer, and is cheaper.



To make the thermistor more easily removable I mounted it in ring of aluminium with a tapped hole.



The thermistor was glued in with Cerastil H-115 and the ring was screwed onto the barrel with some heatsink compound in the thread. By adjusting the beta I was able to get the reading to agree with a thermocouple inside the barrel to within a couple of degrees. I don't know if that means the ring was at the same temperature as the middle of the barrel or if it was lower and I compensated with a beta value that is not actually the beta of the thermistor. Either way it produces the desired result.

I also made an aluminium nozzle with a 0.3mm aperture. I broke the drill bit as it went through. I am not sure if that was due to the aluminium snatching more than brass does, or me being careless. I have broken loads of small drills recently and blunted some bigger ones by accidentally drilling with my lathe in reverse!



The picture also shows where the thermistor ring mounts.

Another modification I made was to put a PTFE cap over the nozzle.



This has two benefits: -
  1. It is a good insulator so it helps to keep the nozzle warm.
  2. Being non-stick, and also cooler than the nozzle surface, it stops filament from sticking to it. I use a brush to wipe the nozzle. This works well with HDPE but ABS tends to curl upwards and stick. Since I added this cap the nozzle wipe has worked 100%. It remains to be seen if it works with PCL and PLA.
It is a snug fit but when it gets hot PTFE expands a lot so it slips off. I held it in place with a tiny screw and an indentation in the nozzle made with a drill point.



Another new material I used was Polyetheretherketone (PEEK) instead of PTFE for the thermal break. This has similar insulating properties to PTFE and a slightly better working temperature range. It machines well but forms burs very readily.

I found it much sturdier at working temperature, I don't need a pipe clip to stop the barrel popping out now, but I think it may be a bit harder to push molten plastic through, being less slippery.



The other thing I changed was I used insulated nichrome. When using bare nichrome I have to put down a thin layer of Cerastil to insulate the barrel, leave it to set, then wind the heater and cover it with more Cerastil. That makes it a two day job. By using insulated nichrome I can just wind it straight on the barrel and then cover. But what I didn't think about was that I normally make the soldered connections under the Cerastil, which I could not do this way. All in all I think bare nichrome is best as it makes a much neater job. Here is the previous heater that I made way back in March :-



So after all these "improvements" how did the new extruder perform?



Not very well! I tried it with green ABS first but could not get it to extrude reliably. I swapped the nozzle for my previous 0.5mm brass one and that got it working.

I then switched to some plain ABS that I bought a while ago but have not been able to use because it is very oval. It was too wide for my previous extruder. This extruder has a 3.5mm bore so it should easily fit but I could not get it to work reliably. It takes an enormous force to push it into the extruder. I am not entirely sure why. If I pull it out and push some green in I can extrude the plain that is left in the barrel easily so it isn't any harder to push it through the nozzle but it is to push it into the heater.

Since I foolishly changed every material at the same time it is hard to evaluate which things are better and which are worse. I have recently formed the opinion that the extruder design is far from optimum. I think we need a much sharper thermal gradient and a shorter heater barrel. I think a lot of force is wasted pushing slightly softened plastic down the thermal break.

My next attempt will have a very short thermal break with a heatsink at the cold side. I will also make it easier to strip down and reassemble. A problem with the current design is that once the heater barrel is screwed in and full of plastic it is hard to remove it.

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: -

20.JPG

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.

Monday, 19 May 2008

Stepping up production

As HydraRaptor seems to be working so well with ABS I decided to put my high temperature extruder design on hold and go for making a set of Darwin parts in ABS. This is how far I got before my extruder wore out again: -



The flexible drive cable disintegrated and most of the JB-Weld has fallen off.

Using Enrique's Skeinforge slicer I can make very sparse objects that are still strong when made in ABS. I set the infill to 25% but I am not sure exactly how Skeinforge interprets it. The infill lines are not parallel so they get further apart the longer they are. Large voids are very sparse indeed and smaller voids look like 25% fill.



The outer wall is always two filaments thick, one is the perimeter and the other is the ends of all the infill zigzags that meet each other. With 0.5mm filament and a layer height of 0.4mm the filament threads are 0.6mm wide so the side walls are 1.2mm thick. I set the number of solid layers to 3 so the top and bottom are also 1.2mm thick. Skeinforge is clever enough to make layers with some areas 100% fill (where they are less than three layers from the top or bottom or internal surface) and other areas sparse. Very clever stuff, which really speeds up the build process but still gives remarkably rigid and strong objects.

I made four of Darwin's eight corner blocks (taking about 2.5 hours each) but I was unhappy with the amount of warping I got when not using a raft. I decided to develop peelable rafts and reusable bed material, like commercial machines have, before making any more parts. That took a lot of experiments to get right but I now have a workable system for ABS.



The bed material is the advertising board I used for ABS before, but this time I am using the back. Unfortunately I don't know what it is. It is very buoyant in water and self extinguishing if I burn it. ABS bonds to it very well. If I extrude the object directly onto it then it is impossible to remove. If I put down a sparse raft first at a low temperature I can remove the raft with a penknife. It blisters the surface but that does not seem to matter because the raft presents a smooth surface to the object. It just gets a bit harder to remove the raft each time as the surface gets more blistered.

The board is not strong enough to resist the warping on its own so I stuck it to the back of some floor laminate with Evostick contact glue. Even that could not hold the edges down, hence the metal strip.

The first raft layer I put down is a 1mm filament zigzag with a 50% spacing, extruded at 4mm/s @ 200°C with a nozzle height of 0.7mm. Because the layer is so thick and extruded quite flat, it absorbs any surface irregularities and makes the initial head height less critical. Spacing it 50% allows it to spread sideways, if the head is too low, and also allows it to be removed. 100% fill is impossible to remove and the head height becomes critical. If it is a little too low, the filament is wider but there is nowhere for it to go, so it builds up on the nozzle and blobs.

The first layer is far too course to build upon so I put two layers of fine zigzag the other way on top. These are 0.5mm filament extruded at 16mm/s with a layer height of 0.4mm and spaced just wide enough to not bond with itself laterally. That makes it easier to remove from the base of the object. The temperature is raised to 230°C to give a strong weld to the layers below.

Two layers are needed because the first layer has a rippled surface as it spans the wide gaps in the layer below. I put them down on top of each other rather than alternating the direction of the zigzag. That makes them weaker laterally therefore easier to remove from the object with a penknife.

The raft uses horizontal and vertical zigzags so there is no correspondence with the object infill which is at 45°. Again that makes it easier to separate without risk of pulling a thread out of the bottom of the object.

To ensure the raft does not bond too well to the object it is cooled for a minute with the fan. The first layer of the object is then extruded at 8mm/s @ 215°C and subsequent layers at 16mm/s @ 230°C. The temperatures are critical, so depending on thermistor site and calibration, they will vary a bit from machine to machine.

This is what the bottom of the raft looks like: -



And this is the top: -



It does slow the build and waste plastic but it reduces warping and makes the bed reusable over and over again. I expect it won't last forever but you can certainly use it many times.

The base of the object is also pretty neat and tidy: -



Here are the stats for the objects I have processed so far: -

Seconds Filament @ 16 mm/s Moves @ 32 mm/s Build time Plastic volume Quantity required Total build time Total plastic
Corner bracket @ 25% 8866 122009 mm 34926 mm 02:27:46 24.0 cc 8 19:42:08 191.7 cc
Opto bracket @ 50% 1200 15902 mm 4661 mm 00:20:00 3.1 cc 3 01:00:00 9.4 cc
Diagonal tie bracket @ 25% 2178 31236 mm 3716 mm 00:34:28 6.1 cc 20 11:29:28 122.7 cc

I will update this table as I progress to make the Darwin parts.

Monday, 21 April 2008

Fun with Python and G code

The current RepRap host software is a monolithic Java program that imports STL files, lets you place the objects to be made on the table, slices and dices them and controls the machine.

In my opinion the slice and dice code should be a separate program from the machine controller. Its inputs should be the 3D model in STL format plus the filament dimensions and the output should be an XML file with extruder paths grouped into layers, outlines and infills. The machine controller then reads the XML and controls the speed, temperature, fan, nozzle wiping, cooling delays, etc, according to the selected material and the machine characteristics. A third layer of software should be the communication protocol to the slave device, e.g. SNAP or G code over serial, USB, Ethernet, etc.

I have moved a little way towards that model by making my machine accept G code from the RepRap host or Enrique's Skeinforge script. I throw away most of the G codes, looking at just enough to build be an internal representation of the extruder path. This is simply a list of layers, which are lists of threads, which are lists of points. From that information I can control my machine, make animated GIFs or preview the paths in a GUI. All of this is trivial in Python.

Here is my first cut at the preview GUI: -



The preview shown is from G code generated by the RepRap host, and here is the object it made: -



Behind is the same object made from G code generated by Skeinforge.bsh. The RepRap one has sharper corners and the infill is a bit better but the Skienforge one is faster to produce because it has sparse infill.

Here is a video of it being made: -


Here is my first attempt to make Vik Olliver's shot glass: -



When it got to the stem the fan could not get the heat away faster than it was arriving and the whole thing became a molten mass. I fixed that by slowing down the extruder to 8mm/s when the layer gets small: -



It took five hours to process with Skeinforge and an hour and a half to build. I couldn't get the RepRap host to process it.

Sunday, 24 February 2008

A riveting read

A recent modification to the RepRap extruder is the addition of two 3mm pins through the clamp and the PTFE insulator to prevent the PTFE slipping out. My PTFE tube is only 12mm diameter compared to the current design which is 16mm so 3mm pins are a bit too big for it. Instead I used some shafts from pop head rivets which are about 2.3 mm.



I drilled the holes 2.2mm to make them a snug fit.



Here are the pins installed through the clamp after being cut to length and rounded of with a grinder:-