Wednesday, 9 November 2011

Printing without a computer (well ... sort of ...)

My two daughters (aged 12 and 14) think my RepRap is very cool - they can see the attraction of having custom made "things", in their choice of colours. My partner, on the other hand, has been tolerant about my RepRap obsession - but no more than tolerant! That is to say, she smiles benignly, and walks away, shaking her head ...

Anyway, the only major "sticking point" was the amount of time our laptop has spent "anchored" to the desk with the RepRap attached by its USB "umbilical cord", when she wanted to take the computer into the living room to use while watching TV, etc. Easily fixed, I figured - just install SD RAMPS so I would be able to print while not connected to a computer.

I ordered the SD RAMPS module from RepRapWorld and it arrived a few days later.

I followed the Wiki page to install and test it. First up was a "dry run" test of the SD RAMPS module plugged straight into the Arduino Mega to make sure the module and micro SD card were functioning correctly - no problems there. Onwards and upwards ...

Next step was to solder in some headers onto the RAMPS board - but things didn't look quite right. The photos on the Wiki page show the SD RAMPS aligned neatly with the edge of the RAMPS card, but I couldn't quite figure this out:

It turns out that on RAMPS 1.4, the corresponding pin pads have been moved a bit closer to the corner of the board, so it looks a little bit different, because the SD RAMPS daughter-board hangs over the corner of the RAMPS 1.4 board a little bit:

Anyway - sorted that issue out, hooked up again - and great - I can read and write files to the micro SD card using Pronterface as my interface software. So, I uploaded a gcode file (or so I thought!), selected it for printing, and pressed "Print" - and off it went. Great, I thought, so I unhooked the USB cable ...

... and my printer stopped dead in its tracks, even though it was still hooked up to 12 V power.

I repeated this process a couple of times, and was about to give up, when a little bell went off in the back of my brain. Hadn't I read somewhere about an extra diode on the RAMPS board if you wanted to print computer-less?

Sure enough - it's right there on the Wiki :

Definitely solder D2 in. D1 should only be installed if the 5A rail is powered by 12V. It can be omitted and the Arduino will be powered from USB. You will want D1 installed if you add components to print without a PC. To reiterate, D1 MUST be omitted if you are powering the 5A rail by more than 12V.

Okay - disassemble the RAMPS from the Arduino, solder in a second diode D1 (under the X and Y StepSticks), reassemble, and try again.

Yes! It works! Get the print job started from Pronterface, then  disconnect the RepRap from the PC, and it carries on printing all by itself ...

... and then it stopped!

Repeat this cycle a few times - what is going on? I take the micro SD out of the SD RAMPS and take a close look at the files that are on it. Funny ... the gcode files are awfully small!

I try uploading a gcode file from Pronterface, watching progress more closely - it is VERY slow to transfer the data. Maybe I truncated the previous gcode uploads by being too impatient? I wait a few minutes while the upload completes, and try again - and this time, the print runs right through to completion, while my PC is in a different room.

Now I am happy ('coz I can print large print jobs, needing the computer for just a couple of minutes to initiate the job), and my partner is happy ('coz she got her computer back!)

To reiterate the key learnings:

  1. RAMPS 1.3 and 1.4 have different pin pad locations - I have added a photo of my 1.4 arrangement to the Wiki to help other newbies who are struggling to get SD RAMPS working properly. (Not sure about what you have to do for earlier versions of RAMPS.)
  2. While you are soldering in the headers etc, remember to solder in the second diode D1 if you have not already done so.  (There isn't much point that I can see in installing SD RAMPS if you can't print "computerless".)
  3. When uploading gcode files to the micro SD card, watch upload progress carefully before disconnecting anything - gcode uploads to micro SD via Pronterface are R...E...A...L...L...Y     S...L...O...W...!!!!!
  4. Alternatively, take the micro SD card out of the SD RAMPS and upload to it direct from your computer's micro SD Port or Adaptor. This will upload typical gcode files in a second or so, and is probably quicker than waiting for Pronterface to manage.
  5. Then you can re-insert the micro SD card into the SD RAMPS, and you're good to go.
  6. From Pronterface, select the gcode file on the microSD that you want to print, and when the print job is running, you should be able to disconnect the RepRap from your computer (but keep it connected to its own power supply!), and the print job should continue through to completion without being connected to a computer.