Tuesday, 18 October 2011

You've got to admit, it's getting better ...

... A little better all the time!

Well, I owe a HUGE debt of gratitude to Triffid Hunter and David Drew for their comments on my previous post http://julianh72.blogspot.com/2011/10/cheers.html . Triffid Hunter was 100% spot on in diagnosing my main problem as being backlash.

When first assembling my machine, I had no real guidance as to how tight the belts should be, and I was worried that if I over-tightened them, I could stall (or burn out ) my stepper motors, or break my machine. Triffid Hunter said "They should make a tone of 100hz or more when plucked like a guitar string. That's a low G sharp for the musically inclined." Or to put it another way, they should be "as tight as a tourniquet, dry as a funeral drum". (Google it, if you don't get the reference.)

So I set to tightening my belts. My X-axis belt was not too bad, but needed just a little bit of tightening, but my main problem was my Y-axis belt. Having had the root cause pointed out to me, sure enough, you could actually see the backlash on the Y-axis pulley every time it changed direction.

I have seen a number of clever tricks to tighten the belts on your RepRap, including this http://www.thingiverse.com/thing:10082 and this http://www.thingiverse.com/thing:4535 , but I decided to go with a much simpler solution - make a loop of cable ties around the ends of the belt, and then pull it nice and tight, and cut off the loose ends:
Simple (crude, even), but very effective, and easily adjusted without needing to tighten or loosen any clamps. If you over-tighten it, just cut it away, and have another go. So, I tightened both belts, and repeated some of my test prints - and the results are an astounding improvement (to me, anyway!):
Compare the 20 mm Calibration Cube to what I was getting earlier http://julianh72.blogspot.com/2011/10/always-listen-to-people-who-know-what.html and my second attempt at the RepRap Teardrop Shot Glass http://www.thingiverse.com/thing:11944 against my first attempt http://julianh72.blogspot.com/2011/10/cheers.html , and you would have to agree that this is a dramatic improvement.

Monday, 17 October 2011

Cheers!

Well, I think I have now got to the point where I thoroughly deserve a toast to my success and progress so far - so I downloaded the STL file for the RepRap Teardrop Shot Glass http://www.thingiverse.com/thing:11944 and printed one off - and here it is under construction:


And here's the finished article, still bonded to the Blue Tape print bed:

Separated from the print bed - note the "raft", and the internal "whiskers" where the extruder has jumped across from one side to the other when changing to the next layer:

And after some cleaning up:

No, it's not perfect - but it neither does it look like a 3D spider's web, like my first few prints. The outside layer shows a few "sagging" layers, while the inside surface actually looks pretty good, and both the top face and bottom face of the horizontal shot-glass bottom look pretty tight.

Cheers!








(Wait - what's that I hear? Someone is asking if it's actually watertight, and did I actually get a drink from it? No! It leaks like a sieve! But never mind - it's onwards and upwards from here!)

Always listen to people who know what they are talking about!

My printer doesn't yet have a heated bed, although I expect I will add one as soon as I get the machine working to my basic satisfaction. I am printing 3 mm PLA (as most resources seem to suggest that PLA is an easier material to get to grips with than ABS, and it doesn't absolutely NEED a heated bed). The RepRap Wiki and other sources strongly suggested using "blue tape" http://reprap.org/wiki/BlueTape on the print bed to get the printed objects to bond properly, with the most recommended blue tape being "Scotch 3M Blue Tape 2090". My local hardware store didn't have any Scotch brand "blue tape" when I went there a couple of weeks ago, so I bought a roll of generic paper-based painter's masking tape instead - BIG MISTAKE!!!!!

I found the PLA simply did not bond to the generic tape at all. I was able to get my early test prints to bond to paper which I bull-dog clipped to the print bed, but as I susbsequently discovered - this is (almost) OK for mucking around, but if you want to print something which is even half-decent, you absolutely MUST get a good bond between the raft / first layer and your print bed.

I went to a diferent hardware store today, and they had some genuine Scotch Blue Tape 2090, so I grabbed a roll. It was quite a bit dearer than the generic stuff I had bought earlier (although still very cheap compared to what I have spent on this project overall so far!), but what a difference it has made to the quality of my printed parts - WOW!

On the images that follow, one of my old 20 mm calibration cubes (printed onto paper) is on the left, while the same 20 mm cube printed on Blue Tape is on the right. All machine settings (firmware and software)  are identical - the only thing I changed is the contact medium on the top of the print bed.

Bottom Faces:


Top Faces:

Side View:


You can see that printing on Blue Tape gives me MUCH improved resolution overall: on the bottom face, the side faces, and the top face. I really wasn't expecting such a dramatic change to the whole print quality, just from having a better bond between the bottom printed layer and the print bed.

Do yourself a favour - if you are having any issues with the quality of your first prints (especially if you don't yet have a heated bed), I strongly suggest you use PLA filament and genuine Scotch Blue Tape 2090 - it certainly worked for me!

Getting everything squared away

Well, after my first flush of 3D printing glory, I had a “compulsory sabbatical”, due to a requirement to travel away from my machine for work purposes. (Oh, the separation anguish!) The enforced parting gave me the opportunity to stop playing and start thinking – how could I improve the design of my machine (which I only just got working, after a fashion), examining the Sprinter / Pronterface / Skeinforge settings, and so on.
In particular, I had one of those “light bulb” moments that sometimes happen when you take the time to step away from a problem, and see it from a new perspective - I worked out how to correct the non-perpendicular alignment of my X and Y axes. http://julianh72.blogspot.com/2011/08/main-frame-build-and-alignment.html
Due to the initial mis-alignment of my whole frame, for my initial prints, squares were not quite square. I had calibrated the X and Y motors so that the sides were equal in length (and correct length, as well), but the corner angles were a couple of degrees off a right angle (as I always feared). This probably doesn't matter for "sculptural" type print jobs, but for dimensionally-critical machine parts, I wanted to get everything all squared away.
Then I realised that all I need to do is move the ends of the Y-axis smooth rods across slightly at either the front or rear threaded rod until they are truly perpendicular to the X-axis smooth rods (just a couple of mm at one end was all it needed). Once I had seen the machine in action, I realised that all you need to do is get all your smooth rods for the X, Y and Z-axes mutually perpendicular to each other - it actually doesn't matter if the rest of the frame is a bit skew, as the long as the smooth rods are all square to each other.
Five minutes work with a spanner shifting the Y-axis smooth rods a bit and voila! – nice square prints!
I now realise that the design of the Mendel Prusa is actually quite clever in that each of the axis smooth rods can be independently aligned so as to be truly perpendicular to the other two axes. I am sure this is by design, not just an accident, and it is probably obvious in hindsight, but it took me this long to realise!

Saturday, 1 October 2011

" 'tis a poor thing, but mine own"

Well, I sorted out all of my motor issues today, and have all three axes working smoothly, the extruder is pushing filament forwards and backwards, the end stops all work (and the machine can find Home on all axes and can "park" itself nicely), and the hot end reaches a nice stable operating temperature. I loaded a simple STL file into Pronterface, and did a "dry run" (no filament loaded) - and the machine looked like it was doing all the right things.

At this point, there was nothing for it but to push some plastic through and see what happens - and so, in the spirit of "Hello, world!" (the first program you create when learning any new programming language),  here's what happened:


(I'm just printing onto a piece of paper held onto the acrylic print bed with bulldog clips, 'coz I have no idea of whether the PLA filament would glue itself permanently to the acrylic and damage my nice shiny acrylic.)



OK, so it's not exactly "precision engineering", but I am SOOOOOO happy! It actually vaguely resembles the part I was trying to print. The most obvious defect feature is that the "voids ratio" is pretty high (it's supposed to be a solid part with a couple of screw holes, not a 3D spider's web!), suggesting I am either extruding too slowly (not pushing enough plastic through, thus creating too fine a filament for the travel speed of the print head), or I am moving the print head too fast for the extrusion rate it is capable of achieving (which is sort of saying the same thing), or a combination of both. Or maybe my Hot End temperature is too high (or too low?), or .....



Anyway, a bit of research should suggest some possible approaches to get it to print more "solid" parts. Stay tuned ...

Friday, 30 September 2011

Igor - raise the lightning conductors! Flick the master switch! It's alive! Mwah-hah-hah-hah-hah!

Sorry if I got a bit carried away there, but now I think I know how Dr Frankenstein must have felt when he first breathed life into his creation / monster!

Having finished my re-assembly of the RAMPS board last night, I hooked up all components to the RAMPS, checking each connection in turn for connection, polarity of the motors, etc.
The only real problem I encountered was that the header blocks are rather large for the fairly compact RAMPS board, and it was going to get too crowded in some areas. I addressed this by wiring both Z-Axis motors in parallel through a single header (instead of using a separate header for each motor), and I bent a few unused pins down on the end-stop area, so I could fit in the three 2-pin headers for the end stop micro-switches.




A few checks that everything was in order and then  it was time to fire up, load some firmware, and then the control software, and see what happens.

I am using Sprinter firmware https://github.com/kliment/Sprinter for now - I picked this because a lot of people seem to be using it, and there is a lot of community support, so I figured this was a good place to start. I can experiment with Sprinter, and then once I have things working, I can take a look at other firmware options to see if there are any other options that suit my needs better. Loading the firmware (using the Arduino host software) went without a hitch.

For control software, I selected Pronterface https://github.com/kliment/Printrun as my initial choice - again because it seems to have a lot of community support. Again, I will try to get things working to a basic degree with the "community standard" software before I get into looking at alternatives and custom code, etc.

Anyway, I hooked up the RAMPS to my Prusa, then connected 12 V DC power from my ex-ATX power supply, connected the Arduino Mega to my laptop via USB cable, loaded up the Pronterface software, turned everything on, and watched and waited for a few seconds....

... so far, so good, no sparks or smoke. I then set the communications port (COM9 in my case) and the baud rate (115200), and clicked on the "Connect" button. A second or two later, I got a console message saying "start - Printer is now online". Wow! Is it really that simple?!

Pronterface has a few buttons whose function seemed to be pretty self-explanatory (X+100, Y-10, etc). So, I tried a few, and here is what I found:

X-axis: not working yet - I am guessing a faulty connection to the end stops, or maybe incorrect pin assignment in the RAMPS firmware.

Y-axis: seems to be working exactly as anticipated - moves in large or small increments in both directions, and stops when it hits the end stop. Excellent!

Z-axis - moves in both directions, in large or small increments, but moves in the wrong direction. Changing the direction shouldn't be too hard (I think I just need to dive into the firmware)

Extruder: runs both ways, but runs in wrong direction (reverse when it should be extruding, and vice versa) - again, should be easily resolved in firmware

Hot End: heats up and stabilises at the selected temperature - it seems to oscillate between about 184 - 190 degrees (as indicated by the hot-end thermistor reading) when set at 185 (for PLA), and 226 - 235 degrees when set at 230 degrees (for ABS) - not bad! I checked the surface temperature of the hot end with a contact thermometer - it seems to read about five to ten degrees lower than the hot-end thermistor reports, but that is probably to be expected, as the hot-end thermister is embedded within the hot end, and there will inevitably be some temperature loss when trying to read a surface contact temperature.

So, tasks required before I can push some plastic filament through:

a) Sort out why my X-axis isn't moving yet
b) Correct the direction of motion for the Z-axis and the extruder
c) insert some filament, and then the fun can REALLY begin!

