CNC Beaver...

The CNC sheet metal cutting Beaver!



Fabacademy 2018 - Mechanical Design week, May 2-9, 2018

Fabacademy 2018 - Machine Design week, May 9-16, 2018



Table of Contents

CNC Beaver...        1

The CNC sheet metal cutting Beaver!        1

Introduction        4

Meet the team        5

Logo and name development        6

Design specification        6

Research        6

The BEAVER CNC concept        7

Bill of Materials        7

Bought-in components        8

Created Parts - download zipped file of all parts here        8

Part design evolution        10

Simplified Failure Mode Effects Analysis/Issues Tracking        11

Project management and development processes        13

Major milestones Week 1        14

Major milestones Week 2        15

Future developments        16

Week 2: Day 5 (Tuesday) Fitting the nibbler mount and clamp tests        17

Week 2: Day 4 (Monday) Material clamp and updated holder for nibbler        18

Material clamping system        18

Updated nibbler holder        19

Week 2: Day 3 (Saturday) Endstop buttons, connecting belts and driving X&Y        20

Connecting the belts to the pulleys        20

Endstops buttons, connections and testing        23

Machine testing movement in X and Y        26

Week 2: Day 2 (Friday) Making stabilizers and programming the motors        28

Making stabilizers        28

Programming the stepper motors        29

Week 2: Day 1 (Thursday) frame design, belt holder and programming        30

Week 1: Day 5 (Wednesday) Making Pulley Holders and connecting belts and pulley system to gantry        32

Pulley holders        32

Connecting belts to sliding carriage        33

Week 1: Day 4 (Tuesday)        35

Changing the position of holes        35

Making the Stepper Motor holders        35

Basic testing with the nibbler attached to the drill with the flexible drive.        35

Converting 2D Rhino drawings to 2D Solidworks sketches        39

Week 1: Day 2 (Friday) - gantry design, cutter mount system and pulley design        41

Gantry design and sliding carriage backing plate and sliding mechanism        41

Week 1: Day 1 (Thursday) - frame design & gantry roller system        44



Introduction

Metal cutting can be a dangerous, expensive, or in accurate undertaking. We were aiming to create a CNC metal cutter for thin sheets of aluminium and steel that we could use for project work. Ideally the machine would be quite small in order to fit into the lab, but we are aiming to make it scalable to larger sizes. We were fascinated by the nibbler tool when we saw it, thinking that if mounted to a computer controlled machine, it could make a relatively accurate, low-cost metal cutter for our lab. After a little research, we did not find any other attempts at this, so either we are breaking new ground here, or there are some very good reasons why this is not a good idea!

Here’s a video we did showing the nibbler cutting motion in action: https://youtu.be/KbpkV0H_qNc

And here’s us cutting an aluminium sheet using the nibbler: https://youtu.be/J7C8W5ltbns


Meet the team

Luiz Bueno (like the Chocolate) is a tireless maker, hacker, designer and expert skip salvager. He graduated from Fab Academy in 2016 in Barcelona.

His major contribution to the project will be in prototyping, resource management. He is the instructor for our fablab, and has been tireless in his support for our projects. He has an uncanny ability to look at a problem and say, hey you need a “insert appropriate complex solution here”.

luizbueno.fabcloud.io/me

Des Covill is an eccentric lecturer in engineering and product design who specialises in CAE. His hero and fellow countryman is Dave from the EEVblog youtube channel. He sees himself as a curious bee flying around pollinating projects that are of interest in sports engineering (mostly bicycles) and medical device manufacturing. He loves playing sport, riding bikes and eating chocolate. In this project his major contribution is in developing the CAD and compiling documentation for the project.

Poppy Mosbacher is a life-long maker, working on a range of helpful social projects with the community. She recently completed her MA in Sustainable Design with her major project focusing on developing a low cost scanner.


Logo and name development

Let’s get our priorities right and start with the logo and team name! Here’s a series of progressively angry vagabond (or dishevelled?) beaver logo mugshots to show how it’s developed over the weeks...clearly we went for the first one we drew….it’s always the first one that works best!

