Thursday, August 21, 2008


Going Round In Circles

I took apart a swivel chair the other day and noticed an interesting ball bearing race in the bottom of it. So I made a RepRap'd version to fit under the Z axis drive rods, which currently sit on a couple of washers and some grease. Suz an I will hopefully fit them to Phoenix today, if we manage to get any time to ourselves.

On my machine it needs some tidy-up with a 5mm drill because I've not got the smooth-moving Arduino board installed on the Darwin yet. But once reamed out, the holes in the bearing race hold eight 4.5mm (.177) BB's normally used in an air pistol to plink at tin cans with in the garden.

It's sort of a compromise between running on bare plastic and using skate bearings - which cost me NZ$6 a piece. BB's cost me less than a cent each and are also available from the same sporting goods stores as the skate bearings.

If they work well enough, I'll add them to the next run of the lasercut design. Ponoko's website tells me that the current one is 60% complete, so hopefully I'll see it early next week.

Vik :v)

Labels: , ,


New X Carriage Hot Off The RepRap

The Darwin has been busily churning out replacement parts for Phoenix, the rebuild of the original wrecked RRChild. The bed corner here is a standard support-free part, but the X Carriage has been modified to include an insert for all the places where the guide bars go through it. This fixes an issue whereby one of the holes (rightmost, in this picture) had a teardrop top in which the guide bar fitted very loosely.

The new carriage also features larger holes for the belts to pass through, which should allow some experimentation with fine-gauge ball-chain.

Vik :v)

Labels: , ,

Wednesday, August 20, 2008


Arc Compensation

A few weeks ago Nophead pointed out that when the RepRap extruder moves round an arc it deposits too much material on the inside of a curve and not enough on the outside, owing to the differential in speeds caused by the slightly different radii. This is insignificant for large radii, but quite important for small ones.

I did the sums (see this link) and then put the compensation factor in the Java code, which is now checked into the repository. If you want to see how the code works, look at the org.reprap.geometry.polygons.RrPolygon class and see the function arcCompensate; the link gives the algebra, so I should start with that before looking at the code.

There are a couple of new parameters to control the behaviour (the default is not to do the compensation). The web page explains them too.

Tuesday, August 19, 2008


Extruder valve

I've been working for a while on a valve to control the flow of the polymer from the extruder. The design above owes a lot to both Ed and Ian, and works reasonably well (though it leaks a little slowly at the side, as you can see).

I've documented it on the Extruder Improvements and Alternatives page here.

It consists of a latching solenoid that pushes a piece of stiff piano wire across the exit to the nozzle, blocking it. This doesn't completely stop the flow, but it does eliminate a lot of leakage. It also allows tricks like starting up the extrude drive motor with the valve closed, building up a little pressure, then opening the valve to ensure a clean sharp start to polymer deposition. Controls for all that sort of thing are available in the RepRap Java software and in the Arduino (and PIC) controllers.

The big problem that this design overcomes, and the reason that it is a little complicated, is that of getting the nozzle and the wire holes to cross exactly in alignment in the middle of the device. It's quite easy to get them to cross at the exit (one just drills the 45o hole using the nozzle flow hole as a centre), but that leaks - the crossing point has to be in the middle.

The nozzle is rather longer than the standard no-valve one, and so it can get a little cold at the tip as all the heat has to be conducted down to it from the heater coil round the main barrel of the extruder. For the extruder using this new valve, I took an extra 2-ohm length of fibreglass-insulated nichrome heater wire, crimped a couple of connectors on the end, cut a short length of brass tube, and set the lot in more fire cement round the top of the valve nozzle. With a 6 ohm main heater in series, this puts 25% of the heat directly into the nozzle, keeping it nice and cosy.

Monday, August 18, 2008


Milling plastic with a Reprap machine?

It might not be impractical after all... read more

Sunday, August 17, 2008


Blood on the carpet...

I soldered up one of Zach's Sanguinos on stripboard from the circuit diagram.

He intends it as an easy replacement for the Arduino with more pins, more memory, more ... well, everything, really.

Getting the bootloader in was a bit of a mission. I cut the old Centronics plug from a legacy printer cable and made one of these in-circuit programmers.

The first problem was that Pin 18 on the printer cable D socket (see the hand-drawn circuit) was not connected to any wires in the cable. But it's obvious that that is just the ground connection, so I found a wire that was connected to the metal cable shell and used that.

The second problem is that you can't easily drive the pins on an old-style printer port from Linux, so I had to use a Windows machine. I downloaded the giveio package from MIT and ran the program ginstall.bat from it, but things were still not talking properly.

The Arduino bootloader page told me that it was Windows polling the parallel printer port to see if anything was plugged into it that was causing the trouble. The fix is to edit the registry (Run -> regedit), then go down the tree to:


