PrusaBuildNotesBraino

From RepRap
Revision as of 23:17, 26 November 2011 by Prof braino (talk | contribs) (Extrusion test)
Jump to: navigation, search

Prof Braino's Prusa Build Log

Summary: To catch my build notes for my Prusa Build Autumn 2011

If your a n00b like me, some of this fancy computer stuff might be confusing. Here's some stuff I used to get my rig working or at least to the state that it is today.

High level project is to implement an alternative processor, specifically the Parallax Propeller per this discussion http://forums.parallax.com/showthread.php?129448-Prop-based-CNC-3D-printer

In order to establish a baseline as to what constitutes the current 3D-Printer (as of 20110701), I opted to build a unit for comparison. I settled on a modified Mendel Prusa http://reprap.org/wiki/Prusa. This includes a modified Wades extruder, and LM88uu linear bearings. The X-axis ends are different. Some parts are MDF instead of printed. So far, It has taken me 5 months to find all the parts and bring them together.

This is a log of the specifics I encountered. Hopefully, a person armed with the data in this log will be able to get up and running in a shorter time for a lower cost. The brick and mortar locations are in the Chicago Northwest Suburbs.

The total price was estimated to be $300-$400 USD. The actual prices are listed for each item. So far the total is: $638! Don't tell my wife!

The additional costs were due to the pre-built kits for hot end and motherboard.

I'm not do good with electronics (I'm more of a software guy), and saved my self at least a couple weeks with the solidoodle part.

The hot end was another spot of trouble. I did manage to find a very nice scape of PEEK, and couple sources for nichrome wire, but did not happen across Teflon rod yet. Since I bought the kit, there is no urgency to find Teflon rod, but its still on the list for future investigation.

Mechanical

Printed parts from Sacha at Pumping Station One http://pumpingstationone.org/tag/reprap/ This kit includes all the printed parts. The vertices are replaces by MDF pieces in this kit, that are very precise and are quicker to make. There might be one piece missing from Sacha's kit, the wooden plate for the modified Wades' extruder. Be sure to ask if you go this route.

$150

Rods from McMaster-Carr (they delivered to my door! Same day!)

  • 1272T17 Smooth Rod 8mm 3@ 1 meter
  • 98861A080 M8 1,25 pitch threaded rod 6 @ 1 meter

$78