Originally we were going for The CNC Beaver Factory, but that had too many undesirable connotations, then we thought about The Cheeky Nibbler, but that was far too english and not enough CNC, then we thought about The CNC Hole Punch for Sheet Metal but that sounded a bit nerdy, so we went for The CNC Beaver...done.

Design specification

Here are our key design specifications for the B-Va CNC. The machine will:

  1. Cut sheet aluminium (min 2 mm thick) and steel (min. 1 mm thick) in sheets at least 500 x 500 mm.
  2. Be driven by a standard cordless/corded drill (power > 500 W). Needs to hold a range of  cordless/corded drills (specific details or range needed here).
  3. Have an accuracy of +- 1 mm.
  4. Cut using g-code or directly from dxf
  5. Control cutting speed according to material settings
  6. Be open source and have sufficient documentation for others to replicate and build upon
  7. Have a safety cut off feature and/or emergency stop feature

Research

Existing products images, links and

Key details:

The BEAVER CNC concept

The nibbler is powered using a standard power drill which is mounted above the machine, and attached to the nibbler using an end flexible drive. The flexible drive allows the drill to be located away from the action, so it doesn’t take up working space.

The nibbler will move on the X and Y axis, using pulleys controlled by stepper motors.

Where possible the parts have been laser cut and 3D printed and maybe one day, a metal version could be made using this machine, in a similar way to the RepRap 3D Printer.

CAD model of assembly goes here


Bill of Materials

Bought-in components

Item

Size

Source

Notes

Stepper Motor

Nema 23 75mm L

Amazon

4A / 9-42V

Nibbler

Amazon

MDF

600x400x6mm

Bearings

8mm internal diam

Rods

8mm diameter

Drill

Bosch

Flexible Shaft

1m long

Amazon

Transfers rotation motion

Nema 23 Driver

100 x 70 x 30 mm

Amazon

TB6600 4A 9-42V

Created Parts - download zipped file of all parts here

Part

Frame Structure

Gantry

Sliding carriage

Nibbler holder

Pulleys

Pulley supports


Part design evolution

We also wanted to keep track of how the parts in this machine evolved in time, so we created an overarching model file in Rhino where we would copy in the designs as we go. It looks cool to see it all evolving!


Simplified Failure Mode Effects Analysis/Issues Tracking

Severity

Potential Failure Mode/Issue

Potential Effect(s) of Failure

Potential Cause(s)/ Mechanism(s) of Failure

Action

HIGH

Sheet not sufficiently supported/clamped causing sheet bending/twisting, vibration.

Inaccurate cutting, dangerous moving material.

Cutting algorithm not leaving TABS, part not sufficiently clamped or supported

Have tab generation algorithm including cul-de-sac protocol.  

Need suitable material clamp and supporting structure.

Possibly have clever swarm/following supporting structure underneath

HIGH

Gantry not sliding properly

Rollers not aligned well or not sufficiently smooth in rolling

Wrapped linear bearings in insulation tape (10x) to reduce interference.

More robust solution needed to mount roller bearings into sliding carriage.

MED

Pulley drive motor mounts cracking

Crack developing along edge

Pulley drive motor mounts have no fillets and are slightly oversided.

Redesign needed for pulley mount.

MED

Flexible drive shaft comes loose

Cutting stops, potential damage to workpiece?

Flexible drive not connected tightly enough or too much vibration in the sliding carriage.

Find way to make sure connection is tight (torque wrench or equivalent?)

Stiffen structure make it more secure, and dampen vibrations somehow in the sliding carriage. 

MED

Frame flexing

Reduced tolerance and poor quality finish

Structural members or joints not stiff enough

Measure stiffness and potentially redesign members and/or joints

HIGH

Endstop buttons not registering

Machine crashes and damages itself

Endstop mounts not secure/reliable

Design reliable mounts for endstops and/or mill our own PCB for the endstop.

HIGH

Sliding carriage or cutter detatching.

Machine/workpiece damage (e.g. bent rails, motor shafts, broken carriage mounts etc).

Too much vibration/movement/play in system.

Blunt cutting tool.

Fatigue and wear.

Control of speed, movement not correct.

