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: