manual open source cnc 3 d makerbot

25
1

Upload: industrial-design-center

Post on 26-May-2015

662 views

Category:

Technology


7 download

TRANSCRIPT

Page 1: Manual open source cnc  3 d makerbot

1

Page 2: Manual open source cnc  3 d makerbot

2

O Workshop overview ........................................................................................................................ 3

A- Makerbot: getting started ............................................................................................................ 4

1-start replicatorG. .............................................................................................................................. 4

2-heat up the printer ........................................................................................................................... 4

3-generating G-code .......................................................................................................................... 5

4-test the extruder .............................................................................................................................. 7

B Print your own objects ..................................................................................................................... 8

C Setting up the software ................................................................................................................. 10

1-ReplicatorG ................................................................................................................................... 10

2-Custom profiles and driver for your machine ................................................................................ 10

D Under the hood: configuring Skeinforge ....................................................................................... 11

E THE CNC-MILL: GETTING STARTED ......................................................................................... 13

Connect ............................................................................................................................................ 13

Try it .................................................................................................................................................. 14

F WRITING A BIT OF GCODE ........................................................................................................ 14

G MILLING SOFTWARE .................................................................................................................. 15

Software: general concepts .............................................................................................................. 15

Software: CADPY ............................................................................................................................. 16

Install CADPY ................................................................................................................................... 16

H More CNC-milling ......................................................................................................................... 21

K An introduction into G-code .......................................................................................................... 22

Gcode example (for milling) ............................................................................................................. 24

L Links ............................................................................................................................................. 25

Page 3: Manual open source cnc  3 d makerbot

3

O Workshop overview

10h Powerpoint 20 min

10h30 Getting started with printing

Printing your own objects

12h repairableCNC: getting started

12h30 Print & Cut

Course notes written by:

[email protected]

+32.486.945.529

Page 4: Manual open source cnc  3 d makerbot

4

A- Makerbot: getting started

1-start replicatorG.

After startup, go to ‘File’ and open ‘01-12_tooth_T5.stl’ You an find it under ’04-

EXAMPLES’ on the USB-sticks.

The interface should look something like this:

Take a minute to check out the buttons and menu items. The large buttons show their

function if you hover your mouse over them

As indicated in the image, go to Machine>Driver and select the correct driver if this

hasn’t been done yet. The name of the driver you are to use should be indicated on the

card next to the Makerbot you’re working with.

Then hit ‘Connect’ and go to ‘Control Panel’

2-heat up the printer

Depending on the version of the Makerbot you’re using, the control panel should look

something like this:

Page 5: Manual open source cnc  3 d makerbot

5

Set the temperature to the indicated values,

and center the print head about 20mm above the platform.

You should see the machine heating up in the graph at the bottom right.

Now go back to the main interface (don’t close this window)

3-generating G-code

To print the 3D-object, the file needs to be translated into machine code. This is called

Gcode, and this translation is handled by a piece of software called ‘Skeinforge’.

First, let’s make sure you have the correct version of Skeinforge selected.

In the main interface, go to Menu> Gcode> Choose Gcode generator and check if the

selected one matches the one indicated on your card.

Page 6: Manual open source cnc  3 d makerbot

6

Don’t see the right profile?

Copy the profiles from ’03-

PROFILES’ to

…\replicatorg-0024\

skein_engines\

skeinforge-0006\prefs

(006 is the standard

version, for version 35

select skeinforge-035)

Next, click ‘Generate Gcode’ at the bottom right. You will see a popup like the one below.

Leave ‘Use raft’ checked. Pick the profile indicated on the card. Click ‘Generate’. Now

you’ll see a window indicating the progress generating the code. This may take some

time…

Page 7: Manual open source cnc  3 d makerbot

7

When it’s done, you should see an extra ‘flap’ below the big buttons, saying ‘Gcode’ next

to ‘Model’

It should look something like the image above when you click it. I can show you how to

read this, there’s a short reference further in this manual, but you don’t need this now.

We can dig into this later.

For now go back to the ‘Control panel’ and see if the printer is hot yet…

Motor speed is a value

between 0 to 255.

Thievalue you fill in here is