Have suitably stiff and strong joints/connectors

Monitor static and dynamic movements (displacement, velocity, acceleration profiles). Have error and progressive failure monitoring and reporting mechanisms in place.


Project management and development processes

We used a variety of tools to develop the Beaver CNC:

In terms of project management, we were aiming for a spiral approach, where we would aim to get things made, quickly and roughly first in order to test the principle out. We wanted to make progress fast, rather than spending lots of time on detail early on.

We focused on developing sketch models, out of cardboard, out of paper, out of scrap pieces that were drilled or hacked, in order to get something physical in front of us to discuss and evaluate. Then once we have a functioning system we could look at the problems, and prioritise our efforts on the areas that were most critical to meet the specification and improve robustness. Then we could look to improve longer term issues, such as design for manufacture and assembly (DFMA) to reduce the part count, cost and complexity and make it easier to assemble.


Major milestones Week 1

Week one was all about getting the mechanical design up and running. We knew at times that some of our designs were crude and suboptimal, but we ploughed on mostly in order to get something.

red=to be done

amber=currently doing

green=done

Task

Status

  1. Make sturdy frame

Done - completed day 1

  1. X-Y gantry is moving on rollers - done day 2

Done - completed day 2. Note: rollers are not so smooth yet.

  1. Mount cutting tool to gantry - done day 3

Done - day 3.

  1. Connect belt to gantry to drive in X & Y -

Done - day 4

  1. Connect motors to drive gantry in X & Y

Motors connected day 5, but not actually powered yet.  Now powered! Saturday in Week 2.

  1. Make frame to hold drill -

We now have the flexible drive and a drill that we can use, but not designed the frame for this. It only needs to be a simple hanging stand. Since this is not crucial for the operation of the machine, we have put this down the list of priorities.

  1. Create full assembly in CAD -

As of the end of the first week, we only all parts, but some are in Rhino, some Solidworks. We’ve started migtrating parts over, but don’t have a full assembly model yet. Since this is not crucial for the operation of the machine, we have put this down the list of priorities.

  1. Review issues tracking to prioritise improvements to be made

Started, but more detail needed. More added at the end of week 1 and early week 2, generally ongoing.


Major milestones Week 2

Task

Status

  1. Belt holder for movement in Y-axis.

Done day 1 (Thursday). A nice simple design to start with.

  1. Connect Arduino Mega with RAMPS shield to driver and power supply to control motors using GRBL or Marlin firmware. Test with basic programme to move motors/

Done - Day 2 (Friday). We used Marlin, and note we needed 15 V to move the motors.

  1. Develop fuller programme to generate G-Code and control the motors. Begin with basic X-Y tests and integrate suitable stopper limits.

Currently doing early week 2. Done Saturday of week 2.

  1. Calibrate machine more accurately, carry out basic cutting tasks in X and Y. Start with very thin/easy materials (e.g. card), then move onto aluminium.

Currently doing. We want to do this now with the material clamped to the machine (see 5. below).

  1. Develop system to clamp workpiece to frame

Currently doing.We’ve developed a system, and have tested it out with a single clamp, but now we need to roll this out.

  1. Develop turning mechanism for the nibbler to allow for curved profiles

Currently doing. We’ve developed a new nibbler mount that is capable of including the stepper belt-drive system which will turn the nibbler.

  1. Develop programme to convert CAD to G-Code        - Grasshopper?                

  1. Rigorous testing protocol with critical evaluation

  1. Tidy documentation on group and individual sites...and add latest version of all CAD files, RAMPs file, and links onto group site.

  1. Develop full CAD model of assembly

  1. Develop stand for drill                

  1. Connect the drill to a relay, and then create basic programme to turn on-off.


Future developments


Week 2: Day 5 (Tuesday) Fitting the nibbler mount and clamp tests

The aims for today:

Overnight we printed the nibbler mount and we’ve now managed to heat shrink the nibbler into it. Fits like a glove! We used an old bicycle quick release to help clamp it too, to ensure it doesn’t move about.

 

A video with a bit of a discussion about controlling the nibbler: https://youtu.be/QRlkiJAskgo

