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

Sunday, 25 September 2011

Into the Third Dimension! (3D Modelling Software)

While there are some truly wonderful inventions by other people that can be downloaded and used – like these brackets for mounting your RAMPS onto a Prusa frame  or the Infinite Clip ( a better paperclip you can make yourself) – I would never be satisfied just making things that other kind folk have invented and shared. My Prusa RepRap will only truly show its potential when I can make things that I have designed – and for this, I will need to choose some 3D modelling software.

So – how to select your CAD software? Well, for me, since my whole impetus for finally getting into RepRap now is that it has become affordable, I will focus on cheap or free software options. The other key requirement is that it must be able to generate STL files of my creations.

For reasons that I won’t go into here, I already happen to own a licence of Alibre PE (Personal Edition) - this is full parametric feature-based CAD software. What does that mean?  Well, it means you can create very complex 3D components and assemblies, with far more powerful editing features than are available in any other free and low cost software options that I know of. For those who understand such things, it works very much like Autodesk Inventor, SolidWorks, Solid Edge, etc.

Alibre used to be available free for personal use (Express version), but is now only available as paid-for software; however, it only costs around AU$200. In addition to being a very powerful solid modelling package, it can also create professional 2D drawings of your creations, which can be handy if you ever need to get your parts professionally manufactured by others. (You never know – that clever little widget that you have been knocking out in ones and twos for your friends becomes so popular that you need to make thousands of them!) I don’t know of any comparable packages at this price point – highly recommended for anyone who has any sort of engineering / CAD background!

Alibre has recently been acquired by 3D Systems who have been very busy buying up all sorts of 3D companies recently, and their interests now include both professional and personal 3D printers (such as the RapMan). What this recent acquisition means for the future of Alibre is somewhat uncertain; however, it seems likely that 3D Systems would have acquired Alibre as a software tool to support their personal 3D printing interests, so I would expect Alibre to remain a good choice.

The only problem I have encountered with Alibre is that the STL files it creates can’t always be opened properly by some other software packages (including RepRap Host, unfortunately!)  This intrigued me, because the same STL files open fine in other packages (such as CAD and FEA software that I use at work), so they are clearly valid files. A bit of research found that this was a known issue with RepRap Host for example , and a bit more investigation revealed that the problem appears to be something  to do with numeric formats in the Alibre-generated STL file versus what the receiving application is expecting, but there are tools available that can open an Alibre STL file and re-save as a RepRap Host readable STL file, such as “EasyFIT “ which is available for free here:

Of course, OpenSCAD seems to be the “weapon of choice” for the RepRap movement, and will be in my armoury, if only to give me full editing access to modify parts that others have created and uploaded. I had not come across this concept of “script-based solid modelling” before getting interested in RepRap, but I am still slightly gobsmacked how a short and simple script like this:

module example004()
difference() {
cube(30, center = true);

 can generate a complex object like this:

Anther obvious choice for consideration for many people is Google SketchUp, which is available for from . SketchUp has the advantage of being free, being very simple to use, and is very popular. However, out of the box, SketchUp won’t export STL files, which are necessary to “feed” your inventions to your RepRap. Luckily, there are a number of “plug-ins” you can download which will add STL capability – just try a Google search for “SketchUp STL”, or go to  for example.

Of course – these aren’t your only options. Other free 3D modelling software choices that might be worth a look include PTC Creo Elements Express , Autodesk 123D  , 3DTin , TinkerCAD , ….

There was a time when I would have downloaded and cross-benchmarked all of these options (and I would probably ended up hopelessly confused in the process). These days, I am more pragmatic – once I have found something that works for me (Alibre, EasyFIT, and OpenSCAD), I will stick with that …

So … what 3D CAD software are other people using?

Thursday, 22 September 2011

RepRap on TV - "Catalyst", September 22 2011

I happened to catch this story, while channel surfing tonight - a good story, well presented! It is available on ABC iView here: ("Catalyst" Series 12 Episode 31 - first broadcast 22 September 2011).
(Screen grab captured off ABC iView - hope I'm not breaching anyone's copyright!)

I'm not sure if the ABC iView service is only available to Australian internet users or if it is available globally. The RepRap story begins at 0'34" and runs through to 8'15".

I confidently predict a sudden upsurge of interest from Australian viewers who will all want to get into RepRap now!

I have plastic - now all I need is electrons!

I got my package of 3 mm PLA filament today - thanks Michael for organising this group purchase! I have 4 rolls, all bright fluoro colours (who needs boring old clear or white?!) - should be enough to keep me in raw materials for a few weeks!
I cut off a short length of red filament, and pushed it into my Wade's Extruder  - it seems to pull it through very easily (although I won't know for sure until I get everything wired up!), and it seems to have a really good grip on the filament, while also feeding through really nicely - like I think it should. When I wound the piece of filament back out, you can feel quite distinct surface roughness where the extruder has gripped it.

