Week7: Computer controlled machining

  • |
  • 14 March 2022
Post image

Introduction

Group assignment:

Complete your lab’s safety training Test runout, alignment, speeds, feeds, and toolpaths for your machine

Make (design+mill+assemble) something big

Group assignment

Shopbot operation

Overview

The FabLab Amsterdam owns a Shopbot which is prepared to mill sheet material with dimensions of 2440mmx1220mm. The shopbot reised in a separate space in the Fablab.

shopbot_overview_2 shopbot_overview_1
Shopbot when entering the room, looking down the negative y-axis Shopbot looking at in the positive y-axis

The rather intimidating machine is driven by a number of large stepper motors. When the machine eventually moves, it moves with a speed and ferocity which you would not expect of a machine this size. We were constantly reminded by our instructor that this was a dangerous machine.

shopbot_x_axis_stepper_1 shopbot_x_steppemotor_2 shopbot_y_stepper_motor
X-stepper motor 1 X-stepper motor2 Y-Stepper motor
shopbot_z_axis_and_spindle
The z-axis and spindle
shopbot_2_inch_router_for_flattening shopbot_flattened_sacrificial_layer
Using a 2-inch router… …the sacrificial layer is milled flat with respect to the machine

Safety

It is very important that safety measures are taken into account when operating the shopbot.

  • Loose hair and loose clothing can get stuck in the moving parts of the machine
  • Flying debris and broke milling bits can fly of in any direction and hit parts of the machine, or humans.
  • The friction of the milling bit can start a fire when it’s moving too slowly
  • Sparks can fly in the dust collector and start a fire
  • The machine can be obstructed and break.

Some safety precautions:

  • No loose hair
  • No loose clothing
  • Don’t touch the device when it is in operation
  • Wear safety goggles
  • Wear ear protection
shopbot_clearance_area
Before operation, make sure the area next to the shopbot is clear. No material should be leaning against the machine
shopbot_dustcollector_2 shopbot_dustcollector
The shopbot dust collection system runs from the mill… …to the dustcollector in the back
shopbot_dust_collection_bags_clips shopbot_fire_extingguisher
When the mill hits a metal object, sparks might ignite the dust in the dust collector. When this happens stop the machine, loosen the dustcollection bag and check for fire. A fire extinguisher is always at hand.
shopbot_emergency_exit_2 shopbot_emergency_exit
In case of fire use the regular exit… …or the emergency exit
shopbot_emergency_stop
In case of emergency, use the emergency button to cut power to the machine altogether.
shopbot_fingerchopper
Keep your hands away from the machine while it’s operating. The machine path can be quit unpredictable. The geared rails on the sides are genuine finger choppers.

Preparing the toolpath

Before the shopbot can operate, you have to prepare the tool path. Already at this stage, safety must be taken into account. A wrong tool-path can hit screws and start fires, or mill too deep and demolish the sacrificial plate or break the machine.

vcarve vcarve_file_import_formats
V-carve is the software used for preparing the toolpath It supports a range of vector formats…but no .svg
vcarve_job_setup
When starting VCarve, you are presented with the opportunity to set up your job. Be sure to set it to mm when not in the USA
vcarve_material_setup
Always measure the thickness of your sheet material, as it is never the thickness as is advertised.
vcarve_material_setup_2 vcarve_error_when_safe_height_too_low
The clearance height is the safe distance above the stock material. An error occurs when the milling bit will be at the wrong height
vcarve_create_toolpath vcarve_create_pocket_toolpath
Start creating a toolpath for the selected shapes. Select “pocket” toolpath for milling a pocket. Enter the depth of the pocket and select the milling bit you want to use.
vcarve_imperial_setup vcarve_add_milling_bit
VCarve is mostly based on imperial measures. We use a 5mm milling bit. The pass depth is taken as half the milling bit diameter.
vcarve_profile_toolpath
Select the profile toolpath for shapes that represent the outline of the parts. Be sure to first mill out the inner parts (holes, etc. before milling the outer parts)