just for testing, the actual

speeds are set in the

Gcode during printing.

Not working? Check these

things:

-is the print head hot?

-is the plastic filament clear

and free to be pulled into

4-test the extruder

First check if the extruder is hot. Then put in ‘230’ for motor speed and press forward.

The extruder should extrude a smooth squirt of plastic. Press stop and clear away the

plastic with some tweezers.

BEFORE EVERY PRINT, CHECK THE MACHINE IS HEATED UP AND THE FILAMENT

GOING INTO THE TOP IS FREE TO DO SO.

If the plastic is being extruded smoothly, you’re ready to print.

Position the print head about 0,5 mm above the surface, and press ‘Build’ (the second

large button from the left in the main interface window)

Depending on the profile used and how this is set up, the printer will either start right

Page 8: Manual open source cnc  3 d makerbot

8

the printer?

-is the extruder motor

turning?

It turns slowly (2RPM) but

you should be able to see it

move. If it is not moving,

first check the wire

connections, then try a

higher value for motor

speed.

-Is the plastic being pulled

in at the top?

If it isn’t, and the motor is

turning, the motor lost grip

on the filament wire. The

Mark V extruders have a

black screw to the side to

tighten the grip the motor

has on the plastic filament.

Tighten this.

On the Mark IV extruders

this is more complicated to

do, yell for help at this

point.

away, or do a test extrusion first.

At the start of the print, the plastic is supposed to stick to the platform. This can be tricky.

If it does not you can try a couple of things:

- While the print is still going, adjust the height manually by turning the wheel on

top of the printer. Try to get the plastic to catch on the platform

- Just cancel the print. (Press ‘Stop’) and reset.

- Apply a layer of double-sided sticky tape to the platform.

- Yell for help

If it does start correctly, make sure the printer has enough free plastic filament to pull in,

and get someone to get you coffee. This example should take about 10 minutes to print.

When the print finishes, give it 30 seconds to cool down, then peel off the print from the

platform. It should, hopefully, look something like this:

B Print your own objects

At this point you can:

- open up your own file, generate G-code and try it

OR:

-set up the software and try to print from your own laptop, go to part C of this course

OR:

-try to improve the print quality by earning to adjust the Skeinforge settings. Go to part D.

Page 9: Manual open source cnc  3 d makerbot

9

Page 10: Manual open source cnc  3 d makerbot

10

If this doesn’t work, you

might need to install the

FTDI-driver manually, it is

located under ‘drivers’ in

the ReplicatorG install

directory.

(this is not the driver inside

ReplicatorG we talked

about before but the

system driver that lets your

system know what you just

connected to it)

C Setting up the software

1-ReplicatorG

Download en unzip Replicatorg: http://www.replicat.org

There is a version of this software on the stick, under ‘01-INSTALL FILES’

The software only unzips to install, so you need to create a shortcut by hand.

On windows, execute: ReplicatorG.exe

Then connect the cable from the Makerbot to a USB-port, and try to connect to it, using

the steps lined out in part A.

2-Custom profiles and driver for your machine

If this works, you need to get the correct driver and Skeinforge profile for your machine.

They are on the USB-stick:

-Copy the files from USB-STICK\02-DRIVERS to REPLICATORG-INSTALL

FOLDER\machines\

-Copy the files from USB-STICK\03-PROFILES\version006 to REPLICATORG-INSTALL

FOLDER\skein_engines\skeinforge-0006\prefs\

-Copy the files from USB-STICK\03-PROFILES\version35 to REPLICATORG-INSTALL

FOLDER\skein_engines\skeinforge-35\prefs\

Restart ReplicatorG.

You should now be able to select the correct driver and profile.

Page 11: Manual open source cnc  3 d makerbot

11

D Under the hood: configuring Skeinforge

Skeinforge is basically a large series of scripts that are executed one by one. Each have

a number of parameters, and when you first take a look at those it will look quite

daunting.

However:

-at some point you’ll need to be able to tweak the settings. Either because the printer

isn’t set up right, or because you need different settings for a small, hollow object than

you need for, say, a gear wheel you want to have as strong as possible.

-you don’t need to learn all the settings at once, you need to figure out which ones are