I then took a close-up look in my cheap USB microscope :
At 50x magnification, there are quite clear "teeth marks" embedded on the surface of the filament, created by the Hobbed Bolt:

This is starting to look promising! (Now, back to the rebuild of my RAMPS board ...)

Tuesday, 13 September 2011

RAMPing things up a notch

My RAMPS 1.3 electronic kit arrived a couple of days ago.

The kit:

Close-up of the Arduino Mega:

Close-up of the main PCB board:

Close-up of the StepStick Stepper Motor Drivers:

I have spent the last couple of evenings soldering all of the components onto the main board,  following the instructions on the RepRap RAMPS 1.3 Wiki:

First task was to solder on the resistors and other components in the middle of the man board:

Then comes various headers and jumpers, wire terminals, etc:
And finally the StepStick Stepper Drivers, and the Headers to "piggyback" it into the Arduino Mega:

I'm not exactly one of the world's greatest solderers, so I took my time, and I think everything has gone OK. I'll give it a through examination and continuity testing before connecting it up to the motors and extruder, and I'll devise some sort of commissioning / testing program (one stepper motor at a time, so that If I have shorted anything out, I will hopefully blow no more than one motor and / or one driver), so that I can confirm everything is working properly before I get into the official "start-up" testing.

EDIT 14 September 2011: I have been continuity testing my RAMPS, and it seems I have a short somewhere between my Ground and 5V lines - Bugger! Bugger! Bugger! It will probably take me a while to track down where the short is, as there are so many possible locations on the board where I may have dropped a blob of solder across the Gnd and 5V lines. (I don't suppose anyone knows any good ways to track down faults of this kind?)

EDIT 15 September 2011: Well, I can't for the life of me track down my short circuit - I am guessing it might be some excess solder that has flowed through to the top side of the board, hidden from view under a header or other component. Whatever it is, I can't get the correct voltage on the 5V line, and I can't see how the board can possibly work if it isn't giving 5V where it is required (not to mention the risk of overheating by running a dead short from 5V to ground). Looks like I may have no option but to strip the board down and start again! (Guess I had better stick to my day job - which doesn't involve any soldering!)

Saturday, 10 September 2011

Once I get my 3D Printer working, what should my first print job be?

I know this is all a bit premature - but I've been wondering: Once I have got my 3D Printer working, what should my first print job be? Spare parts / upgrades for my Prusa? Little plastic widgets and gizmos  (like bottle openers and key rings etc) to hand around, to spread the word about the RepRap goodness?

And then it struck me (it’s obvious really): What I really need is a 3D Photocopier!

Here’s a “home brew” 3D scanner (plastic parts created with a desktop 3D printer) called SpinScan :

  1. Place object to be copied onto the SpinScan turntable
  2. SpinScan creates a 3D “point cloud” which you can convert into an STL file using the free (open source) MeshLab software 
  3. Load the STL file into the 3D Printer host software 
  4. Press “Print”
 Voila! 3D photocopying in your own home!
Beam me up, Scotty!

Edit 15 September 2011:
This just gets cooler and cooler – it turns out you don’t even need to BUILD a 3D scanner – all you need is a digital camera (even your phone will work!) to take a bunch of digital photos (or short video) as you move around your target, and then you upload to this site to generate a “3D point cloud” from your digital photos / video for free:

(This MIGHT even have some applicability for work – it won’t be “survey accurate”, but when you can create a 3D pdf file like the attached for free, it definitely has some potential for visualisation purposes!)

Wednesday, 7 September 2011

Finishing the Main Build – the X-Carriage and Print Bed

Installing the X-Carriage went pretty much without a hitch. Pretty well all of the steps described in the Visual Guide (i.e. installing the pulley on the motor, installing the motor, installing the PLA bushings and the X-Carriage, and installing the belt) were repeats of steps encountered earlier in the build process, so no new problems to resolve here. Again, the PLA bushings were initially very tight, but freed up quite quickly with a bit of oil, and sliding them along the X-Axis a few times.

I then installed my Wade’s Extruder complete with Hot End  onto the X-Carriage – as much to give it all a safe place to live as anything.

I’m still waiting (and waiting … and waiting …) for my RAMPS kit to arrive, so I fitted the upper print bed plate at this time as well – again, to get as much done as possible now, and to keep all of the parts together. Again, no real dramas here, apart from the issue of limited Y-Axis travel that I discovered earlier in the build . The method of mounting the top plate on the bottom plate with 4 screws and 4 springs works well – it allows easy alignment of the top plate for horizontality in both X and Y directions, while holding the plate firmly in position when you have the alignment just right.

So – there we have it! The structural / mechanical build is now complete, but until I get my electronics assembled, it’s all show and no go!

I’m actually very pleased with how it’s all gone so far. The machine looks and feels really solid, and while it looks like it has been designed by an engineer who knows what they are doing, it also has the distinct “look and feel” of a back-yard shed home-brew project. (Somehow, you can tell this wasn’t bought in a high-street electrical appliance shop!) I’m really pleased that I went for the “source from multiple vendors” option – it kept my costs down, and I had to resolve a few design and fabrication issues along the way – all part of the learning process. More importantly, I know intimately how my machine is built and how it all goes together, which I suspect will prove to be vital when it comes time to commission, fine-tune, and maintain the printer in operation.

All of the motions seem smooth enough to me, and the forces involved in moving the components around don’t seem excessive, but I have no experience with a 3D printer or with these motors, so I just don’t know yet if it is even capable of moving, let alone how precise and repeatable the motions will prove to be.

I have developed quite an affection for my machine (is this sounding a bit too weird?) – I’ll have to give it (her?) a name. (Well, if Sebastian Vettel can give his Red Bull Formula 1 cars names like “Kinky Kylie” …. ) Suggestions, anyone?

Saturday, 3 September 2011

Time for a few Zzzz’s (After assembling and aligning the Z-Axis)

I have already mentioned the fact that my frame went together in such a way that the bottom cross rods (front and rear) are not quite parallel to each other and perpendicular to the longitudinal bottom rods . Nevertheless, I carried on with the installation of the Z-Axis (in accordance with Part 8 of the Visual Guide ), hoping everything would sort itself out.

First step is to align the bottom cross rod with the top cross rods (the X-Axis), and mount the Z-Axis round bars in the Z-Axis Motor Mounts – no problems here. As recommended in the Visual Guide,  I spent a bit of time making sure the round rods were truly vertical and parallel with each other, and all seemed to go OK.

I then snapped two PLA Bushings onto each Z-Axis round rod. As I found with the Y-Axis, at first they were quite stiff, but a little bit of light oil, and moving them up and down the rods 20 or 30 times soon had them sliding quite freely.

Next step was to glue the pre-assembled X-Axis assembly onto the PLA bushings. The Visual Guide doesn’t specify the type of glue; I went with Super Glue, and it seems to be holding fine so far. After making sure everything seemed to be well and truly aligned, I left the machine overnight to let the glue dry properly. The next night, I removed the temporary support from the X-Axis, and tried moving the assembly up and down the Z-Rods (being careful to keep the X-Axis assembly horizontal, to avoid “binding” of the PLA bushes against the smooth rods) – it slides quite smoothly – great!

I found that I had to ream the Z-Screw Rod Couplers to get them to fit easily on the motor shafts and the M8 threaded rods. I don’t know if this is typical or not, but a quick pass with a 5 mm drill bit on the motor end and an 8 mm drill bit on the threaded rod end got them clean enough to fit snugly onto both shafts.

Next step was to install M8 nuts into the bottom of the X-Axis Idler Mount and Motor Mount, as well as the “optional” spring and second M8 nut in the top of the two mounts. I very soon found that the springs that were supplied with my kit are too small in diameter to fit over M8 threaded rods, so in my case, the “optional” springs had no option but to be omitted.

I installed the upper M8 nuts anyway – not sure yet whether this was a good move or not. This was all a bit fiddly until I managed to get the M8 threaded Z-Rods into place, so that the M8 nuts could all be held in place by the threaded rods.

Next came the installation of the two Z-Axis motors. The Visual Guide says it is optional to install locating screws for these two motors, citing issues with “binding” of the Z-Axis motion if the whole system is not perfectly aligned. Quite frankly, the whole idea of NOT fixing the motors in place appals my engineering instincts, but the motors are a very snug fit in their RP’ed mounts, and I figure I can always install the screws later, so for now, I have left the Z-Axis Motor mounting screws out.

The motor / screw-rod couplers go on next – no problems here because of my earlier job of reaming them out a bit to fit nicely.

I then wind the two threaded rods up until they engage fully in the couplers (leaving a gap of a few mm between the bottom end of the motor shaft and the top end of the threaded rods, to allow the couplers to “flex” to absorb any misalignment), and tighten all of the screws on the couplers.

After checking that everything seems to be straight and true, I put a spirit level on the X-Axis assembly, and wind one of the Z-Axis threaded rods to level the assembly. I then very carefully wind BOTH Z-Axis rods together to see how the whole Z-Axis motion travels. To my delight (and I must admit, some surprise!), the X-Axis assembly moves smoothly (but slowly) from top to bottom of the Z-Axis.

I don’t want to sound over-confident, but this is all beginning to look like it might just work!

So … off to bed before the next stage of the assembly – assembling and installing the X-Carriage.