Fasteners from Jordan Supply (there's more than listed on the web site) http://www.jordanindustrial.com/

$11

Leveling and Truing

The default instructions talk about using a nut on a thread as a plumb line. This did not work so well for me. Instead, I decided to get the whole thing level and just measure it.

I used a piece of large marble bathroom tile as a poor man's granite block. The marble has a shiny surface, it is easy to see that it is optically flat. Its marble so it won't bend much. This was made level with a spirit level and two Popsicle sticks. The machine was placed on top. At this point, it was easy to get the measurements correct, 234 mm for the triangles and 280 for the laterals. I spot checked the diagonal measurements for the base, they matched so I was able to proceed.

Later I changed from a marble bath tile to a piece of Corian cut out from a kitchen counter top from when the sink was installed. This is about 26x14 and is perfect size for the prusa.

For the Y axis, the top print platform was bolted to the lower print platform. When rotated 90 degrees from normal, this will rest on the Y axis bearing bars. Drawing them to the lower platform will ensure they are parallel. After the linear bearings are added to the lower platform, siding the platform the full range settles the smooth rods into place, and they can be tightened,

The X axis ends are modified, so this affects X and Z axes assembly. The modified ends to not use set screws, the smooth rods are held in place by friction. If the X rods are too long, they cannot be adjusted shorter, they needed to be removed and re-ground.

For the Z axis, the task was to find the midpoint of the bottom side of the triangle, and then add the offset for the Z axis smooth rod. This was close enough for a course approximation, the X axis is used for the final adjustment.

For the X axis, the smooth rods need the linear bearing before they are inserted into the X axis ends. The Z rod holders are loosened, and the X axis placed on the print platform. The Z rods a slid into the Z bearings. The Z motor mount position is adjusted according to the X ends.

It was easier than it sounds.

Hot End

MakerGear - the instructions are not organized clearly. I made some major mistakes despite reading them first several times, and following quite closely. [what exactly is not well organized? makergear|rick]

http://www.makergear.com/products/operators-pack "Operator pack" and "Hot End Pack" and (there was third term) all refer to the assembly that holds the heater coil and extruder tip. It cost $75

The Hot End pack requires Wooden Mounting Pieces - Wade for $6.00 USD.

The wooden mounting plates did not fit the modified Wades extruder directly. (the screw holes were off by about 2mm). I don't know if there is and alternate wooden plate with the correct dimensions, perhaps Sacha laser cut his own and forgot to include them in the kit of parts he sells?

$86 including shipping

<include the full list of comments?>

Electronics

I opted for a one piece mainboard

http://reprap.org/wiki/Sanguinololu

This one is preassembled

http://store.solidoodle.com/index.php?route=product/product&path=63&product_id=52

It includes a bootloader pre-burned during assembly and testing during production.

This needed a two pin shunt header soldered to the AUTO RST labeled on the skilk screen to enable Autoreset. Shunting the jumper allows the PC to restart the Arduino for programming, etc. Removing the shunt (default) allow the unit to operate stand alone; that is, it will not reboot when the unit is disconnected or reconnected to the PC print.

This module is intended to be swapped out and replaced with the propeller chip implementation at some point.

$116 including shipping

Stepper Motors and Drivers

Pololu 1200 were recommended by several sources. FIVE are needed, two for the Z-axis. Reordering one more motor costs nearly double the price of the motor due to shipping.

http://www.pololu.com/catalog/product/1200/faqs

The stepper drivers are refered to by the stepper driver IC. The unit we buy is the IC mounted on a carried board. The A4988 has over current protection. FOUR are needed. The one used for the Z-axis can drive the two Z-motors easily. New notes say to wire them in series instead of parallel contraindicating the instructions.

http://www.pololu.com/catalog/product/1182

$161 including shipping (would have been $11 less had it been a single order)

Belts and Pulleys

These we a bit of trouble to find. The instructions specify T5 belts and 11 tooth cog for 5mm shaft.

I ended up getting a 9 foot length of T5 belt and have enough left over to replace one axis.

The 11 tooth pulleys are for 1/4 inch and 3/16 inch belt. I had to drill them out to 5mm to fit on the Pololu motor shafts.

McMaster Carr - they delivered to my door AGAIN! Same day! http://www.mcmaster.com/#catalog/117/1046/=f3isi9

  • 5710k12 (2)
  • 7959k24 (9 feet)

$36

Power Supply, Connectors, harversted parts

Power Supply

I found a pre-ATX power supply in the junk box. This type uses a physical power switch instead of control by motherboard logic. Its a HIPRO Hp-200PPGN harvested from a Tiger Direct K-6/2. It was diagnosed as unstable, but claims 8 amps on the 12 volt rail.

Connectors

The sanguino board has 11 connectors for the motors, end stops, and thermistors.

The four 4 pins stepper motor connectors are the same size as 1.44 floppy drive connectors. I harvested these from dead power supplies and Y-cables. Cots $0

The three 3 pin endstop connectors are the same as size as PC fan connectors (with RPM monitoring). I harvested these from noise fans recovered from dead PCs. The yellow and black wires were swapped compared to the layout on the Sanguino. This was fixed with a toothpick and a magnifying glass.

The four 2 pin thermistor and heater connectors for the extruderr and heated bed are the same as PC fan connectors (without RPM monitoring). I don't have a heated bed at this time, so it was easy to find 2 dead fans.

Software

The firmware selected for the printer affects the software needed for the PC. After selecting and extracting the firmware archive, we discover what prerequisite software is needed on the PC. This is why the printe firmware is listed first, but appears in the middle of the PC software install list.

Firmware

SPRINTER archive https://github.com/kliment/Sprinter

PC

The PC software needs to be set up to run interface to the Arduino firmware.

I selected the first Recommended firmware from http://reprap.org/wiki/Sanguinololu#Software * SPRINTER *

The software needs to be set up on the PC before the firmware will respond.

The software might not need to be installed in this exact order, but do it this way to be safe.

Windows XP workstation:

Python

The Python programming environment is NOT included with Windows XP but fortunately we can download it for free and use it legally. Python is very small and reasonably quick and efficient. Python is the new BASIC, we don't need to use basic anymore. Use Python, its more modern that getting a trendy tattoo.

Anyway, the interface to the Arduino micro controller that run the Prusa is written in Python.

We install a bunch of Python packages to in preparation to running the printer.

[From Printrun README.md]

  • Needs Python 2.7.2

http://www.python.org/download/releases/2.7.2/ I used http://www.python.org/ftp/python/2.7.2/python-2.7.2.msi

  • needs pyserial - I missed this twice!

http://pypi.python.org/packages/any/p/pyserial/pyserial-2.5.win32.exe

  • Needs Python wx

http://www.wxpython.org/download.php#stable I used http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-unicode-2.8.12.1-py27.exe

  • needs pyreadline - I missed this twice!

http://launchpad.net/pyreadline/1.7/1.7/+download/pyreadline-1.7.win32.exe


Download and extract the SPRINTER archive https://github.com/kliment/Sprinter

Follow the instructions in the SPRINTER README

PC software

I used current newest version 0023

Plug in the Sanguino board, Windows XP will detect the USB device. If the New Hardware Found wizard doesn't find the driver, let it fail and update it using the device manager per these steps:

http://arduino.cc/en/Guide/Windows#toc4

The machine that already had FTDI USB to serial set up for the parallax propeller worked without additional drivers;

On another machine I had to navigate to the FTDI folder Note the virtual COM port ID for SPRINTER

  • Sanguino configuration files, version 0018

http://sanguino.cc/softwareforwindows Copy the directories as directed

Launch the ARDUINO application Open SPRINTER.PDE EDIT the files as directed

NOW TO TEST if its talking......

In the ARDUINO application, with SPRINTER open:

Select Tools-> Board-> Sanguino Select Tools-> Serial Port -> COM3 (or whatever you noted above) Select Tools-> Serial Monitor

After about 10 seconds, the serial monitor should display a "start" message from SPRINTER.pde

If it doesn't, try hitting the reset button on the Sanguino. Also check that the baud setting matches the settings in the config files.

For my, it did not respond correctly unitl I set the serial monitor window2 baud rate to 115200


NOTE in the SPRINTER source code file it can be useful to edit the

void setup()

function to contain a unique message, so you know your change has been loaded. Find teh line that says

Serial.println("start")

and change it to something you can recognize like

Serial.println("start Prof Braino is the coolest 20111122-1225")

If you include a date-time stamp as above each time you edit the file, you can always tell when a change has reached the device.

In configuration.h update

//#define MOTHERBOARD 3 

to

#define MOTHERBOARD 62  

You can also change

char uuid[] = "00000000-0000-0000-0000-000000000000";

to sopmething you can recognize like

char uuid[] = "this is my board 00-0000-000000012345";

Ubuntu 11.04 Laptop:

<after I clear a space in the shop>

Both Window PC and Linux PC - Additional Python Scripts

IN ADDITION To SPRINTER, we need another set of Python scripts

Printrun

Download and extract Printrun

https://github.com/kliment/Printrun

I moved the whole printrun subdirectory to my Python directory so it would be easy to find from within Python

testing the system

At this point, there should be a PC properly equipped with the correct set of software, and the software should be configured. The Sanguino board should have its power light on when plugged into the PC USB port, and the should be talking to the serial monitor program by displaying a START message (that the user has modified to display an individualized message).

Now to test using the interactive prython script pronterface.py from the kliment-Printrun package

Start Python

Start -> programs -> python 2.7 -> IDLE (the Python GUI

For some reason, at thispoint I get an error that an icon file was not found. This does not appear to affect anything, so if you see it, ignore it by closing the error message window.

From the Python Shell File -> Open (navigate to kliment-Printrun that you previously extracted) -> pronterface.py

From the pronterface.py window that opens: Run -> Run Module (F5)

If at this point you get a message "no module named serial" you missed the pyserial install from above. Recheck.

The Printer Interface window is displayed. If you get this far, you should be doing ok. If not, go through the steps again, it took me several tries.

printer Interface

Select your com port, usually com 3 or higher. If only physical com ports are displayed, check if the Sanguino go unplugged. The virtual com port goes away when the cable is disconnected.

Select your baud rate. 115200 works for mine.

Select the monitor printer checkbox.

Select connect.

The resonse window should display the Connecting.... message. After about 10 seconds, the Connected message should be displayed. The If the Sanguino is not connected, the message will sit there forever. Once connected, the window should begin displaying

T:0 B:0

periodically to indicate that the Sanguino is still ticking. This actually is reporting the thermistor readings for the extruder and heated bed. If they are not connected the reading is 0. If this becomes annoying, un-check the Monitor Printer box.

Calibrating and Tweaking

Steps per mm

The McMaster-Carr cogs and belts are XL, the step is 5.08. Using the formula from http://reprap.org/wiki/Prusa_Mendel_Assembly#Firmware_Calibration

[ 200 (steps) * 16 (microstep) ] / [ 5.08 (belt pitch) * 11 (pulley teeth) = 57.2655

This number worked.

Maximum Travel

I found issues: The salvaged limit switches are a bit too big, some travel is consumed. The screws that hold the top print bed are high enough that they might interfere with the extruder end, so print area was trimmed to fit inside these.

  • x = 200 => 190
  • y = 200 => 180
  • z = 100 => 95

Stepper current

Sacha told that he melted the solder off his stepper driver boards, from testing with the power turned up all the way. I turned them all the way down clockwise and them backed up a quarter turn. After some testing, I noticed them to be warm, so I adjusted them while in motion. The sound changes, you can hear them rumble if the power is too low, and they get loud if the power gets high enough. I tuned mine so that are quietest and still move. I may have to increase the power when I start extruding, but that is another day.

For the time being, the steppers and drivers are below 37 c during range of motion testing.

Extrusion test

I had heard that a DMM with a K-type temperature probe was required for setting up the heater coil, so I got one.

Turns out the MakerGear hot end is one o the options right in the software, and works as described. The thermistor reading and the probe reading were within a degree of each other. When I turned the heat on, the temperates would vary by a couple degrees either way, but this can be due to the micro controler and thermal properties of the extruder head.

When the temperature reach 185 c, it was left to stablize for a couple minutes. The termperature stayed between 177 c and 185 c. The 40 mm fan mounted on the X axis slide was sufficient to keep the rig from melting. The groove tube was about 50 c just above the heater coil and 30 c by the wooden plate, but I did not check this thoroughly.

I had two loop of PLA plastic for testing. To my delight, the machine was able to squirt out liquid plastic, which quickly hardened into a mass looking like tangled spaghetti.

Brainella and the Brainettes were marginally impressed.