the important ones.

If you want to dig into this, start by selecting Skeinforge 35 in menu>GCode>Choose

Gcode generator. (it’s easier to set up than the standard version)

Page 12: Manual open source cnc  3 d makerbot

12

The most important values are indicated in blue and yellow.

The modules you should get acquainted with are:

-Carve: this cuts the 3D-model in 2D-layers. Layer thickness is defined here

-Temperature: what it sounds like

-Raft: this is the module doing the bottom, ugh, raft on the model

-Speed: sets extrusion and motion speeds

-Fill: how the object is filled in (hollow/solid)

Try to find following parameters, while taking a look around in the interface:

-Flow rate setting (this is extrusion speed)

-Layer thickness: thickness of 1 layer on the Z-axis

-Infill solidity: how solid do you want your object

-Base temperature: print head temperature

-Perimeter width over thickness: how wide a strip of layed-down plastic is as a ratio to

the layer height.

A good start to learn more are the links:

- http://davedurant.wordpress.com/2010/10/17/configuring-skeinforge-some-basic-terms/

This is a very good tutorial, there are more on the same site.

http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge

This is the official manual, with an overview to existing tutorials.

Page 13: Manual open source cnc  3 d makerbot

13

If you do not have the

option to select these, you

need to copy the drivers

from the USB-stick.

Consult chapter C on how

to do this.

E THE CNC-MILL: GETTING STARTED

Timelab’s miniCNC is a milling machine with an open floor. It was designed as a

small mill, capable of milling into larger panels. In this workshop we’ll show you how

to use to mill small parts out of plexi.

1-Connect

The machine has the same electronics as the Makerbot. You control it using

ReplicatorG.

-Go to Machine>Driver and select ‘miniCNC 32-teeth-gear’ If your machine has a sticker

on it saying ’36-teeth gear’ select ‘miniCNC 36-teeth-gear’.

-Connect the machine with the USB-cable and click ‘Connect’ in replicatorG. You might

need to go back to Machine>Serial Port to select the correct serial port.

Page 14: Manual open source cnc  3 d makerbot

14

2-Try it

-Once you got connected, open ’02-square.gcode’ from the ’03-EXAMPLES’ folderYou

won’t have a 3D-preview, but the g-code should look like this:

G90

G92 X0 Y0 Z0

G21

G01 Z-3 F50

G01 X40 F100

G01 Y40

G01 X0

G01 Y0

G01 Z0

Put a piece of plywood under the machine.

Turn on the Dremel by hand. You don’t need to open it up fully, half way is fine.

Press ‘Build’. If you selected the correct driver and the machine is working properly, this

code should mill a 40x40mm pattern, 3mm deep.

If you’re using a 2mm milling bit, this results in a 38x38 mm square. Check the size to

see if the scale works out.

F WRITING A BIT OF GCODE

You’ll notice the G-code is a lot shorter than the one from the 3D-printer. It will get longer

once we do more complex shapes, but basic holes and rectangles only need a few lines.

In Chapter H you’ll find a short reference on what the Gcode commands do. Take a look

at it, and compare it with the documented code here:

G90 (use absolute coordinates)

G92 X0 Y0 Z0 (you are now at zero)

G21 (and we’re working in millimeters)

G01 Z-3 F50 (go down 3 mm on the Z-axis at speed 50mm/min)

G01 X40 F100 (move 40mm to the right at speed 100mm/min)

G01 Y40 (move 40m up, keep same speed)

G01 X0

G01 Y0

G01 Z0

Page 15: Manual open source cnc  3 d makerbot

15

G MILLING SOFTWARE

1-Software: general concepts

The example above is how you would program a CNC-machine in ye olde days, typing

code by hand. Most CNC-machines still work and understand this code (or a variant on

it), but you use a piece of software to convert a 3D-file into G-code.

Because with this machine you have access to the Gcode, you can use any software that

allows you to export machine code. You export the code and open it in ReplicatorG

An interesting program to try out for 3D-milling is Deskproto, www.deskproto.com

Skeinforge, the G-code generator for the Makerbot, can be used for 3D-milling as well,

