Spatial Hot Wire Cutting for Complex Surfaces

by peng-an_chen in Circuits > Robots

359 Views, 5 Favorites, 0 Comments

Spatial Hot Wire Cutting for Complex Surfaces

Spatial Hot Wire Cutting for Complex Surfaces
Set Up.jpeg

If you need a foam cutter that can be easily process without any prior knowledge, then this is it! The aim of this project is to create a prototyping tool that could be used for everyone easily without any programming or modeling knowledge. By integrating a 3-axis wire cutting machine with vision system to create a scenario that people could shape foam by drawing lines with markers.

By Harrison Hildebrandt, Mengxi He and Peng-An Chen

Supplies

External Libraries:

Socket [Python]

Numpy [Python]

OpenCV [Python]

gHowl [Grasshopper]

Firefly [Grasshopper]

grbl [Arduino]

Material List

Electronics:

Arduino Uno x 1

Nema 17 Stepper Motor x 3

A4988 Drivers x 3

CNC Shield x 1

DC-DC Step Up x 1

Rocker Switch x 1

60W Power Supply x 1

Web Cam x 1

Laptop x 1

Mechanical Parts:

3D Printed Parts

Aluminum Extrusions

Steel Rods

Bearings

Belts

Wire x 1

Spring x 2

Mechanical Design

mechanical design.PNG
IMG_6832.jpeg

Reference Project: https://www.youtube.com/watch?v=oIKEYM-lMWQ&t=276s&ab_channel=HowToMechatronics

In our machine design, we download the source project then adjust it to fit our need. We scale the size down a bit to 45 * 45 * 45 cm. In our project, we remove the turning table for now, and also change the motor position from top to bottom. Most important is that we added another Nema 17 to make it into a 3 axis CNC machine that have 2 independent Z-Axis to achieve the irregular curve cut.

Put the Parts Together

IMG_6837.jpeg
IMG_6839.jpeg
Fritzing Diagram.jpg

1. Put the base frame together.

2. Install the Y-Axis metal rod for both side.

3. Install the Z-Axis metal rod on both side and connect them with another aluminum extrusion to stabilized the machine.

4. Put on the legs on the base frame.

5. Install Nema 17 stepper motor.

6. Install the belts and tighten them.

7. Install the base onto the base frame.

8. Install springsand wire.

9. Connect all the motor and electronics to Arduino board.

10. Enable mircostepping on the CNC shield.

11. Connect them to the power supply and make sure the voltage is correct.

Download All the Codes and Set Up the Software Environment

Software Workflow.PNG

The entire workflow starts from grabbingthe image data from webcam using python. Then deliver the data to Grasshopper by using gHowl. Finally using Firefly to load G-Code information toward Arduino board for executing machine movements.

grbl: https://github.com/grbl/grbl

gHowl: https://www.food4rhino.com/en/app/ghowl

Firefly: https://www.food4rhino.com/en/app/firefly

Download the files attached and also the grbl source code.

1. Import python file into an IDE environment, in our case we’re using PyCharm.

2. Install Socket, Numpy and OpenCV libraries in Python IDE.

3. Set up the IP address.

4. Install gHowl and Firefly in Grasshopper.

5. Open the Grasshopper file.

6. Flash grbl onto Arduino UNO board.

Connect Your Webcam and Draw Lines With Marker!

Cutting Scenario.PNG
colored environment.gif
Cut Example.PNG

Make sure you set your environment with bright and even light to provide the best environment for image detection. Clean background and significant different foam color will increase the accuracy. Adjust the threshold to fit in your environment, and you’re ready to go! There are still many improvements to be made. Build this expecting to have to troubleshoot and make improvements of your own!