Thursday, April 30, 2009
In which your narrator finally manages to mill polypropylene without melting it... do you want to read more?
More Extruder Experiments
The PTFE is drilled about 8mm in to 5mm diameter, and the tube is push-fit into the PTFE.
The nozzle is made from 10mm PTFE rod, drilled almost to the end with a 5mm diameter. Part of the outside is shaped down to 8mm (to fit a large washer for support) and tapered a bit. The final breakthrough was done with a .35mm hand drill where the PTFE is about 2mm thick.
The heater is made from a couple of layers of kraken tape and some (partly) insulated nichrome wire reclaimed from a previous nozzle.
Warming this barrel up, the tape didn't appear to be affected, so I fed some ABS down. it seems to melt fine, filling the 5mm brass easily, but I hadn't bolted it down properly to hold the PTFE together, and I pushed the nozzle off before it came out the 0.35 hole.
The two coupling nuts can be placed around the brass tube (or even a welding tip) and held together with tape. you can also pop a thermistor between the tape and the nuts for temp monitoring.
To provide pressure to the PTFE tube joints, a large m8 washer is placed over the nozzle (10mm PTFE rod turned town to 8mm) and bolted to the existing BfB extruder drive (using the enhanced coach bolt drive).
I'll see how this one performs soon... :-)
Sorry in advance for what is arguably a little off topic. But....
For anyone in the same position I was in a while ago (No Lathe or Milling arrangement) and wanting to get a basic set-up together with no money.
(aside from the Fonley Lathe, Demented suggested and Vic's Afghan Lathe of course)
I just found this, if it is of any use...
Engine blocks, so obvious when you see how, but as ever the simplest/cheapest solutions are often the most elusive.
It was the words Open Source and Machine that got my interest.
Tuesday, April 28, 2009
2 turntable designs for a 3d scanner
The method is pretty well described both at
The only question is where to get the turntable?
Well, in the space of 3 hours, two seperate designs for turntables have been posted online. Myself and Simon Kirkyby have both designed turntables that work on essentually the same principal, but taking some different routes in the actual design. I was going to be posting about my own design but simon's appeared as well so I though I'd put them both up here to make sure everyone knows about them both and can use different ideas from both. I'm pretty sure there is some wierd 1000 monkey thing going on though, because Simon and I live within 10km of each other and have met together on the reprap project before.
Both designs have the following advantages:
1. Every part is less than 10cm by 10cm. Meaning they can be printed in a cupcake printer.
2. Both are based on a simple dc motor
3. Both can be pretty easily run based on a DC driver circuit and a very simple arduino program
So, onto the designs. Apologies for the quality of my pictures.
The design needs some improvement, It was designed for printing, but when it come to milling that stand is very wasteful (thanks to forrest for pointing this out). But can probably be improved, I personally am a little bit dodgy when it comes to the gears themselves, so someone might want to have a look at them before printing. The Stl files can be found attached to this post I made in the forums yesterday. While a more detailed look at the design can be found on the perth reprap blog at Free As In Steins
The second design was done by Simon Kirkby. His includes a spot to place your camera and laser. It uses a different design and isn't quite as angular as mine. His looks to possibly use less material, but not be millable.
The stl files can be found on thingiverse.
Odds are one of the turntable designs can be perfected to form a big part of a 3d scanner.
Sunday, April 26, 2009
Impressions of the Cupcake CNC, 26 April 2009
Friday, April 24, 2009
Just Wingin' It
Lately I got this crazy idea to print wings for RC planes with my MakerBot. It actually turned out pretty darn well. Big thanks to the Thingiverse community for helping me out with the models and such. If anyone wants to try out some sample wings, or has a wing model they'd like to see 3D printed, get ahold of me!
Read more on the MakerBot Blog.
Thursday, April 23, 2009
I am follow the reprap blogs for a while and I am experimenting for a while. But this is the first time I post something myself.
I am building a darwin design with off-the-shelf parts as much as possible. See pictures.
It is not complete yet. I have to order now the motors and the electronic parts and the extrusion head at maker bot.
The main purpuse for this darwin design is to build my own (two different sorts of )print heads and experimentating with them.
#include "repstrap.h" repstrap+=1;
I thought I'd take a moment, while folks are thinking about a design for the next generation machine, to post the design that my father and I have been working on. My Dad is an electrical/mechanical engineer with about 25 years of designing and building all sorts of industrial CNC machines under his belt, and I'm a PhD student with a mixed background in physics and artificial intelligence, working in neural computation. Together, we figured we could come up with something interesting. :) Our goal was (and is) to build something inexpensive, with off-the-shelf or scrounged parts as much as possible.
We initially set out to make a little CNC mill that we could attach a dremel to, and so we constructed a 3-axis CNC mill with a stationary table and a moving gantry. We made two iterations -- the first using inexpensive (and just bad) lead screws made with ready rod and nuts from Home Depot, and the second with belts. Our lead-screw version was overly precise, fairly slow to move, and had a lot of issues with the cheap lead screws binding. The current version, using a belt drive for the X and Y axes, runs quite well -- it's both speedy, and probably as precise as it will need to be for something that extrudes a liquid. :)
The Z axis does use a lead screw. We tried a few different options before settling on probably the most unlikely (and, hillarious) choice. My dad found some car jack's on sale for about $10, with heavy duty lead screws in them. He figured for $10 you couldn't go wrong. The nut on this axis does normally have quite a bit of backlash, but since it's mounted vertically the weight of the tool pretty much negates that, and you have a pretty good lead screw for not too much. This one is definitely over precise (I think around 4000 steps/inch), but it actually runs quite fast if you're just zipping up half a millimeter to your next extrusion level.
The extruder has a typical extruder heater assembly made from parts from the RRRF, with a simple pinch-wheel extruder made from little bits we had laying around. The plastic can /POUR/ out of this thing, but we would like to replace the toothed gear to something with a little more bite, because it slips at certain speeds.
The controller is very simple -- it's essentially a dsPIC33FJ256MC710 connected to a few darlington arrays (one for each axis), a few power supplies for the various voltages required by the steppers (4V and 6V), logic (3.3v), and heater (12V, but variable -- we usually run it a little sweet, since the darlington on the PWM board seems to drop the voltage by about 0.5v). The dsPIC is definitely overkill for this situation (256k of program space, 30k RAM, ~100 I/O pins, and various peripherals -- SPI, I2C, ADC, UART, etc.), but it's what I have experience with, and had laying about. The dsPIC controls all the stepping patterns, temperatures, etc., and has a parallel port interface (for interfacing to various pieces of milling software). We've just recently ordered a full set of Generation 3 electronics from Makerbot so that we can easily interface with standard reprap software, but if I have time some day I'd like to consider porting the software to the dsPIC.
All in all, we figure that we have invested maybe $100 in the machine (aside from the Gen3 electronics we just ordered), and the rest was from bits laying around. The plastic was salvaged, the steppers were both from old printers and from a local electronics store (we use two different kinds), the belts, cogs, and table were from old plotters, the darlington arrays were from old printers, and so on. We did pick up some drawer slides from Lowes that had ball bearings in them, and run very smoothly for the length of the machine.
So far we've just printed out a couple of boxes -- essentially a few simple patterns that I could easily express in some dsPIC code. We were awe struck when it actually started printing things out, and have watched both times in amazement as it creates things.
Thanks for reading. :)
Tuesday, April 21, 2009
Designing for Toolheads
I am new to RepRap and want to give a heart felt thanks to everyone who has contributed to where we are today. I recently built a bootstrapped Darwin by making all the printed parts out of MDF and poplar. I had my first successful print last week and am looking forward to making my machine a true RepRap in the near future. I also look forward to being a contributing member of the RepRap community. You can read more about my progress at http://blog.onshoulders.org.
Now that you know my background I would like to shed light on what I feel is a fundamental flaw in the Darwin mechanical design. Please understand that I think the Darwin design is top notch. Still, everything has room for improvement.
Before I built my extruder V2.0 I got stuck with an RRRF that wasn’t selling stepper motor driver boards and no Makerbot Industries. Thus, I attempted to mill the PCB with my working Cartesian robot and a Dremel. Let me throw up a picture and then describe what happened.
As you can see, I got close. However, there are areas where the bit dug through the board. After a weekend of trial and error I narrowed the problem down to a flaw in design. I really should render a 3d animation to make this clear but let’s give words a try first. Imagine with me that you have a Dremel flex shaft mounted to the Darwin X carriage. Imagine that the bit is milling the PCB, moving in the –Y direction, keeping X and Z constant. Milling requires force on the board, which means the board applies force to the bit, in turn. The force on the bit is in the opposite direction of the motion of the bit. Put simply, I have found that this force is enough to twist the X axis guide rods. When the guide rods twist the X carriage rotates about the X vector and pushes the bit into the board.
How to fix? My solution (I have not tried this) is to redesign the X carriage in order to mount the Dremel flex shaft between the guide rods and maybe use heavier rods. Vik pointed out that the BitsFromBytes design has four guide rods. This might also work.
I feel that future designs (Darwin revisions and Mendel) should consider all tool head types, both additive and subtractive. I realize progress is being made with additive board construction, but we still need subtractive! Options are always good, right? Thanks for listening and I look forward to contributing in the future.
Feedback on this issue will be well received. There is more information on http://blog.onshoulders.org.
Sunday, April 19, 2009
Give me a wedgy
After placing my order for a Cupcake I have had a burst of design enthusiasm. I thought I'd have a crack at a the 'Wedge' design.
So after a whole Sunday and lots off caffeine here are the results.
The source blend file is here.
Still needs some work as there are some issues with the design.
1. The supports for the X axis do not have enough clearance from the frame.
2. No primary carriage ( need to investigate tool changer)
3. Not sure to use pully/belt drives or running threads.
I have tried to keep the number of unique parts to a minimum, however there are still some systems that need to be added.
Anyway I need some sleep , If this post is incoherent ramblings please feel safe to ignore it.
Phew , what a day. I hope some other reprappers get some inspiration from this design.
Thursday, April 16, 2009
First example of a wrench-built machine
In what I hope is one design soon to be followed by many, the only tools needed to construct this are a cutting implement (we used an angle grinder, but a hacksaw would have worked just as well) and a wrench. I'm working to replace the drawer rails with a linear bearing design using skate bearings.
I've got a complete set of electronics and motors for this machine already, and hope to have it functional in time for Penguicon (May 1 - 3rd) to show it off along side this year's Hack of Honor: The CandyFab. Pictures to come as that happens.
You may be able to see in the pictures that we've already mounted some of my $1, no-tools pillow block bearings in preparation for mounting the lead screws. We're using 5/16th inch allthread rod for leadscrews. It's fairly rough stuff, so I'll be running over it at least once with a cheap ($5) die from the local hardware store. My limited testing, and advice from others suggests that should be enough to produce a very functional lead screw.
Feel free to ask questions, post comments, and make suggestions for improvements. There are already changes I would like to make to this machine, but I felt it was important to get pictures online fast.
One last factoid, it's build area is about 12 inches square, with about 3 or 4 inches of usable Z travel. By moving a couple of the beams around, it should be easy to increase the usable Z travel to > 6 inches. These limitations are most likely the result of poorly chosen lengths of beam used, as the drawer rails have 22 inches of travel. What can I say, it's a prototype.
Wednesday, April 15, 2009
New Bed Corner, etc.
Labels: New Bed Corner Design
Sunday, April 12, 2009
All Geared Up
Luckily we've managed to find time to chill out and print some stuff under the guise of 'fine tuning the print parameters' and 'debugging the code'. The happy folks over at Thingiverse have been very productive lately and have been cranking out cool designs for us (and you!) to print. These are some gears that we printed. We've also been working on a secret model that we're printing. We'll be blowing your minds soon with that, don't worry. Anyway, I'll stop blabbing for now. Here are the gears!
These gears were made by by a Blender script that generates gears. You can check out some of its models in Thingiverse. This awesome script allows you to generate all sorts of gears, including gear racks and such. really rad! We printed a few of them and they mesh very nicely, and the ABS they are printed on is very strong. I like them alot.
Interesting side note: once you have solid 3D positioning hardware and a solid extruder, then its all about the software. If you look closely these gears are both pretty much exactly the same. They even have the same defects, which means that if we improve the software to not cause those defects then the printing quality is improved. Ya gotta love being able to download improved software to improve a physical device.
Oh, and if you're wondering: the CupCake CNC kit will be shipping this Wednesday the 15th. We have 5 presale kits left. As a special bonus to people who order the presale, we're including the bonus toolkit with all the tools you need to build it (stuff like solder paste, an avr programmer, hex keys, PSU, plastic, etc, etc.)
Saturday, April 11, 2009
One step forward, one step back
The coach built drive is still working fine, providing quite a bit of force to the filament - enough to tear big chunks out of it.
The extruder is blocked.
This happened before, during hand testing. I've restarted and stopped the nozzle several times, and only twice had a jam. Last time, clearing the 0.6mm nozzle hole with a pin did not restart the flow, so it isn't a nozzle blockage. Providing *excessive* force suddenly cleared the blockage and restarted the flow, where it went back to normal.
There is one factor that was the same between blockages.
Both times, immediately before, the filament had been left in the nozzle, and the nozzle had been left hot for several minutes, while testing other stuff. Then the nozzle was turned off and cooled down (end of testing).
The next day, the nozzle was blocked.
On other tests, either the filament was withdrawn while hot, removing the bulk of the plastic, or after extrusion the heater was switched off immediately. Restarting the next day was fine.
I *think* what happens is that the heat travels up the filament, softening and widening it. Over a couple of minutes or so (if it cools immediately) this isn't a problem. If the heat is applied for several minutes, the filament softens further and further up, pressing against the sides of the channel, causing more and more friction. Because my insulator isn't uniform (there is a .3 mm step near the top, and a hole across (see screwdriver drive) this gives plenty of friction - blocking the filament channel. This is why clearing the nozzle doesn't help.
I'd suggest that if you're not using the extruder, or between days, turn the heat off - or better, withdraw the filament an inch or two while hot. My fully assembled extruder worked well, but last time I was testing the axes and trying the sort out a software bug, and I left the extruder hot for 20mins or so while doing so. The next time, it's solidly blocked - no extra force is shifting it. I'll either have to leave it hot for a half-hour or so to see if it softens enough to shift, or disassemble and drill out the stuck filament.
I went out yesterday and bought a small vice (£4.50) and a reamer like Nophead's (£3.00). I'm planning to use the Afghan Lathe technique to make a new extruder insulator with a larger melt chamber (4-5mm?) and a tapered entrance to see if this helps.
Wednesday, April 08, 2009
So after a week or so of battling extruder problems, machine instabilities, and firmware issues, I was finally able to print a few objects on my repstrap!
Tuesday, April 07, 2009
PP Printing Pt.2
The photos show the complete set of parts printed in PP, the ones on the left I showed in my last note the ones on the right are the last ones off the machine.
Gradual changes were made to the settings going from left to right.
The first two prints were done at 235 and 220DegC, a slight improvement was seen in the reduction in temperature, further reduction did help a little but it made the material hard to extrude, the minimum pratical temperature being around 208-210DegC, layer adhesion was poor at this temperature so this was taken as the raft interface temperature.
I commented last time on the elasticity of the material, it pulls back from the edges on infill given the least opportunity. Note the effect either side of the hole on the top face of the foot. I thought that a reduction in speed would give the filament time to relax a little. The third reasonable looking foot was printed at 8mm/sec the best parts on the right printed at 6mm/sec. (220DegC with a little fan cooling)
The parts are incredibly tough and reasonably accurate. Across the width the cross brace is +0.05mm, in Z its +0.7mm, the holes are -0.5 to -0.2mm.
Sunday, April 05, 2009
Coach Bolt Hack working
I ran up the BfB extruder with the coach bolt drive. Drive is a little inconsistent, but works (12mm/sec or more).
It should be enough to let me build another extruder - i.e. RepStrap itself, with a traditional V1 or V2 extruder.
|From Coach Bolt drive|
I might try and build a coupler out of polymorph. My solder join is only straightish (a couple of degrees off) because it wasn't held very well while setting. I could also try supergluing a similar reinforcement with the slots - I don't think it will be strong enough on it's own.
I've mounted it on the RepRap
|From Coach Bolt drive|
And it should be ready to go soon. I tried using the host software to build a 10x10x10 square, but it started moving the Z-axis down, away fron the endstop. I'm not quite sure why yet... I'll try the replicatorG and the g-code to see if it has the same effect.
Coach Bolt drive hack
I needed a bolt with m8 at one end for the gear and bearings, and coach bolt screw at the other for the filament bite. So I made this:
|From Coach Bolt drive|
It's soldered together ( see pictures for more detail of how), but if I had an extruder I could easily have made a coupler, since the joint is in compression.
|From Coach Bolt drive|
It seems to fit OK into the BfB assembly, with a little modification of the bearings (one bearing, rearranged nuts to fit). It grips the filament lovely now, and hand-winding the gear drives the filament well.
I then attached my rebuilt extruder nozzle.
|From Coach Bolt drive|
I'll post results later when I've tested the nozzle.
Saturday, April 04, 2009
For once, a post with real text and no images from the RepRap team (Philipp and Marius) in Vienna! Fear not, we'll fall back into our usual picture post at reprap.soup.io soon enough.
Our reprap setup still uses the Gen-2 hardware centered around the Arduino. So far, we've been printing using an adaptated version of the Arduino G-Code firmware, generated G-Code using Skeinforge and used ReplicatorG as host software.
This setup has got some weaknesses and this piece of scribbling will outline what these are and give a short heads-up on possible ways to easily work around these.
1) Data loss
Once in a while, we notice irregularities in the printing process. Twice, these irregularities has been serious enough that the extruder head suddenly decided to move down ca. 1 centimeter into the already printed part. Forensic analysis has shown that nothing is wrong with the G-Code file itself. As all coordinates are transferred using absolute positioning, the only explanation left is that we have lost one or more serial bytes. In the two really bad cases, we most probably lost the first digit of a Z axis movement (e.g. instead of "G1 Z15.34", we got "G1 Z5.34"). Using this theory, we probably experience data loss much more often, but we just don't notice missing bytes in most other cases. Since we're printing at 19200 baud, we can rule out any error in the serial protocol sampling (0.2% error I think).
Other causes could be noise, a bug causing a 1-byte overrun of the serial buffer, or a firmware bug causing the serial interrupt to be held back too long.
To get to the bottom of this, we've extended the built-in serial class in Arduino to support detection of data overrun and frame errors and report this back to the host whenever it happens. Time will show what we find.
2) ReplicatorG woes
While being a neat and user friendly piece of software, ReplicatorG has caused us some headache lately. It's hard to say what causes this but while running, ReplicatorG gradually slows down, slowly eating up more and more CPU time. It also appears that memory usage keep piling up, but it's hard to see through the JVM without digging deeper.
On Windows, we haven't managed to make ReplicatorG live for more that ~15-20 minutes before crawling to a halt.
Inheriting the codebase from Arduino (who inherited theirs from Wiring who again took it from Processing) enabled a very rapid development process of ReplicatorG. Unfortunately, the result is code which isn't as clean as one would have wished for. Personally, this has resulted in me not managing to muster enough motivation/courage to really dig into this and try to figure out what's wrong. Unfortunately, the fear of large code bases has also kept me from building up courage to tackle the other java host software : /
Maybe I'm just not a GUI person.
Together with Philipp, I decided to quickly toss together a cmd-line alternative. The result so far is something with the codename metahost. This is a cmd-line application written in python using pyserial. It reads G-Code and sends it to the RepRap while giving progress info. In addition it supports warmup/cooldown scripts like ReplicatorG. We might add support from reading machines.xml directly from ReplicatorG in order to collect all machine info in one place.
3) Serial speed
#define BAUD 115200
UBRR0H = UBRRH_VALUE;
UBRR0L = UBRRL_VALUE;
UCSR0A |= _BV(U2X0)
UCSR0A &= ~_BV(U2X0)
We're printing at 115200 baud for now, testing how stable this is in practise.
Thursday, April 02, 2009
Inspired by Nophead's observation about short thermal transitions being necessary as well as by a desire to try a different way of heating the extruder, I have made the following extruder which is working well so far.
1. 6.3mm (1/4") thick aluminum L shaped extrusion as heatsink. Total surface area about 15100 square mm (23 square inch). Hole is tapped for 10-32.
2. 10-32 brass nut. This is in the heat flow path between tube and heatsink, so no lockwashers, etc.
3. Tube made by putting a 10-32 thread on a 4.76mm (3/16") OD, 0.71mm (0.028") thickness stainless steel tube. In order to put on thread successfully, put a 3.17 mm (1/8") diameter rod in the tube.
4. TO-220 PNP transistor (P/N NTE-153) with mounting hole drilled and tapped for 10-32 thread.
5. Thermistor holder made from copper sheet. Hole is thru hole for 10-32, not tapped.
6. 10-32 acorn nut, with 0.5 mm hole drilled in the end (done with a PCB carbide drill).
Putting the thread on the tube with a 10-32 tap is tricky, but putting a rod inside the tube to hold it straight helps. The tubing gets so thin that you can see ridges on the inside of the tube pushed up by the teeth of the die.
The PNP transistor has a rating of about 150C. I am taking a chance at running it at 240C for extruding ABS, but it has worked for about 10 hours run time so far without failure. I chose a PNP device so that I could connect the collector to the frame of the unit, since the tab is the collector. Here is a schematic of my drive circuit. I adjusted the pot until there was 1V across the 1 ohm resistor. With a 12V power supply, this means that the transistor is dissipating 11W. One reason that I used the PNP transistor is that it is possible to use the transistor characteristics to measure its temperature. I have not tried this yet, since it would be somewhat complicated, and I wanted to get some extrusion hours under my belt.
It is possible to get power resistors mounted in the TO-220 package. They might be a higher temperature rating and would be less complicated to drive with the standard circuit.
I have not found it necessary to have any more heatsinking than the L bracket (item 1), and I do not have a fan on it.
I have successfully used this with a pinch wheel consisting of a knurled nut.
Here are some pictures of the unit mounted on my repstrap.
The pictures are the first two attempts at repeating the early PP minimug. I managed one decent PP print and following that I never really managed to repeat the results.
There was a little interest in PP as a print material I thought it worth showing it warts and all through the development. They are not pretty but there is definitely potential.
Doing a little more experimentation on the material it seems very similar to PCL in its quality, it warps, it holds its heat and it sags if you get it all wrong. Check out the first print, I could not get this off the PP build board, but large diameter section is very clean, then it runs up the object concentrating the print head in one area and it clearly overheats the material. At the top its has sagged, and lost detail and generally melted into a mess.
The temperature was a steady 235C up through the object. Another observation during the build was the elasticity of the filament when molten, at 16mm/sec any resolution on the internal fill pattern was all but lost.
The second corner bracket was with a cooler raft temperature 220C 12mm/sec. At this temp it was possible to get the object off without damaging the base material. I stuck with the same lower temperature up through the build and the results are a little better but still too hot. The detail of the two holes being distorted.
Next I will try a little cooling to control the layer temperature and see if this works the same as it does for PCL .