but is quite complicated to set up and does not offer a good preview.

We’ve been using a 2D-based interface, as we were interested in introducing basic

milling to people who don’t necessarily have a background in 3D-modelling.

Page 16: Manual open source cnc  3 d makerbot

16

2-Software: CADPY

CADPY is a small program from MIT we adapted for use with our machine. It allows you

to cut out shapes without needing to learn 3D-modelling, using bitmaps or scanned

drawings.

3-Install CADPY

On windows: Go to the USB-stick\ 01-INSTALL FILES,copy 01-cadPy_win32_exe.rar

and unpack. Then, in the folder that is created go to dist\cad-2011-05-15.exe

If this does not run on your computer, go to

http://www.repairablemachines.com/downloads.html and follow the guidelines to install

Pythons

On Ubuntu: Consult http://www.repairablemachines.com/downloads.html for command

line install.

On the set up computers, open the CADPY link on the desktop.

After opening the software, you should see an interface a bit like The orange lines in

the image above are the generated tool paths. These are saved as Gcode and then

opened in ReplicatorG. ReplicatorG controls the machine in the same way as it does

the Makerbots.

Page 17: Manual open source cnc  3 d makerbot

17

We use CAD.PY to convert a 2D-bitmap to machine code. This machine code is called

G-code, and is sent to the machine later using a separate piece of software, ReplicatorG.

In this tutorial we will open a black & white bitmap, set the correct size and depth,

generate the G-code and save it.

After installing Python, and opening cad.py, you should see this screen:

1-Click on 'INPUT' and select a bitmap.

The image we used is a png-file of a black letter 'A', 50.8 x50.8 mm wide at 300dpi. You

can find it as ‘05-A.png’ under the EXAMPLES folder on the stick.

Once the bitmap got loaded, you should see something like this.

2- Change ‘window size’ to a value that fits the window on your screen..

3- Next you’ll set the size of the image, the origin point, the depth you want to mill, and

Page 18: Manual open source cnc  3 d makerbot

18

which part of the image you want to have cut out.

x min / y min: sets the origin point, we usually leave these at 0,0. When you start the

CNC the location of the milling head will be the bottom left corner of the image field

(which is not the same as the bottom left corner of the 'A'!)

x width/y width: the size of the image field in millimeters. The software takes the size as

set in Photoshop. Set these to ‘50’

nx/ny: is non-editable, it displays the amount of pixels in your image

depth: a negative number, in mm. This is the total cutting depth. If you enter '-7' here the

black parts in the image will be cut out to this depth.

Grey parts of the image will be interpolated between 0 and depth, according to the