Tabs are little pieces of material that are not being milled out on purpose, to prevent loose parts from flying of and interfering with the milling process.

vcarve_tabs vcarve_tabs_setup_2
Select the dimensions of the tabs. You can put tabs in manually or automatically.

Screws are used to secure the stock material to the sacrificial layer. The mill must absolutely not hit any screws because this might cause a fire in the dust-collection bags. Therefore, the screws have to be part of the toolpath.

vcarve_draw_screws vcarve_draw_screw_2
Draw circles (5mm in diameter) to indicate where the screws can go. Select a drilling toolpath for the screws.
vcarve_simulation
Simulate the toolpath before saving it.
vcarve_save_separate_toolpaths
Save the toolpaths. Drilling the screws should be in a separate file. The inner paths and outer paths can go in one file.

Milling

Changing bits
shopbot_2_flute_endmill shopbot_tool_fixation
A 5mm 2-flute endmill is used for all out milling Securing the milling bit to the spindle is done with these tools

The key to start the spindle is attached to one of the tools to secure the milling bit. This way you can’t ever try to change a bit on a spinning spindle.

shopbot_collet shopbot_collet_nut
The collet is the part that grips on the milling bit. The collet is fastened with this nut

The order of operation of changing a milling bit should be:

  1. Insert the collet in the nut.
  2. Insert the tool in the collet
  3. Screw the collet to the spindle.

Don’t do it the other way around: the collet won;t fit nicely on the spindle and the tool will be skewed.

Before starting the control-software, first start the machine, and secondly, start the dust-collection system using the switch in the back.

shopbot_on-off_switch shopbot_duscollection_operation
The ShopBot is turned on with the big red switch on it’s side. The dust collection system has it’s own power switch
shopbot_operation
The orientation of the operator is important. The display is turned towards the positive y-axis
shopbot_jogging
The shop-bot software allows the operator to jog the machine along different axes. To do this, press k. The arrow keys will jog the device: up and down for positive y and negative y, Right and Left for positive x and negative x, PageUp and PageDown

When jogged towards the lower left corner of your product, set the x- and y-axis of the project to 0.

shopbot_zero_xy_axis shopbot_zero_z_axis
Press this button to set y and y to 0 Zeroing the z-axis is done by probing
Tip
Make a picture of the x and y coordinates before zeroing the x and y axis. You will need this to continue the job after something fails.

When the right tool is installed, the toolpath is loaded and all axes are set to zero, the milling can begin, but first:

shopbot_on-off_switch shopbot_set_rpm
Turn on the spindle using the key on the tool-change-tool Set the spindle to the appropriate speed on the spindle controller, located beneath the machine
shopbot_duscollector_operation
Start the dust collection using the button at the right of the operator seat

A checklist before milling:

  • Are all axes properly zeroed
  • Is the spindle running
  • Is the dustcollector running
  • Is the machine free of any debris
shopbot_start_milling group_project_milling
Start the milling process in the software It mills.

When the milling is finished, the parts are still stuck to the leftover material. We found the best way to get them out is using a blade of a hacksaw because it’s thin enough to get through small gaps.

shopbot_best_saw_for_tabs
A hacksaw blade does the trick for getting the parts out.

Group experiment

To get to know the machine a bit more, we milled out two pieces of layered plywood of 20mm thickness. One with the conventional setting, and one with climb.

For climb milling (left), the bit rotates in the same direction of the feed. For conventional milling (right), the milling bit rotates against the direction of the feed.
Two pieces were milled, one with conventional milling, the other with climb
The conventionally milled piece had more splinters. The piece milled out with the climb setting enabled was les splintery.

Make

For my project I wanted to create a cool looking table/stand to put my instrument on.

Design