Butterfly nuts for clamps


Week 2: Day 4 (Monday) Material clamp and updated holder for nibbler

The aims for today:

Material clamping system

We really needed a system to clamp the workpiece to the machine itself. Either that, or we need to clamp the workpiece to the worktop...and clamp the machine down too! In time, that may well be a suitable solution, but clearly we want to give ourselves some challenges, so we went for the former option. Anyways, we think we’ve come up with a neat solution that:

Updated nibbler holder

The nibbler is a beautiful thing, but like any beautiful thing, it is hard bloody work. It bucks and kicks and requires precision design to fit and move and glide along the workpiece. So our silky south american european chocolate bar of a team leader decided to grab this bull by the horns and redesign the mount that holds the nibbler and fastens it to the sliding carriage...a complex array of cable ties simply would not do. So here’s what he came up with, a beautiful nibbler mount/holder that will also allow for the collar of the nibbler to be connected the pinion on a stepper motor using a timing belt…..that’s the next step. But for the time being, we’ve started printing the holder this evening, tomorrow we fit it.


Week 2: Day 3 (Saturday) Endstop buttons, connecting belts and driving X&Y

The aims for today:

Connecting the belts to the pulleys

In anticipation of our attempts to drive the machine today we attached the other ends of the belts, feeding them through the pulleys and around the motor pinion. It’s starting to look like a real machine now, ready for actuation!

Once everything was in the right place, we then pulled the unconnected end of the belt so that it was tight but with a little give and connected it using the belt holder like at the other end. Come to think of it, both belts were tensioned slightly differently, we should have a system to ensure consistency here.

Here’s the side view of the machine showing the belts all nice and tight.

And here’s the front view of the machine showing the belts all nice and tight to move the sliding carriage with the cutting tool.

Endstops buttons, connections and testing

A basic way to trigger the machine to understand when it’s at the end of the road is to use a button attached to the gantry, so that when it collides with the end the button is pressed, telling the software that it’s at the end. This will also be used to reset the zero values each time the machine goes to HOME.

We used a hot glue gun to mount the buttons on to the gantry itself (long axis - shown on the left below) and onto the end of a long bolt mounted inside the gantry (short axis - shown on the right below). While this was crude, it should work, and in time we’ll devise a more robust system. It needs to be done properly in time, as this is a crucial step each time the machine is used.


We realised that we actually needed a pull-up resistor (100 Ohms) with the endstop buttons after we were getting spurious responses in the software.

Hmmm, there was also talk of milling a PCB for our endstops, we will try to do this.


Control system for the machine

It’s worth saying a bit about this here. In order to control the machine there was a complex system of hardware and software to co-ordinate. Here’s a quick description of how it all interfaces:

The following flowchart shows how things are connected:

The Pronterface software is used to send the G-code to the board. At the moment, we simply enter in the G-code in the command line and then the gantry (X) or sliding carriage (Y) will move (or both!). This is what the pronterface GUI looks like.

Machine testing movement in X and Y

We really wanted to do some testing today, and here’s what we did:

These were all successful tests. We had an issue with everything being inverted initially, but that was corrected with a ‘-’ added into the code.

Here’s our first test to control the machine drawing straight line: https://youtu.be/VtHxrZ-eZ-w

And some more testing: https://youtu.be/9TLye3N5O40

Here’s a video of us testing the stepper motors to drive in X then Y and then both X&Y: https://youtu.be/Dzj0A8pTles 

We’ve achieved actuation!!

Here is some initial testing for machine calibration using a pen to draw a line that can be measured. https://youtu.be/f2wb1Zc-vFM 

We noted that a 100 mm line was actually coming out as about 110 mm, so we’ll need to do more checks on this and adjust the calibration settings.


Week 2: Day 2 (Friday) Making stabilizers and programming the motors

The aims for today are to:

Making stabilizers

The pulleys could distort the structure by applying force in one direction at a time, so to counteract this we have added stabilizers.

Programming the stepper motors

After some tweaking, we managed to get the stepper motors to drive in sync. We realised that we needed to overclock them with 15V to get them moving, rather than the 12V we started with. Here’s a video of it all working: https://youtu.be/TYEfGrtis_o