settings in intensity min / intensity max (we haven't experimented much with those yet)

Set this to ‘-4’

travel height: how much the milling bit is raised when moving the tool.Set this to ‘1’

number of layers: you can either cut out to the desired depth in one go, or mill in a

number of layers. This will depend on the hardness of the material and, if you have

slopes, how smooth you want these. 1 gives you the full depth in one go.Leave at 1 for

now

invert image: flips the black and white parts of the image around

When you're happy with these settings, click on 'CAM'. You will now see an additional

number of buttons and boxes:

CAD.PY suggests a default filename as output file. You can change this if desired, but it

will by default save a gcode file in the same folder where the bitmap is located.

maximum vector fit error: mostly left this alone, should influence accuracy.

Page 19: Manual open source cnc  3 d makerbot

19

'Send to machine' doesn't work (yet) for the Arduino-based electronics.

tool diameter: diameter of your milling bit. Set to the correct value. Most of you will be

using a 2mm bit.

tool overlap:value between 0 and 1. Overlap between the milling paths. A larger number

gives less overlap. A value of 1 will give a distance of the full tool diameter between

paths.

#contours: number, 1 gives only an outline, which is useful when cutting a contour. -1

mills away everything in black. Values of 2,3,... are also possible. Set to ‘1’ for now.

'contour' starts the calculation. CAD.PY will calculate the tool path, and display these

when done:

Give it a try….

Page 20: Manual open source cnc  3 d makerbot

20

-Once the calculation is finished, you can go back to replicatorG, open the Gcode-file

’05.A.gcode’ you just created.

-place a piece of plywood under the machine

-Position the mill bit and turn on the Dremel

-Hit ‘Build’ and try it.

Page 21: Manual open source cnc  3 d makerbot

21

H More CNC-milling

1-On the stick you we prepared some more example files. ‘Arduinobot’ is a frame for a

small robot, designed to be cut out of 2mm plexi.

2- Make and mill your own pieces

Prepare a bitmap-file in Photoshop (I export a PDF out of my CAD program)

PNG-files work well, black & white is faster than grayscale.

Format: PNG-file, minimum 200 dpi, black&white*

Maximum dimensions: 16x16cm***

Minimum detail: 1mm **

*Everything in black will be milled away. The black areas of the design should not

touch the borders of the image.

**Depends on which of our machines you’re using

***This is the diameter of the smallest milling bit available

3- On one of the computer we installed a trial version of Deskproto. You can use this

to generate Gcode from 3D-models and mill into foam. I can help with that if you’re

interested in trying this. We’ve included a sample file, with the setup for our machine,

in EXAMPLES:

Page 22: Manual open source cnc  3 d makerbot

22

K An introduction into G-code

-G-code is a standard for machinecode.

-However, each brand of CNC-manufacturers tend to make their own ‘flavor’

The reference below is a command list for the Makerbot electronics, which are also used

on the miniCNC.

-G-codes: commands starting with ‘G’ are motion commands

-M-codes: commands starting with ‘M’ are toolhead commands.

(as the Dremel on the miniCNC is not controlled by the electronics these are

meaningless for this machine)

CODE EXPLANATION

EXAMPLE

G01 Xxx.xx Yxx.xx Zxx.xx Fxx

Move to given coördinate. The parameter F defines a speed in mm/min

G21 G01 X10 F120 G01 Y10 G01 X0 G01 Y0 (this draws a square of 10x10mm, at 120mm/s) You could also write: G21 G01 X0 Y0 Z0 G01 X10 Y0 Z0 F120 G01 X0 Y10 Z0 …

G04 Pxxxx Pause command, parameter P is defined in milliseconds

G04 P5000 (wait for 5 seconds)

G21 Use millimeters as units, G20 is ‘use inches’

G21 (use once at start of file)

G90 Set absolute positioning i.e. you will be using absolute coordinates, G91 selects relative coordinates.

G90 G01 X10 G01 Y10 G01 X0 G01 Y0 (draws a square, compare with G91)

Page 23: Manual open source cnc  3 d makerbot

23

G92 Xxx.xx Yxx.xx Zxx.xx Set origin/ define position G92 X0 Y0 Z0 (you are now at X0,Y0, Z0)

M101 Extruder on M101 (Extruder on, forward)

M103 Extruder off M103 (Extruder off)

M104 Sxxx Set extruder temperature, between 215 and 230°C for ABS

M104 S220 T0 (Temperature

to 220 celsius)

M108 Sxxx Set extruder motor speed, value from 0 to 255

M108 S255 (Extruder speed =

max)

M30 Used at end of file, loop function (the code starts again from the top)

Page 24: Manual open source cnc  3 d makerbot

24

Gcode example (for milling)

(this file creates a 30x30 square button with 4 holes in it)

G21 (set mm as units)

G91

G92 X0 Y0 Z0 (current position is zero)

(lines above are a general header)

G01 X10 Y20 F120

(plunge hole)

G01 Z-5 F50

G01 Z0

G01 X10 Y10 F120

(plunge hole)

G01 Z-5 F50

G01 Z0

G01 X20 Y10 F120

(plunge hole)

G01 Z-5 F50

G01 Z0

G01 X20 Y20 F120

(plunge hole)

G01 Z-5 F50

G01 Z0

(cut out a 30x30mm square)

G01 X-2 Y-2 F120

G01 Z-5 F50

G01 Y32

G01 X32

G01 Y-2

G01 X-2

(lift and end)

G01 Z0

Page 25: Manual open source cnc  3 d makerbot

25

L Links

Makerbot industries:

http://www.makerbot.com

Our CNC-machines:

http://www.repairablemachines.com

website Wim:

http://www.kd85.com/