(in fact, my Windows didn't have Parameters at all, so I had to create it), then set "DisableWarmPoll"=dword:00000001.

Things still weren't right. In Zach's file boards.txt there is a line:


that should read:


Zach's going to correct that asap, but the man's on holiday: give him a break...

Finally, I could burn the bootloader :-)

Then everything sprang to life :-))

I could download test programs, flash LEDs on pins (see above) and so on.

At the moment my Darwin is printing out parts in ABS for Ian's extruder design to make sure we can reprap them as well as lasercutting them. When that's done in a week or so, I'll rip out the Arduino and put this new-fangled Sanguino thang in and see if we can use that. It should use identical RepRap driver electronics to the Arduino, so it ought to be straightforward (hollow laugh offstage...).

Watch this space...

Saturday, August 16, 2008


Belt tensioner

One RepRap part not covered much elsewhere is the belt tensioner. Here's the one fitted to my Darwin - it was printed out on aforementioned Darwin using a screwdriver in a clamp-down vice as an impromptu tensioner.

There is another version for ball-chain with a groove in the idler. These allow you to tension up the belt without moving the position of the Z posts.

The design is a little unusual in that I have used a piece of 3mm PLA filament as the axle for the idler wheel instead of the usual M3 bolt. To fix it in place I simply heated one end and pulled it into the body of the idler holder - instant welded axle.

I've just designed one for the lasercut RepRap kit. Hopefully I'll get that run off next week and we'll see how well it works in practice.

Vik :v)

Labels: ,

Friday, August 15, 2008


RepRap Parts Lister Update

A while back, I created a little software project for RepRap called the Parts Lister. I was attempting to assemble my darwin, and I needed to know how many M8 nuts I needed. At that time, we had an HTML table with all the various assemblies broken out (X axis, Y axis, etc.). I had to go through each of the assemblies and tally up the total number of M8 nuts to make sure I was buying enough.

That experience drove me to create the parts lister, which is a database of all the various modules the RepRap project has created. This allows us to do lots of cool things, like generate parts lists with multiple suppliers that show you the totals, what parts are used where, etc. Its a nice little system.

Yesterday, I hacked on it and added a couple new features:

* You can now embed individual module part lists on any website using an iframe. the data itself actually lives in a Google Spreadsheet and gets imported to MySQL by a script we wrote.
Up until now, we were actually embedding each individual google spreadsheet on the appropriate page. This was nice, but it only told you what parts you needed. Now we can embed the part lister page on a module page, and it will not only show you what parts you need, but it will link you to a page where you can find out *where* you can get them from. I've updated the recent electronics pages with these embeds, so you can see them in action.

* I added support for our 'legend' table so that the main page of the part lister is no longer so cluttered. It now breaks down the various modules into 'Production', 'Beta', and 'Obsolete' components so that you can easily tell the difference between the various modules.

We're constantly striving to improve the RepRap project, and every little bit counts. If you have any suggestions, or you'd like to get involved, there are lots of opportunities, even if you don't know anything about electronics or 3D printers.


Tuesday, August 12, 2008


RepRapped Shaft Encoder

I have RepRapped a simple shaft encoder for the direct drive version of the extruder.

Read more about it here:


Sunday, August 10, 2008


Going for an EDM toolhead

In which the narrator decides that if an EDM toolhead is going to get built he'd better get on with it... read more

Friday, August 08, 2008


Announcing: Sanguino v1.0

I'm super psyched today to announce the Sanguino, a new microcontroller board I've been working on for the past month or so. As you know, we've been using Arduino as the recommended microcontroller to control a RepRap machine now for a while. It works, but we've pretty much maxed it out. The Sanguino is an Arduino-compatible board that boasts 4x the memory, 4x the ram, and 12 extra pins. Its a sweet board that gives us some room to expand while still being completely through-hole for simple assembly.

You can read more about it on the website, or buy a kit from the RRRF for $25.

Sanguino: Arduino's Big Brother from Zach 'Iowa' Hoeken on Vimeo.

Wednesday, August 06, 2008


Extruder alternatives

At Nophead's suggestion I've started a page here on improvements and alternatives in the construction of the polymer extruder.

The first couple of things I've added are a direct drive, which eliminates the need for the flexible coupling:

And a high-temperature heater design using Ian's idea of fire cement that will outperform JB-Weld-bonded ones:

That also uses Zach's thermocouple driver board, rather than a thermistor. This will go higher in temperature, and also gives a linear output. I've also added the code to the Single Arduino firmware to support the thermocouple.

Saturday, August 02, 2008


My bad: another note about compact flash cards

In which the narrator discovers that SD cards are indeed workable, thanks to Jonored... read more


A note about compact flash cards

A possible practical argument against using compact flash cards for memory buffers with Reprap machines... read more

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]