And here’s the setup, with the Arduino Mega, RAMPS 1.4 shield (the red board piggy backing on the mega), and the motor driver (TB660).

Week 2: Day 1 (Thursday) frame design, belt holder and programming

The aims for today are to:

Reflection on the first week

Improving the Frame

The rigid collar on the flexible drive reduces the working area by over 200mm, because it is restricted by the the front panel of the frame. So we reduced the height of the panel. At the same time, we increased the strength by gluing together multiple layers.  

To ensure the layers were lined up accurately, we laser cut holes so they could be screwed together with nuts and bolts while the glue was drying. And then added clamps.

Creating a belt mount for movement in Y-axis

When we remade the front panel we added a slot for the belt to go through, that gets secor


Week 1: Day 5 (Wednesday) Making Pulley Holders and connecting belts and pulley system to gantry

The aims today were:

Pulley holders

The first step was to design the holders for the pulleys. The idea here was to design them in a way that would allow them to loosely pressed into the rectangular slot in the side of the gantry, with the tension in the belt then used to keep the holder pressed into the gantry. To test the fit, we made a small rectangular part which included only the bottom section of the part and inserted it into the slot.

It fit well enough, so then we produced the entire part.

We heated the pulleys with a heat gun to make it flexible enough to push the bearings in with a tight fit.

Connecting belts to sliding carriage

We then connected it all up, tying the belt to both sides of the sliding carriage on the gantry (which holds the cutter), and wrapping it around the pulley on the stepper motor. The movement is smooth but quite tight, we’ll check this when we power the motors up!

Here’s a video showing the pulley and belt connected to sliding section of gantry and stepper motor: https://youtu.be/XYRg3z_ldjI



Week 1: Day 4 (Tuesday)

The aim of today was to adapt the machine to make it more secure and put the stepper motors in place.

Changing the position of holes

The rails were original positioned above the nibbler, but this created vibrations when the nibbler was turned on, so we moved the bottom rail down. To avoid having to recut each piece to make new holes, we laser cut a jig using cardboard. This meant we could accurately align the piece in the laser cutter and then just cut the new holes for the rails.

Making the Stepper Motor holders

Laser cut the flat parts and 3D printed the right angled parts with countersunk screw holes.

On one side of the Stepper Motor the 3D printed parts fitted perfectly, but on the other side the motor casing protruded more, so we snipped the parts using wire cutters.

Laser Cutter Settings - CHECK THIS!!!

MDF (6mm)

Speed 8%

Power 100%

Frequency 800Hz

Acrylic (5mm)

Speed 8%

Power 100%

Frequency 5000Hz

Basic testing with the nibbler attached to the drill with the flexible drive.

Here are a few videos of some testing from today:

This has made us realise that there could be a problem with ensuring the connections between the flexible drive and the cutter are secure. In the tests we found that the dynamic movement of the cutter made the flexible drive unwind from the cutter.


Week 1: Day 3 (Monday) - redesigning the gantry mount, mounting the cutter, basic movement tests

The first step today was to redesign the mount that connects the cutter to the gantry. This was rubbing on the shaft and we wanted to redesign it to allow for multiple fixing points. Here we are mounting in the linear bearings, and we also had to wrap tape around these to give sufficient space.

We then tested the basic mechanical movement of the gantry, here’s a video: https://youtu.be/QvXVOni-kVc

We then connected the drill directly to the cutter, just to test things in situ.

Here’s a video where we connected drive (drill) to the machine: https://youtu.be/ByoBALwkgI0

And here’s a video of the machine’s first cut!: https://youtu.be/EJaNofjdOJ4 

Before our flexible drive arrived, we simulated how it would work using a flexible drive from our Dremel. Here’s a video showing this conceptual demonstration of prototype: https://youtu.be/y2nCkGRQ164

And then our flexible drive arrived in the post!!!

Converting 2D Rhino drawings to 2D Solidworks sketches

One of the key tasks this week has been dealing with multiple skill sets and resources. Working between our offices, homes and the fablab has thrown up the challenge of: how to juggle CAD?

