Tuesday 26 July 2011

Chapter 8 - In which Bernard comes out of retirement, and I wrestle with snakes

I decided a couple of weeks ago that I was going to run my printer from a laptop. I figured that this has several advantages:

- I can install and play around with as much new software as I like, without fear of damaging my main machine
- I can run the machine and calculate Gcode without it slowing down anything I'm doing on my main machine
- Its portable. I will probably have to move the printer setup from the spare room in the future, so portability is good.

Enter "Bernard":


Bernard is my girlfriend's old laptop, who has been enjoying his retirement shut away in a draw. Not any more - he ought to be just right for what I need.

Since I still can't build any further, I thought I'd get Bernard up and running, and have a look at the various software packages I will be needing. Enter problem number 1 - the screen went blank after a few seconds of being turned on. Adjusting the angle of the screen seems to have fixed it (loose cable I guess) and it hasn't happened again.

I spent some time reorganising some old files, but before I could go any further the screen went black again, and all the lights went out. It was fairly hot too, which lead me to problem 2 - the cooling fan has broken, causing the CPU to overheat and Bernard to shut down.

I figured I had just the short-term solution - several years ago I had picked up this nail-polish dryer, and had rewired the push-pad switch to a rocker switch. I had intended to use it to dry the paint on small models, but it was too noisy (and it blew the smallest parts away!). Turns out it was a perfect fit:


I used the nail dryer to push air (backwards) over the cooling fins, and out the bottom of the laptop. I installed a CPU temperature monitor to gauge when to turn the fan on and off.

With the cooling sorted, I pushed on with the next part of the plan - updates. Bernard has been out of use for about 2 years, and so was rather lacking in care packages from Microsoft. The first batch consisted of some 50-odd updates and security fixes, along with a new version of IE. I also updated the anti-virus.

My plan is to have Bernard drive the printer, but do the design work on my main machine. I set up a small network to allow me to share files between the two wirelessly. I will design parts and models, and export them to .stl format before transferring them to be printed.

Next I started to look at the software I would need to drive the printer and to generate Gcode. I don't know why, but I started with Skeinforge. I hadn't planned to start out using it, as by all accounts it is very in-depth, with a lot of things to configure, but I must have been reading about it, because I decided to get it working.

Now Skeinforge needs a slightly older version of the Python programming language to run, namely version 2, not the newer version 3. I went off and started to download the latest version of 2.7.  I then went and looked at Psyco, a Python script that can speed up other scripts, potentially doubling the rate of gcode generation.

Psyco hasn't been updated for Python 2.7 yet (and doubtfully ever will be, as development has stopped), but I found a version for Python 2.6. I went off and downloaded the latest build - 2.6.7. After unzipping however, I realised that I only had the source, not a compiled version. I just couldn't work out how to compile it, so I went back and found an older version of python which came compiled - V2.6.6.

I installed Python 2.6.6, Psyco 2.0.0 for python 2.6, and Skeinforge 41, and woohoo, it worked! Overjoyed with my progress, I moved on to the firmware.

The recommended firmware for the Sanguiniololu board is Sprinter. I downloaded the project from github, and went off to get the prerequisites - the Arduino software (version 0018) and Sanguinio addons. I unzipped the Arduino software, and added the Sanguinio expansion as directed in the sanguinio readme. I unpacked the sprinter download, and tried to follow the instructions to build the firmware. While I don't have a board to send it too yet, I figured I could at least make sure I had everything I needed and could make a successful build. Once again I got stuck. The sprinter instructions are all written for linux, and consequently don't make much sense for windows users. I managed to get the firmware to compile in Arduino, but whether it was correct or not is another matter.

It was 2am by this point, and I had had enough. I'll come back to Sprinter when I am closer to needing it, and will most certainly write up what I have to do to make it work!

My adventures were not quite over yet, as the next day I decided to install XP's service pack 3 - this only took about 3 hours! (Time well spent watching the German Grand prix) After rebooting for the umpteenth time, and installing another 54(!!!) updates, I tried to run skeinforge again to make sure everything was ok.

It wasn't. Somewhere along the line, something had gone wrong, and now python crashed every time I launched skeinforge. I removed everything, put it all back on, and still no joy. I removed it all again, and this time installed skeinforge before psyco and tested that it worked, which it did. Adding psyco broke the install again, so I removed it.