I wanted to take the opportunity to learn Grasshopper, a parametric modelling tool in Rhino. Some youtube tutorials led to the aesthetic I quite liked. An organic shape that is built from separate 2d cross-sections. Not knowing beforehand what I wanted to make, I chose to use a plate of plywood, 1220mx2440mm in size and 9mm thick.

make_inspiration
Lots of tutorials to learn how to make a parametric bench in Grasshopper

However, I din’t have much time to design the product and designing something, making it ready to ill AND learning a new piece of software in one evening was a bit too much. So I decided to still use Rhino, but not make my design parametric.

The design would be a simple loft of closed three curves, which I could use to make cross-sections that could be milled. I planned to assemble the cross-sections by using three broomsticks to connect them.

rhino_curves rhino_lofted_annotated
The design started with three curves. The center curve was slightly off-center The final object when lofted was curved in the xy-plane. The curves were chosen rather randomly but some features were deliberately added.
rhino_rough_dimensions
rhino_preboolean_bars rhino_side_horizontal_bars rhino_boolean_bars
I capped the lateral sides of the design Cylinders would cut holes… … with a diameter of 23mm (the diameter of a broomstick)
rhino_points_for_sections
To make the coss-sections I used the “array along curve” tool in Rhino to lay out 9 evenly spaced points
rhino_sections
Using a Rhino plugin called SectionTools it was easy to create cross sections of the design
rhino_nested
SectionTools also helped with the nesting but eventually I nested the parts by hand because I would be able to make the most of the space I had at my disposal.
rhino_render
After rendering the object I could already have seen that the cylinders to keep the object together did not resemble the dimensions of broomsticks.

Prepare

make_prepare_layers
I used layers to make it easier to select shapes belonging to a similar toolpath
make_prepare_holes_toolpath_settings make_prepare_shapes_toolpath_settings make_prepare_drill_toolpath_settings
Settings for the “holes” toolpath Settings for the “outline” toolpath Settings for the “drill” toolpath
make_prepare_save_toolpath
Make sure to select the metric profile when exporting. Fortunately the Shopbot software warned me for this.
make_prepare_all_toolpaths make_prepare_simulated_milling
Visualizing… …and simulating the toolpaths. Everything seemed OK

Mill

milling_flat_surface_not_flat
Before putting down my material I noticed the sacrificial plate was not entirely flat. There was a ridge on the upper y-limit that would lift my material for at least 1mm. I had to take that into account when laying down my sheet
milling_measure_1 milling_measure_2 milling_measure_3 milling_measure_4
Measuring al four corners of the plate yielded different results

I took the largest plate thickness to plan my toolpath, as not to damage the sacrificial layer.

milling_screws_9mm_stock
For 9mm sheet material I used 3x2.5mm screws to secure the sheet material to the sacrificial layer

Look out not to break screws but if one breaks, be sure not to leave broken screws in the sacrificial layer.

milling_counting_screws
By counting all the screws I put in, I was sure to get them all out again
milling_zero_offset
Before zeroing the x and y axis, I took a picture of the x and y coordinates
milling_finished_looseing_screws
After the milling was finished, the screws could be undone

Assemble

Now the product was just a bunch of loose plates. During the milling process I realized I made a mistake in the design. As I was planning to use broomsticks to hold the pates together I realized I had mistaken the broomstick diameter for the broomstick radius in the design. The holes were now 45mm wide instead of 23. As a replacement I bought 3m of white PVC pipe.

final_product_preview
This wasn’t wide enough to fit in the 45mm hole, so I designed and printed adapter rings.
openscad_ring
Using OpenSCAD adapter rings were designed
final_product_assembling
The adapter rings appeared to be slightly to small for the holes in the wood and slightly too small for the PVC pipe to fit through

Eventually I stuck to using these rings as I was out of time to print new ones.

final_product_almost_assembled
Because of the measurements ot the rings, assembling the product was quite hard. I will have to print new rings eventually.
final_product
But overall I’m satisfied with the aesthetic of the final design.

You May Also Like