Well early on, we started modelling in Rhino, simply because it was available in the lab and on our laptops, but as the week has progressed we’ve tried to model things in Solidworks also. Ultimately we want to have everything modelled in Solidworks: it’s parametric and easier to make changes...and to show it as an assembly and produce drawings. So currently, we have some parts in both, but it one of DC’s responsibilities is to convert models into Solidworks and produce a full assembly with drawings etc.

But a here’s a useful workflow to convert the 2D Rhino drawings into Solidworks sketches (and then parts).


The first step is to save the Rhino file as a .dxf. We suggest doing a few things to make life easier:

In Solidworks, goto File > Import and find the .dxf file you saved in Rhinoceros. Make sure that the Units are in mm (the default is inches), and check the ‘import dimensions’ option.

In solidworks, a good workflow is as follows:

  1. Create a new sketch on the same plane than the imported .dxf drawing sketch
  2. Recreate all the lines, arcs, rectangles, circles etc on this sketch.
  3. Click on the ‘show relations’ tool in the sketch tab
  4. Delete all the coincident relations that link the current sketch to the imported .dxf drawing sketch.
  5. Dimension all the relevant sketch entities as needed.
  6. Exit sketch, then delete or suppress the imported .dxf drawing sketch.

Week 1: Day 2 (Friday) - gantry design, cutter mount system and pulley design

Aims for today:

Gantry design and sliding carriage backing plate and sliding mechanism

The gantry is a crucial part of the design and today we made some good progress to get the rollers and motors mounted onto the gantry. It slides quite well, a little bumpily, but we might try to smooth out the rollers some more. The sliding rods were mounted in the gantry, and then we cable tied some linear bearings to the back of some cardboard to mock up how the sliding carriage would move along the gantry...nice! We realised that the top sliding rod was too high though, with the nibbler positioned right down the bottom of the sliding carriage, the moment created will want to twist the gantry along its long axis, so we will need to move the top rod down to the bottom of the gantry to remove this moment and make the nibbler sit between the rods.


We used a Pulley Generator from Thingiverse (https://www.thingiverse.com/thing:16627) to generate some pulleys on one of the motors. Here’s how it would be threaded.

We ventured over to the machine shop where Rick (what a star!!) agreed to bore out the internal diameter of our stepper motor pinion from 5.0 mm up to 6.35 mm… after some teething problems he did us proud, and the new pinions are now happily mounted to the Nemo 23s...lovely!

Machine design - turning aluminium pulley -  remove part and check: https://youtu.be/S6gZdknRDLM

Machine design - turning aluminium pulley - boring 6 35mm hole with coolant: https://youtu.be/0YOwZA_tHjo


Week 1: Day 1 (Thursday) - frame design & gantry roller system

Day one, we put together a simple frame using two pieces of extruded aluminium we had floating about in the lab and some 6 mm MDF ends.

We then cut out some gantry ends to mount the motors on, and designed some L-shaped brackets that we could 3d-print to brace the aluminium sides with the MDF front and back faces. When it comes to small brackets, you’ve gotta love 3D printers!

We then designed some groovy rollers (pulleys) and mohawks (bearing cases) to be press-fitted over the bearings. Originally we designed them like this, so that they were easy to print and could be pressed together over the top of the bearing using some simple steel pins.

But that wasn’t the best idea, too many parts and a bit fiddly. We redesigned them to be a pressed over the bearing with one side open and the other closed. We then heated the open end up with the heatgun and then slide them over the bearings and cooled them with some blowing. It worked a treat!!!

We also used our lovely CR10 3d printer which printed these bearing cases beautifully, and to save time we thought we’d resurrect the old makerbot replicator 2X. What a brute, it eventually printed, with some forceful extrusion, but the final result was rubbish. The surface was rough, the geometry was not regular, it looked aweful...so we stuck with the CR10.

Then we assembled them onto the gantry ends and messed about rolling them along the aluminium extrusions. A nice start we thought for day one.

Mechanical design - day 1 summary - basic frame made with rollers for gantry https://youtu.be/KRrjbk1Bzbo