Sunday, August 19, 2012

MendelMax 1.5 Build

Just finished my Dark Knight themed MendelMax 1.5.   Great printer design.  I highly recommend it.  Aside from drilling and tapping a few holes, it was extremely easy to build.


I use an old xbox 360 power supply and RAMPS 1.4, both of which are mounted under the build platform.    I painted the Prusa MK1 heated PCB bed gloss black (make sure you use high temp paint).

 

The wiring is cleaned up with TechFlex 3/8" wire loom.   Check it out on ebay.  I paid $4 for 10' which was plenty and it makes the printer look so much more professional.  Great stuff.

A little more expensive than the standard Prusa i2, but definitely worth it in the end.

Friday, August 3, 2012

Slic3r on Raspberry Pi

Installing Slic3r on Raspberry Pi

After installing PrintRun on my RPi, I wanted to get a slicing software running.  Skeinforge is written in Python so I'm sure it would install pretty easy.  The problem is Skeinforge is so slow at slicing.  Even on my normal computer, it takes at minimum a couple minutes to export G-Code for an STL that would take a few seconds on Slic3r.  

Note:  Slic3r is fast and for the majority of slicing that I do, it works flawlessly.  Unfortunately it is still in it's infancy for certain features, such as support material.  Therefore, Skeinforge is a necessary evil you will likely eventually need.  

Installation


I followed these install instructions for the most part.  Another fellow Reprap-er anwe79 suggested a few more needed dependencies to get it up and going.  I will list the full install process to make it easier.  

First:


sudo apt-get install git build-essential libgtk2.0-dev libwxgtk2.8-dev libwx-perl libmodule-build-perl libnet-dbus-perl
then
sudo apt-get install cpanminus
This next part may not be needed but just go ahead and make sure you have them:
sudo apt-get install curl
curl -L http://cpanmin.us | perl - --sudo App::cpanminus

Next is the extra needed dependencies that aren't listed on the original tutorial:
sudo apt-get install libextutils-cbuilder-perl
sudo apt-get install gcc-4.7
sudo apt-get install g++-4.7
Now you will be ready to go forward and get Slic3r:
git clone https://github.com/alexrj/Slic3r.git
cd Slic3r
Now you need some misc. perl dependencies:
sudo apt-get install libwx-perl
This next part installs some dependencies through cpanm.
sudo cpanm Boost::Geometry::Utils Math::Clipper \
    Math::ConvexHull Math::Geometry::Voronoi Math::PlanePath Moo Wx
NOTE: This will take forever! Just press enter and let it go. Don't mess around. After you get back to the main terminal prompt, scroll back through and check for errors. If you see errors then you need to check out the build log. Insert the correct build.log directory, should be something like /root/something/build.log

sudo nano buildLogDirectory
This will open the build log in nano and you can see where the problem is. For example it may say gcc-4.7 not installed. Therefore other dependencies won't install either.
Note: At times when installing dependencies, you'll need to update. Watch the terminal, it'll tell you when to update. Feel free to reboot whenever you'd like. Just remember to cd back to Slic3r when you return to the terminal like above.
At the end of all of this, you should have a working Slic3r. You can navigate through a file manager to the Slic3r folder and find Slic3r.py and execute or you can type ./slic3r.pl in terminal.
Once again, I'm not expert, this is simply the way I got it working on my RPi. Once again follow along to the RepRap developers forum topic here. Good Luck!

Wednesday, August 1, 2012

Raspberry Pi Contained!


I found an old portable DVD player I had laying around. I noticed it had a video in port. So I plugged in the 'Pi and it worked. I gutted out the unneeded parts and threw the 'Pi inside. Now I'm not tethered to my HDMI cable/tv. (just the keyboard, mouse, power cables)

If you have one laying around, just tear out the drive, the buttons, and the battery hookup and with a little trimming you'll be all set.

Tuesday, July 31, 2012

Reprap printing from Raspberry Pi

Raspberry Pi controlling my RepRap

I just received my Raspberry Pi a few days ago and after seeing fellow RepRap-er RichRap's success, I wanted to start printing from it.  Since the RPi runs Linux (Specifically a specialty distro of Debian called Raspbian) I wanted to lay out the steps it took for me to get running.

Items needed:

4GB SD card or larger. (Raspberrypi.org suggests atleast 2GB, but trust me you'll need more with the extra dependencies needed to run the needed Reprap programs)
Raspberry Pi
Micro USB powersupply (Its crucial to have at least 1A capacity, anything less and you'll have issues)
Powered USB Hub (make sure it provides plenty of power, mine is capable of 2A)
Keyboard
Mouse
RepRap.  (I'm running RAMPS 1.4 w/Marlin Firmware, but anything that'll connect to Pronterface should be fine.)

Initial RPi set up:


First and foremost, upon initial starting up your RPi, expand the partition to the full SD capacity.  It'll save you a lot of hassle later on.

Optional:  Overclock the RPi.  This isn't 100% neccessary but it will make future steps quicker.  There are multiple tutorials on this but it's pretty easy. 

From your root terminal enter:

sudo nano /boot/config.txt

This brings up the config file and allows you to overclock easily. 
Scroll down to the bottom of the screen and type:

arm_freq=800
sdram_freq=500


Then press Cntrl O to write the file.
Then press Enter.

This will bring you back to the first menu, so now you can exit by pressing Cntrl X.
You should be back at the normal terminal screen now so it's time to reboot:
Type reboot and press enter.

Once you reboot you should be running an overclocked Pi.  You can adjust the arm_freq higher (up to ~900.)  I have mine currently running at 850.  It worked at 900, but I started to have some booting issues. 

Installing Dependencies:

You'll need a few dependencies to run Pronterface.
Once again go back to root terminal and type: 

sudo apt-get install python-serial

Note:  After all terminal commands you need to press enter.  This should be obvious so I won't list that in the directions from this point on


This will install PySerial.  Once this is done type:

sudo apt-get install python-wxgtk2.8

This will install wxPython.
Both of these will take a bit to download and install so be patient.  You'll know your done when you get back to the main terminal prompt.

Now is a good time to reboot.  Once again this can be done from terminal by simply typing "reboot" or "sudo reboot" if your not in sudo.

Downloading Pronterface:


Open up the web browser and navigate over to PrintRun on github.  Click downloads and save. (I'm sure there is a way to do this from terminal, I just didn't know how.)

Now open up the file manager and open up /home/pi  and find kliment's folder. 


Scroll all the way down until you see pronterface.py and double click.  Then click execute and wait a few seconds. 

Pronterface should now be up and running.  

Connecting to printer.


On another computer change the baud rate on your firmware to 115200 if it isn't already.  250000 won't work.

Some of these steps may not be needed but they don't take too much time so just go ahead and follow along.

Close Pronterface if you have it open. 

Reboot (I like to make sure everything is fresh and clean before trying to connect.  I had some issues before.)

Plug in your printer.  Then open Pronterface.  You should see the appropriate port in the port box.

Assuming you haven't run any other serial com ports yet, it should end in 0.   

Now click connect.

This is where I've had some difficulties.  I'm not sure if they stem from power issues or if its a bug in the system some where.

It may take a bit to connnect.  Or it may not connect.  Sometimes I need to close pronterface and restart a couple times before it finally connects.  But eventually it will connect. 

From this point on, it's the same as it would be on any other computer.  Set your temps, load your G codes and print yourself a yoda. 

I have attempted to install Slic3r but no luck so far.  I'm sure Skeinforge would be easier to install since it's python, but thats slow on my regular computer so I figure it'll put it off for now. 

Next we'll download the Android IDE.


This is pretty easy, since some very smart cats putting together the Raspbian distro included it in the available packages.  All you have to do is go to the terminal again and type

sudo apt-get install arduino

This should install Arduino.   Then once again everything is just like any other computer. 

One thing to note, the compiler used in this Arduino IDE is slow, so be patient.  It'll get there. 

Now its time to buy one of these 7" screens and integrate it all into my new MendelMax build.  With a wireless adapter, soon i'll be remotely logging in and starting a print before I leave work. 

Follow along with all of the RPi RepRap development here.


Tuesday, July 17, 2012

Friday, June 8, 2012

K1-Rap




I'd like to introduce a new printer mainly of my own design but heavily influenced/inspired by dkennel's Pocket Printer.  I call it the K1-Rap.



This is a work in progress.  I'll be updating this as things progress.
Background:


I really liked the idea of using aluminum extrusions for the main structural components of a reprap.    My Prusa i2, constructed mostly of threaded rods, worked flawlessly but I wanted something a little more sturdy. 
I saw Dkennel's Pocket Printer on Thingiverse and actually started out attempting to replicated his.  I didn't have any PLA available and ABS did not make for a good slide material.  ABS was too soft and did not "slide" reliably.  Since I had smooth rods and lm8uu linear bearings on my Prusa, I decided to cannibalize it and start a "new" design.  It should be noted that this is really Dkennel's basic design adapted for 8mm smooth rods.  They really deserve the credit for the initial idea.
I attempted to design the printer around a few constraints (much like dkennel's original idea).

1. I wanted to keep the moving mass low (arguably didn't do a very good job)


2. I wanted to keep the amount of hardware (screws, bolts, nuts, etc.) to a minimum.  I loved the simplicity of the Prusa i2 design. 


3. Like the Pocket Printer, the extruder had to move only in the Z direction. Eventually, I want to add a second Plastruder to the printer and the added weight would make a "mobile" extruder hard to accomplish. 


4. I wanted roughly the same build envelope as I had on my Prusa. 



Keeping these ideas in mind, I started off by mimicking Dkennel's basic design.  I then added the smooth bars to the exterior of the 2060 extrusions.  All axes slide on 8mm smooth rods with lm8uu linear bearings.  In doing so, I had to then redesign the basic structural components on the printer. 


You'll notice the smooth rods sticking out on all the axes.  This was done purposely so I didn't have to cut the rods to length.  Mainly I was afraid this design wouldn't work properly and I didn't want to cut my prusa smooth rods and then not have a single working printer.  In the final designs, I will enclose all rod brackets and cut the smooth rods to length. 



The smooth bar "brackets" fit within the interior of the Al extrusion.  This is a pretty snug fit and friction is the only thing holding the majority of the printed parts in place.  The X axis connects to the Y axis with lm8uu bearing fittings reminiscent of the Zip-Tie bearing holders used on the Y axis of a Prusa.  Connected to the X to Y bearing holders are the 2020 Al extrusions that make up the X axis.  .
I'm using a NEMA 14 on the X axis.  This is the only real deviation in electronics from the Prusa.  I had this laying around and its lighter than a '17.  I would highly highly recommend using a '14 instead of a '17 simply because of the added mass a '17 would give to the X axis assembly.  (As a matter of fact, my '14 is a little bigger than I really need, Dkennel lists a better motor for use with the Pocket Printer).
Once again smooth rod brackets fit into the extrusions.  The build plate then sits on top of the X axis smooth bars using Prusa's i2 lm8uu Y bearing holders. 
I'm using a thin sheet of plywood with Prusa's Mk1 PCB heated build plate on top.  I will likely swap this out for a sheet of aluminum. 
The Z axis consists of a vertical 2060 extrusion with 8mm smooth rods on either side.  The cantilever extends out over the build plate and rides up and down on the smooth bars. 


I used 2 Z motors only because I wanted to maintain speed when I eventually add a second extruder.  I'm sure you could get away with a single Z if you wanted. 




I'm using my Plastruder Clone and it sits on a printed extension off of the Z cantilever.  The Pocket Printer used a nice aluminum plate for this, I would recommend that instead of the printed part.  Unfortunately I didn't have access to equipment to make that plate, so I designed a printed part instead. 
My RAMPS 1.4 sits on the back using Dkennel's RAMPS box.  My X ends are essentially printed versions of his.  The Y motor bracket is once again Dkennel's design.  I'm using the T5 belts/pulleys I had on my Prusa. 

Current Build Envelope: X-200, Y-120, Z-180. 
Actual Build Envelope: X- 200, Y-200, Z-180. (Once my replacement Y Al Extrusion comes in)



To Do List:

Brace the vertical Z axis.  Currently I'm using 90 degree brackets and they still allow the Z to wobble very very slightly.  Bracing the more will allow for faster printing speeds. 
Replace the ZipTie brackets on both the X and Y.  These seem to work fine, but I just want something a bit more sturdy. 
Make a single X carriage.  I will eventually design an X carriage that is all inclusive.  Currently I have a belt clamp bracket mounted onto the plywood between the X bearing holders.  I want to integrate all of these into one bracket like the Pocket Printer design has. 
Extend my Y! A miscalculation resulted in a Y extrusion that was 80mm too short.  This is an easy fix just a longer belt is needed. 
Enclose all smooth rod brackets.
Integrate cross bar (The bars on the bottom the feet are attached to) brackets into the Y axis end brackets. -I've already actually done this, I just haven't printed out replacements. 

Pro's:

Allows the extruder to remain mostly stationary.  Except Z travel.
Entire assembly is very rigid even at travel speeds speeds of 200mm/s.
Other than the a few 5mm bolts and the associated aluminum extrusion nuts, there isn't much in the way of hardware, as everything push fits into the aluminum extrusions. 
Will likely allow for some light milling, if so inclined.  ( I probably never will attempt this)
Can easily be built out of a retired Prusa.  -Motors, smooth bars, bearings, HBP, etc
I designed and built it myself! (Ok, this one really just applies to me, but none the less, it's a good feeling to see something you imagined come to life.)

Con's:

Entire alignment of each axis relies on perfectly aligned printed parts and straight aluminum extrusions. If the parts aren't printed correctly and fitted correctly, then the axes won't be squared and level to each other.  
There isn't an easy way to fix misaligned parts. 
Requires both aluminum extrusions and smooth bars.  This adds to the cost slightly. 
There is still a significant amount of mass being moved by the Y motor.  I don't know the exact weight but its higher than I hoped for.  This means a fair amount of vibration at higher print speeds.  This is where the bracing between the Y and Z extrusions comes into play.  Without proper bracing, the extruder end of the cantilever can bounce up and down causing ugly prints.  I'm printing reliably around 70 to 80mm/s depending on the part being printed. 



I’d like to thank DKennel for the Pocket Printer design and Prusa for his design, allowing me to steal parts of both for this design.  All of the parts are on Thingiverse if anyone is interested.  I will post a BOM including lengths of extrusions and smooth rods shortly.  Feel free to leave feedback in the comments!

Friday, May 18, 2012

Mark II



I printed a Mark II robot friend today from Thingiverse.  I made mine for my nephew, and I'm sure the rest of my nephews will want one as soon as they see it.  Pablo did a great job on this one.  Printed full size, Mark II stands about 9 inches high.   I would recommend printing the "pins" and "joints" slightly smaller so they fit without trimming.