I gave skeinforge a test run with a couple of .stl files I had generated some time ago, and it successfully generated gcode. It didn't look right though, and it generated very quickly, so I suspect that the STL's I used are at fault. I'll test something else at a later date.

Just to prove to myself that it works:


Not being quite done for the weekend, I took Bernard's back off to establish what was wrong with the fan:

http://img.photobucket.com/albums/v31/lsutehall/reprap/IMG_1087.jpg (direct link as blogspot seems not to like the photo)

It was jammed by the most dense fluffball I've ever come across. Fluffball removed, cooling was restored.

I also found what looks like an old inkjet printer part that ought to do nicely as a laptop stand:


In other news, the Sanguiniololu board arrived last week. I've not removed it from it's bag, as I want to avoid static damage to the chip:


Up next - Installing the java host software.

Sunday 17 July 2011

Chapter 7 - In which I find a problem

It seems like the superglue is holding, but I haven't tried to remove the bottom plate from the axis yet - I figured I'd give the glue some more time. What I did do however was slide the plate up and down the axis. Primarily this was to check the bushings ran smoothly, but it showed up something else interesting.

This is the right hand corner of the carriage at the front of it's travel:


This is the back right hand side of the carriage at the far end of it's travel. Note the spacing of the plate from the vertex:


The Y axis is misaligned. I had measured and checked and rechecked the spacing of the smooth rods on the rear rod, but apparently not well enough. Although not a big misalignment (somewhere in the order of 0.5 to 0.75mm), it is certainly noticeable when moving the carriage.

I adjusted both the smooth rods on the rear rod by the same amount, to keep them parallel. This is the rear right hand corner after adjustment:


Much better. This step of checking the alignment is definitely worth it.

Chapter 6 - In which I almost did nothing

I still haven't bought everything I need, especially the M3 screws and nuts that I need to mount the stepper motors and the belt clamps. I was expecting not to be able to do anything this weekend, but after a trawl through my modelling toolbox I found a 3mm drill bit and decided to drill the top and bottom plates.

Here is the bottom plate (5mm acrylic, with the protective film still on). I have marked up the corners at 8mm (the larger dots).


I took it to the garage and clamped it down. I couldn't find my other expanding clamp, so I used the vice to hold to the other end in place.


I used a scribe to mark the centres of the holes, and hopefully stop the drill bit from wandering.


I loaded up the 3mm bit and drilled all four corners.


I centred the bottom plate on the top plate and redrilled.


I marked the sides of both sheets, just in case they weren't completely centred when I drilled them. Interestingly, the heat generated by the drilling seems to have melted the protective film around the holes, bonding them together. It pulled apart easily though, with no harm done.


I snapped the PLA bushings onto a long section of smooth rod. They were a little stiff, but a combination of running them up and down the rod and using the heat-the-other-end trick freed them up enough to run smoothly.


I snapped the bushings onto the y axis rods. They were still a little rough running, so I ran them up and down until they were smooth again. I think the smooth rod I am using is not entirely cylindrical. I think it's round enough though, but we'll see.


Being a bit of a perfectionist, I wanted the lower plate to be completely square and centered on the bushings. Any error here will be apparent, due to the clear nature of the acrylic. I spaced the bushings with a tape measure, and used my cutting mat below to make sure they were level.


I used superglue to stick the plate to the bushings (which I hope will hold). I used the lines on the cutting mat again to ensure the plate was well aligned.


I'll check later that the glue has dried and formed a strong bond.

In other news, I ordered the bare board for the electronics this week (ebay again). This particular one is v1.1 (which has some pin assignment differences from v1.2 - I'll have to be careful in the firmware), and has the FTDI USB to serial interface chip (the single surface-mount component) already fitted. This will not only save some time and difficulty, but now I don't have to source the chip separately. it was posted at the tail end of last week, and so should be here monday or tuesday.

Up next: Probably the joys of buying even more stuff.

Tuesday 12 July 2011

Chapter 5 - In which I start to build the frame

With my recent delivery of components, I figured I could make a start on assembling the frame itself. I opened the wiki on the build page, and the visual instructions from Gary Hodgeson's site. I figured it would be best to have both sets open, so I could cross reference them if I got stuck with anything.

I picked up the first threaded rod, and got to work.


Some of the rods had burrs left on them from the saw. 



I had tried to find a big file to take them down with, but in the end resorted to a needle file. I filed off the burrs and rounded the edges a little to take off all the sharp edges.

I started the thread the bar clamps onto the rod, and they stuck. Having been built vertically to preserve their strength, the holes weren't entirely round, and had little nodules in them.


A little work with a half-round file soon sorted them out, and they slid down the rod smoothly.


I put the ends on, and set with length using a tape measure.


I started on the sides of the triangle,


And finished them off by adding the top piece.


I set the lengths of the sides with the tape measure, and tightened everything up. Once everything was tight, I checked the lengths again. One of the sides had moved by a millimetre or so, but was easily corrected.

With one side built, the other was done in a flash (ok, so maybe not a flash, but it was certainly quicker than the first one).


I started to build the front rods next. I found that the visual instructions had helpfully included the length of the rods when talking about the sides, but now only used a description. I got confused, and started to use the 440mm rods to build the front (they are labelled as "top / bottom" in the Prusa parts list, and the instructions said "top rod"). If I can work out how to do it, I'll submit a modification request along with anything else I discover.

I cross referenced the wiki build manual, and started again with the correct length rods.


One thing that the wiki mentions in this section is about spacing the front bearing. The nut and washer next to the Y axis motor carrier are there to space the bearing away from the motor. I checked the distance and alignment of my motor/gear in relation to the bearings. Whilst not perfectly aligned, I elected to keep the spacing nut in place, and make any adjustments by moving the gear along the motor shaft. The difference isn't that large, but if it becomes problematic I'll remove the spacing nut.

The spacing here is just rough, and the nuts are loose. Tightened up, the gear doesn't sit quite this far along the shaft.
I mounted the front to the sides - it's starting to come together!


The back rods were easier to assemble, as they are not connected to one another (and I knew which lengths to use this time...).


I fitted the back bars to the rest of the frame.



I finally used the top rods for their intended purpose, and mounted the Z axis motor holders. I adjusted the frame using the tape measure, and tightened up all the nuts. I also fitted the smooth rods, and the lower bar for the z axis ends. I have the smooth rods just about centred and the spacing set, but had difficulty with getting the bottom bar into the correct position. I think it is right, but will need more checking and adjustment when I come to work on the z axis parts.



And there I have had to stop, as the next part requires things that I don't yet have - namely glue and M3 screws. Also the British Grand Prix was just starting.

Next up: buying more stuff, and drilling acrylic.

Sunday 10 July 2011

Chapter 4 - In which I get frustrated at B&Q, and the postman has a busy day

So a lot of stuff has been turning recently - the postman had 5 parcels for me the other day! I think I now have all of the parts to start building the frame.

So what turned up? Firstly we have the frame washers. This is a 100 pack from ebay:



Next we have the M8x30 (fender/mudguard) washers. I got a 20 pack, again from ebay, so as to have some spares etc.



M8 nuts. Again a 100 pack, again from ebay.



'608 skate bearings', 10 off. I know I only need 6, but again I wanted a spare or 2. I may also want to build a new extruder somewhere down the line. Did I mention I really like ebay for these sorts of things?



Whilst on the hunt for fasteners etc, I figured I'd get the bolt needed for Wade's extruder. Turns out it's really tricky to get hold of an M8x50 shoulder bolt here. I haven't been able to find them anywhere I've looked (oh ebay, you've let me down :-( ).  I eventually resorted to spending 20 or so minutes looking at every M8 bolt I could find on the shelf at B&Q (I had to go back with my girlfriend, after one of the lampshades we got last week while hunting for threaded rod turned out to be damaged). I came away dissapointedly with a standard M8x50 bolt. I'll see what I can do with it when I come to making the extruder.


The other 4 parcels contained the hot end parts I mentioned in my last post. I'll put up photos etc later on, in a dedicated hot end post - I've got a plan, I just need to bring it all together.

"Next time on 'forays into 3d': Building the frame!"

Tuesday 5 July 2011

Chapter 3 - In which I receive acrylic, and buy more bits.

Two things have happened today; firstly I have received the long awaited build bed parts (ordered at the same time as the steppers and reprapped parts), and secondly I've bought some more parts.

The bed consists of 2 parts of 5mm thick clear acrylic. I was initially disappointed at the size of the build area, until I realised that I was remembering the instructions incorrectly, and that the larger part goes on top. D'oh! A bed of 225mm square seems pretty big for a machine of this size. Here are the parts on the bench:


I have gotten my parts list to a stage now where I'm happy that I have accounted for (and found a source for) the vast majority of the parts needed for the initial configuration.

Parts purchased today include the M8 nuts and washers needed to put the frame together, the 608 bearings for the axis drives, and parts for my prospective hot end - more on this in a later post.

Chapter 2 - In which I buy steel rod, and break saw blades.

Most of the Pursa frame is made from M8 threaded rod, cut to various sizes. The axes are made from 8mm smooth rod.

I spent a good amount of time searching ebay for rod at a good price, and even went along to the local hardware store (where they only had the threaded rod, which was bent and at £2.99 a metre was too expensive). Last weekend a comment on Nophead's blog (don't remember which post, sorry!) sent me off to B&Q, where I found exactly what I needed (and it wasn't too bent either). I came away with 6 metres of M8 threaded and 3 metres of 8mm smooth. The threaded rod is shiny, so I guess its BZP. The smooth rod came up on the till as being made of iron, but I think it's actually steel.

I also picked up some 300mm hacksaw blades (thinking that the cheap one that came with the saw would break, which it did) and some Scotch/3M decorators tape. This will line the bed initially and hopefully prevent too much warpage.

I cut up the rods in a manner which avoided using long section of the 3 slightly bent rods. The short sections ought to be straight enough for what I need - they will mostly form the frame sides, and now they're cut up they don't look bent at all. The 8mm smooth rod seemed to have been bitten or snipped off at the ends with a large pair of cutters, leaving the ends non-circular. I cut these off before cutting the lengths.

Here it is, all cut up:



I still need to finish off the ends, to remove the burrs etc. Some sandpaper and some determination ought to do the trick. A comment on richraps blog about his X axis sticking made me take another look at the smooth rod. While it is mostly smooth, it does have some surface irregularities. I may go back and see if a light sanding will smooth it out a little. I think I'll probably use some lubricant on the rod as well when everything is up and running.

I ought to add that all the photos used on this blog and some more that didn't make the cut are up on my photobucket.

Sunday 3 July 2011

Chapter 1 – In which I buy things, and the postman delivers them.

So I pulled up the Prusa parts list, and pushed it into openoffice's spreadsheeter. I added the parts for the extruder, and then went off and started looks for sources.

I figured I'd start with the biggest bits first, and so went off to ebay and purchased a set of Prusa parts from Nophead. This set contains his redesigned z-azis couplers, which I will fit when the time comes. 

I checked out the stepper motor page of the wiki, to try and help with choosing the right motors. I went for SOYO SY42STH47-1684B's in the end, from Zapp automation here in the UK.I had wanted the single-ended 1684A's, mostly because I thought they looked neater, but also because I wouldn't have to file flats in the shafts. I still might not, as I plan to use "pointed" grub screws to hold them in place. However I have a sneaking suspicion that they will not hold well enough, and so I might end up having to file the flats anyway.

I found a set of Prusa belts on ebay from threprapkitstore.co.uk, and I ordered a bed set of acrylic components from another ebayer. I decided to drill these myself, a decision that I may come to regret....

Several days and a couple of trips to Royston post office later, and I have my hands on a couple of boxes. Lets have a look in the one from Zapp:

The box is fairly compact, at about 15cms per side. 



Inside, no surprise, are 5 stepper motors, wrapped in protective bubble wrap. The extra shaft isn't as noticeable as I had thought it might be. I know these are NEMA 17's, but somehow I had expected them to be a bit bigger. Oh well, size isn't everything.



Next up, the belt set:



Not much to say here: exactly what it says on the tin. These are the 5mm T5 drive belts that will move the X carriage and Y bed.

Now onto the big one - the reprapped parts from Nophead:

The box is a similar size to the one the steppers came in:



It's securely packed, and full to the brim.



Here are the parts layed out. There seems to be quite a lot of them!




They have a very solid feel to them, and parts like the extruder body are quite heavy. If i can get my machine printing half as well as this I'll be pleased, and I'll be over the moon if I can match the quality of the gears - the big gear for the extruder is amazing! This is the biggest single piece, the motor mount for the X axis.



The extruder body is a great example of what makes 3d printing so awesome - this part would take lots of operations and several hours to machine out of a solid block of material. Here it can be done in a single operation, even the recessed bearing holder on the bottom of the body.



Next up - the joys of buying steel rod.