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
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
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
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.
Downloads
Download All the Codes and Set Up the Software Environment
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!
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!