And here's a video of my machine in action in its first "live firing" exercise:

A major milestone: build phase complete!

Well, tonight I basically completed the physical assembly phase - all wiring has been installed (including the hot end and thermistor, the end stop switches etc), and I have tidied up all of the wiring by tying it to the frame with cable ties - making sure to leave sufficient slack for the machine to go through the full range of all its motions without stretching at any of the wires.
I have gone with simple mechanical micro-switches for the end stops - mainly because they are really simple to wire up and test, and I figure I can always upgrade to opto stitches later if I see any need. Here's the X-Axis End Stop:
and the Y-Axis End Stop:
and the Z-Axis End Stop:
The end stop micro switches are just held onto their brackets with cable tie at the moment, for two reasons: firstly, it will make it easier for me to re-adjust / re-mount them if I have to stat moving things around; and secondly because I couldn't find any 2.0 mm or 2.5 mm nuts and bolts which could fit in the holes in the bodies of the micro switches. I have quite a few spare 3 mm nuts and bolts, but they are too big to fit in the micro switch bodies without reaming the holes out a bit, and I didn't want to do that in case I damage the workings inside the micro switches.

I have fitted crimp-on headers onto all of the cables, and also put labels on the ends of the cables, so that I know which cable attaches where on the RAMPS board.

The headers have the right 0.1" (2.54 mm) spacing to fit over the header pins on the RAMPS board, but the header bodies look like they could be a tight fit on the board (especially the twin Z-Axis motors - I'm not sure how I will fit them all in the limited space available).

Anyway, next phase will be to attach the cables to the headers on the RAMPS board, and fire her up! Stay tuned ...